@ranger-testing/ranger-cli 2.5.4-alpha.0e8b82c-9 → 2.5.4-alpha.152f635-21

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 (82) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -0
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/opencodeConfig.js +1 -1
  58. package/build/commands/utils/playwrightCli.js +1 -1
  59. package/build/commands/utils/profileMessages.js +1 -1
  60. package/build/commands/utils/profileSetupBanner.js +1 -1
  61. package/build/commands/utils/projectsConfig.js +1 -1
  62. package/build/commands/utils/rangerConfig.js +1 -1
  63. package/build/commands/utils/rangerRoot.js +1 -1
  64. package/build/commands/utils/resolveProfileContext.js +1 -1
  65. package/build/commands/utils/resolveProfileUrl.js +1 -1
  66. package/build/commands/utils/retry.js +1 -1
  67. package/build/commands/utils/sessionCache.js +1 -1
  68. package/build/commands/utils/settings.js +1 -1
  69. package/build/commands/utils/skillContent.js +1 -1
  70. package/build/commands/utils/skills.js +1 -1
  71. package/build/commands/utils/stitchWebmFiles.js +1 -1
  72. package/build/commands/utils/telemetry.js +1 -1
  73. package/build/commands/utils/tokenRefresh.js +1 -1
  74. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  75. package/build/commands/utils/userApi.js +1 -1
  76. package/build/commands/utils/version.js +1 -1
  77. package/build/commands/verifyFeature.js +1 -1
  78. package/build/commands/verifyFeatureCli.js +1 -1
  79. package/build/skills/ranger/SKILL.md +24 -8
  80. package/build/skills/ranger/create.md +16 -3
  81. package/build/skills/ranger/verify.md +35 -10
  82. package/package.json +3 -2
@@ -1 +1 @@
1
- (function(_0x17148e,_0xb1c35c){const _0x4e5652=_0x3e12,_0x45134b=_0x17148e();while(!![]){try{const _0x4b4ca0=-parseInt(_0x4e5652(0x27a))/0x1*(-parseInt(_0x4e5652(0x26d))/0x2)+parseInt(_0x4e5652(0x26f))/0x3+parseInt(_0x4e5652(0x250))/0x4+parseInt(_0x4e5652(0x1f7))/0x5*(parseInt(_0x4e5652(0x202))/0x6)+parseInt(_0x4e5652(0x244))/0x7*(parseInt(_0x4e5652(0x20e))/0x8)+-parseInt(_0x4e5652(0x24e))/0x9+parseInt(_0x4e5652(0x249))/0xa*(-parseInt(_0x4e5652(0x24a))/0xb);if(_0x4b4ca0===_0xb1c35c)break;else _0x45134b['push'](_0x45134b['shift']());}catch(_0x1adc57){_0x45134b['push'](_0x45134b['shift']());}}}(_0x234a,0xe79a0));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2dd850 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';function _0x3e12(_0x28964a,_0x11cd85){_0x28964a=_0x28964a-0x1ae;const _0x234a09=_0x234a();let _0x3e12e7=_0x234a09[_0x28964a];return _0x3e12e7;}import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x570b35=>'\x1b[1m'+_0x570b35+'\x1b[0m';function getGitRepoUrl(){const _0x77d073=_0x3e12,_0x3c980f={'Xvstz':function(_0x3fc4e0,_0x53f965,_0x3f7e27){return _0x3fc4e0(_0x53f965,_0x3f7e27);},'NxMmL':'git\x20remote\x20get-url\x20origin','vlvjc':_0x77d073(0x280)};try{const _0x3bbe8e=_0x3c980f[_0x77d073(0x1d5)](execSync,_0x3c980f[_0x77d073(0x24d)],{'encoding':_0x77d073(0x1dd),'stdio':[_0x3c980f[_0x77d073(0x287)],_0x3c980f[_0x77d073(0x287)],_0x3c980f['vlvjc']]})[_0x77d073(0x262)]();return _0x3bbe8e['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x77d073(0x24b))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x596914=_0x3e12,_0x53efd8={'WqabW':function(_0xc276b9,_0x3567af,_0x3a9948){return _0xc276b9(_0x3567af,_0x3a9948);},'NcpZn':_0x596914(0x1dd),'LQelt':_0x596914(0x280)};try{return _0x53efd8['WqabW'](execSync,_0x596914(0x21c),{'encoding':_0x53efd8['NcpZn'],'stdio':[_0x53efd8[_0x596914(0x1b3)],_0x596914(0x280),'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x42102d=_0x3e12,_0x58fc5c={'nZVSO':function(_0x550245,_0x162c4b,_0x3864e0){return _0x550245(_0x162c4b,_0x3864e0);},'iSySu':function(_0x57b6ac){return _0x57b6ac();},'AoIdi':function(_0xae3e84,_0x371689){return _0xae3e84(_0x371689);}},_0x272b9c=_0x58fc5c['nZVSO'](join,_0x58fc5c['iSySu'](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x58fc5c[_0x42102d(0x1b0)](existsSync,_0x272b9c))return null;try{const _0x2574e4=await _0x58fc5c['nZVSO'](readFile,_0x272b9c,'utf-8');return _0x2574e4[_0x42102d(0x262)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x481549){const _0x181ce3=_0x3e12,_0x3615a0={'gdmKf':function(_0xf4f0d9){return _0xf4f0d9();},'bNMQM':function(_0x36fcc4,_0x17c251,_0xe9bb68){return _0x36fcc4(_0x17c251,_0xe9bb68);},'EkdAz':function(_0x20d044,_0x5b4c58,_0x131d51,_0x70c762){return _0x20d044(_0x5b4c58,_0x131d51,_0x70c762);}},_0x470923=_0x3615a0['gdmKf'](getRangerDir),_0x1da3ea=join(_0x470923,ACTIVE_FEATURE_FILE);!existsSync(_0x470923)&&await _0x3615a0['bNMQM'](mkdir,_0x470923,{'recursive':!![]}),await _0x3615a0[_0x181ce3(0x258)](writeFile,_0x1da3ea,_0x481549,_0x181ce3(0x1dd));}function getProgressDisplay(_0x12f79f){const _0x18bafe=_0x3e12,_0xd61c1a={'wfjSa':function(_0x48eb0c,_0x4d7411){return _0x48eb0c+_0x4d7411;},'ifLFB':function(_0x3f3a10,_0xcf532b){return _0x3f3a10===_0xcf532b;},'hlxFA':function(_0xa2adbf,_0x58627c){return _0xa2adbf*_0x58627c;},'NWLSg':function(_0x36b0bf,_0x27e3fa){return _0x36b0bf/_0x27e3fa;},'nfiGI':function(_0x3daffe,_0x54287c){return _0x3daffe-_0x54287c;},'XKUdZ':function(_0x3a2f14,_0x19dc8a){return _0x3a2f14>_0x19dc8a;},'OQGkk':function(_0x35e485,_0x4572d1){return _0x35e485>_0x4572d1;}},_0x2b245c=_0x12f79f[_0x18bafe(0x1fe)]||0x0,_0x5429c5=_0x12f79f['verificationInProgressItems']||0x0,_0x160924=_0x12f79f[_0x18bafe(0x1bc)]||0x0,_0x1c1eee=_0x12f79f['incompleteItems']||0x0,_0xe7c52=_0x12f79f[_0x18bafe(0x23d)]||0x0,_0x55c4b1=_0xd61c1a['wfjSa'](_0x2b245c+_0x5429c5+_0x160924,_0x1c1eee)+_0xe7c52;if(_0xd61c1a['ifLFB'](_0x55c4b1,0x0))return'-';const _0x1d2b2e=0xa,_0x58e311=Math['round'](_0xd61c1a[_0x18bafe(0x1c7)](_0xd61c1a[_0x18bafe(0x1f6)](_0x2b245c,_0x55c4b1),_0x1d2b2e)),_0x14e331='█'[_0x18bafe(0x22d)](_0x58e311)+'░'['repeat'](_0xd61c1a['nfiGI'](_0x1d2b2e,_0x58e311)),_0x51575c=[];if(_0x160924>0x0)_0x51575c[_0x18bafe(0x1af)](_0x160924+_0x18bafe(0x209));if(_0xd61c1a['XKUdZ'](_0x1c1eee,0x0))_0x51575c[_0x18bafe(0x1af)](_0x1c1eee+'\x20incomplete');if(_0x5429c5>0x0)_0x51575c['push'](_0x5429c5+_0x18bafe(0x253));const _0x584f93=_0xd61c1a[_0x18bafe(0x1df)](_0x51575c[_0x18bafe(0x236)],0x0)?'\x20('+_0x51575c['join'](',\x20')+')':'';return _0x14e331+'\x20'+_0x2b245c+'/'+_0x55c4b1+'\x20verified'+_0x584f93;}function getCurrentSessionItems(_0x4d80ad,_0x2c2f22){const _0x3f0b94=_0x3e12;if(!_0x4d80ad[_0x3f0b94(0x205)])return _0x2c2f22[_0x3f0b94(0x234)](_0x3fa947=>!_0x3fa947[_0x3f0b94(0x1f9)]);return _0x2c2f22[_0x3f0b94(0x234)](_0x4699e6=>_0x4699e6['sessionId']===_0x4d80ad[_0x3f0b94(0x205)]||!_0x4699e6[_0x3f0b94(0x1f9)]);}function displayFeature(_0x536ad1,_0x2541b7){const _0x41f6cd=_0x3e12,_0xdb3889={'FBlpg':function(_0x3a25d8,_0x2502be){return _0x3a25d8(_0x2502be);},'vJFWO':function(_0x32f200,_0x3b524f){return _0x32f200>_0x3b524f;},'dYcfb':'\x0a\x20\x20\x20Scenarios:','MVBIA':function(_0x4f4b1f,_0x43f9ec){return _0x4f4b1f===_0x43f9ec;},'gQTEq':_0x41f6cd(0x286),'yABjF':_0x41f6cd(0x22c),'ZrvPq':_0x41f6cd(0x25a),'zNMdr':function(_0x1789ef,_0x4f9fe6){return _0x1789ef===_0x4f9fe6;},'NJTqe':'incomplete','DFnDl':function(_0x3de50f,_0x3469ad){return _0x3de50f===_0x3469ad;},'uiUrI':function(_0x5112ac,_0x35ca1e){return _0x5112ac===_0x35ca1e;},'guIPJ':_0x41f6cd(0x21a),'VmWRW':function(_0x3451f7,_0x4d677e){return _0x3451f7>_0x4d677e;},'Tzgog':function(_0x4a1e80,_0x34223b){return _0x4a1e80!==_0x34223b;},'WnSvs':function(_0x293450,_0x3ddbfe){return _0x293450+_0x3ddbfe;},'Bijhb':_0x41f6cd(0x1cf)};console[_0x41f6cd(0x23f)]('\x0a'+_0x536ad1['name']+'\x20('+_0x536ad1[_0x41f6cd(0x240)]+')');_0x536ad1[_0x41f6cd(0x24c)]&&console['log'](_0x41f6cd(0x1c2)+_0xdb3889[_0x41f6cd(0x1ec)](getProgressDisplay,_0x536ad1['stats']));_0x536ad1[_0x41f6cd(0x1bf)]&&console[_0x41f6cd(0x23f)](_0x41f6cd(0x207)+_0x536ad1[_0x41f6cd(0x1bf)]);_0x536ad1['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x536ad1[_0x41f6cd(0x272)]);_0x536ad1['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x536ad1[_0x41f6cd(0x227)]);console[_0x41f6cd(0x23f)](_0x41f6cd(0x1e1)+new Date(_0x536ad1[_0x41f6cd(0x25e)])[_0x41f6cd(0x1ce)]());_0x536ad1['completedAt']&&console[_0x41f6cd(0x23f)](_0x41f6cd(0x239)+new Date(_0x536ad1['completedAt'])['toLocaleString']());if(_0x2541b7&&_0xdb3889[_0x41f6cd(0x225)](_0x2541b7[_0x41f6cd(0x236)],0x0)){console[_0x41f6cd(0x23f)](_0xdb3889['dYcfb']);for(let _0x41ff65=0x0;_0x41ff65<_0x2541b7[_0x41f6cd(0x236)];_0x41ff65++){const _0x5e1c20=_0x2541b7[_0x41ff65];let _0x1bc5d5;if(_0xdb3889[_0x41f6cd(0x26c)](_0x5e1c20['status'],_0xdb3889[_0x41f6cd(0x248)])&&_0x5e1c20['terminalReason']===_0xdb3889['yABjF'])_0x1bc5d5='✅';else{if(_0x5e1c20[_0x41f6cd(0x229)]===_0xdb3889['ZrvPq'])_0x1bc5d5='🟢';else{if(_0xdb3889[_0x41f6cd(0x27e)](_0x5e1c20['status'],_0xdb3889['NJTqe']))_0x1bc5d5='🟠';else{if(_0xdb3889['DFnDl'](_0x5e1c20[_0x41f6cd(0x229)],_0x41f6cd(0x1cf)))_0x1bc5d5='🛑';else{if(_0x5e1c20[_0x41f6cd(0x229)]===_0x41f6cd(0x286))_0x1bc5d5='⛔';else _0xdb3889['uiUrI'](_0x5e1c20['status'],_0xdb3889[_0x41f6cd(0x218)])?_0x1bc5d5='⏳':_0x1bc5d5='⬜';}}}}const _0x18bde7=_0xdb3889[_0x41f6cd(0x24f)](_0x5e1c20['version'],0x1)?'\x20(v'+_0x5e1c20[_0x41f6cd(0x27d)]+')':'',_0x45c2d3=_0x5e1c20['version']>0x1&&_0x5e1c20['parentItemId']&&_0x5e1c20[_0x41f6cd(0x229)]!=='closed'&&_0xdb3889['Tzgog'](_0x5e1c20['status'],_0xdb3889['ZrvPq'])?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0xdb3889['WnSvs'](_0x41ff65,0x1)+'.\x20'+_0x1bc5d5+'\x20'+_0x5e1c20[_0x41f6cd(0x1bf)]+_0x18bde7+_0x45c2d3);_0x5e1c20[_0x41f6cd(0x229)]===_0xdb3889['Bijhb']&&_0x5e1c20[_0x41f6cd(0x222)]&&console[_0x41f6cd(0x23f)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x5e1c20[_0x41f6cd(0x222)]);_0x5e1c20['status']===_0xdb3889[_0x41f6cd(0x211)]&&_0x5e1c20['incompleteReason']&&console[_0x41f6cd(0x23f)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x5e1c20[_0x41f6cd(0x1cc)]);if(_0x5e1c20[_0x41f6cd(0x229)]===_0x41f6cd(0x286)&&_0x5e1c20[_0x41f6cd(0x204)]==='approved')console[_0x41f6cd(0x23f)]('\x20\x20\x20\x20\x20\x20Approved');else _0x5e1c20['status']===_0xdb3889['gQTEq']&&_0x5e1c20[_0x41f6cd(0x265)]&&console['log'](_0x41f6cd(0x23b)+_0x5e1c20[_0x41f6cd(0x265)]);}}}export async function featureCreate(_0xcd867a,_0x214ff5){const _0x1658e9=_0x3e12,_0xc8da51={'URxCh':function(_0x591562,_0x14e834){return _0x591562===_0x14e834;},'DOnhG':function(_0x43f897){return _0x43f897();},'qYuXt':function(_0x3b5113,_0x1e3299){return _0x3b5113(_0x1e3299);},'AyRry':function(_0x1ba674){return _0x1ba674();},'HqnBm':_0x1658e9(0x233),'YSNMJ':function(_0x21391c,_0x1f545c){return _0x21391c(_0x1f545c);},'JMQNc':function(_0xb0fc73,_0x3a58c0,_0x42383d){return _0xb0fc73(_0x3a58c0,_0x42383d);}},{envNames:_0x233473}=await getEnvNames();if(_0xc8da51[_0x1658e9(0x1ff)](_0x233473['length'],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x3d0af0=0x0;try{_0x3d0af0=(await _0xc8da51[_0x1658e9(0x1eb)](listCloudProfiles))['length'];}catch{_0x3d0af0=0x1;}_0x3d0af0===0x0&&console['warn']('\x0a'+_0xc8da51['qYuXt'](formatProfileRequiredMessage,_0x262290=>bold(_0x262290)));}const _0x1b83c2=_0x214ff5[_0x1658e9(0x223)]?_0x214ff5[_0x1658e9(0x223)]['map'](_0x3b48ee=>_0x3b48ee[_0x1658e9(0x262)]()):[],_0x5d73b9=_0xc8da51['DOnhG'](getGitRepoUrl),_0x2e691d=_0xc8da51['AyRry'](getGitBranch);console['log'](_0xc8da51['HqnBm']);const _0x23011c=await createFeature({'name':_0xcd867a,'description':_0x214ff5[_0x1658e9(0x1bf)],'checklist':_0x1b83c2,'gitRepoUrl':_0x5d73b9,'gitBranch':_0x2e691d});await _0xc8da51['qYuXt'](setActiveFeatureId,_0x23011c['id']),await _0xc8da51['YSNMJ'](tryStartCurrentSession,_0x23011c['id']);const _0x2e91ce=process[_0x1658e9(0x255)]['CLAUDE_SESSION_ID'];_0x2e91ce&&registerSession(_0x2e91ce,_0x23011c['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x23011c['id']),_0xc8da51['JMQNc'](displayFeature,_0x23011c,_0x23011c['checklistItems']),console[_0x1658e9(0x23f)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x19a78b){const _0x14141f=_0x3e12,_0x5281e3={'npbyI':function(_0xa5c4a1,_0x2ddcbb){return _0xa5c4a1===_0x2ddcbb;},'EeSvY':function(_0x5d39f0,_0x46fa19){return _0x5d39f0>_0x46fa19;},'dWSDr':function(_0x372e28,_0x429513){return _0x372e28(_0x429513);},'siZWS':function(_0x1b5aac,_0x2102db){return _0x1b5aac+_0x2102db;},'lAYxf':function(_0x4ea04c,_0x556171){return _0x4ea04c!==_0x556171;},'tNXXG':_0x14141f(0x252),'DVmzv':_0x14141f(0x1bb)},_0x115a23={'limit':_0x19a78b[_0x14141f(0x26e)]??0xa,'offset':_0x19a78b['offset']??0x0,'includeDeleted':_0x19a78b['includeDeleted']};_0x19a78b['currentBranch']&&(_0x115a23['gitRepoUrl']=getGitRepoUrl(),_0x115a23['gitBranch']=getGitBranch());const _0x2ec44b=await listFeatures(_0x115a23);if(_0x5281e3['npbyI'](_0x2ec44b['items'][_0x14141f(0x236)],0x0)){console[_0x14141f(0x23f)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x2318c3=_0x5281e3['EeSvY'](_0x2ec44b[_0x14141f(0x1ea)],_0x2ec44b[_0x14141f(0x1f8)][_0x14141f(0x236)])?_0x14141f(0x212)+_0x2ec44b[_0x14141f(0x1f8)][_0x14141f(0x236)]+'\x20of\x20'+_0x2ec44b['totalCount']:_0x2ec44b['totalCount']+_0x14141f(0x1e7);console[_0x14141f(0x23f)]('\x0a'+_0x2318c3+':\x0a');for(const _0x824a1c of _0x2ec44b[_0x14141f(0x1f8)]){console[_0x14141f(0x23f)](''+_0x824a1c[_0x14141f(0x27c)]),console[_0x14141f(0x23f)](_0x14141f(0x27f)+_0x824a1c['id']),_0x824a1c['stats']&&console['log']('\x20\x20\x20Progress:\x20'+_0x5281e3[_0x14141f(0x1e4)](getProgressDisplay,_0x824a1c['stats'])),_0x824a1c['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x824a1c['gitBranch']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x824a1c[_0x14141f(0x25e)])[_0x14141f(0x246)]()),console['log']('');}const _0x1f01af=_0x115a23['limit']??0xa,_0xb59de8=_0x5281e3['siZWS'](_0x115a23[_0x14141f(0x20d)]??0x0,_0x2ec44b[_0x14141f(0x1f8)][_0x14141f(0x236)]);if(_0xb59de8<_0x2ec44b['totalCount']){const _0x542c38=_0x5281e3[_0x14141f(0x23a)](_0x1f01af,0xa)?_0x14141f(0x1cb)+_0x1f01af:'',_0x44a8ee=_0x19a78b[_0x14141f(0x1b5)]?_0x5281e3[_0x14141f(0x254)]:'',_0x5e69d6=_0x19a78b['includeDeleted']?_0x5281e3['DVmzv']:'';console[_0x14141f(0x23f)](_0x14141f(0x1f3)+_0xb59de8+_0x542c38+_0x44a8ee+_0x5e69d6);}}export async function featureShow(_0x219cc2){const _0x137b94=_0x3e12,_0xa47016={'mdkol':function(_0x1ce0cd){return _0x1ce0cd();},'hQxIo':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hFaKj':function(_0x4cbe95,_0x5ee771){return _0x4cbe95(_0x5ee771);}},_0x526d69=_0x219cc2||await _0xa47016['mdkol'](getActiveFeatureId);if(!_0x526d69)throw new Error(_0xa47016['hQxIo']);const _0x5ab295=await _0xa47016[_0x137b94(0x1b2)](getFeature,_0x526d69);displayFeature(_0x5ab295,_0x5ab295['checklistItems']);}export async function featureResume(_0x3901dc){const _0x2492a7=_0x3e12,_0x5439e0={'cHROF':function(_0x4ef289,_0x5a9a34){return _0x4ef289(_0x5a9a34);},'xgpsp':function(_0x3caac8,_0x4428f9){return _0x3caac8(_0x4428f9);},'KOLlu':function(_0x199184){return _0x199184();},'VKSGj':function(_0x55553e,_0x4d7b36){return _0x55553e(_0x4d7b36);},'flgvr':function(_0x57dbeb){return _0x57dbeb();},'TstaH':_0x2492a7(0x232),'qfTVm':_0x2492a7(0x235),'pubtf':function(_0xecfb4d,_0x5a7343){return _0xecfb4d(_0x5a7343);},'SIeoR':_0x2492a7(0x1e8),'qVdiQ':_0x2492a7(0x22f),'CdWPI':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','YSPGD':function(_0xe11a2d,_0x2ffd60){return _0xe11a2d!==_0x2ffd60;},'IVddE':function(_0x33c52d,_0x14a48c,_0x1e714c){return _0x33c52d(_0x14a48c,_0x1e714c);}};if(_0x3901dc){const _0x414a7c=await _0x5439e0[_0x2492a7(0x1b6)](getFeature,_0x3901dc);await _0x5439e0[_0x2492a7(0x21e)](setActiveFeatureId,_0x414a7c['id']);const _0x3f8dfd=_0x5439e0['KOLlu'](getGitBranch);_0x3f8dfd&&_0x3f8dfd!==_0x414a7c[_0x2492a7(0x227)]&&(await updateFeature(_0x414a7c['id'],{'gitBranch':_0x3f8dfd}),console[_0x2492a7(0x23f)](_0x2492a7(0x1b9)+_0x3f8dfd));console[_0x2492a7(0x23f)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x414a7c['name']+'\x20('+_0x414a7c['id']+')'),await _0x5439e0[_0x2492a7(0x21e)](tryStartCurrentSession,_0x414a7c['id']);const _0xdea15d=process[_0x2492a7(0x255)]['CLAUDE_SESSION_ID'];_0xdea15d&&registerSession(_0xdea15d,_0x414a7c['id']);displayFeature(_0x414a7c,_0x414a7c[_0x2492a7(0x22a)]),await _0x5439e0[_0x2492a7(0x241)](printFeedbackNudge,_0x414a7c['id']);return;}const _0xbfc6df=getGitRepoUrl(),_0x4d06c9=_0x5439e0['flgvr'](getGitBranch);if(!_0xbfc6df&&!_0x4d06c9)throw new Error(_0x2492a7(0x1fa));console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0xbfc6df||_0x5439e0[_0x2492a7(0x1b4)])+'\x20/\x20'+(_0x4d06c9||'any')+_0x2492a7(0x260));const _0x4d210f=await _0x5439e0[_0x2492a7(0x1b6)](listFeatures,{'gitRepoUrl':_0xbfc6df,'gitBranch':_0x4d06c9}),_0x3bca1a=_0x4d210f[_0x2492a7(0x1f8)][_0x2492a7(0x234)](_0xa24239=>_0xa24239[_0x2492a7(0x229)]?_0xa24239[_0x2492a7(0x229)]!=='verified':!_0xa24239[_0x2492a7(0x274)]);if(_0x3bca1a['length']===0x0){console['log'](_0x2492a7(0x1e9)),console[_0x2492a7(0x23f)](_0x5439e0[_0x2492a7(0x26a)]);return;}let _0x220c7c;if(_0x3bca1a['length']===0x1)_0x220c7c=_0x3bca1a[0x0];else{const _0x378e58=process[_0x2492a7(0x25d)]['isTTY']&&process['stdout'][_0x2492a7(0x273)];if(!_0x378e58){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0xd1cb66 of _0x3bca1a){console[_0x2492a7(0x23f)]('\x20\x20'+_0xd1cb66[_0x2492a7(0x27c)]),console['log'](_0x2492a7(0x21f)+_0xd1cb66['id']),_0xd1cb66['stats']&&console['log'](_0x2492a7(0x268)+_0x5439e0['pubtf'](getProgressDisplay,_0xd1cb66[_0x2492a7(0x24c)])),_0xd1cb66['gitBranch']&&console[_0x2492a7(0x23f)](_0x2492a7(0x1b1)+_0xd1cb66['gitBranch']);}throw new Error(_0x2492a7(0x25b));}const {selected:_0x437819}=await _0x2dd850['prompt']([{'type':_0x5439e0['SIeoR'],'name':_0x5439e0['qVdiQ'],'message':_0x5439e0[_0x2492a7(0x206)],'choices':_0x3bca1a[_0x2492a7(0x1de)](_0x3f932a=>({'name':_0x3f932a[_0x2492a7(0x27c)]+'\x20('+_0x3f932a['id']+')','value':_0x3f932a['id']}))}]);_0x220c7c=_0x3bca1a['find'](_0x4305d9=>_0x4305d9['id']===_0x437819);}await setActiveFeatureId(_0x220c7c['id']);_0x4d06c9&&_0x5439e0['YSPGD'](_0x4d06c9,_0x220c7c['gitBranch'])&&(await updateFeature(_0x220c7c['id'],{'gitBranch':_0x4d06c9}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x4d06c9));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x220c7c['name']+'\x20('+_0x220c7c['id']+')'),await tryStartCurrentSession(_0x220c7c['id']);const _0x145244=await _0x5439e0['pubtf'](getFeature,_0x220c7c['id']),_0x3de6d8=process['env']['CLAUDE_SESSION_ID'];_0x3de6d8&&_0x5439e0['IVddE'](registerSession,_0x3de6d8,_0x145244['id']),displayFeature(_0x145244,_0x145244[_0x2492a7(0x22a)]),await printFeedbackNudge(_0x145244['id']);}async function printFeedbackNudge(_0x38d075){const _0x1dfed4=_0x3e12,_0x315ceb={'OopRt':function(_0x270dd3,_0x4d03a9){return _0x270dd3>_0x4d03a9;}};try{const {items:_0x2c2636}=await getActionItems(_0x38d075);let _0x475717=0x0,_0x148513=0x0;for(const _0x2cfffc of _0x2c2636){const _0x3f87c3=await getItemFeedback(_0x38d075,_0x2cfffc['id']);_0x315ceb[_0x1dfed4(0x257)](_0x3f87c3['unaddressedComments']['length'],0x0)&&(_0x475717+=_0x3f87c3['unaddressedComments'][_0x1dfed4(0x236)],_0x148513++);}_0x315ceb['OopRt'](_0x475717,0x0)&&(console['log'](_0x1dfed4(0x1c3)+_0x475717+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x148513+_0x1dfed4(0x216)),console['log'](_0x1dfed4(0x281)));}catch{}}async function tryStartCurrentSession(_0x528962){const _0x36de0b=_0x3e12,_0x484a8d={'IRSQg':function(_0x32bcc5,_0x3d0cd9){return _0x32bcc5(_0x3d0cd9);}};try{const {sessions:_0x4029ca}=await _0x484a8d['IRSQg'](listFeatureSessions,_0x528962),_0x129143=_0x4029ca[_0x36de0b(0x1d2)](_0x28d8a3=>_0x28d8a3[_0x36de0b(0x229)]==='ready');_0x129143&&(await startSession(_0x528962,_0x129143['id']),console[_0x36de0b(0x23f)](_0x36de0b(0x228)+_0x129143[_0x36de0b(0x22e)]));}catch{}}export async function featureReport(_0x474c33,_0x456f08){const _0x134b60=_0x3e12,_0x4b8530={'wzERG':_0x134b60(0x1ef),'eSRSS':function(_0x58f270,_0x2f07ba,_0x57b489){return _0x58f270(_0x2f07ba,_0x57b489);},'pncNQ':function(_0x12150e){return _0x12150e();},'TaapT':function(_0x3960ae,_0x4aa587){return _0x3960ae(_0x4aa587);},'mWAAn':function(_0x345de2,_0x1c62f7,_0x2ca570,_0x406586){return _0x345de2(_0x1c62f7,_0x2ca570,_0x406586);},'PehiT':_0x134b60(0x1dd)},_0x401aaf=_0x474c33||await getActiveFeatureId();if(!_0x401aaf)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x134b60(0x23f)](_0x4b8530['wzERG']);const _0x34472d=await _0x4b8530[_0x134b60(0x1b8)](getFeatureReportMarkdown,_0x401aaf,{'style':_0x456f08[_0x134b60(0x270)]}),_0x24e761=_0x456f08['output']||join(_0x4b8530[_0x134b60(0x210)](getRangerDir),'reports',_0x401aaf+'.md'),_0x27701e=join(_0x24e761,'..');!_0x4b8530['TaapT'](existsSync,_0x27701e)&&await mkdir(_0x27701e,{'recursive':!![]}),await _0x4b8530['mWAAn'](writeFile,_0x24e761,_0x34472d,_0x4b8530['PehiT']),console['log'](_0x134b60(0x256)+_0x24e761);}function getScenarioResult(_0x3c49ca){const _0x5f1b96=_0x3e12,_0x3c7235={'odNuR':'closed','QcZsM':'verification_in_progress','njgUY':_0x5f1b96(0x1e2)};if(_0x3c49ca['status']===_0x3c7235[_0x5f1b96(0x1d6)])return _0x3c49ca['terminalReason']??_0x3c7235['odNuR'];if(_0x3c49ca[_0x5f1b96(0x229)]===_0x3c7235['QcZsM'])return _0x3c7235[_0x5f1b96(0x1da)];return _0x3c49ca['status'];}function getScenarioRationale(_0x2c5bdb,_0x5ee42d){const _0x5e1457=_0x3e12;if(_0x5ee42d)return _0x5ee42d;if(_0x2c5bdb['blockedReason'])return _0x2c5bdb['blockedReason'];if(_0x2c5bdb[_0x5e1457(0x1cc)])return _0x2c5bdb['incompleteReason'];if(_0x2c5bdb[_0x5e1457(0x265)])return _0x2c5bdb['canceledReason'];if(_0x2c5bdb['notes'])return _0x2c5bdb[_0x5e1457(0x271)];return null;}export async function featureReportPrDescription(_0x49b438,_0x37f7ba){const _0x39d4cc=_0x3e12,_0x40f454={'DYuNb':_0x39d4cc(0x238),'Jvrtf':function(_0x1226b0,_0x3e456a,_0x5a4e01){return _0x1226b0(_0x3e456a,_0x5a4e01);},'LXxUI':function(_0x46298f,_0x55185e){return _0x46298f===_0x55185e;},'vrXvA':'\x0aAvailable\x20scenarios:','WVSPr':function(_0x17c08e,_0x30d557){return _0x17c08e<_0x30d557;},'YPRuQ':function(_0x3530bb,_0x582a5d,_0x6a8746,_0x165273){return _0x3530bb(_0x582a5d,_0x6a8746,_0x165273);}},_0x161615=_0x49b438||await getActiveFeatureId();if(!_0x161615)throw new Error(_0x40f454['DYuNb']);const _0x52ab49=await getFeature(_0x161615),_0x2efa0b=_0x52ab49['checklistItems']||[],_0x5d8e00=_0x40f454['Jvrtf'](getCurrentSessionItems,_0x52ab49,_0x2efa0b);_0x40f454['LXxUI'](_0x5d8e00['length'],0x0)&&(console[_0x39d4cc(0x21d)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x3eb2bc=_0x37f7ba[_0x39d4cc(0x226)]??[],_0x2b2058=_0x3eb2bc[_0x39d4cc(0x234)](_0x232497=>!Number['isInteger'](_0x232497)||_0x232497<0x1||_0x232497>_0x5d8e00[_0x39d4cc(0x236)]);if(_0x2b2058[_0x39d4cc(0x236)]>0x0){console[_0x39d4cc(0x21d)](_0x39d4cc(0x245)+_0x2b2058['join'](',\x20')),console['log'](_0x40f454[_0x39d4cc(0x278)]);for(let _0x23e44b=0x0;_0x40f454['WVSPr'](_0x23e44b,_0x5d8e00['length']);_0x23e44b++){console['log']('\x20\x20'+(_0x23e44b+0x1)+'.\x20'+_0x5d8e00[_0x23e44b]['description']);}process['exit'](0x1);}const _0x17ce00=new Set(_0x3eb2bc['map'](_0x428f38=>_0x428f38-0x1)),_0x35aaa7=_0x5d8e00[_0x39d4cc(0x234)]((_0x112b4e,_0x171288)=>!_0x17ce00['has'](_0x171288));_0x35aaa7[_0x39d4cc(0x236)]===0x0&&(console[_0x39d4cc(0x21d)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process['exit'](0x1));if(_0x37f7ba[_0x39d4cc(0x267)])await _0x40f454['YPRuQ'](outputJsonReport,_0x161615,_0x52ab49,_0x35aaa7);else{const _0x1f310e=await getFeatureReportMarkdown(_0x161615,{'itemIds':_0x35aaa7['map'](_0x2c4710=>_0x2c4710['id'])});process[_0x39d4cc(0x264)]['write'](_0x1f310e['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x153dc2,_0x3177fd,_0x23e9aa){const _0x1fd612=_0x3e12,_0x42d540={'TeLND':function(_0x3186b6,_0x21d8b0){return _0x3186b6(_0x21d8b0);},'KQLzy':function(_0x2e89c0,_0x5a9330){return _0x2e89c0===_0x5a9330;},'YrFCR':function(_0x5071d5,_0x2527a2){return _0x5071d5(_0x2527a2);},'NbKXx':function(_0x1b6c3f,_0xec6228){return _0x1b6c3f+_0xec6228;}},_0x54898d=getApiBaseUrl(),_0x3f3e88=await getFeatureReport(_0x153dc2),_0xef0637=new Map(_0x3f3e88[_0x1fd612(0x22a)]['map'](_0xd8c58e=>[_0xd8c58e['id'],_0xd8c58e])),_0x188fa6=await Promise['all'](_0x23e9aa['map'](async _0x1c03ff=>{const _0x5a3a13=_0x1fd612,_0x29bfef=_0xef0637[_0x5a3a13(0x20f)](_0x1c03ff['id']),_0x5e122a=_0x29bfef?.['linkedSession']??null;let _0x5e8e45=[];if(_0x1c03ff[_0x5a3a13(0x27b)])try{const {steps:_0x22ff4e}=await _0x42d540['TeLND'](getBrowserSessionSteps,_0x1c03ff[_0x5a3a13(0x27b)]);_0x22ff4e[_0x5a3a13(0x236)]>0x0&&(_0x5e8e45=_0x22ff4e[_0x5a3a13(0x1de)](_0x11a9d5=>{const _0x1b1761=_0x5a3a13,_0x1e9ab0=_0x11a9d5[_0x1b1761(0x237)][_0x1b1761(0x1d2)](_0x5b5db6=>_0x5b5db6[_0x1b1761(0x263)]==='screenshot'&&_0x5b5db6['timing']==='after')??_0x11a9d5['assets']['find'](_0x385ebe=>_0x385ebe[_0x1b1761(0x263)]===_0x1b1761(0x266));let _0x411a90=null,_0x5be7ff=null;if(_0x1e9ab0){const _0x3363cb=_0x1e9ab0[_0x1b1761(0x1d4)]['location']['split']('/')['pop']();_0x411a90=_0x54898d+'/api/v1/mcp/browser-sessions/'+_0x1c03ff[_0x1b1761(0x27b)]+'/artifacts/'+_0x3363cb,_0x3363cb&&(_0x5be7ff=_0x3363cb[_0x1b1761(0x1fc)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x1b1761(0x1fc)](/[-_]/g,'\x20'));}return{'description':_0x5be7ff||_0x11a9d5[_0x1b1761(0x1bf)]||_0x11a9d5['stepName']||'Step\x20'+_0x11a9d5[_0x1b1761(0x261)],'screenshot':_0x411a90,'is_key_step':_0x11a9d5[_0x1b1761(0x1c4)]};}));}catch{}return _0x42d540['KQLzy'](_0x5e8e45[_0x5a3a13(0x236)],0x0)&&_0x5e122a?.['screenshotUrls']&&(_0x5e8e45=_0x5e122a[_0x5a3a13(0x231)][_0x5a3a13(0x1de)]((_0x85436f,_0x57136b)=>({'description':'Screenshot\x20'+(_0x57136b+0x1),'screenshot':_0x85436f,'is_key_step':![]}))),{'description':_0x1c03ff['description'],'result':_0x42d540['YrFCR'](getScenarioResult,_0x1c03ff),'rationale':getScenarioRationale(_0x1c03ff,_0x5e122a?.[_0x5a3a13(0x1f5)]),'steps':_0x5e8e45};})),_0x67f435={'url':_0x3177fd[_0x1fd612(0x240)],'scenarios':_0x188fa6};process['stdout']['write'](_0x42d540['NbKXx'](JSON['stringify'](_0x67f435,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x312628){const _0x34eccb=_0x3e12,_0x3f1e2e={'bRJdJ':function(_0x58ec34){return _0x58ec34();},'dTRkP':function(_0x1d8bca,_0x1c5392){return _0x1d8bca(_0x1c5392);},'Xmxgr':_0x34eccb(0x215),'JhozF':'in_progress'},_0x264858=_0x312628||await _0x3f1e2e['bRJdJ'](getActiveFeatureId);if(!_0x264858)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 _0x41a24a=await _0x3f1e2e['dTRkP'](getFeature,_0x264858);if(!_0x41a24a['currentSessionId'])throw new Error(_0x3f1e2e[_0x34eccb(0x230)]);const {sessions:_0x89e64d}=await listFeatureSessions(_0x264858),_0x6033a3=_0x89e64d['find'](_0x409dc4=>_0x409dc4['id']===_0x41a24a['currentSessionId']);if(!_0x6033a3)throw new Error('Current\x20session\x20not\x20found.');if(_0x6033a3[_0x34eccb(0x229)]==='completed'){console['log'](_0x34eccb(0x1bd));return;}if(_0x6033a3['status']!==_0x3f1e2e['JhozF'])throw new Error(_0x34eccb(0x200)+_0x6033a3['status']);console[_0x34eccb(0x23f)](_0x34eccb(0x217)),await concludeSession(_0x264858,_0x41a24a[_0x34eccb(0x205)]),console[_0x34eccb(0x23f)]('\x0a✅\x20Session\x20'+_0x6033a3[_0x34eccb(0x22e)]+'\x20concluded.'),console[_0x34eccb(0x23f)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}function _0x234a(){const _0x575e07=['Showing\x20','submittedAt','yMaGh','No\x20active\x20session\x20for\x20this\x20feature\x20review.','\x20scenario(s).','\x0aConcluding\x20session...','guIPJ','\x20\x20✅\x20No\x20feedback\x20to\x20address','verification_in_progress','Unknown','git\x20rev-parse\x20--abbrev-ref\x20HEAD','error','xgpsp','\x20\x20\x20\x20\x20ID:\x20','pxGDE','LzHIs','blockedReason','scenarios','join','vJFWO','excludeScenarios','gitBranch','\x20\x20\x20▶️\x20Started\x20session\x20','status','checklistItems','spatial','approved','repeat','iteration','selected','Xmxgr','screenshotUrls','any','\x0aCreating\x20feature\x20review...','filter','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','length','assets','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20Completed:\x20','lAYxf','\x20\x20\x20\x20\x20\x20Cancelled:\x20','split','pendingItems','authorEmail','log','dashboardUrl','VKSGj','feedback-images','zaEhn','7vqjqDH','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','toLocaleDateString','\x0a✅\x20Scenario\x20added','gQTEq','10gIhttG','24247586QRawDG','github.com/','stats','NxMmL','12942819CQYBHH','VmWRW','7291252ZOKkhe','vdkVr','\x20--current-branch','\x20in\x20progress','tNXXG','env','\x0a✅\x20Report\x20generated:\x20','OopRt','EkdAz','domRef','verified','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','BRzQJ','stdin','createdAt','NcxAh','...','position','trim','assetType','stdout','canceledReason','screenshot','json','\x20\x20\x20\x20\x20Progress:\x20','en-US','qfTVm','YGVjN','MVBIA','863524ZGbZJc','limit','580374UGQnWP','style','notes','gitRepoUrl','isTTY','completedAt','point','vjLGI','coordinates','vrXvA','\x20\x20Expected\x20flow:','1FUpXVg','browserSessionId','name','version','zNMdr','\x20\x20\x20ID:\x20','pipe','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','No\x20sessions\x20found.','type','ofirE','RCjEC','closed','vlvjc','element','scenario','push','AoIdi','\x20\x20\x20\x20\x20Branch:\x20','hFaKj','LQelt','TstaH','currentBranch','cHROF','textContent','eSRSS','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20>\x20','\x20--include-deleted','blockedItems','\x0a✅\x20Session\x20is\x20already\x20completed.','.\x20Feature\x20review\x20has\x20','description','RnVEr','dCBbP','\x20\x20\x20Progress:\x20','\x0a⚠️\x20\x20','isKeyStep','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','unaddressedComments','hlxFA','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','short','\x0aAvailable\x20scenarios:','\x20--limit\x20','incompleteReason','toFixed','toLocaleString','blocked','\x20\x20💬\x20','hxlHX','find','oTJIG','storage','Xvstz','odNuR','exit','canonicalFlow','pxqLH','njgUY','LGtNC','wvAYh','utf-8','map','OQGkk','TLWho','\x20\x20\x20Created:\x20','in_progress','numeric','dWSDr','\x0a✅\x20Restored\x20feature\x20review:\x20','cCROA','\x20feature\x20review(s)\x20found','list','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','totalCount','DOnhG','FBlpg','selector','\x20unaddressed\x20comment(s)','\x0aGenerating\x20report...','):\x20\x22','Scenario\x20','\x20at\x20[','Next\x20page:\x20ranger\x20list\x20--offset\x20','gzclu','agentResponse','NWLSg','4799365SXAdVh','items','sessionId','Not\x20in\x20a\x20git\x20repository.','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','replace','XdheT','verifiedItems','URxCh','Cannot\x20conclude\x20session\x20with\x20status:\x20','xyRcD','6HBHtBj','bLrlF','terminalReason','currentSessionId','CdWPI','\x20\x20\x20Description:\x20','Please\x20finish\x20your\x20review\x20first:','\x20blocked','latestReview','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','offset','9465208fdZsnR','get','pncNQ','NJTqe'];_0x234a=function(){return _0x575e07;};return _0x234a();}export async function featureSessions(_0x4370ac){const _0x41960e=_0x3e12,_0x4235a6={'TLWho':function(_0x2ff9fd){return _0x2ff9fd();},'pxGDE':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','xyRcD':function(_0x506f99,_0x177453){return _0x506f99(_0x177453);},'oTJIG':function(_0xd0331c,_0x55efa3){return _0xd0331c===_0x55efa3;},'BRzQJ':_0x41960e(0x1e2)},_0x40e26b=_0x4370ac||await _0x4235a6[_0x41960e(0x1e0)](getActiveFeatureId);if(!_0x40e26b)throw new Error(_0x4235a6[_0x41960e(0x220)]);const _0x566804=await _0x4235a6[_0x41960e(0x201)](getFeature,_0x40e26b);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x566804[_0x41960e(0x27c)]+'\x0a');const {sessions:_0x115cfc}=await listFeatureSessions(_0x40e26b);if(_0x115cfc[_0x41960e(0x236)]===0x0){console[_0x41960e(0x23f)](_0x41960e(0x282));return;}for(const _0x5d3831 of _0x115cfc){const _0x1aadb5=_0x4235a6[_0x41960e(0x1d3)](_0x5d3831[_0x41960e(0x229)],'completed')?'✅':_0x4235a6[_0x41960e(0x1d3)](_0x5d3831['status'],_0x4235a6[_0x41960e(0x25c)])?'🔄':'▶️';console['log'](_0x1aadb5+'\x20Session\x20'+_0x5d3831[_0x41960e(0x22e)]+'\x20('+_0x5d3831['id']+')'),console[_0x41960e(0x23f)]('\x20\x20\x20Status:\x20'+_0x5d3831[_0x41960e(0x229)]),console['log'](_0x41960e(0x1e1)+new Date(_0x5d3831[_0x41960e(0x25e)])[_0x41960e(0x1ce)]()),_0x5d3831['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x5d3831[_0x41960e(0x274)])[_0x41960e(0x1ce)]()),console['log']('');}}export async function featureAddScenario(_0x5f3c46,_0x2f3f67){const _0x5954fd=_0x3e12,_0x369297={'XMCqg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZCbtv':function(_0x4dc4f3,_0x306f2c){return _0x4dc4f3(_0x306f2c);},'QKDlY':function(_0x56815c,_0x6eadde,_0x4708a3){return _0x56815c(_0x6eadde,_0x4708a3);}},_0x33b806=_0x2f3f67||await getActiveFeatureId();if(!_0x33b806)throw new Error(_0x369297['XMCqg']);const _0x256505=await _0x369297['ZCbtv'](getFeature,_0x33b806);if(_0x256505[_0x5954fd(0x20a)]&&!_0x256505['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x256505['dashboardUrl']);await _0x369297['QKDlY'](createChecklistItem,_0x33b806,_0x5f3c46);const _0x139ca9=await getFeature(_0x33b806);console['log'](_0x5954fd(0x247)),displayFeature(_0x139ca9,_0x139ca9[_0x5954fd(0x22a)]);}export async function featureEditScenario(_0x3c4e19,_0x30238f){const _0x539b90=_0x3e12,_0x1ce82b={'YGVjN':_0x539b90(0x1c5),'ofirE':_0x539b90(0x1c8),'XJjIN':_0x539b90(0x1fb),'dCBbP':_0x539b90(0x208),'vjLGI':function(_0x381225,_0x43cca2){return _0x381225===_0x43cca2;},'VIhNL':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','GeKLp':function(_0x8b850,_0x5b76bb){return _0x8b850===_0x5b76bb;},'wvAYh':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','CgKnB':function(_0x3bce36,_0x54e371){return _0x3bce36+_0x54e371;},'riJdX':function(_0x3ab196,_0x1cf913){return _0x3ab196-_0x1cf913;},'pxqLH':function(_0x9d7266,_0xca421c){return _0x9d7266>=_0xca421c;},'hxlHX':_0x539b90(0x1ca),'JHrFm':function(_0x440a4a,_0x3ec067){return _0x440a4a<_0x3ec067;},'riuOY':function(_0x533bca,_0x2df339){return _0x533bca(_0x2df339);}},_0x434e0a=_0x30238f['id']||await getActiveFeatureId();!_0x434e0a&&(console[_0x539b90(0x21d)](_0x1ce82b[_0x539b90(0x26b)]),console[_0x539b90(0x21d)](_0x1ce82b[_0x539b90(0x284)]),process['exit'](0x1));const _0x131671=await getFeature(_0x434e0a);_0x131671['latestReview']&&!_0x131671[_0x539b90(0x20a)][_0x539b90(0x213)]&&(console['error'](_0x1ce82b['XJjIN']),console['error'](_0x1ce82b[_0x539b90(0x1c1)]),console['error']('\x20\x20'+_0x131671['dashboardUrl']),process['exit'](0x1));const _0x53dc5f=_0x131671['checklistItems']||[];_0x1ce82b[_0x539b90(0x276)](_0x53dc5f[_0x539b90(0x236)],0x0)&&(console['error'](_0x1ce82b['VIhNL']),process[_0x539b90(0x1d7)](0x1));if(_0x1ce82b['GeKLp'](_0x30238f[_0x539b90(0x1ae)],undefined)){console[_0x539b90(0x21d)](_0x1ce82b[_0x539b90(0x1dc)]),console[_0x539b90(0x23f)](_0x539b90(0x1ca));for(let _0x1189cc=0x0;_0x1189cc<_0x53dc5f['length'];_0x1189cc++){console['log']('\x20\x20'+_0x1ce82b['CgKnB'](_0x1189cc,0x1)+'.\x20'+_0x53dc5f[_0x1189cc][_0x539b90(0x1bf)]);}process[_0x539b90(0x1d7)](0x1);}const _0x57f8da=_0x1ce82b['riJdX'](_0x30238f[_0x539b90(0x1ae)],0x1);if(_0x57f8da<0x0||_0x1ce82b[_0x539b90(0x1d9)](_0x57f8da,_0x53dc5f[_0x539b90(0x236)])){console[_0x539b90(0x21d)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x30238f['scenario']+_0x539b90(0x1be)+_0x53dc5f[_0x539b90(0x236)]+'\x20scenarios.'),console[_0x539b90(0x23f)](_0x1ce82b[_0x539b90(0x1d1)]);for(let _0xbffa2b=0x0;_0x1ce82b['JHrFm'](_0xbffa2b,_0x53dc5f[_0x539b90(0x236)]);_0xbffa2b++){console['log']('\x20\x20'+(_0xbffa2b+0x1)+'.\x20'+_0x53dc5f[_0xbffa2b]['description']);}process['exit'](0x1);}const _0x57a6f3=_0x53dc5f[_0x57f8da];await updateChecklistItem(_0x434e0a,_0x57a6f3['id'],{'description':_0x3c4e19});const _0x235a89=await _0x1ce82b['riuOY'](getFeature,_0x434e0a);console[_0x539b90(0x23f)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x235a89,_0x235a89[_0x539b90(0x22a)]);}async function downloadFeedbackImage(_0x320164,_0x43cd1e){const _0x29cfd7=_0x3e12,_0x369565={'wOYGR':function(_0x4987f4,_0x2d7d41,_0x9413b2){return _0x4987f4(_0x2d7d41,_0x9413b2);},'hMPwR':function(_0x4355ac){return _0x4355ac();},'njCeo':function(_0x1717da,_0x2530e2){return _0x1717da(_0x2530e2);}};try{const _0xef5eb=_0x369565['wOYGR'](join,_0x369565['hMPwR'](getRangerDir),_0x29cfd7(0x242));await mkdir(_0xef5eb,{'recursive':!![]});const _0x207973=join(_0xef5eb,'comment_'+_0x43cd1e+'.png'),_0x5d14c7=await _0x369565['njCeo'](fetch,_0x320164);if(!_0x5d14c7['ok'])return null;const _0x403911=Buffer['from'](await _0x5d14c7['arrayBuffer']());return await writeFile(_0x207973,_0x403911),_0x207973;}catch{return null;}}export async function featureGetReview(_0x5ea537){const _0x2205ce=_0x3e12,_0x6ad734={'LGtNC':function(_0x13ce47,_0x1155d0){return _0x13ce47===_0x1155d0;},'XdheT':'No\x20scenarios\x20found.','RnVEr':function(_0x1579be,_0x391001){return _0x1579be<_0x391001;},'ceVyf':function(_0x2f6868,_0x26d310){return _0x2f6868>_0x26d310;},'RCjEC':function(_0x304017,_0x5932f7,_0xa195a9){return _0x304017(_0x5932f7,_0xa195a9);},'jzhwC':function(_0x16c482,_0x353de0){return _0x16c482+_0x353de0;},'zaEhn':_0x2205ce(0x269),'IJSHm':function(_0x31dfc2,_0x3a21c9){return _0x31dfc2>=_0x3a21c9;},'yMaGh':function(_0x5c08c5,_0x429ed8){return _0x5c08c5+_0x429ed8;}},_0x54c14e=_0x5ea537||await getActiveFeatureId();if(!_0x54c14e)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 _0x4c78e8=await getFeature(_0x54c14e),{items:_0x282236}=await getActionItems(_0x54c14e);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x4c78e8[_0x2205ce(0x27c)]+'\x20('+_0x4c78e8['id']+')\x0a');if(_0x6ad734['LGtNC'](_0x282236['length'],0x0)){console['log'](_0x6ad734[_0x2205ce(0x1fd)]);return;}for(let _0x5c3233=0x0;_0x6ad734[_0x2205ce(0x1c0)](_0x5c3233,_0x282236[_0x2205ce(0x236)]);_0x5c3233++){const _0x2280ae=_0x282236[_0x5c3233],_0x56ea1b=_0x6ad734['ceVyf'](_0x2280ae['version'],0x1)?'\x20(v'+_0x2280ae['version']+')':'',_0x4375cc=await _0x6ad734[_0x2205ce(0x285)](getItemFeedback,_0x54c14e,_0x2280ae['id']);if(_0x4375cc['unaddressedComments']['length']>0x0){console[_0x2205ce(0x23f)]('Scenario\x20'+_0x6ad734['jzhwC'](_0x5c3233,0x1)+':\x20\x22'+_0x2280ae['description']+'\x22'+_0x56ea1b+'\x20—\x20'+_0x4375cc['unaddressedComments']['length']+_0x2205ce(0x1ee));for(const _0x4c0cc3 of _0x4375cc[_0x2205ce(0x1c6)]){const _0x185e9d=new Date(_0x4c0cc3[_0x2205ce(0x25e)])['toLocaleDateString'](_0x6ad734[_0x2205ce(0x243)],{'month':_0x2205ce(0x1c9),'day':_0x2205ce(0x1e3)}),_0x12b334=_0x4c0cc3['authorName']||_0x4c0cc3[_0x2205ce(0x23e)]||_0x2205ce(0x21b);console[_0x2205ce(0x23f)](_0x2205ce(0x1d0)+_0x12b334+'\x20('+_0x185e9d+_0x2205ce(0x1f0)+_0x4c0cc3['content']+'\x22');if(_0x4c0cc3['assetUrl']){const _0x190135=await downloadFeedbackImage(_0x4c0cc3['assetUrl'],_0x4c0cc3['id']);_0x190135&&console[_0x2205ce(0x23f)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x190135);}if(_0x4c0cc3['domRef']){const _0x3a9f89=_0x4c0cc3['domRef'][_0x2205ce(0x1ed)]['split'](_0x2205ce(0x1ba))['pop']()?.[_0x2205ce(0x23c)](':')[0x0]||_0x2205ce(0x288),_0x4ce174=_0x4c0cc3['domRef'][_0x2205ce(0x1b7)]?'\x20\x22'+_0x4c0cc3['domRef']['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x2205ce(0x23f)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3a9f89+'>'+_0x4ce174),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x4c0cc3[_0x2205ce(0x259)]['selector']);}else{if(_0x4c0cc3['spatial']){const _0x54a719=_0x4c0cc3[_0x2205ce(0x22b)][_0x2205ce(0x277)];_0x6ad734[_0x2205ce(0x1db)](_0x4c0cc3[_0x2205ce(0x22b)]['type'],_0x2205ce(0x275))&&_0x6ad734['IJSHm'](_0x54a719[_0x2205ce(0x236)],0x2)?console[_0x2205ce(0x23f)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x54a719[0x0][_0x2205ce(0x1cd)](0x2)+',\x20'+_0x54a719[0x1][_0x2205ce(0x1cd)](0x2)+')'):console['log'](_0x2205ce(0x20b)+_0x4c0cc3['spatial'][_0x2205ce(0x283)]+_0x2205ce(0x1f2)+_0x54a719['map'](_0x14f613=>_0x14f613[_0x2205ce(0x1cd)](0x2))[_0x2205ce(0x224)](',\x20')+']');}}}if(_0x4375cc[_0x2205ce(0x1d8)]){console[_0x2205ce(0x23f)](_0x2205ce(0x279));for(const _0x1c96f4 of _0x4375cc[_0x2205ce(0x1d8)]['split']('\x0a')){console[_0x2205ce(0x23f)]('\x20\x20\x20\x20'+_0x1c96f4);}}}else console['log'](_0x2205ce(0x1f1)+_0x6ad734[_0x2205ce(0x214)](_0x5c3233,0x1)+':\x20\x22'+_0x2280ae['description']+'\x22'+_0x56ea1b+'\x20—\x20no\x20comments'),console['log'](_0x2205ce(0x219));console['log']('');}}export async function featureDelete(_0x4106f0){const _0x4f91bf=_0x3e12,_0x259406={'vIaCX':function(_0x105e99){return _0x105e99();},'vdkVr':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','cCROA':function(_0x341d0e,_0x518d03){return _0x341d0e(_0x518d03);},'NcxAh':function(_0x1d6325,_0x27e977){return _0x1d6325+_0x27e977;},'bLrlF':_0x4f91bf(0x20c)},_0x5b89c8=_0x4106f0||await _0x259406['vIaCX'](getActiveFeatureId);if(!_0x5b89c8)throw new Error(_0x259406[_0x4f91bf(0x251)]);const _0x16a929=await _0x259406[_0x4f91bf(0x1e6)](getFeature,_0x5b89c8);await softDeleteFeature(_0x5b89c8),console[_0x4f91bf(0x23f)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x16a929[_0x4f91bf(0x27c)]+'\x20('+_0x5b89c8+')'),console[_0x4f91bf(0x23f)](_0x259406[_0x4f91bf(0x25f)](_0x259406[_0x4f91bf(0x203)],_0x5b89c8));}export async function featureRestore(_0xf5ceb){const _0x2eb2e7=_0x3e12,_0x2f887e={'LzHIs':function(_0x1e4a9e,_0x4d38d2){return _0x1e4a9e(_0x4d38d2);},'gzclu':function(_0x4a8763,_0x508727,_0x3d0899){return _0x4a8763(_0x508727,_0x3d0899);}};await _0x2f887e[_0x2eb2e7(0x221)](restoreFeature,_0xf5ceb);const _0x3df9fd=await _0x2f887e['LzHIs'](getFeature,_0xf5ceb);console[_0x2eb2e7(0x23f)](_0x2eb2e7(0x1e5)+_0x3df9fd['name']+'\x20('+_0xf5ceb+')'),_0x2f887e[_0x2eb2e7(0x1f4)](displayFeature,_0x3df9fd,_0x3df9fd['checklistItems']);}
1
+ const _0x3da61c=_0xcb7e;(function(_0x142250,_0x509ac4){const _0x23bdfd=_0xcb7e,_0x3ccb5b=_0x142250();while(!![]){try{const _0x596c63=parseInt(_0x23bdfd(0x1b5))/0x1*(-parseInt(_0x23bdfd(0x23b))/0x2)+-parseInt(_0x23bdfd(0x218))/0x3+parseInt(_0x23bdfd(0x201))/0x4*(parseInt(_0x23bdfd(0x1df))/0x5)+parseInt(_0x23bdfd(0x25a))/0x6*(parseInt(_0x23bdfd(0x1a7))/0x7)+parseInt(_0x23bdfd(0x1b3))/0x8*(parseInt(_0x23bdfd(0x1bc))/0x9)+parseInt(_0x23bdfd(0x225))/0xa+-parseInt(_0x23bdfd(0x24e))/0xb*(-parseInt(_0x23bdfd(0x1d2))/0xc);if(_0x596c63===_0x509ac4)break;else _0x3ccb5b['push'](_0x3ccb5b['shift']());}catch(_0x34e730){_0x3ccb5b['push'](_0x3ccb5b['shift']());}}}(_0x47b2,0xd4829));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';function _0x47b2(){const _0x4a0b43=['style','map','Please\x20finish\x20your\x20review\x20first:','jzKDl','submittedAt','browserSessionId','Current\x20session\x20not\x20found.','canonicalFlow','7iHjqxP','type','EIqRb','split','totalCount','\x20unaddressed\x20comment(s)','\x0aAvailable\x20scenarios:','BLlOK','incomplete','EGWKl','en-US','/artifacts/','119032XMiygw','No\x20sessions\x20found.','870mvjgir','iWtpj','DvVGB','QqCcz','Cannot\x20conclude\x20session\x20with\x20status:\x20','currentSessionId','unaddressedComments','18xSTyPC','authorName','JkXhy','jbpzG','Next\x20page:\x20ranger\x20list\x20--offset\x20','UAPje','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','repeat','VQiwv','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','isKeyStep','vQYfZ','\x20\x20💬\x20','BaJSp','toFixed','nDbQq','pZaDo','includeDeleted','assetType','pop','screenshotUrls','\x20/\x20','70044JqHAXZ','parentItemId','sessionId','gUrLQ','approved','filter','push','STuyz','feedback-images','scenario','\x20of\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','stepName','259645sSteUt','iteration','blockedItems','length','\x20>\x20','sOcDe','JGFyP','terminalReason','\x20\x20\x20Description:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','yYWEX','cIANK','\x0a✅\x20Scenario\x20updated','items','aHRnE','isTTY','AVFuL','\x20(v','canceledReason','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20Branch:\x20','spatial','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','exit','utf-8','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','stdout','completed','\x20\x20\x20\x20\x20Progress:\x20','dashboardUrl','element','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','toLocaleString','24BOCdVa','jLoij','position','name','CLAUDE_SESSION_ID','all','\x20\x20\x20Progress:\x20','HtGpd','description','log','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','feBKc','lpouT','\x20concluded.','\x20\x20\x20Completed:\x20','agentResponse','\x0a📋\x20Feedback\x20for:\x20','gitBranch','EAwRA','vnbpE','timing','ypOHW','3800007nGLVRB','join','\x1b[0m','\x20\x20\x20','\x20[has\x20reviewer\x20feedback]','avKwa','\x0aConcluding\x20session...','find','textContent','\x0a✅\x20Session\x20is\x20already\x20completed.','\x20\x20\x20\x20','completedAt','\x20at\x20[','2451930sYCxvY','DIJBj','\x0a✅\x20Report\x20generated:\x20','blocked','/api/v1/mcp/browser-sessions/','aBZuJ','scenarios','comment_','pLLUB','prompt','QkVGQ','any','incompleteItems','\x0a✅\x20Session\x20','stringify','xxWfZ','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','isInteger','\x20\x20\x20ID:\x20','toLocaleDateString','\x20--current-branch','\x20\x20\x20\x20\x20\x20Approved','1644eQbGGi','json','\x20scenarios.','QXIzJ','list','authorEmail','incompleteReason','\x0a✅\x20Resumed\x20feature\x20review:\x20','TODzP','XSBUr','WIGGc','after','NUdJK','latestReview','\x0a⚠️\x20\x20','QDblI','assetUrl','UWuhn','domRef','1166cJdlRk','zmKzS','jGkjA','version','ZkGtr','\x20\x20\x20\x20\x20📋\x20Selector:\x20','ZKWNy','\x20incomplete','verified','JBAOM','.png','No\x20active\x20session\x20for\x20this\x20feature\x20review.','9882018YeRvrb','pipe','BJEXi','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','status','verifiedItems','PYGZU','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','BkarQ','env','checklistItems','createdAt','assets','EYiEn','has','notes','aRRtd','error','replace','HQiWm','limit','wXHyn','stats','Scenario\x20','\x0aGenerating\x20report...','arrayBuffer','offset'];_0x47b2=function(){return _0x4a0b43;};return _0x47b2();}import _0xb771c4 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';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x1abf80=>'\x1b[1m'+_0x1abf80+_0x3da61c(0x21a);function getGitRepoUrl(){const _0x4b7f41=_0x3da61c,_0x4c8b21={'aalMe':function(_0x471bd3,_0x57a7a4,_0x154622){return _0x471bd3(_0x57a7a4,_0x154622);},'cIANK':_0x4b7f41(0x25b)};try{const _0x2e777e=_0x4c8b21['aalMe'](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x4b7f41(0x1f7),'stdio':[_0x4c8b21[_0x4b7f41(0x1ea)],_0x4b7f41(0x25b),_0x4c8b21[_0x4b7f41(0x1ea)]]})['trim']();return _0x2e777e['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')[_0x4b7f41(0x26d)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x443872=_0x3da61c,_0x5ba9fe={'ssHcN':'utf-8','aRRtd':_0x443872(0x25b)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x5ba9fe['ssHcN'],'stdio':[_0x5ba9fe[_0x443872(0x26b)],'pipe',_0x443872(0x25b)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x53b3e5=_0x3da61c,_0x2415bf={'jLoij':function(_0x1657be,_0x503520,_0x2efe10){return _0x1657be(_0x503520,_0x2efe10);}},_0x51ddc6=_0x2415bf[_0x53b3e5(0x202)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x51ddc6))return null;try{const _0x1cfc88=await readFile(_0x51ddc6,'utf-8');return _0x1cfc88['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x5bb118){const _0x4258e3=_0x3da61c,_0x23c9d8={'pLLUB':function(_0x27ce77,_0xc1d3bd,_0x265574){return _0x27ce77(_0xc1d3bd,_0x265574);},'iKrrj':function(_0x568794,_0x4df154,_0x6e820c){return _0x568794(_0x4df154,_0x6e820c);},'POhus':function(_0x218712,_0x114001,_0x456141,_0x3ce0c6){return _0x218712(_0x114001,_0x456141,_0x3ce0c6);},'JBAOM':'utf-8'},_0xabcab4=getRangerDir(),_0x150610=_0x23c9d8[_0x4258e3(0x22d)](join,_0xabcab4,ACTIVE_FEATURE_FILE);!existsSync(_0xabcab4)&&await _0x23c9d8['iKrrj'](mkdir,_0xabcab4,{'recursive':!![]}),await _0x23c9d8['POhus'](writeFile,_0x150610,_0x5bb118,_0x23c9d8[_0x4258e3(0x257)]);}function getProgressDisplay(_0x2b1be4){const _0x49e9b7=_0x3da61c,_0x73b5d2={'IeNQf':function(_0x4dddff,_0x43c2fa){return _0x4dddff+_0x43c2fa;},'ISztd':function(_0x3e10f3,_0x5dbe55){return _0x3e10f3+_0x5dbe55;},'xdgTq':function(_0x1e57f3,_0x37e264){return _0x1e57f3+_0x37e264;},'DIJBj':function(_0x27279d,_0x5b1fe1){return _0x27279d===_0x5b1fe1;},'feBKc':function(_0x196266,_0x20dd8e){return _0x196266*_0x20dd8e;},'BLlOK':function(_0x4b7166,_0x3cee8e){return _0x4b7166/_0x3cee8e;},'EAwRA':function(_0x3a65de,_0xd7ec81){return _0x3a65de-_0xd7ec81;},'ABuWE':function(_0x50f6dd,_0x5e677e){return _0x50f6dd>_0x5e677e;},'ZKmGj':function(_0x3c3b70,_0x2eeb93){return _0x3c3b70>_0x2eeb93;}},_0x3c46d2=_0x2b1be4[_0x49e9b7(0x25f)]||0x0,_0x4a5a4b=_0x2b1be4['verificationInProgressItems']||0x0,_0x5ba602=_0x2b1be4[_0x49e9b7(0x1e1)]||0x0,_0x4a37cf=_0x2b1be4[_0x49e9b7(0x231)]||0x0,_0x5d67c3=_0x2b1be4['pendingItems']||0x0,_0x1ae3a5=_0x73b5d2['IeNQf'](_0x73b5d2['ISztd'](_0x73b5d2['xdgTq'](_0x3c46d2+_0x4a5a4b,_0x5ba602),_0x4a37cf),_0x5d67c3);if(_0x73b5d2[_0x49e9b7(0x226)](_0x1ae3a5,0x0))return'-';const _0x45180e=0xa,_0x27c5a1=Math['round'](_0x73b5d2[_0x49e9b7(0x20d)](_0x73b5d2[_0x49e9b7(0x1ae)](_0x3c46d2,_0x1ae3a5),_0x45180e)),_0xf2c86c='█'[_0x49e9b7(0x1c3)](_0x27c5a1)+'░'[_0x49e9b7(0x1c3)](_0x73b5d2[_0x49e9b7(0x214)](_0x45180e,_0x27c5a1)),_0x4e8a4b=[];if(_0x5ba602>0x0)_0x4e8a4b['push'](_0x5ba602+'\x20blocked');if(_0x4a37cf>0x0)_0x4e8a4b[_0x49e9b7(0x1d8)](_0x4a37cf+_0x49e9b7(0x255));if(_0x73b5d2['ABuWE'](_0x4a5a4b,0x0))_0x4e8a4b['push'](_0x4a5a4b+'\x20in\x20progress');const _0x2c204f=_0x73b5d2['ZKmGj'](_0x4e8a4b['length'],0x0)?'\x20('+_0x4e8a4b[_0x49e9b7(0x219)](',\x20')+')':'';return _0xf2c86c+'\x20'+_0x3c46d2+'/'+_0x1ae3a5+'\x20verified'+_0x2c204f;}function getCurrentSessionItems(_0x1967fd,_0x2ed5fc){const _0x5d1316=_0x3da61c;if(!_0x1967fd[_0x5d1316(0x1ba)])return _0x2ed5fc['filter'](_0x5cbec8=>!_0x5cbec8[_0x5d1316(0x1d4)]);return _0x2ed5fc[_0x5d1316(0x1d7)](_0x40106c=>_0x40106c['sessionId']===_0x1967fd['currentSessionId']||!_0x40106c[_0x5d1316(0x1d4)]);}function displayFeature(_0x3e2e70,_0x43ac2f){const _0x228e22=_0x3da61c,_0x30e3e2={'cvLIU':function(_0x15377f,_0x5e34fa){return _0x15377f>_0x5e34fa;},'SKVgv':'\x0a\x20\x20\x20Scenarios:','yYWEX':'closed','vnbpE':function(_0x18f07c,_0x650031){return _0x18f07c===_0x650031;},'IUzLf':function(_0x360f28,_0x35b8e2){return _0x360f28===_0x35b8e2;},'gUDol':function(_0x2e8bcd,_0x29b9df){return _0x2e8bcd===_0x29b9df;},'jURSy':function(_0x187575,_0x469a4b){return _0x187575===_0x469a4b;},'yNwCK':function(_0x2b4121,_0x28af9b){return _0x2b4121!==_0x28af9b;},'qqdho':'verified','lpouT':_0x228e22(0x21c),'LkQlj':function(_0x32b48e,_0x20bf0d){return _0x32b48e===_0x20bf0d;},'HvUhr':'incomplete','iWtpj':_0x228e22(0x1d6)};console['log']('\x0a'+_0x3e2e70[_0x228e22(0x204)]+'\x20('+_0x3e2e70[_0x228e22(0x1fc)]+')');_0x3e2e70['stats']&&console['log'](_0x228e22(0x207)+getProgressDisplay(_0x3e2e70['stats']));_0x3e2e70['description']&&console[_0x228e22(0x20a)](_0x228e22(0x1e7)+_0x3e2e70['description']);_0x3e2e70['gitRepoUrl']&&console[_0x228e22(0x20a)]('\x20\x20\x20Repository:\x20'+_0x3e2e70['gitRepoUrl']);_0x3e2e70[_0x228e22(0x213)]&&console[_0x228e22(0x20a)](_0x228e22(0x1f3)+_0x3e2e70[_0x228e22(0x213)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3e2e70['createdAt'])[_0x228e22(0x200)]());_0x3e2e70['completedAt']&&console[_0x228e22(0x20a)](_0x228e22(0x210)+new Date(_0x3e2e70[_0x228e22(0x223)])['toLocaleString']());if(_0x43ac2f&&_0x30e3e2['cvLIU'](_0x43ac2f['length'],0x0)){console['log'](_0x30e3e2['SKVgv']);for(let _0x1404c6=0x0;_0x1404c6<_0x43ac2f['length'];_0x1404c6++){const _0x4dc288=_0x43ac2f[_0x1404c6];let _0x56c5c1;if(_0x4dc288['status']===_0x30e3e2[_0x228e22(0x1e9)]&&_0x30e3e2[_0x228e22(0x215)](_0x4dc288['terminalReason'],_0x228e22(0x1d6)))_0x56c5c1='✅';else{if(_0x30e3e2['IUzLf'](_0x4dc288['status'],_0x228e22(0x256)))_0x56c5c1='🟢';else{if(_0x30e3e2[_0x228e22(0x215)](_0x4dc288['status'],_0x228e22(0x1af)))_0x56c5c1='🟠';else{if(_0x30e3e2['gUDol'](_0x4dc288['status'],_0x228e22(0x228)))_0x56c5c1='🛑';else{if(_0x30e3e2['jURSy'](_0x4dc288['status'],_0x30e3e2[_0x228e22(0x1e9)]))_0x56c5c1='⛔';else _0x30e3e2['vnbpE'](_0x4dc288['status'],'verification_in_progress')?_0x56c5c1='⏳':_0x56c5c1='⬜';}}}}const _0x4248e3=_0x4dc288['version']>0x1?_0x228e22(0x1f0)+_0x4dc288['version']+')':'',_0x667ca3=_0x30e3e2['cvLIU'](_0x4dc288['version'],0x1)&&_0x4dc288[_0x228e22(0x1d3)]&&_0x4dc288[_0x228e22(0x25e)]!=='closed'&&_0x30e3e2['yNwCK'](_0x4dc288[_0x228e22(0x25e)],_0x30e3e2['qqdho'])?_0x30e3e2[_0x228e22(0x20e)]:'';console['log'](_0x228e22(0x21b)+(_0x1404c6+0x1)+'.\x20'+_0x56c5c1+'\x20'+_0x4dc288[_0x228e22(0x209)]+_0x4248e3+_0x667ca3);_0x30e3e2['LkQlj'](_0x4dc288['status'],_0x228e22(0x228))&&_0x4dc288['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4dc288['blockedReason']);_0x4dc288[_0x228e22(0x25e)]===_0x30e3e2['HvUhr']&&_0x4dc288[_0x228e22(0x241)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x4dc288[_0x228e22(0x241)]);if(_0x30e3e2['jURSy'](_0x4dc288['status'],_0x30e3e2[_0x228e22(0x1e9)])&&_0x4dc288[_0x228e22(0x1e6)]===_0x30e3e2[_0x228e22(0x1b6)])console[_0x228e22(0x20a)](_0x228e22(0x23a));else _0x4dc288['status']==='closed'&&_0x4dc288['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4dc288['canceledReason']);}}}export async function featureCreate(_0x30d8a0,_0x36a4e5){const _0x26c2a6=_0x3da61c,_0x18d766={'nDbQq':function(_0x36ce73){return _0x36ce73();},'zoifJ':function(_0x4e4554,_0x1279d5){return _0x4e4554===_0x1279d5;},'vaWbr':function(_0x3246ce,_0x36bf01){return _0x3246ce(_0x36bf01);},'kSCiW':function(_0x4e97c9,_0x47b79e,_0x2ac314){return _0x4e97c9(_0x47b79e,_0x2ac314);}},{envNames:_0x59e299}=await _0x18d766[_0x26c2a6(0x1cb)](getEnvNames);if(_0x18d766['zoifJ'](_0x59e299['length'],0x0)&&!process[_0x26c2a6(0x264)]['RANGER_TEST_USERNAME']){let _0x2c8ebc=0x0;try{_0x2c8ebc=(await listCloudProfiles())['length'];}catch{_0x2c8ebc=0x1;}_0x18d766['zoifJ'](_0x2c8ebc,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x40f4c8=>bold(_0x40f4c8)));}const _0x54f76e=_0x36a4e5[_0x26c2a6(0x22b)]?_0x36a4e5[_0x26c2a6(0x22b)][_0x26c2a6(0x277)](_0x451e3e=>_0x451e3e['trim']()):[],_0x3efe9e=getGitRepoUrl(),_0xa733eb=_0x18d766['nDbQq'](getGitBranch);console['log']('\x0aCreating\x20feature\x20review...');const _0x209c63=await createFeature({'name':_0x30d8a0,'description':_0x36a4e5['description'],'checklist':_0x54f76e,'gitRepoUrl':_0x3efe9e,'gitBranch':_0xa733eb});await _0x18d766['vaWbr'](setActiveFeatureId,_0x209c63['id']),await tryStartCurrentSession(_0x209c63['id']);const _0x22ab9f=process[_0x26c2a6(0x264)][_0x26c2a6(0x205)];_0x22ab9f&&registerSession(_0x22ab9f,_0x209c63['id']),console[_0x26c2a6(0x20a)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x209c63['id']),_0x18d766['kSCiW'](displayFeature,_0x209c63,_0x209c63[_0x26c2a6(0x265)]),console['log'](_0x26c2a6(0x1f5));}export async function featureList(_0x52f9ea){const _0x59b21e=_0x3da61c,_0x43b4ea={'qhrlz':function(_0x412816,_0x57ac17){return _0x412816(_0x57ac17);},'XAkAX':_0x59b21e(0x1f2),'uIXRZ':function(_0x289c68,_0x2a265e){return _0x289c68!==_0x2a265e;}},_0xcbdefb={'limit':_0x52f9ea[_0x59b21e(0x26f)]??0xa,'offset':_0x52f9ea['offset']??0x0,'includeDeleted':_0x52f9ea[_0x59b21e(0x1cd)]};_0x52f9ea['currentBranch']&&(_0xcbdefb['gitRepoUrl']=getGitRepoUrl(),_0xcbdefb[_0x59b21e(0x213)]=getGitBranch());const _0x4df761=await _0x43b4ea['qhrlz'](listFeatures,_0xcbdefb);if(_0x4df761['items']['length']===0x0){console['log'](_0x43b4ea['XAkAX']);return;}const _0x590a9e=_0x4df761['totalCount']>_0x4df761[_0x59b21e(0x1ec)]['length']?'Showing\x20'+_0x4df761[_0x59b21e(0x1ec)][_0x59b21e(0x1e2)]+_0x59b21e(0x1dc)+_0x4df761[_0x59b21e(0x1ab)]:_0x4df761['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x59b21e(0x20a)]('\x0a'+_0x590a9e+':\x0a');for(const _0x35b0e1 of _0x4df761['items']){console['log'](''+_0x35b0e1['name']),console['log'](_0x59b21e(0x237)+_0x35b0e1['id']),_0x35b0e1['stats']&&console[_0x59b21e(0x20a)](_0x59b21e(0x207)+getProgressDisplay(_0x35b0e1[_0x59b21e(0x271)])),_0x35b0e1[_0x59b21e(0x213)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x35b0e1[_0x59b21e(0x213)]),console[_0x59b21e(0x20a)]('\x20\x20\x20Created:\x20'+new Date(_0x35b0e1[_0x59b21e(0x266)])[_0x59b21e(0x238)]()),console['log']('');}const _0x1ba2f8=_0xcbdefb[_0x59b21e(0x26f)]??0xa,_0x5752cb=(_0xcbdefb[_0x59b21e(0x275)]??0x0)+_0x4df761[_0x59b21e(0x1ec)][_0x59b21e(0x1e2)];if(_0x5752cb<_0x4df761[_0x59b21e(0x1ab)]){const _0x19b9c4=_0x43b4ea['uIXRZ'](_0x1ba2f8,0xa)?'\x20--limit\x20'+_0x1ba2f8:'',_0x144786=_0x52f9ea['currentBranch']?_0x59b21e(0x239):'',_0x5461fe=_0x52f9ea[_0x59b21e(0x1cd)]?'\x20--include-deleted':'';console['log'](_0x59b21e(0x1c0)+_0x5752cb+_0x19b9c4+_0x144786+_0x5461fe);}}function _0xcb7e(_0x52d42c,_0x5d3a6b){_0x52d42c=_0x52d42c-0x1a7;const _0x47b223=_0x47b2();let _0xcb7e06=_0x47b223[_0x52d42c];return _0xcb7e06;}export async function featureShow(_0x1542ba){const _0x1cdbcd=_0x3da61c,_0x36ba52={'CpUvt':_0x1cdbcd(0x25d)},_0x5940eb=_0x1542ba||await getActiveFeatureId();if(!_0x5940eb)throw new Error(_0x36ba52['CpUvt']);const _0x4fcfa4=await getFeature(_0x5940eb);displayFeature(_0x4fcfa4,_0x4fcfa4['checklistItems']);}export async function featureResume(_0x43b4d2){const _0x526975=_0x3da61c,_0x486a62={'AVFuL':function(_0x24399d,_0x5423fd){return _0x24399d(_0x5423fd);},'gGiZb':function(_0x1ddcf8,_0x1dd322){return _0x1ddcf8(_0x1dd322);},'VQiwv':function(_0x49feea,_0x2afef,_0x3419f5){return _0x49feea(_0x2afef,_0x3419f5);},'ToVWH':'any','BaJSp':function(_0x1c0833,_0x188540){return _0x1c0833===_0x188540;},'CktzH':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','EIqRb':function(_0x463c29,_0x122784){return _0x463c29===_0x122784;},'QDblI':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','cfeNT':_0x526975(0x23f),'ZkGtr':'selected','TODzP':_0x526975(0x1ff),'pavec':function(_0x28e3d7,_0x55d668){return _0x28e3d7!==_0x55d668;},'xxWfZ':function(_0x68c398,_0xf0ee){return _0x68c398(_0xf0ee);},'QXIzJ':function(_0x1a37b3,_0x55724d,_0x297392){return _0x1a37b3(_0x55724d,_0x297392);}};if(_0x43b4d2){const _0x39297c=await _0x486a62['AVFuL'](getFeature,_0x43b4d2);await _0x486a62['gGiZb'](setActiveFeatureId,_0x39297c['id']);const _0x2a4bdf=getGitBranch();_0x2a4bdf&&_0x2a4bdf!==_0x39297c[_0x526975(0x213)]&&(await updateFeature(_0x39297c['id'],{'gitBranch':_0x2a4bdf}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x2a4bdf));console['log'](_0x526975(0x242)+_0x39297c[_0x526975(0x204)]+'\x20('+_0x39297c['id']+')'),await _0x486a62[_0x526975(0x1ef)](tryStartCurrentSession,_0x39297c['id']);const _0x4c61c1=process['env'][_0x526975(0x205)];_0x4c61c1&&_0x486a62['VQiwv'](registerSession,_0x4c61c1,_0x39297c['id']);displayFeature(_0x39297c,_0x39297c['checklistItems']),await _0x486a62['AVFuL'](printFeedbackNudge,_0x39297c['id']);return;}const _0x2a46e9=getGitRepoUrl(),_0x1f9a44=getGitBranch();if(!_0x2a46e9&&!_0x1f9a44)throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x526975(0x20a)](_0x526975(0x1e8)+(_0x2a46e9||_0x526975(0x230))+_0x526975(0x1d1)+(_0x1f9a44||_0x486a62['ToVWH'])+'...');const _0x5c51b8=await listFeatures({'gitRepoUrl':_0x2a46e9,'gitBranch':_0x1f9a44}),_0x7df236=_0x5c51b8['items'][_0x526975(0x1d7)](_0x9a9a15=>_0x9a9a15['status']?_0x9a9a15['status']!==_0x526975(0x256):!_0x9a9a15[_0x526975(0x223)]);if(_0x486a62[_0x526975(0x1c9)](_0x7df236[_0x526975(0x1e2)],0x0)){console['log'](_0x526975(0x1fe)),console[_0x526975(0x20a)](_0x486a62['CktzH']);return;}let _0x4a72db;if(_0x486a62[_0x526975(0x1a9)](_0x7df236['length'],0x1))_0x4a72db=_0x7df236[0x0];else{const _0x4e1d86=process['stdin'][_0x526975(0x1ee)]&&process[_0x526975(0x1f9)][_0x526975(0x1ee)];if(!_0x4e1d86){console['log'](_0x486a62[_0x526975(0x24a)]);for(const _0x3c1282 of _0x7df236){console[_0x526975(0x20a)]('\x20\x20'+_0x3c1282['name']),console[_0x526975(0x20a)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3c1282['id']),_0x3c1282[_0x526975(0x271)]&&console['log'](_0x526975(0x1fb)+_0x486a62[_0x526975(0x1ef)](getProgressDisplay,_0x3c1282['stats'])),_0x3c1282[_0x526975(0x213)]&&console[_0x526975(0x20a)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3c1282['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0xc2c073}=await _0xb771c4[_0x526975(0x22e)]([{'type':_0x486a62['cfeNT'],'name':_0x486a62[_0x526975(0x252)],'message':_0x486a62[_0x526975(0x243)],'choices':_0x7df236[_0x526975(0x277)](_0x5f253d=>({'name':_0x5f253d['name']+'\x20('+_0x5f253d['id']+')','value':_0x5f253d['id']}))}]);_0x4a72db=_0x7df236[_0x526975(0x21f)](_0x4878f9=>_0x4878f9['id']===_0xc2c073);}await _0x486a62['gGiZb'](setActiveFeatureId,_0x4a72db['id']);_0x1f9a44&&_0x486a62['pavec'](_0x1f9a44,_0x4a72db['gitBranch'])&&(await updateFeature(_0x4a72db['id'],{'gitBranch':_0x1f9a44}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x1f9a44));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x4a72db['name']+'\x20('+_0x4a72db['id']+')'),await _0x486a62[_0x526975(0x234)](tryStartCurrentSession,_0x4a72db['id']);const _0x488dde=await getFeature(_0x4a72db['id']),_0x28aeff=process[_0x526975(0x264)]['CLAUDE_SESSION_ID'];_0x28aeff&&_0x486a62[_0x526975(0x1c4)](registerSession,_0x28aeff,_0x488dde['id']),_0x486a62[_0x526975(0x23e)](displayFeature,_0x488dde,_0x488dde['checklistItems']),await printFeedbackNudge(_0x488dde['id']);}async function printFeedbackNudge(_0x3c3715){const _0x57d48f=_0x3da61c,_0x4f508e={'mCbaW':function(_0x591d56,_0x133e22,_0x5a2497){return _0x591d56(_0x133e22,_0x5a2497);}};try{const {items:_0x5190b1}=await getActionItems(_0x3c3715);let _0x25da1c=0x0,_0x2c3bde=0x0;for(const _0x82fb96 of _0x5190b1){const _0x468d4e=await _0x4f508e['mCbaW'](getItemFeedback,_0x3c3715,_0x82fb96['id']);_0x468d4e[_0x57d48f(0x1bb)][_0x57d48f(0x1e2)]>0x0&&(_0x25da1c+=_0x468d4e['unaddressedComments'][_0x57d48f(0x1e2)],_0x2c3bde++);}_0x25da1c>0x0&&(console['log'](_0x57d48f(0x249)+_0x25da1c+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x2c3bde+'\x20scenario(s).'),console[_0x57d48f(0x20a)](_0x57d48f(0x261)));}catch{}}async function tryStartCurrentSession(_0x3e9259){const _0x1aa7de=_0x3da61c,_0x54b106={'NUGGv':function(_0x4cc3ed,_0x25279a,_0x40cae7){return _0x4cc3ed(_0x25279a,_0x40cae7);}};try{const {sessions:_0x5a2f09}=await listFeatureSessions(_0x3e9259),_0xe5dfd6=_0x5a2f09[_0x1aa7de(0x21f)](_0x2b868d=>_0x2b868d[_0x1aa7de(0x25e)]==='ready');_0xe5dfd6&&(await _0x54b106['NUGGv'](startSession,_0x3e9259,_0xe5dfd6['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0xe5dfd6['iteration']));}catch{}}export async function featureReport(_0x14b3a6,_0x2c6903){const _0x17302b=_0x3da61c,_0x1e14ae={'NUdJK':_0x17302b(0x273),'avKwa':function(_0x167167,_0x55b619,_0x287a68,_0x17a3ff){return _0x167167(_0x55b619,_0x287a68,_0x17a3ff);},'QqCcz':function(_0x2e9f0a){return _0x2e9f0a();},'VVjfG':function(_0x1271a3,_0x8be13f,_0x355283){return _0x1271a3(_0x8be13f,_0x355283);},'hkrSj':function(_0x236121,_0x54151a,_0x383385){return _0x236121(_0x54151a,_0x383385);},'jGkjA':'utf-8'},_0x551f80=_0x14b3a6||await getActiveFeatureId();if(!_0x551f80)throw new Error(_0x17302b(0x20b));console[_0x17302b(0x20a)](_0x1e14ae[_0x17302b(0x247)]);const _0x6c7139=await getFeatureReportMarkdown(_0x551f80,{'style':_0x2c6903[_0x17302b(0x276)]}),_0x346784=_0x2c6903['output']||_0x1e14ae[_0x17302b(0x21d)](join,_0x1e14ae[_0x17302b(0x1b8)](getRangerDir),'reports',_0x551f80+'.md'),_0x49bcf7=_0x1e14ae['VVjfG'](join,_0x346784,'..');!existsSync(_0x49bcf7)&&await _0x1e14ae['hkrSj'](mkdir,_0x49bcf7,{'recursive':!![]}),await writeFile(_0x346784,_0x6c7139,_0x1e14ae[_0x17302b(0x250)]),console[_0x17302b(0x20a)](_0x17302b(0x227)+_0x346784);}function getScenarioResult(_0x3068dd){const _0x53e256=_0x3da61c,_0x14d4a7={'UAPje':'closed','STuyz':'in_progress'};if(_0x3068dd[_0x53e256(0x25e)]===_0x14d4a7[_0x53e256(0x1c1)])return _0x3068dd[_0x53e256(0x1e6)]??'closed';if(_0x3068dd['status']==='verification_in_progress')return _0x14d4a7[_0x53e256(0x1d9)];return _0x3068dd[_0x53e256(0x25e)];}function getScenarioRationale(_0xadc25e,_0x28b095){const _0x4309e1=_0x3da61c;if(_0x28b095)return _0x28b095;if(_0xadc25e['blockedReason'])return _0xadc25e['blockedReason'];if(_0xadc25e['incompleteReason'])return _0xadc25e[_0x4309e1(0x241)];if(_0xadc25e[_0x4309e1(0x1f1)])return _0xadc25e[_0x4309e1(0x1f1)];if(_0xadc25e[_0x4309e1(0x26a)])return _0xadc25e['notes'];return null;}export async function featureReportPrDescription(_0x16497b,_0x1dc509){const _0x27c9fc=_0x3da61c,_0x528299={'OsJME':function(_0x16f3d2,_0x24fe8){return _0x16f3d2(_0x24fe8);},'JkXhy':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','wHczx':function(_0x6dd8ad,_0x3eb06a){return _0x6dd8ad>_0x3eb06a;},'Tdemy':_0x27c9fc(0x1ad),'JbdUP':function(_0x1ccc42,_0x8eb3b6){return _0x1ccc42<_0x8eb3b6;},'oahov':function(_0x1aaba9,_0x27a42b){return _0x1aaba9+_0x27a42b;}},_0x1d0656=_0x16497b||await getActiveFeatureId();if(!_0x1d0656)throw new Error(_0x27c9fc(0x20b));const _0x4dc75d=await _0x528299['OsJME'](getFeature,_0x1d0656),_0xd747c1=_0x4dc75d[_0x27c9fc(0x265)]||[],_0x180fd4=getCurrentSessionItems(_0x4dc75d,_0xd747c1);_0x180fd4['length']===0x0&&(console[_0x27c9fc(0x26c)](_0x528299[_0x27c9fc(0x1be)]),process[_0x27c9fc(0x1f6)](0x1));const _0x58548d=_0x1dc509['excludeScenarios']??[],_0x21cec5=_0x58548d['filter'](_0x478726=>!Number[_0x27c9fc(0x236)](_0x478726)||_0x478726<0x1||_0x478726>_0x180fd4[_0x27c9fc(0x1e2)]);if(_0x528299['wHczx'](_0x21cec5['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x21cec5['join'](',\x20')),console[_0x27c9fc(0x20a)](_0x528299['Tdemy']);for(let _0x41c989=0x0;_0x528299['JbdUP'](_0x41c989,_0x180fd4[_0x27c9fc(0x1e2)]);_0x41c989++){console['log']('\x20\x20'+_0x528299['oahov'](_0x41c989,0x1)+'.\x20'+_0x180fd4[_0x41c989]['description']);}process['exit'](0x1);}const _0x251a48=new Set(_0x58548d['map'](_0x1f6da8=>_0x1f6da8-0x1)),_0x41c37b=_0x180fd4['filter']((_0x58cc19,_0x4df4d8)=>!_0x251a48[_0x27c9fc(0x269)](_0x4df4d8));_0x41c37b[_0x27c9fc(0x1e2)]===0x0&&(console['error'](_0x27c9fc(0x1dd)),process['exit'](0x1));if(_0x1dc509[_0x27c9fc(0x23c)])await outputJsonReport(_0x1d0656,_0x4dc75d,_0x41c37b);else{const _0x4e6a42=await getFeatureReportMarkdown(_0x1d0656,{'itemIds':_0x41c37b['map'](_0x159b0c=>_0x159b0c['id'])});process[_0x27c9fc(0x1f9)]['write'](_0x4e6a42['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x594b59,_0x2ea75b,_0x5e8045){const _0x13f646=_0x3da61c,_0x1f7c1d={'gUrLQ':function(_0x1d485e,_0x5c77e1){return _0x1d485e>_0x5c77e1;},'HtGpd':function(_0x497c4f,_0x21ee18){return _0x497c4f(_0x21ee18);}},_0x409e77=getApiBaseUrl(),_0xa108b2=await getFeatureReport(_0x594b59),_0x4ee069=new Map(_0xa108b2['checklistItems']['map'](_0x4a2566=>[_0x4a2566['id'],_0x4a2566])),_0x27ac40=await Promise[_0x13f646(0x206)](_0x5e8045['map'](async _0x23386c=>{const _0xc02e8b=_0x13f646,_0x4de697=_0x4ee069['get'](_0x23386c['id']),_0x460e5a=_0x4de697?.['linkedSession']??null;let _0x501bcb=[];if(_0x23386c[_0xc02e8b(0x27b)])try{const {steps:_0x1928f3}=await getBrowserSessionSteps(_0x23386c[_0xc02e8b(0x27b)]);_0x1f7c1d[_0xc02e8b(0x1d5)](_0x1928f3['length'],0x0)&&(_0x501bcb=_0x1928f3[_0xc02e8b(0x277)](_0x5832dd=>{const _0x3f5428=_0xc02e8b,_0x2e0f9c=_0x5832dd['assets']['find'](_0x4bba5e=>_0x4bba5e[_0x3f5428(0x1ce)]==='screenshot'&&_0x4bba5e[_0x3f5428(0x216)]===_0x3f5428(0x246))??_0x5832dd[_0x3f5428(0x267)][_0x3f5428(0x21f)](_0x26c198=>_0x26c198[_0x3f5428(0x1ce)]==='screenshot');let _0x289e23=null,_0x4b0492=null;if(_0x2e0f9c){const _0x14719f=_0x2e0f9c['storage']['location'][_0x3f5428(0x1aa)]('/')['pop']();_0x289e23=_0x409e77+_0x3f5428(0x229)+_0x23386c['browserSessionId']+_0x3f5428(0x1b2)+_0x14719f,_0x14719f&&(_0x4b0492=_0x14719f['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x3f5428(0x26d)](/[-_]/g,'\x20'));}return{'description':_0x4b0492||_0x5832dd['description']||_0x5832dd[_0x3f5428(0x1de)]||'Step\x20'+_0x5832dd[_0x3f5428(0x203)],'screenshot':_0x289e23,'is_key_step':_0x5832dd[_0x3f5428(0x1c6)]};}));}catch{}return _0x501bcb[_0xc02e8b(0x1e2)]===0x0&&_0x460e5a?.[_0xc02e8b(0x1d0)]&&(_0x501bcb=_0x460e5a[_0xc02e8b(0x1d0)]['map']((_0x2dc032,_0x494cbc)=>({'description':'Screenshot\x20'+(_0x494cbc+0x1),'screenshot':_0x2dc032,'is_key_step':![]}))),{'description':_0x23386c['description'],'result':_0x1f7c1d[_0xc02e8b(0x208)](getScenarioResult,_0x23386c),'rationale':getScenarioRationale(_0x23386c,_0x460e5a?.[_0xc02e8b(0x211)]),'steps':_0x501bcb};})),_0x4b52a9={'url':_0x2ea75b[_0x13f646(0x1fc)],'scenarios':_0x27ac40};process[_0x13f646(0x1f9)]['write'](JSON[_0x13f646(0x233)](_0x4b52a9,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2c06e3){const _0x40a1e2=_0x3da61c,_0x4901e0={'KivSp':function(_0x290dba){return _0x290dba();},'GapOz':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','PYGZU':function(_0x4fb59e,_0xe84871){return _0x4fb59e(_0xe84871);},'XSBUr':_0x40a1e2(0x259),'GaTjZ':_0x40a1e2(0x1fa),'NVIao':_0x40a1e2(0x221),'vQYfZ':function(_0x5ac015,_0x503f14){return _0x5ac015!==_0x503f14;},'UWuhn':'in_progress','FKmKV':_0x40a1e2(0x21e)},_0x417b2e=_0x2c06e3||await _0x4901e0['KivSp'](getActiveFeatureId);if(!_0x417b2e)throw new Error(_0x4901e0['GapOz']);const _0x16bb80=await _0x4901e0[_0x40a1e2(0x260)](getFeature,_0x417b2e);if(!_0x16bb80[_0x40a1e2(0x1ba)])throw new Error(_0x4901e0[_0x40a1e2(0x244)]);const {sessions:_0x34caa7}=await listFeatureSessions(_0x417b2e),_0x5c7caa=_0x34caa7['find'](_0x404935=>_0x404935['id']===_0x16bb80[_0x40a1e2(0x1ba)]);if(!_0x5c7caa)throw new Error(_0x40a1e2(0x27c));if(_0x5c7caa[_0x40a1e2(0x25e)]===_0x4901e0['GaTjZ']){console['log'](_0x4901e0['NVIao']);return;}if(_0x4901e0[_0x40a1e2(0x1c7)](_0x5c7caa[_0x40a1e2(0x25e)],_0x4901e0[_0x40a1e2(0x24c)]))throw new Error(_0x40a1e2(0x1b9)+_0x5c7caa['status']);console['log'](_0x4901e0['FKmKV']),await concludeSession(_0x417b2e,_0x16bb80[_0x40a1e2(0x1ba)]),console[_0x40a1e2(0x20a)](_0x40a1e2(0x232)+_0x5c7caa[_0x40a1e2(0x1e0)]+_0x40a1e2(0x20f)),console[_0x40a1e2(0x20a)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5844bd){const _0x3f2b4a=_0x3da61c,_0x610b31={'hEdDD':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','sOcDe':function(_0x40ed42,_0x4c315f){return _0x40ed42(_0x4c315f);},'XjVHs':_0x3f2b4a(0x1b4),'EGWKl':function(_0x30c805,_0x5429df){return _0x30c805===_0x5429df;}},_0x37d3b6=_0x5844bd||await getActiveFeatureId();if(!_0x37d3b6)throw new Error(_0x610b31['hEdDD']);const _0x22348c=await _0x610b31[_0x3f2b4a(0x1e4)](getFeature,_0x37d3b6);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x22348c[_0x3f2b4a(0x204)]+'\x0a');const {sessions:_0x25a188}=await listFeatureSessions(_0x37d3b6);if(_0x25a188['length']===0x0){console['log'](_0x610b31['XjVHs']);return;}for(const _0x20848e of _0x25a188){const _0x506abf=_0x610b31[_0x3f2b4a(0x1b0)](_0x20848e['status'],'completed')?'✅':_0x610b31['EGWKl'](_0x20848e['status'],'in_progress')?'🔄':'▶️';console[_0x3f2b4a(0x20a)](_0x506abf+'\x20Session\x20'+_0x20848e['iteration']+'\x20('+_0x20848e['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x20848e[_0x3f2b4a(0x25e)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x20848e[_0x3f2b4a(0x266)])[_0x3f2b4a(0x200)]()),_0x20848e['completedAt']&&console[_0x3f2b4a(0x20a)](_0x3f2b4a(0x210)+new Date(_0x20848e[_0x3f2b4a(0x223)])[_0x3f2b4a(0x200)]()),console['log']('');}}export async function featureAddScenario(_0x2d9f1e,_0xc80f47){const _0x276f35=_0x3da61c,_0x38ab70={'vXACl':function(_0x22d4aa){return _0x22d4aa();},'RIiZE':function(_0x3459ce,_0x6cf14a,_0x5f5565){return _0x3459ce(_0x6cf14a,_0x5f5565);}},_0x504c8a=_0xc80f47||await _0x38ab70['vXACl'](getActiveFeatureId);if(!_0x504c8a)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 _0x50875a=await getFeature(_0x504c8a);if(_0x50875a['latestReview']&&!_0x50875a[_0x276f35(0x248)][_0x276f35(0x27a)])throw new Error(_0x276f35(0x1c5)+_0x50875a[_0x276f35(0x1fc)]);await createChecklistItem(_0x504c8a,_0x2d9f1e);const _0x19e1e7=await getFeature(_0x504c8a);console['log']('\x0a✅\x20Scenario\x20added'),_0x38ab70['RIiZE'](displayFeature,_0x19e1e7,_0x19e1e7[_0x276f35(0x265)]);}export async function featureEditScenario(_0x277efb,_0x40a964){const _0x42745a=_0x3da61c,_0x57feba={'EYiEn':function(_0x42fb70){return _0x42fb70();},'BkarQ':_0x42745a(0x20c),'noanm':function(_0x3bf293,_0x445a8a){return _0x3bf293(_0x445a8a);},'GCurx':_0x42745a(0x278),'htqlS':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','QkVGQ':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','pZaDo':_0x42745a(0x1ad),'jbpzG':function(_0x69dbfa,_0x2bb2e6){return _0x69dbfa<_0x2bb2e6;},'DvVGB':function(_0x2d83ea,_0x46bfbc){return _0x2d83ea-_0x46bfbc;},'BGHzS':function(_0x2c35f4,_0x498375){return _0x2c35f4>=_0x498375;},'HQiWm':function(_0x9326,_0x4ff720){return _0x9326<_0x4ff720;},'zIfst':function(_0x5ef909,_0x2ecc41,_0x34af80){return _0x5ef909(_0x2ecc41,_0x34af80);}},_0x108c8b=_0x40a964['id']||await _0x57feba[_0x42745a(0x268)](getActiveFeatureId);!_0x108c8b&&(console[_0x42745a(0x26c)](_0x57feba[_0x42745a(0x263)]),console['error'](_0x42745a(0x1c2)),process[_0x42745a(0x1f6)](0x1));const _0x3f1cdd=await _0x57feba['noanm'](getFeature,_0x108c8b);_0x3f1cdd['latestReview']&&!_0x3f1cdd['latestReview'][_0x42745a(0x27a)]&&(console[_0x42745a(0x26c)](_0x42745a(0x235)),console[_0x42745a(0x26c)](_0x57feba['GCurx']),console[_0x42745a(0x26c)]('\x20\x20'+_0x3f1cdd['dashboardUrl']),process[_0x42745a(0x1f6)](0x1));const _0x4baaf3=_0x3f1cdd['checklistItems']||[];_0x4baaf3['length']===0x0&&(console[_0x42745a(0x26c)](_0x57feba['htqlS']),process[_0x42745a(0x1f6)](0x1));if(_0x40a964[_0x42745a(0x1db)]===undefined){console['error'](_0x57feba[_0x42745a(0x22f)]),console['log'](_0x57feba[_0x42745a(0x1cc)]);for(let _0x433255=0x0;_0x57feba[_0x42745a(0x1bf)](_0x433255,_0x4baaf3['length']);_0x433255++){console[_0x42745a(0x20a)]('\x20\x20'+(_0x433255+0x1)+'.\x20'+_0x4baaf3[_0x433255][_0x42745a(0x209)]);}process[_0x42745a(0x1f6)](0x1);}const _0x42f964=_0x57feba[_0x42745a(0x1b7)](_0x40a964['scenario'],0x1);if(_0x57feba[_0x42745a(0x1bf)](_0x42f964,0x0)||_0x57feba['BGHzS'](_0x42f964,_0x4baaf3[_0x42745a(0x1e2)])){console[_0x42745a(0x26c)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x40a964['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x4baaf3[_0x42745a(0x1e2)]+_0x42745a(0x23d)),console[_0x42745a(0x20a)]('\x0aAvailable\x20scenarios:');for(let _0x16fd93=0x0;_0x57feba[_0x42745a(0x26e)](_0x16fd93,_0x4baaf3['length']);_0x16fd93++){console[_0x42745a(0x20a)]('\x20\x20'+(_0x16fd93+0x1)+'.\x20'+_0x4baaf3[_0x16fd93][_0x42745a(0x209)]);}process['exit'](0x1);}const _0x2baf36=_0x4baaf3[_0x42f964];await updateChecklistItem(_0x108c8b,_0x2baf36['id'],{'description':_0x277efb});const _0x31e990=await getFeature(_0x108c8b);console[_0x42745a(0x20a)](_0x42745a(0x1eb)),_0x57feba['zIfst'](displayFeature,_0x31e990,_0x31e990['checklistItems']);}async function downloadFeedbackImage(_0x14749b,_0x489a15){const _0x4ed86e=_0x3da61c,_0x5e21bd={'FYNDn':function(_0x3ceeb9){return _0x3ceeb9();},'pbMZi':_0x4ed86e(0x1da),'fjkFN':function(_0x5cdb9b,_0x32dae0,_0x10598d){return _0x5cdb9b(_0x32dae0,_0x10598d);},'xHCAp':function(_0x5f2e9e,_0x13c645){return _0x5f2e9e(_0x13c645);}};try{const _0x30d5f7=join(_0x5e21bd['FYNDn'](getRangerDir),_0x5e21bd['pbMZi']);await mkdir(_0x30d5f7,{'recursive':!![]});const _0x3cee72=_0x5e21bd['fjkFN'](join,_0x30d5f7,_0x4ed86e(0x22c)+_0x489a15+_0x4ed86e(0x258)),_0x5474c7=await _0x5e21bd['xHCAp'](fetch,_0x14749b);if(!_0x5474c7['ok'])return null;const _0x319534=Buffer['from'](await _0x5474c7[_0x4ed86e(0x274)]());return await writeFile(_0x3cee72,_0x319534),_0x3cee72;}catch{return null;}}export async function featureGetReview(_0x117bd7){const _0x3e3a39=_0x3da61c,_0x491fdb={'aBZuJ':function(_0x48d627){return _0x48d627();},'aHRnE':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','JGFyP':function(_0x11e888,_0xd1c835){return _0x11e888===_0xd1c835;},'wXHyn':'No\x20scenarios\x20found.','ZKWNy':function(_0x3cdad6,_0x3f6503){return _0x3cdad6>_0x3f6503;},'jzKDl':function(_0x5e0ea9,_0x481659,_0xe812e1){return _0x5e0ea9(_0x481659,_0xe812e1);},'ytviH':'short','JHdYz':'numeric','BJEXi':_0x3e3a39(0x1e3),'cAaxi':_0x3e3a39(0x1fd),'WIGGc':'point','TpsFa':function(_0x49e082,_0x359293){return _0x49e082+_0x359293;}},_0x3b16ef=_0x117bd7||await _0x491fdb[_0x3e3a39(0x22a)](getActiveFeatureId);if(!_0x3b16ef)throw new Error(_0x491fdb[_0x3e3a39(0x1ed)]);const _0x4d4537=await getFeature(_0x3b16ef),{items:_0x395dfa}=await getActionItems(_0x3b16ef);console['log'](_0x3e3a39(0x212)+_0x4d4537['name']+'\x20('+_0x4d4537['id']+')\x0a');if(_0x491fdb[_0x3e3a39(0x1e5)](_0x395dfa['length'],0x0)){console['log'](_0x491fdb[_0x3e3a39(0x270)]);return;}for(let _0xd42734=0x0;_0xd42734<_0x395dfa['length'];_0xd42734++){const _0x8721a7=_0x395dfa[_0xd42734],_0x51598d=_0x491fdb[_0x3e3a39(0x254)](_0x8721a7[_0x3e3a39(0x251)],0x1)?'\x20(v'+_0x8721a7[_0x3e3a39(0x251)]+')':'',_0x24a702=await _0x491fdb[_0x3e3a39(0x279)](getItemFeedback,_0x3b16ef,_0x8721a7['id']);if(_0x24a702['unaddressedComments']['length']>0x0){console[_0x3e3a39(0x20a)](_0x3e3a39(0x272)+(_0xd42734+0x1)+':\x20\x22'+_0x8721a7[_0x3e3a39(0x209)]+'\x22'+_0x51598d+'\x20—\x20'+_0x24a702[_0x3e3a39(0x1bb)][_0x3e3a39(0x1e2)]+_0x3e3a39(0x1ac));for(const _0x17b2ac of _0x24a702['unaddressedComments']){const _0x470afb=new Date(_0x17b2ac[_0x3e3a39(0x266)])[_0x3e3a39(0x238)](_0x3e3a39(0x1b1),{'month':_0x491fdb['ytviH'],'day':_0x491fdb['JHdYz']}),_0x1a5ce8=_0x17b2ac[_0x3e3a39(0x1bd)]||_0x17b2ac[_0x3e3a39(0x240)]||'Unknown';console['log'](_0x3e3a39(0x1c8)+_0x1a5ce8+'\x20('+_0x470afb+'):\x20\x22'+_0x17b2ac['content']+'\x22');if(_0x17b2ac[_0x3e3a39(0x24b)]){const _0x2f5be0=await _0x491fdb['jzKDl'](downloadFeedbackImage,_0x17b2ac[_0x3e3a39(0x24b)],_0x17b2ac['id']);_0x2f5be0&&console[_0x3e3a39(0x20a)](_0x3e3a39(0x262)+_0x2f5be0);}if(_0x17b2ac[_0x3e3a39(0x24d)]){const _0x38de3f=_0x17b2ac[_0x3e3a39(0x24d)]['selector']['split'](_0x491fdb[_0x3e3a39(0x25c)])[_0x3e3a39(0x1cf)]()?.['split'](':')[0x0]||_0x491fdb['cAaxi'],_0x223973=_0x17b2ac['domRef'][_0x3e3a39(0x220)]?'\x20\x22'+_0x17b2ac[_0x3e3a39(0x24d)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x3e3a39(0x20a)](_0x3e3a39(0x1f8)+_0x38de3f+'>'+_0x223973),console['log'](_0x3e3a39(0x253)+_0x17b2ac['domRef']['selector']);}else{if(_0x17b2ac[_0x3e3a39(0x1f4)]){const _0x51db69=_0x17b2ac[_0x3e3a39(0x1f4)]['coordinates'];_0x17b2ac['spatial'][_0x3e3a39(0x1a8)]===_0x491fdb[_0x3e3a39(0x245)]&&_0x51db69['length']>=0x2?console[_0x3e3a39(0x20a)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x51db69[0x0]['toFixed'](0x2)+',\x20'+_0x51db69[0x1][_0x3e3a39(0x1ca)](0x2)+')'):console[_0x3e3a39(0x20a)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x17b2ac['spatial'][_0x3e3a39(0x1a8)]+_0x3e3a39(0x224)+_0x51db69[_0x3e3a39(0x277)](_0x46c0a9=>_0x46c0a9[_0x3e3a39(0x1ca)](0x2))['join'](',\x20')+']');}}}if(_0x24a702['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x3225e3 of _0x24a702[_0x3e3a39(0x27d)]['split']('\x0a')){console[_0x3e3a39(0x20a)](_0x3e3a39(0x222)+_0x3225e3);}}}else console['log'](_0x3e3a39(0x272)+_0x491fdb['TpsFa'](_0xd42734,0x1)+':\x20\x22'+_0x8721a7['description']+'\x22'+_0x51598d+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x5620b5){const _0x22f5e7=_0x3da61c,_0x142290={'ypOHW':function(_0x336849,_0xf076ca){return _0x336849(_0xf076ca);},'KYJPg':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x1b8b65=_0x5620b5||await getActiveFeatureId();if(!_0x1b8b65)throw new Error(_0x22f5e7(0x25d));const _0x3e6ddf=await getFeature(_0x1b8b65);await _0x142290[_0x22f5e7(0x217)](softDeleteFeature,_0x1b8b65),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x3e6ddf['name']+'\x20('+_0x1b8b65+')'),console[_0x22f5e7(0x20a)](_0x142290['KYJPg']+_0x1b8b65);}export async function featureRestore(_0x1544b1){const _0x300a2b=_0x3da61c,_0x46d9fa={'zmKzS':function(_0x2ce786,_0x3c0c47){return _0x2ce786(_0x3c0c47);},'XgIZe':function(_0x14e689,_0x1112a0,_0x4c0b27){return _0x14e689(_0x1112a0,_0x4c0b27);}};await _0x46d9fa[_0x300a2b(0x24f)](restoreFeature,_0x1544b1);const _0x5f76bb=await getFeature(_0x1544b1);console[_0x300a2b(0x20a)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x5f76bb['name']+'\x20('+_0x1544b1+')'),_0x46d9fa['XgIZe'](displayFeature,_0x5f76bb,_0x5f76bb[_0x300a2b(0x265)]);}
@@ -1 +1 @@
1
- (function(_0x4ca32a,_0x414b98){const _0xbff65a=_0x2553,_0x4c0a62=_0x4ca32a();while(!![]){try{const _0x458dd2=-parseInt(_0xbff65a(0x16a))/0x1*(-parseInt(_0xbff65a(0x16f))/0x2)+-parseInt(_0xbff65a(0x171))/0x3*(-parseInt(_0xbff65a(0x179))/0x4)+parseInt(_0xbff65a(0x170))/0x5*(parseInt(_0xbff65a(0x172))/0x6)+-parseInt(_0xbff65a(0x173))/0x7*(-parseInt(_0xbff65a(0x165))/0x8)+parseInt(_0xbff65a(0x175))/0x9*(-parseInt(_0xbff65a(0x16e))/0xa)+parseInt(_0xbff65a(0x16c))/0xb*(parseInt(_0xbff65a(0x167))/0xc)+parseInt(_0xbff65a(0x164))/0xd*(-parseInt(_0xbff65a(0x16b))/0xe);if(_0x458dd2===_0x414b98)break;else _0x4c0a62['push'](_0x4c0a62['shift']());}catch(_0x5cd1ad){_0x4c0a62['push'](_0x4c0a62['shift']());}}}(_0x4bd8,0x77d16));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x2553(_0x1edac7,_0x229b49){_0x1edac7=_0x1edac7-0x164;const _0x4bd8c4=_0x4bd8();let _0x2553ba=_0x4bd8c4[_0x1edac7];return _0x2553ba;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x3977d8=_0x2553,_0x4db867={'EpkWJ':_0x3977d8(0x177),'DhOeL':_0x3977d8(0x16d)};if(cancellationHandlersInstalled)return;const _0x293207=()=>{const _0x5ef343=_0x3977d8;process[_0x5ef343(0x176)](0x0);};process[_0x3977d8(0x168)](_0x4db867[_0x3977d8(0x178)],_0x293207),process['once']('SIGTERM',_0x293207),process[_0x3977d8(0x168)](_0x4db867['DhOeL'],_0x293207),cancellationHandlersInstalled=!![];}function _0x4bd8(){const _0x59fe7c=['26EyYjBM','316040eQptaU','keys','1200516avfgQw','once','Unknown\x20hook:\x20','310647Lyfxme','16843162aIlCPc','55kNUGgF','SIGHUP','3934010OPoRFT','6glwxNI','30nXPhZh','1130271Wudsgh','612318BoXzBd','154lbfiMP','error','9OkQUsZ','exit','SIGINT','EpkWJ','4dLrtke'];_0x4bd8=function(){return _0x59fe7c;};return _0x4bd8();}export async function hook(_0x4c0d15,_0x53ae0b){const _0x39bbc5=_0x2553,_0x32deed={'xttiP':function(_0xb6444a){return _0xb6444a();},'OZWIJ':function(_0x51ee82,_0x5ba03a){return _0x51ee82(_0x5ba03a);}};_0x32deed['xttiP'](installCancellationHandlers);const _0x3bb305=HOOKS[_0x4c0d15];if(!_0x3bb305){const _0xc67b7e=Object[_0x39bbc5(0x166)](HOOKS)['join'](',\x20');console[_0x39bbc5(0x174)](_0x39bbc5(0x169)+_0x4c0d15),console[_0x39bbc5(0x174)]('Valid\x20hooks:\x20'+_0xc67b7e),process[_0x39bbc5(0x176)](0x1);}await _0x32deed['OZWIJ'](_0x3bb305,_0x53ae0b);}
1
+ function _0x654a(_0x429f7a,_0x33ea4c){_0x429f7a=_0x429f7a-0x1c7;const _0x353b65=_0x353b();let _0x654abf=_0x353b65[_0x429f7a];return _0x654abf;}(function(_0x3253d9,_0x100fd8){const _0x4a7748=_0x654a,_0x36db2b=_0x3253d9();while(!![]){try{const _0x18d50a=-parseInt(_0x4a7748(0x1cc))/0x1+parseInt(_0x4a7748(0x1d4))/0x2+parseInt(_0x4a7748(0x1d2))/0x3*(parseInt(_0x4a7748(0x1cf))/0x4)+-parseInt(_0x4a7748(0x1ca))/0x5+parseInt(_0x4a7748(0x1c7))/0x6+-parseInt(_0x4a7748(0x1d0))/0x7+parseInt(_0x4a7748(0x1ce))/0x8;if(_0x18d50a===_0x100fd8)break;else _0x36db2b['push'](_0x36db2b['shift']());}catch(_0x1d66b5){_0x36db2b['push'](_0x36db2b['shift']());}}}(_0x353b,0x3de8c));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x49873b=_0x654a,_0x153ac7={'AywuD':'SIGINT','CkfLd':_0x49873b(0x1c9)};if(cancellationHandlersInstalled)return;const _0x575979=()=>{const _0x53679f=_0x49873b;process[_0x53679f(0x1c8)](0x0);};process['once'](_0x153ac7[_0x49873b(0x1d6)],_0x575979),process['once']('SIGTERM',_0x575979),process['once'](_0x153ac7[_0x49873b(0x1d1)],_0x575979),cancellationHandlersInstalled=!![];}function _0x353b(){const _0x145ca5=['3834368QYJOpV','882524IJYlMh','2053408oXuebo','CkfLd','6CHxtGw','Valid\x20hooks:\x20','286050TIMyHZ','join','AywuD','619962nDQBpw','exit','SIGHUP','741400gAwwvu','error','471706pXxqQo','SDOOr'];_0x353b=function(){return _0x145ca5;};return _0x353b();}export async function hook(_0x31458d,_0x5b303f){const _0x4a1615=_0x654a,_0x1244eb={'SDOOr':function(_0x284bc4){return _0x284bc4();}};_0x1244eb[_0x4a1615(0x1cd)](installCancellationHandlers);const _0x2e262e=HOOKS[_0x31458d];if(!_0x2e262e){const _0x4bc023=Object['keys'](HOOKS)[_0x4a1615(0x1d5)](',\x20');console[_0x4a1615(0x1cb)]('Unknown\x20hook:\x20'+_0x31458d),console[_0x4a1615(0x1cb)](_0x4a1615(0x1d3)+_0x4bc023),process['exit'](0x1);}await _0x2e262e(_0x5b303f);}
@@ -1 +1 @@
1
- (function(_0x43ce19,_0x57e56d){const _0x2e3f18=_0x16d7,_0x1125fa=_0x43ce19();while(!![]){try{const _0x4625b5=-parseInt(_0x2e3f18(0x157))/0x1*(-parseInt(_0x2e3f18(0x156))/0x2)+parseInt(_0x2e3f18(0x158))/0x3+parseInt(_0x2e3f18(0x154))/0x4+-parseInt(_0x2e3f18(0x15f))/0x5*(-parseInt(_0x2e3f18(0x15d))/0x6)+parseInt(_0x2e3f18(0x155))/0x7+-parseInt(_0x2e3f18(0x15a))/0x8+-parseInt(_0x2e3f18(0x15c))/0x9;if(_0x4625b5===_0x57e56d)break;else _0x1125fa['push'](_0x1125fa['shift']());}catch(_0x331930){_0x1125fa['push'](_0x1125fa['shift']());}}}(_0x4ced,0x3c3fd));import{readHookInput}from'./output.js';function _0x16d7(_0x424e9c,_0x2d5db9){_0x424e9c=_0x424e9c-0x154;const _0x4cedc2=_0x4ced();let _0x16d7d2=_0x4cedc2[_0x424e9c];return _0x16d7d2;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';function _0x4ced(){const _0x46644c=['log','10688058ucKAuL','6irzTjj','session_id','1672235dDaBlS','1328940HWmytO','3099096qAGYQZ','333786uSLaar','2bNhVgN','1203555pmYPcG','BKreS','3280304zFDojS'];_0x4ced=function(){return _0x46644c;};return _0x4ced();}export async function autoPrompt(){const _0x2b203b=_0x16d7,_0x20e16c={'DxZOe':function(_0xab3276,_0x1a076a){return _0xab3276(_0x1a076a);},'BKreS':function(_0x416e4e,_0x2a7dda){return _0x416e4e(_0x2a7dda);}},_0x501be0=await readHookInput(),_0x531f9a=_0x501be0?.[_0x2b203b(0x15e)];if(!_0x531f9a)return;if(_0x20e16c['DxZOe'](isSessionEnabled,_0x531f9a)||hasSessionBeenPrompted(_0x531f9a))return;_0x20e16c[_0x2b203b(0x159)](markSessionPrompted,_0x531f9a),console[_0x2b203b(0x15b)](AUTO_PROMPT_TEXT);}
1
+ (function(_0x3ae87a,_0x1073f9){const _0x229bdb=_0x2ef8,_0xb79fef=_0x3ae87a();while(!![]){try{const _0x2358ba=parseInt(_0x229bdb(0xaf))/0x1+-parseInt(_0x229bdb(0xad))/0x2+-parseInt(_0x229bdb(0xb4))/0x3*(parseInt(_0x229bdb(0xb0))/0x4)+parseInt(_0x229bdb(0xb5))/0x5+-parseInt(_0x229bdb(0xab))/0x6+parseInt(_0x229bdb(0xb3))/0x7+parseInt(_0x229bdb(0xac))/0x8*(-parseInt(_0x229bdb(0xb1))/0x9);if(_0x2358ba===_0x1073f9)break;else _0xb79fef['push'](_0xb79fef['shift']());}catch(_0x3996f4){_0xb79fef['push'](_0xb79fef['shift']());}}}(_0x12d6,0x1c9a6));import{readHookInput}from'./output.js';function _0x2ef8(_0x520471,_0x5c8582){_0x520471=_0x520471-0xab;const _0x12d6ec=_0x12d6();let _0x2ef804=_0x12d6ec[_0x520471];return _0x2ef804;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';function _0x12d6(){const _0x47eea4=['229743oiCBsb','4uhbvLq','3241467saKawX','session_id','1489712mXPJZr','299535eEHTKp','872945vbLNgv','144480atOLEz','8wmbhdq','31804sdXxTW','KugMi'];_0x12d6=function(){return _0x47eea4;};return _0x12d6();}export async function autoPrompt(){const _0x39e7a2=_0x2ef8,_0x314f95={'KugMi':function(_0x481efe,_0xf9fa4e){return _0x481efe(_0xf9fa4e);}},_0x47f622=await readHookInput(),_0x4fc431=_0x47f622?.[_0x39e7a2(0xb2)];if(!_0x4fc431)return;if(isSessionEnabled(_0x4fc431)||_0x314f95[_0x39e7a2(0xae)](hasSessionBeenPrompted,_0x4fc431))return;markSessionPrompted(_0x4fc431),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- function _0x1554(){const _0x4fa6f2=['FPDpz','2aOIwPR','118863FGVzZr','4445796dMegsc','8466QfsgNs','master','965iAnRXm','88yOsnUv','718091eLnFDu','env','OArhP','IblHB','2261568Lysfom','200sxxBUW','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','\x20and\x20branch\x20\x27','main','1912610jfhhMF','1284032SnFJGv'];_0x1554=function(){return _0x4fa6f2;};return _0x1554();}(function(_0x49f7f3,_0x546a03){const _0x457695=_0x1db5,_0x4c5f71=_0x49f7f3();while(!![]){try{const _0x177a47=parseInt(_0x457695(0x19d))/0x1*(-parseInt(_0x457695(0x19f))/0x2)+-parseInt(_0x457695(0x1aa))/0x3+parseInt(_0x457695(0x1a1))/0x4+parseInt(_0x457695(0x1a4))/0x5*(parseInt(_0x457695(0x1a2))/0x6)+parseInt(_0x457695(0x19c))/0x7+parseInt(_0x457695(0x1a5))/0x8*(-parseInt(_0x457695(0x1a0))/0x9)+-parseInt(_0x457695(0x1ab))/0xa*(-parseInt(_0x457695(0x1a6))/0xb);if(_0x177a47===_0x546a03)break;else _0x4c5f71['push'](_0x4c5f71['shift']());}catch(_0x556e64){_0x4c5f71['push'](_0x4c5f71['shift']());}}}(_0x1554,0xbe4c1));function _0x1db5(_0x5702b8,_0x486427){_0x5702b8=_0x5702b8-0x19c;const _0x15543d=_0x1554();let _0x1db546=_0x15543d[_0x5702b8];return _0x1db546;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x4f3a62){const _0x43661a=_0x1db5,_0x310b32={'FPDpz':function(_0x356270,_0xc72e97){return _0x356270(_0xc72e97);},'OArhP':function(_0x199298){return _0x199298();},'RlmdX':function(_0xa36ad,_0x5a87c2){return _0xa36ad!==_0x5a87c2;},'IblHB':'master'},_0x3e43b8=_0x4f3a62||process[_0x43661a(0x1a7)]['CLAUDE_SESSION_ID']||'';_0x3e43b8&&_0x310b32[_0x43661a(0x19e)](disableSession,_0x3e43b8);const _0x595d9e=_0x310b32[_0x43661a(0x1a8)](getCurrentBranch);_0x595d9e&&_0x595d9e!=='main'&&_0x595d9e!==_0x43661a(0x1a3)&&_0x310b32['FPDpz'](disableBranch,_0x595d9e),printBlock(_0x43661a(0x1ac)+(_0x595d9e&&_0x595d9e!==_0x43661a(0x1ae)&&_0x310b32['RlmdX'](_0x595d9e,_0x310b32[_0x43661a(0x1a9)])?_0x43661a(0x1ad)+_0x595d9e+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
1
+ (function(_0x40a568,_0x3a4f6d){const _0x26c393=_0xe274,_0x485d4e=_0x40a568();while(!![]){try{const _0x361342=parseInt(_0x26c393(0x12f))/0x1+parseInt(_0x26c393(0x134))/0x2+parseInt(_0x26c393(0x130))/0x3*(parseInt(_0x26c393(0x131))/0x4)+-parseInt(_0x26c393(0x12a))/0x5+-parseInt(_0x26c393(0x132))/0x6*(-parseInt(_0x26c393(0x133))/0x7)+-parseInt(_0x26c393(0x135))/0x8*(parseInt(_0x26c393(0x129))/0x9)+parseInt(_0x26c393(0x128))/0xa*(parseInt(_0x26c393(0x12c))/0xb);if(_0x361342===_0x3a4f6d)break;else _0x485d4e['push'](_0x485d4e['shift']());}catch(_0xae3a6d){_0x485d4e['push'](_0x485d4e['shift']());}}}(_0xb931,0xa831a));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0xe274(_0x2cfea4,_0x1fee6d){_0x2cfea4=_0x2cfea4-0x128;const _0xb931d7=_0xb931();let _0xe2742b=_0xb931d7[_0x2cfea4];return _0xe2742b;}import{printBlock}from'./output.js';export async function disable(_0x425c33){const _0xe6ee2f=_0xe274,_0x3dcb8b={'jQJSt':function(_0x5a6a4,_0x5db08b){return _0x5a6a4!==_0x5db08b;},'uhyVq':'master','KLboo':'main'},_0x431487=_0x425c33||process[_0xe6ee2f(0x136)]['CLAUDE_SESSION_ID']||'';_0x431487&&disableSession(_0x431487);const _0x23d222=getCurrentBranch();_0x23d222&&_0x3dcb8b['jQJSt'](_0x23d222,'main')&&_0x23d222!==_0x3dcb8b[_0xe6ee2f(0x12e)]&&disableBranch(_0x23d222),printBlock(_0xe6ee2f(0x137)+(_0x23d222&&_0x23d222!==_0x3dcb8b['KLboo']&&_0x23d222!==_0x3dcb8b['uhyVq']?_0xe6ee2f(0x12b)+_0x23d222+'\x27':'')+_0xe6ee2f(0x12d));}function _0xb931(){const _0x4e3f70=['#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','499540MKrDXc','13059ASBrea','3656570vmWmGc','\x20and\x20branch\x20\x27','22ayoxTD','.\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`.','uhyVq','38290wrhdvv','6mtsNMv','2309276wDZYCz','6tDTnil','1309343goVMaL','1131464VBcssG','3448nJFWMH','env'];_0xb931=function(){return _0x4e3f70;};return _0xb931();}
@@ -1 +1 @@
1
- (function(_0x114f47,_0x183cc8){const _0x34cd01=_0x10e3,_0x255d22=_0x114f47();while(!![]){try{const _0x4cf1b3=-parseInt(_0x34cd01(0x1cf))/0x1*(-parseInt(_0x34cd01(0x1d2))/0x2)+-parseInt(_0x34cd01(0x1dd))/0x3+parseInt(_0x34cd01(0x1de))/0x4+-parseInt(_0x34cd01(0x1e0))/0x5*(parseInt(_0x34cd01(0x1db))/0x6)+-parseInt(_0x34cd01(0x1dc))/0x7+-parseInt(_0x34cd01(0x1d3))/0x8+parseInt(_0x34cd01(0x1d9))/0x9*(parseInt(_0x34cd01(0x1d8))/0xa);if(_0x4cf1b3===_0x183cc8)break;else _0x255d22['push'](_0x255d22['shift']());}catch(_0x14e56e){_0x255d22['push'](_0x255d22['shift']());}}}(_0x4a3a,0x6ae65));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x10e3(_0x2d506e,_0x2775b1){_0x2d506e=_0x2d506e-0x1cf;const _0x4a3a41=_0x4a3a();let _0x10e36b=_0x4a3a41[_0x2d506e];return _0x10e36b;}export async function enable(_0xe05d35){const _0x52866c=_0x10e3,_0xc13e71={'WSSRn':function(_0x38dd0d,_0x5e351d){return _0x38dd0d(_0x5e351d);},'iyIgF':function(_0x2bc8e6){return _0x2bc8e6();},'EKpPn':_0x52866c(0x1d7),'pUxzz':_0x52866c(0x1d5),'WEsgD':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','PJbUQ':_0x52866c(0x1d1),'nzWuA':'master'},_0x2a4158=_0xe05d35||process['env'][_0x52866c(0x1d4)]||'',_0x2fe983=_0xc13e71['WSSRn'](Boolean,_0xe05d35),_0x9f6ef2=await _0xc13e71[_0x52866c(0x1df)](getToken);if(!_0x9f6ef2){const _0x2930c4=_0x2fe983?_0xc13e71['EKpPn']:_0xc13e71[_0x52866c(0x1d0)],_0x55743d=_0x2fe983?_0xc13e71[_0x52866c(0x1da)]:_0xc13e71['PJbUQ'];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`'+_0x2930c4+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x55743d);return;}try{await _0xc13e71[_0x52866c(0x1df)](update);}catch{}_0x2a4158&&_0xc13e71['WSSRn'](enableSession,_0x2a4158);const _0x2375af=_0xc13e71['iyIgF'](getCurrentBranch),_0x4b11f0=_0x2375af&&_0x2375af!=='main'&&_0x2375af!==_0xc13e71['nzWuA']?'\x0a\x0a**Branch\x20\x27'+_0x2375af+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x11b2f2=getRangerSkillContent();printBlock('#\x20RANGER\x20ENABLED'+_0x4b11f0+_0x52866c(0x1d6)+_0x11b2f2+_0x52866c(0x1e1));}function _0x4a3a(){const _0x1cd289=['pUxzz','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','2zkBbph','1532176FkmWFS','CLAUDE_SESSION_ID','ranger\x20setup','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','ranger\x20setup\x20--opencode','20600xCzsXz','8379OFRMeA','WEsgD','36UnqUpA','4287290BKBcVY','2037105ntJJCs','2814060LZlSTg','iyIgF','661730WlEfED','\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`.','93589obSssy'];_0x4a3a=function(){return _0x1cd289;};return _0x4a3a();}
1
+ (function(_0x4b78f0,_0x336f06){const _0x1b5dac=_0x50a5,_0x4637e3=_0x4b78f0();while(!![]){try{const _0xa34969=parseInt(_0x1b5dac(0x197))/0x1*(parseInt(_0x1b5dac(0x1aa))/0x2)+parseInt(_0x1b5dac(0x1a2))/0x3+-parseInt(_0x1b5dac(0x198))/0x4*(parseInt(_0x1b5dac(0x19d))/0x5)+parseInt(_0x1b5dac(0x19e))/0x6*(parseInt(_0x1b5dac(0x19f))/0x7)+-parseInt(_0x1b5dac(0x1a6))/0x8+parseInt(_0x1b5dac(0x1a8))/0x9+-parseInt(_0x1b5dac(0x1a7))/0xa*(parseInt(_0x1b5dac(0x19b))/0xb);if(_0xa34969===_0x336f06)break;else _0x4637e3['push'](_0x4637e3['shift']());}catch(_0x31d07a){_0x4637e3['push'](_0x4637e3['shift']());}}}(_0x3001,0xc8878));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x50a5(_0x38c876,_0xb55c5d){_0x38c876=_0x38c876-0x197;const _0x30016d=_0x3001();let _0x50a58d=_0x30016d[_0x38c876];return _0x50a58d;}import{update}from'../update.js';function _0x3001(){const _0x57ff42=['\x0a\x0a**Branch\x20\x27','JXcYb','607248LUVfMK','10cNBipd','249372MrrFRr','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','642BCwCZM','ranger\x20setup','3974vKbgWN','119044LeEUrF','#\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`','main','10704815PkYAzZ','env','255hGKSGx','3594QgYjJd','8519suhsYs','pQvbn','\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`.','4067715OgLAiL','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'];_0x3001=function(){return _0x57ff42;};return _0x3001();}export async function enable(_0x58c8d2){const _0x484d3b=_0x50a5,_0x7d6add={'fusOf':'ranger\x20setup\x20--opencode','JXcYb':_0x484d3b(0x1ab),'lIwsM':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','pQvbn':function(_0x16d0aa){return _0x16d0aa();},'xPpvh':function(_0x234876,_0x43b64e){return _0x234876(_0x43b64e);},'lTvcX':function(_0x39e8ed,_0x3295ee){return _0x39e8ed!==_0x3295ee;},'KAUth':function(_0xee7230,_0xa2f1b4){return _0xee7230!==_0xa2f1b4;},'RGaVj':'master'},_0x1dc01d=_0x58c8d2||process[_0x484d3b(0x19c)]['CLAUDE_SESSION_ID']||'',_0xcd2f6e=Boolean(_0x58c8d2),_0x57b207=await getToken();if(!_0x57b207){const _0x430d23=_0xcd2f6e?_0x7d6add['fusOf']:_0x7d6add[_0x484d3b(0x1a5)],_0xce9f9f=_0xcd2f6e?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x7d6add['lIwsM'];printBlock(_0x484d3b(0x199)+_0x430d23+_0x484d3b(0x1a9)+_0xce9f9f);return;}try{await _0x7d6add[_0x484d3b(0x1a0)](update);}catch{}_0x1dc01d&&_0x7d6add['xPpvh'](enableSession,_0x1dc01d);const _0x2f5fda=getCurrentBranch(),_0x183c1f=_0x2f5fda&&_0x7d6add['lTvcX'](_0x2f5fda,_0x484d3b(0x19a))&&_0x7d6add['KAUth'](_0x2f5fda,_0x7d6add['RGaVj'])?_0x484d3b(0x1a4)+_0x2f5fda+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x26b5d8=getRangerSkillContent();printBlock('#\x20RANGER\x20ENABLED'+_0x183c1f+_0x484d3b(0x1a3)+_0x26b5d8+_0x484d3b(0x1a1));}
@@ -1 +1 @@
1
- (function(_0x1e99ac,_0x230d7a){const _0x2ac9c9=_0x2a3c,_0xdeffef=_0x1e99ac();while(!![]){try{const _0x2e08aa=-parseInt(_0x2ac9c9(0xf1))/0x1*(-parseInt(_0x2ac9c9(0xf2))/0x2)+parseInt(_0x2ac9c9(0xed))/0x3*(-parseInt(_0x2ac9c9(0xee))/0x4)+-parseInt(_0x2ac9c9(0xf5))/0x5*(parseInt(_0x2ac9c9(0xeb))/0x6)+-parseInt(_0x2ac9c9(0xf3))/0x7*(-parseInt(_0x2ac9c9(0xea))/0x8)+parseInt(_0x2ac9c9(0xec))/0x9+-parseInt(_0x2ac9c9(0xf4))/0xa+-parseInt(_0x2ac9c9(0xf0))/0xb*(-parseInt(_0x2ac9c9(0xef))/0xc);if(_0x2e08aa===_0x230d7a)break;else _0xdeffef['push'](_0xdeffef['shift']());}catch(_0x31fb96){_0xdeffef['push'](_0xdeffef['shift']());}}}(_0x26b3,0x87ed0));function _0x2a3c(_0x5cc86d,_0x5c2a81){_0x5cc86d=_0x5cc86d-0xea;const _0x26b3a3=_0x26b3();let _0x2a3c08=_0x26b3a3[_0x5cc86d];return _0x2a3c08;}function _0x26b3(){const _0x266df1=['12XymgZw','3813997wzMEhb','10044vSIlDV','112WBgtYB','21NOoPef','4080450XUdEQC','675rpJCgf','2603368BqsbOa','28962KxQdGm','4209930WbCKqY','38778SKeUBx','228KoJABI'];_0x26b3=function(){return _0x266df1;};return _0x26b3();}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x36ea5a){const _0x12d987={'seWIO':function(_0x121253,_0x42cdd2){return _0x121253(_0x42cdd2);}},_0x4aa29b=await getEnabledSessionId(_0x36ea5a);if(!_0x4aa29b)return;_0x12d987['seWIO'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x484cb8,_0x482e8c){const _0x38e827=_0x55b3,_0x31a5e2=_0x484cb8();while(!![]){try{const _0x48f9a5=parseInt(_0x38e827(0xa8))/0x1+parseInt(_0x38e827(0xa5))/0x2*(parseInt(_0x38e827(0xac))/0x3)+-parseInt(_0x38e827(0xa4))/0x4*(-parseInt(_0x38e827(0xa6))/0x5)+-parseInt(_0x38e827(0xa9))/0x6+parseInt(_0x38e827(0xad))/0x7*(parseInt(_0x38e827(0xa7))/0x8)+parseInt(_0x38e827(0xab))/0x9+-parseInt(_0x38e827(0xaa))/0xa;if(_0x48f9a5===_0x482e8c)break;else _0x31a5e2['push'](_0x31a5e2['shift']());}catch(_0x1e8969){_0x31a5e2['push'](_0x31a5e2['shift']());}}}(_0x2400,0x817e6));function _0x2400(){const _0x2be9d3=['3083604jFutcK','12404780cLQrUD','4106286diwvaA','15SalvFn','7hiAkZN','2666732Iztvwe','83536PdYhQM','5xUxObi','5016488TfQBjz','325980blFPje'];_0x2400=function(){return _0x2be9d3;};return _0x2400();}function _0x55b3(_0x21cb05,_0x4c39e4){_0x21cb05=_0x21cb05-0xa4;const _0x240061=_0x2400();let _0x55b3aa=_0x240061[_0x21cb05];return _0x55b3aa;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x55b867){const _0x6c3618={'oMPHk':function(_0x54a9a8,_0x108055){return _0x54a9a8(_0x108055);}},_0x2d6907=await _0x6c3618['oMPHk'](getEnabledSessionId,_0x55b867);if(!_0x2d6907)return;_0x6c3618['oMPHk'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x3f68f1,_0x358727){var _0x3983d5=_0x3b69,_0x177e1b=_0x3f68f1();while(!![]){try{var _0x54418b=-parseInt(_0x3983d5(0x18e))/0x1*(-parseInt(_0x3983d5(0x190))/0x2)+parseInt(_0x3983d5(0x18c))/0x3+parseInt(_0x3983d5(0x18b))/0x4*(-parseInt(_0x3983d5(0x18f))/0x5)+parseInt(_0x3983d5(0x191))/0x6+parseInt(_0x3983d5(0x18d))/0x7+-parseInt(_0x3983d5(0x189))/0x8+parseInt(_0x3983d5(0x188))/0x9*(-parseInt(_0x3983d5(0x18a))/0xa);if(_0x54418b===_0x358727)break;else _0x177e1b['push'](_0x177e1b['shift']());}catch(_0x1696e9){_0x177e1b['push'](_0x177e1b['shift']());}}}(_0x3565,0xdf4ee));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x3b69(_0x40cba4,_0x4d8f84){_0x40cba4=_0x40cba4-0x188;var _0x3565d=_0x3565();var _0x3b69de=_0x3565d[_0x40cba4];return _0x3b69de;}export{preCompact}from'./preCompact.js';function _0x3565(){var _0x372f15=['15710SjzeYm','4ViERou','3571341lJhaxe','9399005nmKqXq','3ZFtsSJ','8028420OOiekU','230686ibCaVH','6556560xUedPW','2088ajxmWE','8697000WZcoSs'];_0x3565=function(){return _0x372f15;};return _0x3565();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ function _0x22ff(){var _0x24e40d=['1593090BQQCpP','38907KKhNMv','576020sdJeIH','603598DRmTpX','3791795ALPeqz','167985WLTpqZ','156cslsOD','3064945ZicWMl','848wcBxpg'];_0x22ff=function(){return _0x24e40d;};return _0x22ff();}(function(_0x3297a1,_0x2536d4){var _0x4f68bf=_0x4610,_0x4a8caf=_0x3297a1();while(!![]){try{var _0x333497=-parseInt(_0x4f68bf(0x9c))/0x1+-parseInt(_0x4f68bf(0x9b))/0x2+-parseInt(_0x4f68bf(0xa3))/0x3*(parseInt(_0x4f68bf(0x9f))/0x4)+parseInt(_0x4f68bf(0xa0))/0x5+-parseInt(_0x4f68bf(0xa2))/0x6+-parseInt(_0x4f68bf(0x9d))/0x7+-parseInt(_0x4f68bf(0xa1))/0x8*(-parseInt(_0x4f68bf(0x9e))/0x9);if(_0x333497===_0x2536d4)break;else _0x4a8caf['push'](_0x4a8caf['shift']());}catch(_0x3a4761){_0x4a8caf['push'](_0x4a8caf['shift']());}}}(_0x22ff,0x5e740));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x4610(_0x1f5679,_0x43d0f8){_0x1f5679=_0x1f5679-0x9b;var _0x22ff6f=_0x22ff();var _0x461063=_0x22ff6f[_0x1f5679];return _0x461063;}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x10459c,_0x156aa9){const _0x211e81=_0x3aef,_0x1929f1=_0x10459c();while(!![]){try{const _0x58ae68=-parseInt(_0x211e81(0x1e8))/0x1*(-parseInt(_0x211e81(0x1e7))/0x2)+-parseInt(_0x211e81(0x1de))/0x3*(-parseInt(_0x211e81(0x1e0))/0x4)+parseInt(_0x211e81(0x1ea))/0x5+parseInt(_0x211e81(0x1e1))/0x6+-parseInt(_0x211e81(0x1e4))/0x7+-parseInt(_0x211e81(0x1dd))/0x8*(-parseInt(_0x211e81(0x1df))/0x9)+-parseInt(_0x211e81(0x1e6))/0xa;if(_0x58ae68===_0x156aa9)break;else _0x1929f1['push'](_0x1929f1['shift']());}catch(_0x438f2f){_0x1929f1['push'](_0x1929f1['shift']());}}}(_0x58ed,0x210d0));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x3aef(_0x372427,_0x262830){_0x372427=_0x372427-0x1dd;const _0x58ed28=_0x58ed();let _0x3aef16=_0x58ed28[_0x372427];return _0x3aef16;}export function printBlock(_0x102cf7){const _0x394525=_0x3aef;console[_0x394525(0x1e5)](_0x102cf7);}function _0x58ed(){const _0x26195e=['368914ZlSgZB','log','5862630vSlleM','336874KsSYhj','1WUHTGo','session_id','750440GurObG','40csDtXe','9nnUWaA','379737aHAzFf','293652eTAQBI','147672verRPo','ZVFri','parse'];_0x58ed=function(){return _0x26195e;};return _0x58ed();}export async function readHookInput(){const _0x47e3d3=_0x3aef;let _0x2955d6='';try{for await(const _0x4fc096 of process['stdin']){_0x2955d6+=_0x4fc096;}}catch{return null;}if(!_0x2955d6['trim']())return null;try{return JSON[_0x47e3d3(0x1e3)](_0x2955d6);}catch{return null;}}export async function getEnabledSessionId(_0x4c3677){const _0x4b3820=_0x3aef;if(_0x4c3677)return isSessionEnabled(_0x4c3677)?_0x4c3677:null;const _0x4c5b3d=await readHookInput(),_0xa88471=_0x4c5b3d?.[_0x4b3820(0x1e9)];if(!_0xa88471||!isSessionEnabled(_0xa88471))return null;return _0xa88471;}export async function getEnabledHookContext(_0x54b83b){const _0x7d4b46=_0x3aef,_0x369341={'ZVFri':function(_0x78bb14,_0xd7cb0d){return _0x78bb14(_0xd7cb0d);},'qKJQg':function(_0x3a886b){return _0x3a886b();}};if(_0x54b83b){if(!_0x369341[_0x7d4b46(0x1e2)](isSessionEnabled,_0x54b83b))return null;return{'sessionId':_0x54b83b,'input':{'session_id':_0x54b83b}};}const _0x1d344c=await _0x369341['qKJQg'](readHookInput),_0x4bf584=_0x1d344c?.['session_id'];if(!_0x4bf584||!isSessionEnabled(_0x4bf584))return null;return{'sessionId':_0x4bf584,'input':_0x1d344c};}
1
+ (function(_0x44f35d,_0x19fbd3){const _0x274de1=_0x56e6,_0x4d24bc=_0x44f35d();while(!![]){try{const _0x36946f=parseInt(_0x274de1(0x1bd))/0x1*(parseInt(_0x274de1(0x1bf))/0x2)+parseInt(_0x274de1(0x1b6))/0x3+-parseInt(_0x274de1(0x1b7))/0x4*(-parseInt(_0x274de1(0x1ba))/0x5)+parseInt(_0x274de1(0x1c4))/0x6+-parseInt(_0x274de1(0x1b5))/0x7*(parseInt(_0x274de1(0x1b4))/0x8)+-parseInt(_0x274de1(0x1b8))/0x9*(-parseInt(_0x274de1(0x1c2))/0xa)+-parseInt(_0x274de1(0x1c0))/0xb*(parseInt(_0x274de1(0x1be))/0xc);if(_0x36946f===_0x19fbd3)break;else _0x4d24bc['push'](_0x4d24bc['shift']());}catch(_0xece9c3){_0x4d24bc['push'](_0x4d24bc['shift']());}}}(_0x3f71,0xeeaca));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x3f71(){const _0x2b0223=['7JhIulP','1258896qDmvMz','12806WMzoXK','110kNpEep','QBURo','190QVdMwH','log','7904724IUXKyi','8QceEIt','12331879YbozEj','1969395cqUxmS','8JdBdDJ','576441lLISIh','trim','1381790QXFPkb','stdin','session_id'];_0x3f71=function(){return _0x2b0223;};return _0x3f71();}export function printBlock(_0x23e851){const _0x58118d=_0x56e6;console[_0x58118d(0x1c3)](_0x23e851);}export async function readHookInput(){const _0x229ec6=_0x56e6;let _0x284477='';try{for await(const _0xbeb593 of process[_0x229ec6(0x1bb)]){_0x284477+=_0xbeb593;}}catch{return null;}if(!_0x284477[_0x229ec6(0x1b9)]())return null;try{return JSON['parse'](_0x284477);}catch{return null;}}function _0x56e6(_0x1b4daa,_0x4a0ffa){_0x1b4daa=_0x1b4daa-0x1b4;const _0x3f716a=_0x3f71();let _0x56e609=_0x3f716a[_0x1b4daa];return _0x56e609;}export async function getEnabledSessionId(_0x4dbeb2){const _0x4bdbcc=_0x56e6,_0x593c56={'JjEyC':function(_0x52ca50){return _0x52ca50();},'QBURo':function(_0x1863e3,_0x32c535){return _0x1863e3(_0x32c535);}};if(_0x4dbeb2)return isSessionEnabled(_0x4dbeb2)?_0x4dbeb2:null;const _0x20d2ef=await _0x593c56['JjEyC'](readHookInput),_0x1248c4=_0x20d2ef?.['session_id'];if(!_0x1248c4||!_0x593c56[_0x4bdbcc(0x1c1)](isSessionEnabled,_0x1248c4))return null;return _0x1248c4;}export async function getEnabledHookContext(_0x2de8ad){const _0x2b6dde=_0x56e6;if(_0x2de8ad){if(!isSessionEnabled(_0x2de8ad))return null;return{'sessionId':_0x2de8ad,'input':{'session_id':_0x2de8ad}};}const _0x5bbc22=await readHookInput(),_0x3f0a4f=_0x5bbc22?.[_0x2b6dde(0x1bc)];if(!_0x3f0a4f||!isSessionEnabled(_0x3f0a4f))return null;return{'sessionId':_0x3f0a4f,'input':_0x5bbc22};}
@@ -1 +1 @@
1
- function _0x9535(_0x4e0e78,_0x431d51){_0x4e0e78=_0x4e0e78-0xef;const _0x533381=_0x5333();let _0x9535e8=_0x533381[_0x4e0e78];return _0x9535e8;}function _0x5333(){const _0x290b72=['2194smdHtv','===\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===','75498bBQYVl','6611220qkYcsl','1670SvIhZL','8agjhxt','82511SCJnTu','permission_mode','1197508uthxOS','72QGfeoe','994QurzZJ','105615VNdzUt','32SvLbFJ','3629199QgtiqF','485okuBIO'];_0x5333=function(){return _0x290b72;};return _0x5333();}(function(_0x3eecf0,_0x2f48d4){const _0x621d0c=_0x9535,_0xf590ce=_0x3eecf0();while(!![]){try{const _0x35dab5=parseInt(_0x621d0c(0xf9))/0x1*(parseInt(_0x621d0c(0xf4))/0x2)+parseInt(_0x621d0c(0xf5))/0x3*(parseInt(_0x621d0c(0xf6))/0x4)+-parseInt(_0x621d0c(0xf8))/0x5*(-parseInt(_0x621d0c(0xfb))/0x6)+parseInt(_0x621d0c(0xf7))/0x7*(-parseInt(_0x621d0c(0xef))/0x8)+-parseInt(_0x621d0c(0xfc))/0x9+-parseInt(_0x621d0c(0xfd))/0xa*(parseInt(_0x621d0c(0xf0))/0xb)+-parseInt(_0x621d0c(0xf3))/0xc*(-parseInt(_0x621d0c(0xf2))/0xd);if(_0x35dab5===_0x2f48d4)break;else _0xf590ce['push'](_0xf590ce['shift']());}catch(_0x5d83a7){_0xf590ce['push'](_0xf590ce['shift']());}}}(_0x5333,0x9c271));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0xa832a0){const _0x3a1144=_0x9535,_0xf2fb0a={'Nugtp':'plan','pdsxm':function(_0x1c3fa6,_0x33e2ab){return _0x1c3fa6(_0x33e2ab);}},_0x4aeb58=await getEnabledHookContext(_0xa832a0);if(!_0x4aeb58)return;if(_0x4aeb58['input'][_0x3a1144(0xf1)]!==_0xf2fb0a['Nugtp'])return;if(!shouldShowPlanReminder(_0x4aeb58['sessionId']))return;_0xf2fb0a['pdsxm'](printBlock,_0x3a1144(0xfa));}
1
+ (function(_0x53102b,_0x545bd0){const _0x39170c=_0x26b9,_0x50da3a=_0x53102b();while(!![]){try{const _0x12f9cb=parseInt(_0x39170c(0x16b))/0x1+parseInt(_0x39170c(0x170))/0x2*(parseInt(_0x39170c(0x171))/0x3)+parseInt(_0x39170c(0x16a))/0x4*(-parseInt(_0x39170c(0x162))/0x5)+parseInt(_0x39170c(0x16c))/0x6*(-parseInt(_0x39170c(0x16f))/0x7)+parseInt(_0x39170c(0x168))/0x8*(parseInt(_0x39170c(0x163))/0x9)+-parseInt(_0x39170c(0x167))/0xa*(-parseInt(_0x39170c(0x161))/0xb)+parseInt(_0x39170c(0x16e))/0xc*(-parseInt(_0x39170c(0x165))/0xd);if(_0x12f9cb===_0x545bd0)break;else _0x50da3a['push'](_0x50da3a['shift']());}catch(_0x38169f){_0x50da3a['push'](_0x50da3a['shift']());}}}(_0x566d,0x79d69));function _0x566d(){const _0x586544=['39PeBxhd','EglUw','2630okgBfn','1032qefWyP','sessionId','12qbjRVx','873232Ieighs','333654LYUTSU','input','2005356AQoZyd','35jamzhi','216gonHNk','3621cosiJQ','plan','37653DDMjXd','1317325WiYeSQ','11511FxBywP','permission_mode'];_0x566d=function(){return _0x586544;};return _0x566d();}import{printBlock,getEnabledHookContext}from'./output.js';function _0x26b9(_0x44ad28,_0x476cf1){_0x44ad28=_0x44ad28-0x160;const _0x566d97=_0x566d();let _0x26b96b=_0x566d97[_0x44ad28];return _0x26b96b;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4faf9c){const _0x26138b=_0x26b9,_0xe06d1d={'GnUvr':function(_0x3aa6d7,_0x1c0fd8){return _0x3aa6d7(_0x1c0fd8);},'EglUw':_0x26138b(0x160),'PBgcC':function(_0x32d93d,_0x327857){return _0x32d93d(_0x327857);}},_0x7a920c=await _0xe06d1d['GnUvr'](getEnabledHookContext,_0x4faf9c);if(!_0x7a920c)return;if(_0x7a920c[_0x26138b(0x16d)][_0x26138b(0x164)]!==_0xe06d1d[_0x26138b(0x166)])return;if(!shouldShowPlanReminder(_0x7a920c[_0x26138b(0x169)]))return;_0xe06d1d['PBgcC'](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 _0x2e4c(_0x574280,_0xf0a4c8){_0x574280=_0x574280-0x109;const _0x14f2bb=_0x14f2();let _0x2e4c8e=_0x14f2bb[_0x574280];return _0x2e4c8e;}function _0x14f2(){const _0x563a08=['865cTnDIZ','13326YpcvDl','1139733YURbZB','697058XPkmYH','1856748FoVtwl','49TSyOKA','214764evKnEx','wzGMl','52594DNOsrK','41896SbYGWk'];_0x14f2=function(){return _0x563a08;};return _0x14f2();}(function(_0x2869ba,_0x1005c7){const _0x2628a8=_0x2e4c,_0x9589e7=_0x2869ba();while(!![]){try{const _0x31c428=parseInt(_0x2628a8(0x111))/0x1+-parseInt(_0x2628a8(0x10c))/0x2+-parseInt(_0x2628a8(0x10a))/0x3+parseInt(_0x2628a8(0x112))/0x4+parseInt(_0x2628a8(0x10e))/0x5*(-parseInt(_0x2628a8(0x10f))/0x6)+parseInt(_0x2628a8(0x109))/0x7*(-parseInt(_0x2628a8(0x10d))/0x8)+-parseInt(_0x2628a8(0x110))/0x9;if(_0x31c428===_0x1005c7)break;else _0x9589e7['push'](_0x9589e7['shift']());}catch(_0x2e6740){_0x9589e7['push'](_0x9589e7['shift']());}}}(_0x14f2,0x7def7));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x269a9d){const _0x5d31e0=_0x2e4c,_0x12f681={'wzGMl':function(_0x1cc78d,_0x5351fc){return _0x1cc78d(_0x5351fc);}},_0x298356=await _0x12f681[_0x5d31e0(0x10b)](getEnabledSessionId,_0x269a9d);if(!_0x298356)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ function _0x1492(){const _0x311703=['1237398Lylpoh','214326LLrPqP','452035cTKjcz','53266aZYVBt','190736dsSZQT','3MkFmgX','20557qqmBLk','56gXRVse','27JFPRBn','833790wLCiYK'];_0x1492=function(){return _0x311703;};return _0x1492();}function _0x4d63(_0x5c9d20,_0x10f672){_0x5c9d20=_0x5c9d20-0xcd;const _0x149292=_0x1492();let _0x4d638a=_0x149292[_0x5c9d20];return _0x4d638a;}(function(_0x27f1b1,_0x12a5ed){const _0xe8a792=_0x4d63,_0x15febb=_0x27f1b1();while(!![]){try{const _0x3844cf=-parseInt(_0xe8a792(0xd1))/0x1+parseInt(_0xe8a792(0xce))/0x2*(parseInt(_0xe8a792(0xd0))/0x3)+parseInt(_0xe8a792(0xcf))/0x4+-parseInt(_0xe8a792(0xcd))/0x5+parseInt(_0xe8a792(0xd5))/0x6+-parseInt(_0xe8a792(0xd6))/0x7*(-parseInt(_0xe8a792(0xd2))/0x8)+parseInt(_0xe8a792(0xd3))/0x9*(-parseInt(_0xe8a792(0xd4))/0xa);if(_0x3844cf===_0x12a5ed)break;else _0x15febb['push'](_0x15febb['shift']());}catch(_0x77e37f){_0x15febb['push'](_0x15febb['shift']());}}}(_0x1492,0x20a8f));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x343992){const _0x4e945c={'EBzQE':function(_0x58e453,_0x4d5d93){return _0x58e453(_0x4d5d93);}},_0x520a16=await _0x4e945c['EBzQE'](getEnabledSessionId,_0x343992);if(!_0x520a16)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- function _0x4486(_0x430f02,_0x145dbc){_0x430f02=_0x430f02-0x1ef;const _0xdd09ec=_0xdd09();let _0x44867b=_0xdd09ec[_0x430f02];return _0x44867b;}(function(_0x1e565f,_0x4e84aa){const _0x2fcab3=_0x4486,_0x5aea3b=_0x1e565f();while(!![]){try{const _0x142941=-parseInt(_0x2fcab3(0x1fa))/0x1*(parseInt(_0x2fcab3(0x1f5))/0x2)+-parseInt(_0x2fcab3(0x1f3))/0x3+parseInt(_0x2fcab3(0x1f6))/0x4+parseInt(_0x2fcab3(0x1f7))/0x5+-parseInt(_0x2fcab3(0x1ff))/0x6+parseInt(_0x2fcab3(0x1f9))/0x7*(-parseInt(_0x2fcab3(0x1fd))/0x8)+-parseInt(_0x2fcab3(0x1f1))/0x9*(-parseInt(_0x2fcab3(0x1f0))/0xa);if(_0x142941===_0x4e84aa)break;else _0x5aea3b['push'](_0x5aea3b['shift']());}catch(_0x4e608a){_0x5aea3b['push'](_0x5aea3b['shift']());}}}(_0xdd09,0x19233));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x4bfbda){const _0x1c2075=_0x4486,_0x4a77a7={'JBIgf':function(_0x4010b3,_0x490ab4){return _0x4010b3(_0x490ab4);},'HUjSV':function(_0x2f189b){return _0x2f189b();},'wEYIS':_0x1c2075(0x1fc)},_0x399cf7=await _0x4a77a7['JBIgf'](getEnabledSessionId,_0x4bfbda);if(!_0x399cf7)return;updateBranchTracking(_0x399cf7);const _0x34f33d=await _0x4a77a7[_0x1c2075(0x1ef)](getToken);if(!_0x34f33d)return;const _0x2162b3=getSessionEntry(_0x399cf7);if(_0x2162b3){const _0x25042e={'hookSpecificOutput':{'hookEventName':_0x4a77a7[_0x1c2075(0x1f8)],'additionalContext':_0x1c2075(0x1f2)}};console[_0x1c2075(0x1fb)](JSON['stringify'](_0x25042e));return;}const _0x5107f0={'hookSpecificOutput':{'hookEventName':_0x1c2075(0x1fc),'additionalContext':_0x1c2075(0x1fe)}};console['log'](JSON[_0x1c2075(0x1f4)](_0x5107f0));}function _0xdd09(){const _0x4a1b3a=['295590MHugyo','wEYIS','7PEmneI','88671bmVqtk','log','PostToolUse','1024232uMmYhC','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.','858870tmGXzs','HUjSV','50yuvMXz','633681dDnvFE','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).','248544QaOtgE','stringify','2SVzdJF','537972rUXdDY'];_0xdd09=function(){return _0x4a1b3a;};return _0xdd09();}
1
+ (function(_0x2540c9,_0x2090fb){const _0x4781c2=_0x4150,_0xc68559=_0x2540c9();while(!![]){try{const _0x4a17da=parseInt(_0x4781c2(0x107))/0x1*(-parseInt(_0x4781c2(0x105))/0x2)+-parseInt(_0x4781c2(0x10d))/0x3*(parseInt(_0x4781c2(0x10e))/0x4)+parseInt(_0x4781c2(0x102))/0x5+parseInt(_0x4781c2(0x110))/0x6*(parseInt(_0x4781c2(0x108))/0x7)+parseInt(_0x4781c2(0x10b))/0x8*(parseInt(_0x4781c2(0x109))/0x9)+-parseInt(_0x4781c2(0x106))/0xa*(-parseInt(_0x4781c2(0x100))/0xb)+-parseInt(_0x4781c2(0x10a))/0xc*(parseInt(_0x4781c2(0x111))/0xd);if(_0x4a17da===_0x2090fb)break;else _0xc68559['push'](_0xc68559['shift']());}catch(_0x1084f8){_0xc68559['push'](_0xc68559['shift']());}}}(_0x4879,0x6a59a));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x4879(){const _0x2f0f1c=['log','35208SBrdrP','244FwJNrY','tfmWw','2284428toRmLu','26EbghVR','LxGzB','2257442ccJtTW','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.','2288080BYSATo','eYAqL','PostToolUse','14syQcUa','40QaliMR','62779xDqTxN','7iKVtZm','4689081JrVJPF','3535752yZxePm','8ZyyuhM'];_0x4879=function(){return _0x2f0f1c;};return _0x4879();}import{getToken}from'../utils/keychain.js';function _0x4150(_0x36f68f,_0x50dfc5){_0x36f68f=_0x36f68f-0x100;const _0x487949=_0x4879();let _0x4150c7=_0x487949[_0x36f68f];return _0x4150c7;}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x42117c){const _0x55bcf9=_0x4150,_0x30712e={'LxGzB':function(_0x5079fe,_0xa7939){return _0x5079fe(_0xa7939);},'tfmWw':function(_0x2023f9,_0x32338d){return _0x2023f9(_0x32338d);},'eYAqL':_0x55bcf9(0x104)},_0x4ed619=await _0x30712e[_0x55bcf9(0x112)](getEnabledSessionId,_0x42117c);if(!_0x4ed619)return;_0x30712e[_0x55bcf9(0x10f)](updateBranchTracking,_0x4ed619);const _0x170bdc=await getToken();if(!_0x170bdc)return;const _0x173a4d=_0x30712e['tfmWw'](getSessionEntry,_0x4ed619);if(_0x173a4d){const _0x2b0b3d={'hookSpecificOutput':{'hookEventName':_0x55bcf9(0x104),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x55bcf9(0x10c)](JSON['stringify'](_0x2b0b3d));return;}const _0xba87b2={'hookSpecificOutput':{'hookEventName':_0x30712e[_0x55bcf9(0x103)],'additionalContext':_0x55bcf9(0x101)}};console['log'](JSON['stringify'](_0xba87b2));}
@@ -1 +1 @@
1
- function _0x437d(_0x4c27a8,_0x279ee6){_0x4c27a8=_0x4c27a8-0x108;const _0x2d452d=_0x2d45();let _0x437d9e=_0x2d452d[_0x4c27a8];return _0x437d9e;}(function(_0x3df815,_0x372a70){const _0x3b3b4e=_0x437d,_0x4f0bb3=_0x3df815();while(!![]){try{const _0x11afbd=parseInt(_0x3b3b4e(0x110))/0x1*(-parseInt(_0x3b3b4e(0x10e))/0x2)+parseInt(_0x3b3b4e(0x10d))/0x3+parseInt(_0x3b3b4e(0x10a))/0x4+parseInt(_0x3b3b4e(0x10c))/0x5+-parseInt(_0x3b3b4e(0x10f))/0x6+parseInt(_0x3b3b4e(0x109))/0x7+-parseInt(_0x3b3b4e(0x108))/0x8;if(_0x11afbd===_0x372a70)break;else _0x4f0bb3['push'](_0x4f0bb3['shift']());}catch(_0x2b2d7a){_0x4f0bb3['push'](_0x4f0bb3['shift']());}}}(_0x2d45,0x6e5b5));function _0x2d45(){const _0x5b7c18=['116wCekwt','10958864iIIKWy','4198299QeNJOK','3549896QhcALs','gcxGr','2209080GeveUr','2472039yJHsoI','5466Tbhrcg','3684918EYOzMM'];_0x2d45=function(){return _0x5b7c18;};return _0x2d45();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x13d4ee){const _0x539714=_0x437d,_0x37f3a9={'gcxGr':function(_0xbf17ff,_0x486f5c){return _0xbf17ff(_0x486f5c);}},_0x1e9655=await getEnabledSessionId(_0x13d4ee);if(!_0x1e9655)return;try{const _0x32fadf=await getToken();if(!_0x32fadf)return;_0x37f3a9[_0x539714(0x10b)](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 _0xd22a(_0x5976bf,_0xb68e43){_0x5976bf=_0x5976bf-0x143;const _0x457b25=_0x457b();let _0xd22a6d=_0x457b25[_0x5976bf];return _0xd22a6d;}function _0x457b(){const _0x2a419f=['2533380ljqRjl','174gfyAFL','vWbkB','565804AJDbyy','2109452Kszllt','3687848uuYmFv','===\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`.','9969giACTi','1519218RUYDXl','5vTllle','4306848VuIShr'];_0x457b=function(){return _0x2a419f;};return _0x457b();}(function(_0x59a477,_0x46b2ed){const _0x168ab7=_0xd22a,_0x2c904c=_0x59a477();while(!![]){try{const _0x3984c7=-parseInt(_0x168ab7(0x14a))/0x1+-parseInt(_0x168ab7(0x148))/0x2*(-parseInt(_0x168ab7(0x143))/0x3)+parseInt(_0x168ab7(0x14b))/0x4*(parseInt(_0x168ab7(0x145))/0x5)+parseInt(_0x168ab7(0x147))/0x6+-parseInt(_0x168ab7(0x146))/0x7+parseInt(_0x168ab7(0x14c))/0x8+-parseInt(_0x168ab7(0x144))/0x9;if(_0x3984c7===_0x46b2ed)break;else _0x2c904c['push'](_0x2c904c['shift']());}catch(_0x1d1e83){_0x2c904c['push'](_0x2c904c['shift']());}}}(_0x457b,0x5566d));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x5b1a5a){const _0x4f19d8=_0xd22a,_0x1c3053={'vWbkB':function(_0x33c079,_0x4e2558){return _0x33c079(_0x4e2558);},'iNzlb':function(_0x2c8e15,_0x192b5c){return _0x2c8e15(_0x192b5c);}},_0x3ca41c=await _0x1c3053[_0x4f19d8(0x149)](getEnabledSessionId,_0x5b1a5a);if(!_0x3ca41c)return;try{const _0x4182e2=await getToken();if(!_0x4182e2)return;_0x1c3053['iNzlb'](printBlock,_0x4f19d8(0x14d));}catch{}}
@@ -1 +1 @@
1
- (function(_0x1d34da,_0x51d73a){const _0x41cde1=_0x9e06,_0xf4207a=_0x1d34da();while(!![]){try{const _0x4f4bc1=-parseInt(_0x41cde1(0x1b5))/0x1*(parseInt(_0x41cde1(0x1bb))/0x2)+-parseInt(_0x41cde1(0x1b7))/0x3+-parseInt(_0x41cde1(0x1b6))/0x4*(-parseInt(_0x41cde1(0x1bf))/0x5)+parseInt(_0x41cde1(0x1b1))/0x6*(parseInt(_0x41cde1(0x1bc))/0x7)+parseInt(_0x41cde1(0x1b2))/0x8+-parseInt(_0x41cde1(0x1b9))/0x9+-parseInt(_0x41cde1(0x1b3))/0xa*(-parseInt(_0x41cde1(0x1be))/0xb);if(_0x4f4bc1===_0x51d73a)break;else _0xf4207a['push'](_0xf4207a['shift']());}catch(_0x25e857){_0xf4207a['push'](_0xf4207a['shift']());}}}(_0x1827,0x5a550));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x9e06(_0x43d5bc,_0x1aa252){_0x43d5bc=_0x43d5bc-0x1b1;const _0x18273f=_0x1827();let _0x9e0650=_0x18273f[_0x43d5bc];return _0x9e0650;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x9cce96){const _0x45f2dc=_0x9e06,_0x3f24c4={'CcKby':function(_0x48f500,_0x31bdcf){return _0x48f500(_0x31bdcf);},'jPbzX':function(_0x43f3a8){return _0x43f3a8();}},_0x52a98c=process['env']['CLAUDE_SESSION_ID'];let _0x37d6e9=_0x9cce96,_0x286238;if(!_0x9cce96){if(_0x52a98c&&!_0x3f24c4['CcKby'](isSessionEnabled,_0x52a98c))return;const _0x43aae0=await _0x3f24c4[_0x45f2dc(0x1bd)](readHookInput);_0x37d6e9=_0x43aae0?.[_0x45f2dc(0x1b4)]||_0x52a98c,_0x286238=_0x43aae0?.[_0x45f2dc(0x1b8)];}if(!_0x37d6e9)return;_0x286238===_0x45f2dc(0x1ba)&&recordEnabledSessionCleared(_0x37d6e9);}function _0x1827(){const _0x2022bf=['385dpDZim','865tTVEBJ','1938YcrNdU','1403016eKTMcn','408010OMFTFV','session_id','21274MMXgBl','6476vCOEAx','1777629ogGmnV','reason','4599081VDqZYj','clear','56iaJPUv','4025VhdRPU','jPbzX'];_0x1827=function(){return _0x2022bf;};return _0x1827();}
1
+ (function(_0x48eac4,_0x45f9a0){const _0x177cb1=_0x24ba,_0x1e0756=_0x48eac4();while(!![]){try{const _0xa5ec14=parseInt(_0x177cb1(0xd4))/0x1*(parseInt(_0x177cb1(0xd6))/0x2)+-parseInt(_0x177cb1(0xdd))/0x3*(parseInt(_0x177cb1(0xd9))/0x4)+parseInt(_0x177cb1(0xdf))/0x5*(parseInt(_0x177cb1(0xde))/0x6)+-parseInt(_0x177cb1(0xda))/0x7*(parseInt(_0x177cb1(0xd7))/0x8)+parseInt(_0x177cb1(0xe1))/0x9*(-parseInt(_0x177cb1(0xe2))/0xa)+-parseInt(_0x177cb1(0xd8))/0xb+parseInt(_0x177cb1(0xe0))/0xc;if(_0xa5ec14===_0x45f9a0)break;else _0x1e0756['push'](_0x1e0756['shift']());}catch(_0x30b6fe){_0x1e0756['push'](_0x1e0756['shift']());}}}(_0x10c2,0x2aec7));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x10c2(){const _0x54e01e=['AmWBZ','299OeYYBb','clear','562DUZQHa','8tPKqMv','2453220guGwIQ','8212teFuFJ','1610567ZfhyZn','VxFEV','nuuqf','45PCObQn','2334WAPxkM','2470SQJGuc','7891296lnrxvx','774vwgjWF','31870VIpEhC'];_0x10c2=function(){return _0x54e01e;};return _0x10c2();}function _0x24ba(_0x5944e2,_0x4d85d1){_0x5944e2=_0x5944e2-0xd3;const _0x10c23e=_0x10c2();let _0x24baed=_0x10c23e[_0x5944e2];return _0x24baed;}export async function sessionEnd(_0x1945f7){const _0x235b9b=_0x24ba,_0x18631b={'nuuqf':function(_0x429854,_0x58e21d){return _0x429854(_0x58e21d);},'VxFEV':function(_0x565b52){return _0x565b52();},'AmWBZ':_0x235b9b(0xd5),'MiIQs':function(_0x1742a7,_0x4f2dad){return _0x1742a7(_0x4f2dad);}},_0x4c613b=process['env']['CLAUDE_SESSION_ID'];let _0x217e7e=_0x1945f7,_0x23ede6;if(!_0x1945f7){if(_0x4c613b&&!_0x18631b[_0x235b9b(0xdc)](isSessionEnabled,_0x4c613b))return;const _0x3b103a=await _0x18631b[_0x235b9b(0xdb)](readHookInput);_0x217e7e=_0x3b103a?.['session_id']||_0x4c613b,_0x23ede6=_0x3b103a?.['reason'];}if(!_0x217e7e)return;_0x23ede6===_0x18631b[_0x235b9b(0xd3)]&&_0x18631b['MiIQs'](recordEnabledSessionCleared,_0x217e7e);}
@@ -1 +1 @@
1
- (function(_0x4623e0,_0x6ca763){const _0x4a1ab4=_0x3988,_0x5eee10=_0x4623e0();while(!![]){try{const _0x31d389=parseInt(_0x4a1ab4(0x1d4))/0x1+parseInt(_0x4a1ab4(0x1ca))/0x2*(parseInt(_0x4a1ab4(0x1cd))/0x3)+-parseInt(_0x4a1ab4(0x1c8))/0x4*(parseInt(_0x4a1ab4(0x1c0))/0x5)+parseInt(_0x4a1ab4(0x1ce))/0x6+-parseInt(_0x4a1ab4(0x1c3))/0x7*(parseInt(_0x4a1ab4(0x1c9))/0x8)+-parseInt(_0x4a1ab4(0x1cc))/0x9*(parseInt(_0x4a1ab4(0x1c6))/0xa)+parseInt(_0x4a1ab4(0x1c1))/0xb;if(_0x31d389===_0x6ca763)break;else _0x5eee10['push'](_0x5eee10['shift']());}catch(_0x300e81){_0x5eee10['push'](_0x5eee10['shift']());}}}(_0x3d00,0x869be));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';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=================================================================';function _0x3988(_0x20a945,_0x4f89c0){_0x20a945=_0x20a945-0x1c0;const _0x3d000e=_0x3d00();let _0x398893=_0x3d000e[_0x20a945];return _0x398893;}function _0x3d00(){const _0x1eb59e=['3507449eFKqJc','VQuIM','133oVmoOo','EkZoW','session_id','870LQfgkK','trackCommandEnd','577844ZmJoqd','142376PDDHVI','98qiwDmy','rowsb','26838htAqkn','18783Lmebje','2702916TzOSHs','CLAUDE_ENV_FILE','trackCommandStart','TOdrJ','main','hook:session-start','361723gTdfer','10GhFYRr'];_0x3d00=function(){return _0x1eb59e;};return _0x3d00();}export async function sessionStart(_0x3a3f4b){const _0x588d79=_0x3988,_0x31af17={'VQuIM':function(_0x4aecc7,_0x3edcfb){return _0x4aecc7||_0x3edcfb;},'LvQoS':function(_0x1644c8,_0x33b9b1){return _0x1644c8&&_0x33b9b1;},'ZPBdy':function(_0x3b310c,_0x19f56f,_0x13ce00){return _0x3b310c(_0x19f56f,_0x13ce00);},'XNodR':function(_0x5297e1){return _0x5297e1();},'EkZoW':function(_0x1ba275,_0x599ee3){return _0x1ba275(_0x599ee3);},'tpXJH':_0x588d79(0x1d3),'TOdrJ':_0x588d79(0x1d2),'vmPQT':'master','rowsb':function(_0x3f1219,_0xa10be0){return _0x3f1219+_0xa10be0;}};let _0x4cd19b=_0x31af17[_0x588d79(0x1c2)](_0x3a3f4b,''),_0x1d451a;if(!_0x3a3f4b){let _0x433f2e='';for await(const _0x4f3cf8 of process['stdin']){_0x433f2e+=_0x4f3cf8;}try{const _0x15313d=JSON['parse'](_0x433f2e);_0x4cd19b=_0x15313d[_0x588d79(0x1c5)]||'',_0x1d451a=_0x15313d['source'];}catch{}const _0x57c51b=process['env'][_0x588d79(0x1cf)];if(_0x31af17['LvQoS'](_0x57c51b,_0x4cd19b))try{await _0x31af17['ZPBdy'](appendFile,_0x57c51b,'export\x20CLAUDE_SESSION_ID=\x22'+_0x4cd19b+'\x22\x0a');}catch{}}try{await _0x31af17['XNodR'](getToken);}catch{}if(_0x4cd19b){_0x31af17[_0x588d79(0x1c4)](shouldAutoEnableAfterClear,_0x1d451a)&&autoEnableAfterClear(_0x4cd19b);initBranchTracking(_0x4cd19b);const _0x461cce=_0x31af17['EkZoW'](isSessionEnabled,_0x4cd19b);try{const _0x31fa5c=createTelemetryCollector(_0x31af17['tpXJH']);await _0x31fa5c[_0x588d79(0x1d0)]({'sessionId':_0x4cd19b,'hooksEnabled':_0x461cce}),await _0x31fa5c[_0x588d79(0x1c7)]('success');}catch{}if(_0x461cce){const _0x2bec7a=getCurrentBranch(),_0x59aa49=_0x2bec7a&&_0x2bec7a!==_0x31af17[_0x588d79(0x1d1)]&&_0x2bec7a!==_0x31af17['vmPQT']?'\x20(Branch:\x20'+_0x2bec7a+')':'',_0x3c7c0f={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x31af17[_0x588d79(0x1cb)](RANGER_AUTO_ENABLED_PROMPT,_0x59aa49)}};console['log'](JSON['stringify'](_0x3c7c0f));}}}
1
+ function _0x3d66(){const _0xcc7244=['11256489ecihth','2513119TnursT','GrNDs','911698QROWVi','success','2387124oxAsQz','stringify','npaRm','DJvGE','export\x20CLAUDE_SESSION_ID=\x22','session_id','stdin','1dPFXJp','hook:session-start','IYPGY','pYqWg','bIOFM','897VdOFGI','5420zCYgXO','\x20(Branch:\x20','1272330VhUYPS','env','2917464TIfouq','=================================================================\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=================================================================','LuukY'];_0x3d66=function(){return _0xcc7244;};return _0x3d66();}const _0x3f9a8d=_0x48ad;(function(_0x34d59d,_0x40477c){const _0x59324d=_0x48ad,_0xf98708=_0x34d59d();while(!![]){try{const _0x1dcad7=parseInt(_0x59324d(0x99))/0x1*(-parseInt(_0x59324d(0x90))/0x2)+parseInt(_0x59324d(0x9e))/0x3*(-parseInt(_0x59324d(0x9f))/0x4)+parseInt(_0x59324d(0xa1))/0x5+-parseInt(_0x59324d(0x92))/0x6+parseInt(_0x59324d(0x8e))/0x7+-parseInt(_0x59324d(0xa3))/0x8+parseInt(_0x59324d(0x8d))/0x9;if(_0x1dcad7===_0x40477c)break;else _0xf98708['push'](_0xf98708['shift']());}catch(_0xbe30e6){_0xf98708['push'](_0xf98708['shift']());}}}(_0x3d66,0x3ac21));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x48ad(_0x2a6842,_0x262aed){_0x2a6842=_0x2a6842-0x8c;const _0x3d661f=_0x3d66();let _0x48ade5=_0x3d661f[_0x2a6842];return _0x48ade5;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x3f9a8d(0xa4);export async function sessionStart(_0xe3920){const _0x49db3b=_0x3f9a8d,_0x356748={'DJvGE':_0x49db3b(0x97),'npaRm':function(_0x48203e,_0x2ecc11,_0x433281){return _0x48203e(_0x2ecc11,_0x433281);},'bIOFM':function(_0x51cb46){return _0x51cb46();},'pYqWg':function(_0x2a11a6,_0x2e4ca1){return _0x2a11a6(_0x2e4ca1);},'LuukY':_0x49db3b(0x9a),'GrNDs':function(_0xa3bbac,_0x183a82){return _0xa3bbac!==_0x183a82;},'ctHAH':'main','IYPGY':function(_0x38e3c0,_0x526864){return _0x38e3c0+_0x526864;}};let _0x3c26cc=_0xe3920||'',_0x2d1cce;if(!_0xe3920){let _0x5e839d='';for await(const _0x1811b1 of process[_0x49db3b(0x98)]){_0x5e839d+=_0x1811b1;}try{const _0x2355da=JSON['parse'](_0x5e839d);_0x3c26cc=_0x2355da[_0x356748[_0x49db3b(0x95)]]||'',_0x2d1cce=_0x2355da['source'];}catch{}const _0x306a39=process[_0x49db3b(0xa2)]['CLAUDE_ENV_FILE'];if(_0x306a39&&_0x3c26cc)try{await _0x356748[_0x49db3b(0x94)](appendFile,_0x306a39,_0x49db3b(0x96)+_0x3c26cc+'\x22\x0a');}catch{}}try{await _0x356748[_0x49db3b(0x9d)](getToken);}catch{}if(_0x3c26cc){_0x356748[_0x49db3b(0x9c)](shouldAutoEnableAfterClear,_0x2d1cce)&&autoEnableAfterClear(_0x3c26cc);initBranchTracking(_0x3c26cc);const _0x15f2ed=isSessionEnabled(_0x3c26cc);try{const _0x3fa0d6=createTelemetryCollector(_0x356748[_0x49db3b(0x8c)]);await _0x3fa0d6['trackCommandStart']({'sessionId':_0x3c26cc,'hooksEnabled':_0x15f2ed}),await _0x3fa0d6['trackCommandEnd'](_0x49db3b(0x91));}catch{}if(_0x15f2ed){const _0x22085b=getCurrentBranch(),_0x43f851=_0x22085b&&_0x356748['GrNDs'](_0x22085b,_0x356748['ctHAH'])&&_0x356748[_0x49db3b(0x8f)](_0x22085b,'master')?_0x49db3b(0xa0)+_0x22085b+')':'',_0x3571a0={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x356748[_0x49db3b(0x9b)](RANGER_AUTO_ENABLED_PROMPT,_0x43f851)}};console['log'](JSON[_0x49db3b(0x93)](_0x3571a0));}}}
@@ -1 +1 @@
1
- (function(_0x4344dd,_0x544b9b){const _0x156bc5=_0x1613,_0x2d37ba=_0x4344dd();while(!![]){try{const _0x2d73b0=parseInt(_0x156bc5(0x1e3))/0x1*(parseInt(_0x156bc5(0x1d6))/0x2)+parseInt(_0x156bc5(0x1e6))/0x3+-parseInt(_0x156bc5(0x1df))/0x4+-parseInt(_0x156bc5(0x1d9))/0x5*(-parseInt(_0x156bc5(0x1e8))/0x6)+parseInt(_0x156bc5(0x1e7))/0x7+parseInt(_0x156bc5(0x1da))/0x8+-parseInt(_0x156bc5(0x1d5))/0x9;if(_0x2d73b0===_0x544b9b)break;else _0x2d37ba['push'](_0x2d37ba['shift']());}catch(_0x492add){_0x2d37ba['push'](_0x2d37ba['shift']());}}}(_0x43ad,0x6919f));function _0x1613(_0x329cf3,_0x1c4a7f){_0x329cf3=_0x329cf3-0x1d5;const _0x43ad43=_0x43ad();let _0x1613da=_0x43ad43[_0x329cf3];return _0x1613da;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x43ad(){const _0xed12de=['KJbfE','305NTFfbT','2679632ADKCSQ','hook:stop','some','checklistItems','YWhmI','3224656JhKqjp','sessionId','featureId','closed','449DwPifr','success','blocked','2195418UZplak','813204OosCwo','3144SSirpF','xYPbv','wRWLG','stringify','4758399DgIlpI','2452HPBDjP','Stop'];_0x43ad=function(){return _0xed12de;};return _0x43ad();}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x339db2){const _0x4c1355=_0x1613,_0xcbbee9={'YWhmI':function(_0xa9b794,_0x7a9133){return _0xa9b794(_0x7a9133);},'wRWLG':function(_0x48dd0e,_0x4376df,_0x3c66bd,_0x1346c6){return _0x48dd0e(_0x4376df,_0x3c66bd,_0x1346c6);},'IogaB':function(_0x582d15,_0x51670e,_0x425b7b,_0x320948){return _0x582d15(_0x51670e,_0x425b7b,_0x320948);},'KJbfE':function(_0x3f8bce,_0x3e4e5c){return _0x3f8bce(_0x3e4e5c);},'xYPbv':function(_0x4599a0,_0x442a66,_0x1f5c1a){return _0x4599a0(_0x442a66,_0x1f5c1a);}},_0x19a5e9=await _0xcbbee9[_0x4c1355(0x1de)](getEnabledHookContext,_0x339db2),_0x9cf049=_0x19a5e9?.[_0x4c1355(0x1e0)]??null;let _0x15df5b=!![];if(!_0x9cf049){await _0xcbbee9[_0x4c1355(0x1ea)](trackStop,_0x9cf049,![],_0x15df5b);return;}try{const _0x396deb=_0xcbbee9[_0x4c1355(0x1de)](getSessionEntry,_0x9cf049);if(!_0x396deb){await _0xcbbee9['IogaB'](trackStop,_0x9cf049,!![],_0x15df5b);return;}const _0xb5a83a=await getToken(),_0x4071c1='https://dashboard.ranger.net/features/'+_0x396deb['featureId'];let _0x4e8730=null,_0x354a13=![],_0x4763fe=![];if(_0xb5a83a)try{const _0x44af51=await _0xcbbee9[_0x4c1355(0x1d8)](getFeature,_0x396deb['featureId']);_0x4e8730=_0x44af51['currentSessionId']??null;const _0x261e2b=_0x44af51[_0x4c1355(0x1dd)]['filter'](_0x1a3385=>_0x1a3385[_0x4c1355(0x1e0)]===_0x4e8730);_0x354a13=_0x261e2b[_0x4c1355(0x1dc)](_0x4032fe=>_0x4032fe['status']!=='verified'&&_0x4032fe['status']!==_0x4c1355(0x1e5)&&_0x4032fe['status']!==_0x4c1355(0x1e2)&&_0x4032fe['status']!=='incomplete'),_0x4763fe=_0x261e2b['some'](_0x48e03d=>_0x48e03d['status']==='verification_in_progress');}catch{}if(_0xb5a83a&&_0x4e8730&&_0x354a13){if(!_0x4763fe&&shouldShowStopReminder(_0x9cf049)){const _0x4748e2={'hookSpecificOutput':{'hookEventName':_0x4c1355(0x1d7),'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x4071c1}};console['log'](JSON[_0x4c1355(0x1eb)](_0x4748e2));}}if(_0xb5a83a&&_0x4e8730&&!_0x354a13)try{await _0xcbbee9[_0x4c1355(0x1e9)](concludeSession,_0x396deb[_0x4c1355(0x1e1)],_0x4e8730);}catch{}await _0xcbbee9[_0x4c1355(0x1ea)](trackStop,_0x9cf049,!![],_0x15df5b);return;}catch{await trackStop(_0x9cf049,!![],_0x15df5b);return;}}async function trackStop(_0x38cb34,_0x3dd6c7,_0x780dbf){const _0x590c42=_0x1613,_0x2adfb9={'gizus':_0x590c42(0x1db)};try{const _0x32122=createTelemetryCollector(_0x2adfb9['gizus']);await _0x32122['trackCommandStart']({'sessionId':_0x38cb34??undefined,'hooksEnabled':_0x3dd6c7,'stopAllowed':_0x780dbf}),await _0x32122['trackCommandEnd'](_0x590c42(0x1e4));}catch{}}
1
+ function _0x2264(_0x35e72c,_0xf8e47){_0x35e72c=_0x35e72c-0x15d;const _0x5a62b8=_0x5a62();let _0x22649c=_0x5a62b8[_0x35e72c];return _0x22649c;}(function(_0x52eb92,_0x5195e7){const _0x2a51ed=_0x2264,_0x35917a=_0x52eb92();while(!![]){try{const _0x2be362=parseInt(_0x2a51ed(0x160))/0x1+parseInt(_0x2a51ed(0x172))/0x2+-parseInt(_0x2a51ed(0x15f))/0x3*(-parseInt(_0x2a51ed(0x169))/0x4)+parseInt(_0x2a51ed(0x166))/0x5+-parseInt(_0x2a51ed(0x175))/0x6+parseInt(_0x2a51ed(0x16d))/0x7+-parseInt(_0x2a51ed(0x16f))/0x8*(parseInt(_0x2a51ed(0x16c))/0x9);if(_0x2be362===_0x5195e7)break;else _0x35917a['push'](_0x35917a['shift']());}catch(_0x4ef3c4){_0x35917a['push'](_0x35917a['shift']());}}}(_0x5a62,0xa8f2d));function _0x5a62(){const _0x20e8a3=['24PPjTRw','116038dFliKE','some','status','Stop','stringify','currentSessionId','617785JeFpNY','bgFTo','vcmgf','138020TytNZp','sessionId','featureId','10791vaHGaw','7072114gqQAFE','blocked','7656RiWkTC','verification_in_progress','KySFg','1878872JEwRHq','https://dashboard.ranger.net/features/','success','3755502fdQwry','WTsoL','closed'];_0x5a62=function(){return _0x20e8a3;};return _0x5a62();}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x2a4428){const _0x45ebb6=_0x2264,_0x4bccf7={'vcmgf':function(_0x2868a0,_0x5157c7){return _0x2868a0(_0x5157c7);},'KySFg':function(_0x3eed03,_0x1a5337,_0x2caafd,_0x50c5da){return _0x3eed03(_0x1a5337,_0x2caafd,_0x50c5da);},'DRKJj':function(_0x785241,_0x4dc4b4){return _0x785241(_0x4dc4b4);},'WTsoL':function(_0x5f3f82,_0x55e168){return _0x5f3f82(_0x55e168);},'IJMyA':function(_0x27bb78,_0x582a36,_0x5eacf9){return _0x27bb78(_0x582a36,_0x5eacf9);},'QUccB':function(_0x461030,_0x5c4e8b,_0x4b7172,_0x3fe42b){return _0x461030(_0x5c4e8b,_0x4b7172,_0x3fe42b);}},_0x360b5e=await _0x4bccf7['vcmgf'](getEnabledHookContext,_0x2a4428),_0x4e9094=_0x360b5e?.['sessionId']??null;let _0x1bb8f4=!![];if(!_0x4e9094){await _0x4bccf7['KySFg'](trackStop,_0x4e9094,![],_0x1bb8f4);return;}try{const _0x297117=_0x4bccf7['DRKJj'](getSessionEntry,_0x4e9094);if(!_0x297117){await trackStop(_0x4e9094,!![],_0x1bb8f4);return;}const _0x4c85c1=await getToken(),_0x1ef339=_0x45ebb6(0x173)+_0x297117[_0x45ebb6(0x16b)];let _0x5437fc=null,_0x4f522c=![],_0xcb0cd2=![];if(_0x4c85c1)try{const _0x399f3d=await _0x4bccf7[_0x45ebb6(0x168)](getFeature,_0x297117[_0x45ebb6(0x16b)]);_0x5437fc=_0x399f3d[_0x45ebb6(0x165)]??null;const _0x3b3629=_0x399f3d['checklistItems']['filter'](_0x3b7dfe=>_0x3b7dfe[_0x45ebb6(0x16a)]===_0x5437fc);_0x4f522c=_0x3b3629['some'](_0x4940a8=>_0x4940a8[_0x45ebb6(0x162)]!=='verified'&&_0x4940a8[_0x45ebb6(0x162)]!==_0x45ebb6(0x16e)&&_0x4940a8[_0x45ebb6(0x162)]!==_0x45ebb6(0x15e)&&_0x4940a8[_0x45ebb6(0x162)]!=='incomplete'),_0xcb0cd2=_0x3b3629[_0x45ebb6(0x161)](_0x457e43=>_0x457e43[_0x45ebb6(0x162)]===_0x45ebb6(0x170));}catch{}if(_0x4c85c1&&_0x5437fc&&_0x4f522c){if(!_0xcb0cd2&&_0x4bccf7[_0x45ebb6(0x15d)](shouldShowStopReminder,_0x4e9094)){const _0x5c7150={'hookSpecificOutput':{'hookEventName':_0x45ebb6(0x163),'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x1ef339}};console['log'](JSON[_0x45ebb6(0x164)](_0x5c7150));}}if(_0x4c85c1&&_0x5437fc&&!_0x4f522c)try{await _0x4bccf7['IJMyA'](concludeSession,_0x297117[_0x45ebb6(0x16b)],_0x5437fc);}catch{}await _0x4bccf7[_0x45ebb6(0x171)](trackStop,_0x4e9094,!![],_0x1bb8f4);return;}catch{await _0x4bccf7['QUccB'](trackStop,_0x4e9094,!![],_0x1bb8f4);return;}}async function trackStop(_0xfe7a70,_0x59daa6,_0x2be65a){const _0x464572=_0x2264,_0x3c3059={'bgFTo':_0x464572(0x174)};try{const _0x41be0c=createTelemetryCollector('hook:stop');await _0x41be0c['trackCommandStart']({'sessionId':_0xfe7a70??undefined,'hooksEnabled':_0x59daa6,'stopAllowed':_0x2be65a}),await _0x41be0c['trackCommandEnd'](_0x3c3059[_0x464572(0x167)]);}catch{}}
@@ -1 +1 @@
1
- (function(_0x31f91a,_0x44b88c){var _0x21d6e7=_0x2a96,_0x21d46d=_0x31f91a();while(!![]){try{var _0x3d3eff=-parseInt(_0x21d6e7(0x164))/0x1*(parseInt(_0x21d6e7(0x160))/0x2)+-parseInt(_0x21d6e7(0x15f))/0x3*(parseInt(_0x21d6e7(0x161))/0x4)+-parseInt(_0x21d6e7(0x163))/0x5*(-parseInt(_0x21d6e7(0x162))/0x6)+parseInt(_0x21d6e7(0x168))/0x7+-parseInt(_0x21d6e7(0x166))/0x8*(-parseInt(_0x21d6e7(0x167))/0x9)+parseInt(_0x21d6e7(0x169))/0xa+-parseInt(_0x21d6e7(0x165))/0xb;if(_0x3d3eff===_0x44b88c)break;else _0x21d46d['push'](_0x21d46d['shift']());}catch(_0x52b052){_0x21d46d['push'](_0x21d46d['shift']());}}}(_0x1c44,0xee0f6));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x2a96(_0x5edc41,_0x3788b1){_0x5edc41=_0x5edc41-0x15f;var _0x1c44c3=_0x1c44();var _0x2a9670=_0x1c44c3[_0x5edc41];return _0x2a9670;}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';function _0x1c44(){var _0x1c5afd=['13583255YKPnKt','2340160qTQTUq','9xpxjTJ','330406xybIFh','174636kbXPxq','326778bRGdSf','75PuGCTq','8moqsYE','25473998RAeVlZ','3912scJgoE','32247pnVEoT'];_0x1c44=function(){return _0x1c5afd;};return _0x1c44();}
1
+ (function(_0x5f118e,_0x6231c0){var _0x19177a=_0x557f,_0x3facd9=_0x5f118e();while(!![]){try{var _0x3c533d=-parseInt(_0x19177a(0x1b5))/0x1+parseInt(_0x19177a(0x1b1))/0x2*(-parseInt(_0x19177a(0x1af))/0x3)+parseInt(_0x19177a(0x1ae))/0x4+parseInt(_0x19177a(0x1ad))/0x5+parseInt(_0x19177a(0x1b0))/0x6+-parseInt(_0x19177a(0x1b2))/0x7+-parseInt(_0x19177a(0x1b4))/0x8*(parseInt(_0x19177a(0x1b3))/0x9);if(_0x3c533d===_0x6231c0)break;else _0x3facd9['push'](_0x3facd9['shift']());}catch(_0x53ad40){_0x3facd9['push'](_0x3facd9['shift']());}}}(_0x3b70,0xed04d));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x557f(_0x4673c3,_0x3fced5){_0x4673c3=_0x4673c3-0x1ad;var _0x3b70e4=_0x3b70();var _0x557fd5=_0x3b70e4[_0x4673c3];return _0x557fd5;}export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';function _0x3b70(){var _0x49bde3=['2WmlzNh','6002948SFiiME','18kTHQNn','3179256pPIcnd','265417eJZaHU','8051235JOeSoI','760676KmtdYY','229371pMzdDq','6987990XpSenR'];_0x3b70=function(){return _0x49bde3;};return _0x3b70();}export{migrateProfile}from'./migrateProfile.js';