@ranger-testing/ranger-cli 2.5.2 โ 2.5.4-alpha.071b7bd-1
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.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/package.json +1 -1
package/build/commands/clean.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x50f442=_0xf532;(function(_0x281094,_0x234084){const _0x303859=_0xf532,_0x4f4bcd=_0x281094();while(!![]){try{const _0x5993fd=parseInt(_0x303859(0x71))/0x1*(-parseInt(_0x303859(0x93))/0x2)+-parseInt(_0x303859(0x7a))/0x3*(parseInt(_0x303859(0x91))/0x4)+-parseInt(_0x303859(0x9f))/0x5+parseInt(_0x303859(0x8a))/0x6*(-parseInt(_0x303859(0x96))/0x7)+parseInt(_0x303859(0x8c))/0x8*(parseInt(_0x303859(0x88))/0x9)+-parseInt(_0x303859(0x98))/0xa+-parseInt(_0x303859(0x6c))/0xb*(-parseInt(_0x303859(0x7d))/0xc);if(_0x5993fd===_0x234084)break;else _0x4f4bcd['push'](_0x4f4bcd['shift']());}catch(_0x58d674){_0x4f4bcd['push'](_0x4f4bcd['shift']());}}}(_0x3962,0xb33b6));import{rm,readFile,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{spawn}from'child_process';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';import{getOpencodeConfigDir,getOpencodeSkillsDir}from'./utils/opencodeConfig.js';const skillsToRemove=['ranger',_0x50f442(0x9c),_0x50f442(0xa3),'e2e-test-recommender'],opencodePluginName='@ranger-testing/opencode-plugin';function parseJsonc(_0x13f608){const _0x25e230=_0x50f442,_0x2a4df7=_0x13f608['replace'](/\/\*[\s\S]*?\*\//g,''),_0x241e24=_0x2a4df7[_0x25e230(0x80)](/^\s*\/\/.*$/gm,''),_0x5deb2a=_0x241e24['replace'](/,\s*([}\]])/g,'$1');return JSON[_0x25e230(0x9e)](_0x5deb2a);}async function removeOpencodePluginConfig(_0xbddc47){const _0x15090e=_0x50f442,_0x3c5c68={'pUrWZ':function(_0xef401f,_0x227dbc){return _0xef401f!==_0x227dbc;},'hNesw':function(_0xb1dfab,_0x3d1eac){return _0xb1dfab(_0x3d1eac);},'PUeHb':function(_0x28bb2b,_0x2e3e92,_0xfc6b08){return _0x28bb2b(_0x2e3e92,_0xfc6b08);},'bbnMB':function(_0x424849,_0x5ea8fa){return _0x424849===_0x5ea8fa;},'jXtPd':function(_0x2101ec,_0x57de99){return _0x2101ec+_0x57de99;}};if(!_0x3c5c68['hNesw'](existsSync,_0xbddc47))return![];let _0x410694;try{const _0x4e68ed=await _0x3c5c68['PUeHb'](readFile,_0xbddc47,_0x15090e(0x70));_0x410694=parseJsonc(_0x4e68ed);}catch{return![];}const _0x57d46b=Array['isArray'](_0x410694['plugin'])?_0x410694['plugin']:[];if(_0x57d46b[_0x15090e(0xa1)]===0x0)return![];const _0x207aa2=_0x57d46b[_0x15090e(0x6f)](_0x5ecdb7=>{if(typeof _0x5ecdb7!=='string')return!![];return _0x3c5c68['pUrWZ'](_0x5ecdb7,opencodePluginName);});if(_0x3c5c68['bbnMB'](_0x207aa2[_0x15090e(0xa1)],_0x57d46b[_0x15090e(0xa1)]))return![];return _0x3c5c68['bbnMB'](_0x207aa2['length'],0x0)?delete _0x410694[_0x15090e(0x81)]:_0x410694['plugin']=_0x207aa2,await writeFile(_0xbddc47,_0x3c5c68[_0x15090e(0x7f)](JSON[_0x15090e(0x79)](_0x410694,null,0x2),'\x0a')),!![];}function _0x3962(){const _0x3ae22b=['platform','user','\x0a๐งน\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','fTKOB','dxcLj','stringify','73134NFZsXe','push','kVgqz','5232YVAhTh','ranger@trailhead','jXtPd','replace','plugin','cnRnw','uRkeR','error','VqzhE','โ\x20Removed\x20OpenCode\x20project\x20skill:\x20','RPxKL','114111DswFnU','โ\x20Removed\x20OpenCode\x20user\x20skill:\x20','88278WFiwuC','close','96auQODD','โ\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)','GKNzK','โ\x20Removed\x20project\x20skill:\x20','win32','72utgWtr','yJpFa','4RGchBo','pjkpk','EpMvR','98wSakUF','MmcYJ','10584740CFaDmE','log','VrQbY','oRAJO','feature-tracker','QntoF','parse','1097600ANBIDL','โ\x20Removed\x20OpenCode\x20plugin\x20(user\x20config)','length','SHeAE','bug-bash','pipe','bGwuD','project','73513IrnbIs','dbRWd','โ\x20Removed\x20.ranger/\x20directory','filter','utf-8','204511owOQHr','trailhead','OiWvS'];_0x3962=function(){return _0x3ae22b;};return _0x3962();}async function uninstallClaudePlugin(_0x17de73){const _0x19a278=_0x50f442,_0xdfe17e={'VrQbY':'uninstall','GKNzK':_0x19a278(0x7e),'VpmDY':'pipe','oRAJO':function(_0x54b5d4,_0x54529f){return _0x54b5d4===_0x54529f;},'OiWvS':'win32','dxcLj':_0x19a278(0x8b),'Szduf':_0x19a278(0x84)};return new Promise(_0x2ed9d7=>{const _0x2515ff=_0x19a278,_0x2c0372=[_0x2515ff(0x81),_0xdfe17e[_0x2515ff(0x9a)],_0xdfe17e[_0x2515ff(0x8e)]];_0x17de73&&_0x2c0372[_0x2515ff(0x7b)]('--scope',_0x17de73);const _0x518b5f=spawn('claude',_0x2c0372,{'stdio':_0xdfe17e['VpmDY'],'shell':_0xdfe17e[_0x2515ff(0x9b)](process[_0x2515ff(0x74)],_0xdfe17e[_0x2515ff(0x73)])});_0x518b5f['on'](_0xdfe17e[_0x2515ff(0x78)],_0x283b27=>{_0x2ed9d7(_0x283b27===0x0);}),_0x518b5f['on'](_0xdfe17e['Szduf'],()=>{_0x2ed9d7(![]);});});}async function removeMarketplace(){const _0x933b48=_0x50f442,_0x5300ae={'VKGPS':'claude','QntoF':'marketplace','qCCvG':_0x933b48(0xa4),'VqzhE':function(_0x5807d4,_0x1db918){return _0x5807d4===_0x1db918;}};return new Promise(_0x18b0b6=>{const _0x273e06=_0x933b48,_0x1ce8dc={'ACJgW':function(_0x204639,_0x30f25d){return _0x204639(_0x30f25d);}},_0x1d45e1=spawn(_0x5300ae['VKGPS'],[_0x273e06(0x81),_0x5300ae[_0x273e06(0x9d)],'remove',_0x273e06(0x72)],{'stdio':_0x5300ae['qCCvG'],'shell':_0x5300ae[_0x273e06(0x85)](process[_0x273e06(0x74)],_0x273e06(0x90))});_0x1d45e1['on'](_0x273e06(0x8b),_0xede181=>{_0x1ce8dc['ACJgW'](_0x18b0b6,_0xede181===0x0);}),_0x1d45e1['on'](_0x273e06(0x84),()=>{_0x18b0b6(![]);});});}function _0xf532(_0x4d6273,_0x2fb113){_0x4d6273=_0x4d6273-0x6a;const _0x3962f6=_0x3962();let _0xf5322d=_0x3962f6[_0x4d6273];return _0xf5322d;}export async function clean(){const _0x50d16c=_0x50f442,_0x5c9d37={'cnRnw':_0x50d16c(0x76),'skFka':function(_0x18a299){return _0x18a299();},'EpMvR':function(_0x4a5337,_0x368aa7){return _0x4a5337(_0x368aa7);},'SHeAE':function(_0x261ea4,_0x5992bb){return _0x261ea4(_0x5992bb);},'Gtefd':function(_0x156303,_0x5e9108){return _0x156303(_0x5e9108);},'fTKOB':function(_0x65da7d,_0x14378d,_0x4922fe){return _0x65da7d(_0x14378d,_0x4922fe);},'BbcfO':function(_0x5e8895,_0x5d6ded){return _0x5e8895(_0x5d6ded);},'uRkeR':function(_0x5add62,_0x32b32a,_0x376468){return _0x5add62(_0x32b32a,_0x376468);},'bGwuD':function(_0x433eb3,_0x41afd5,_0x2acf00){return _0x433eb3(_0x41afd5,_0x2acf00);},'MmcYJ':function(_0x1b69a8,_0x2990cd){return _0x1b69a8(_0x2990cd);},'yJpFa':_0x50d16c(0x6b),'IWabx':function(_0x5b11e7,_0x507bdd,_0x2ecf0a){return _0x5b11e7(_0x507bdd,_0x2ecf0a);},'PlOuw':function(_0x3b5b01,_0x42885a){return _0x3b5b01(_0x42885a);},'kcfhc':_0x50d16c(0x75),'bEImK':function(_0x397abd,_0x86ceff,_0x2d3565){return _0x397abd(_0x86ceff,_0x2d3565);},'pjkpk':function(_0x132b28,_0x52931f){return _0x132b28(_0x52931f);},'eLHZv':'opencode.json','SLxfd':'โ\x20Removed\x20OpenCode\x20plugin\x20(project\x20config)','dbRWd':function(_0x36cb80,_0x2c72b1,_0x38474b){return _0x36cb80(_0x2c72b1,_0x38474b);},'RPxKL':function(_0x1cd0d9){return _0x1cd0d9();},'kVgqz':'โ\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)'};console[_0x50d16c(0x99)](_0x5c9d37[_0x50d16c(0x82)]);let _0xe326fe=![];try{await _0x5c9d37['skFka'](deleteAllCredentials),console['log']('โ\x20Removed\x20stored\x20credentials'),_0xe326fe=!![];}catch{}const _0x1b88d7=_0x5c9d37['skFka'](getCacheFile);_0x5c9d37[_0x50d16c(0x95)](existsSync,_0x1b88d7)&&(await _0x5c9d37[_0x50d16c(0xa2)](rm,_0x1b88d7),_0xe326fe=!![]);const _0x599757=_0x5c9d37['skFka'](getRangerDir);_0x5c9d37['Gtefd'](existsSync,_0x599757)&&(await rm(_0x599757,{'recursive':!![]}),console['log'](_0x50d16c(0x6e)),_0xe326fe=!![]);const _0x25eb1b=_0x5c9d37['skFka'](getProjectSkillsDir);for(const _0x53a5c9 of skillsToRemove){const _0x435df4=_0x5c9d37[_0x50d16c(0x77)](join,_0x25eb1b,_0x53a5c9);_0x5c9d37['BbcfO'](existsSync,_0x435df4)&&(await _0x5c9d37['uRkeR'](rm,_0x435df4,{'recursive':!![]}),console[_0x50d16c(0x99)](_0x50d16c(0x8f)+_0x53a5c9),_0xe326fe=!![]);}const _0x1b2de0=getUserSkillsDir();for(const _0x4eb355 of skillsToRemove){const _0x2a04e2=_0x5c9d37[_0x50d16c(0x6a)](join,_0x1b2de0,_0x4eb355);existsSync(_0x2a04e2)&&(await _0x5c9d37[_0x50d16c(0x83)](rm,_0x2a04e2,{'recursive':!![]}),console['log']('โ\x20Removed\x20user\x20skill:\x20'+_0x4eb355),_0xe326fe=!![]);}const _0x1b4a31=_0x5c9d37[_0x50d16c(0x97)](getOpencodeSkillsDir,_0x5c9d37['yJpFa']);for(const _0x3803d7 of skillsToRemove){const _0xbc434f=join(_0x1b4a31,_0x3803d7);_0x5c9d37[_0x50d16c(0x95)](existsSync,_0xbc434f)&&(await _0x5c9d37['IWabx'](rm,_0xbc434f,{'recursive':!![]}),console[_0x50d16c(0x99)](_0x50d16c(0x86)+_0x3803d7),_0xe326fe=!![]);}const _0x47d2be=_0x5c9d37['PlOuw'](getOpencodeSkillsDir,_0x5c9d37['kcfhc']);for(const _0x5d9a8c of skillsToRemove){const _0x1d9f51=_0x5c9d37['uRkeR'](join,_0x47d2be,_0x5d9a8c);existsSync(_0x1d9f51)&&(await _0x5c9d37['bEImK'](rm,_0x1d9f51,{'recursive':!![]}),console['log'](_0x50d16c(0x89)+_0x5d9a8c),_0xe326fe=!![]);}const _0x256763=join(_0x5c9d37[_0x50d16c(0x94)](getOpencodeConfigDir,_0x5c9d37[_0x50d16c(0x92)]),_0x5c9d37['eLHZv']);await _0x5c9d37[_0x50d16c(0x95)](removeOpencodePluginConfig,_0x256763)&&(console[_0x50d16c(0x99)](_0x5c9d37['SLxfd']),_0xe326fe=!![]);const _0x32dba0=_0x5c9d37[_0x50d16c(0x6d)](join,getOpencodeConfigDir(_0x5c9d37['kcfhc']),_0x5c9d37['eLHZv']);await removeOpencodePluginConfig(_0x32dba0)&&(console['log'](_0x50d16c(0xa0)),_0xe326fe=!![]);const _0x48fd85=await _0x5c9d37[_0x50d16c(0x87)](uninstallClaudePlugin);_0x48fd85&&(console[_0x50d16c(0x99)](_0x5c9d37[_0x50d16c(0x7c)]),_0xe326fe=!![]);const _0x49f928=await uninstallClaudePlugin(_0x5c9d37[_0x50d16c(0x92)]);_0x49f928&&(console['log'](_0x50d16c(0x8d)),_0xe326fe=!![]);const _0x486ba9=await _0x5c9d37['skFka'](removeMarketplace);_0x486ba9&&(console[_0x50d16c(0x99)]('โ\x20Removed\x20trailhead\x20marketplace'),_0xe326fe=!![]),_0xe326fe?console[_0x50d16c(0x99)]('\x0aโ
\x20Cleanup\x20complete!\x0a'):console[_0x50d16c(0x99)]('Nothing\x20to\x20clean\x20up.\x0a');}
|
package/build/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x164f0d=_0x2c78;(function(_0x5639db,_0x5a255e){const _0x41b730=_0x2c78,_0x21e93b=_0x5639db();while(!![]){try{const _0x1a9059=-parseInt(_0x41b730(0xb4))/0x1+-parseInt(_0x41b730(0xb9))/0x2+-parseInt(_0x41b730(0xba))/0x3*(parseInt(_0x41b730(0xc5))/0x4)+-parseInt(_0x41b730(0xb8))/0x5+parseInt(_0x41b730(0xc2))/0x6*(-parseInt(_0x41b730(0xc6))/0x7)+parseInt(_0x41b730(0xbe))/0x8*(-parseInt(_0x41b730(0xcc))/0x9)+parseInt(_0x41b730(0xb6))/0xa;if(_0x1a9059===_0x5a255e)break;else _0x21e93b['push'](_0x21e93b['shift']());}catch(_0x3947f5){_0x21e93b['push'](_0x21e93b['shift']());}}}(_0x536b,0xe2ef0));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x164f0d(0xbb)];function parseValue(_0x29e788,_0x17df21){const _0x600c93=_0x164f0d,_0x21247e={'shTFV':function(_0x1e3f10,_0x5ef88a){return _0x1e3f10===_0x5ef88a;},'GjnFV':_0x600c93(0xce)};if(BOOLEAN_KEYS[_0x600c93(0xbd)](_0x29e788)){if(_0x21247e['shTFV'](_0x17df21,_0x21247e['GjnFV']))return!![];if(_0x21247e['shTFV'](_0x17df21,_0x600c93(0xc8)))return![];throw new Error('Invalid\x20value\x20for\x20'+_0x29e788+_0x600c93(0xc0));}return _0x17df21;}function _0x536b(){const _0x1a3705=['includes','1658744pnfffU','iBsRB',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','Epqwu','973374yLqABC','aUOLo','mgvhG','435980ObZvGU','7qDIFXj','\x22\x20not\x20found','false','wpFvP','IgVkJ','sills','45zKRdeC','pzZoU','true','log','383108icSXTK','\x22\x20does\x20not\x20exist.','51830060upoamA','Profile\x20\x22','1638910kXwyGj','3161374oGLGdB','21aFkgoK','allowInsecureLocalhost','stringify'];_0x536b=function(){return _0x1a3705;};return _0x536b();}export async function configSet(_0x368604,_0x452c78,_0x169095){const _0x5c1b55=_0x164f0d,_0x48df52={'uLDhn':function(_0xd7d6db,_0x3780a5){return _0xd7d6db(_0x3780a5);},'sills':function(_0x3eeb88,_0x539e0b,_0x4af94d){return _0x3eeb88(_0x539e0b,_0x4af94d);}},_0x119d15=_0x48df52['uLDhn'](getEnvDir,_0x368604);if(!_0x48df52['uLDhn'](existsSync,_0x119d15))throw new Error('Profile\x20\x22'+_0x368604+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x368604);const _0x47b066=await loadSettings(_0x368604),_0x1ddcda=parseValue(_0x452c78,_0x169095);setNestedValue(_0x47b066,_0x452c78,_0x1ddcda),await _0x48df52[_0x5c1b55(0xcb)](saveSettings,_0x368604,_0x47b066),console['log']('Set\x20'+_0x452c78+'\x20=\x20'+_0x1ddcda);}function _0x2c78(_0x5b595a,_0x3f3a2e){_0x5b595a=_0x5b595a-0xb4;const _0x536b1a=_0x536b();let _0x2c7814=_0x536b1a[_0x5b595a];return _0x2c7814;}export async function configGet(_0x12be01,_0x323b60){const _0x1cb8b0=_0x164f0d,_0x195d19={'fHNVm':function(_0x2a07f8,_0x4df760){return _0x2a07f8(_0x4df760);},'aUOLo':function(_0x3a7cbf,_0x48a9ef,_0x5bb8bf){return _0x3a7cbf(_0x48a9ef,_0x5bb8bf);},'OaFpV':function(_0x2d01eb,_0x344688){return _0x2d01eb===_0x344688;},'pzZoU':'object'},_0xcc09a=getEnvDir(_0x12be01);if(!_0x195d19['fHNVm'](existsSync,_0xcc09a))throw new Error(_0x1cb8b0(0xb7)+_0x12be01+'\x22\x20does\x20not\x20exist.');const _0x2bb471=await _0x195d19['fHNVm'](loadSettings,_0x12be01),_0x5ddace=_0x195d19[_0x1cb8b0(0xc3)](getNestedValue,_0x2bb471,_0x323b60);if(_0x5ddace===undefined)console[_0x1cb8b0(0xcf)]('(not\x20set)');else _0x195d19['OaFpV'](typeof _0x5ddace,_0x195d19[_0x1cb8b0(0xcd)])?console[_0x1cb8b0(0xcf)](JSON[_0x1cb8b0(0xbc)](_0x5ddace,null,0x2)):console[_0x1cb8b0(0xcf)](_0x5ddace);}export async function configList(_0x4e77de){const _0x4eca49=_0x164f0d,_0x2dc5a2={'IgVkJ':function(_0x385ec0,_0x7afed9){return _0x385ec0(_0x7afed9);},'mgvhG':function(_0x59c0d5,_0x9b51b){return _0x59c0d5(_0x9b51b);},'wpFvP':function(_0x2b2af2,_0x959b4c){return _0x2b2af2(_0x959b4c);}},_0x2f92a7=getSettingsPath(_0x4e77de);if(!_0x2dc5a2[_0x4eca49(0xca)](existsSync,_0x2f92a7)){const _0x32805d=_0x2dc5a2['IgVkJ'](getEnvDir,_0x4e77de);if(!_0x2dc5a2[_0x4eca49(0xc4)](existsSync,_0x32805d))throw new Error(_0x4eca49(0xb7)+_0x4e77de+_0x4eca49(0xb5));console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x4e77de+'\x22');return;}const _0x2e060c=await loadSettings(_0x4e77de),_0x341052=_0x2dc5a2[_0x4eca49(0xc9)](formatSettings,_0x2e060c);!_0x341052?console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x4e77de+'\x22'):console['log'](_0x341052);}export async function configUnset(_0x21095b,_0x3804cd){const _0x1f65b2=_0x164f0d,_0x25bede={'SPTPV':function(_0x4034d3,_0x258016){return _0x4034d3(_0x258016);},'iBsRB':function(_0x331ee8,_0x13fa6f){return _0x331ee8(_0x13fa6f);},'Epqwu':function(_0x5648db,_0x379b9c,_0x19a6ae){return _0x5648db(_0x379b9c,_0x19a6ae);}},_0x2610a0=_0x25bede['SPTPV'](getEnvDir,_0x21095b);if(!existsSync(_0x2610a0))throw new Error(_0x1f65b2(0xb7)+_0x21095b+_0x1f65b2(0xb5));const _0x3ea6d8=await _0x25bede[_0x1f65b2(0xbf)](loadSettings,_0x21095b),_0x45229f=_0x25bede[_0x1f65b2(0xc1)](deleteNestedValue,_0x3ea6d8,_0x3804cd);_0x45229f?(await _0x25bede['Epqwu'](saveSettings,_0x21095b,_0x3ea6d8),console[_0x1f65b2(0xcf)]('Removed\x20'+_0x3804cd)):console[_0x1f65b2(0xcf)]('Key\x20\x22'+_0x3804cd+_0x1f65b2(0xc7));}
|
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x54e0(){const _0x283e2f=['\x0aNo\x20profiles\x20found.','push','environmentDetails','dsurG','828YmaEAO','sort','includes','1250908EyVBcj','2907884PKUOqn','1036917BBkLXD','442SmcZBr','1384645IftQYH','gcjjz','tvSaL','679653DBrQGy','LQOfc','endsWith','legacy','1992528SiyDSD','log','UdEzO','isDirectory','sKODS','local','\x20\x20\x20\x20\x20\x20Details:\x20','startsWith','136kWpxgW','lqaOb'];_0x54e0=function(){return _0x283e2f;};return _0x54e0();}(function(_0x73ad11,_0x568c3b){const _0x57968c=_0x36ee,_0x519cbe=_0x73ad11();while(!![]){try{const _0x19d73b=-parseInt(_0x57968c(0x118))/0x1*(parseInt(_0x57968c(0x102))/0x2)+parseInt(_0x57968c(0x101))/0x3+parseInt(_0x57968c(0xff))/0x4+parseInt(_0x57968c(0x103))/0x5+parseInt(_0x57968c(0x10a))/0x6+parseInt(_0x57968c(0x100))/0x7+-parseInt(_0x57968c(0x112))/0x8*(parseInt(_0x57968c(0x106))/0x9);if(_0x19d73b===_0x568c3b)break;else _0x519cbe['push'](_0x519cbe['shift']());}catch(_0x334c2a){_0x519cbe['push'](_0x519cbe['shift']());}}}(_0x54e0,0x34bd2));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';function _0x36ee(_0x338b7d,_0xb51fee){_0x338b7d=_0x338b7d-0xfe;const _0x54e01f=_0x54e0();let _0x36ee43=_0x54e01f[_0x338b7d];return _0x36ee43;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions','bug-bashes','reports','local','ci'];export async function getEnvNames(){const _0x3cc883=_0x36ee,_0x140e96={'UdEzO':function(_0x365ceb,_0x57b81c){return _0x365ceb(_0x57b81c);},'sKODS':function(_0x472c31,_0x132a59,_0x1b9d14){return _0x472c31(_0x132a59,_0x1b9d14);},'LQOfc':function(_0x303330,_0x40d6dc,_0x433d01){return _0x303330(_0x40d6dc,_0x433d01);},'RcdPE':function(_0x40affa,_0x143559){return _0x40affa(_0x143559);},'tvSaL':function(_0xa6545e,_0x31d9e3){return _0xa6545e(_0x31d9e3);},'neSNy':'.txt','dsurG':_0x3cc883(0x109)},_0x5c7912=getRangerDir();if(!existsSync(_0x5c7912))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x335a55=await readActiveProfileName(),_0x33132c=[],_0x6dc533={},_0x2c4f96=join(_0x5c7912,_0x3cc883(0x10f));if(_0x140e96[_0x3cc883(0x10c)](existsSync,_0x2c4f96)){const _0x1705fb=await _0x140e96[_0x3cc883(0x10c)](readdir,_0x2c4f96);for(const _0x4a467c of _0x1705fb){const _0xe63c00=_0x140e96[_0x3cc883(0x10e)](join,_0x2c4f96,_0x4a467c),_0x582449=await _0x140e96['UdEzO'](stat,_0xe63c00);_0x582449[_0x3cc883(0x10d)]()&&(_0x33132c[_0x3cc883(0x115)](_0x4a467c),_0x6dc533[_0x4a467c]=_0x3cc883(0x10f));}}const _0x111882=_0x140e96[_0x3cc883(0x10e)](join,_0x5c7912,'ci');if(existsSync(_0x111882)){const _0x12aa30=await readdir(_0x111882);for(const _0x45372b of _0x12aa30){const _0x30b7cf=_0x140e96[_0x3cc883(0x107)](join,_0x111882,_0x45372b),_0x388912=await _0x140e96['RcdPE'](stat,_0x30b7cf);_0x388912[_0x3cc883(0x10d)]()&&(_0x33132c['push'](_0x45372b),_0x6dc533[_0x45372b]='ci');}}const _0x2ea542=await _0x140e96[_0x3cc883(0x105)](readdir,_0x5c7912);for(const _0xe7f11e of _0x2ea542){if(NON_ENV_DIRS['includes'](_0xe7f11e))continue;if(_0xe7f11e[_0x3cc883(0x111)]('.'))continue;if(_0xe7f11e[_0x3cc883(0x108)](_0x140e96['neSNy']))continue;const _0x52c424=_0x140e96[_0x3cc883(0x107)](join,_0x5c7912,_0xe7f11e),_0x206981=await stat(_0x52c424);_0x206981[_0x3cc883(0x10d)]()&&existsSync(join(_0x52c424,'settings.json'))&&(!_0x33132c[_0x3cc883(0xfe)](_0xe7f11e)&&(_0x33132c[_0x3cc883(0x115)](_0xe7f11e),_0x6dc533[_0xe7f11e]=_0x140e96[_0x3cc883(0x117)]));}return{'envNames':_0x33132c,'activeEnv':_0x335a55,'envTypes':_0x6dc533};}export async function envList(){const _0x5adc93=_0x36ee,_0x52febe={'gnMkE':function(_0x5ee696,_0x362552){return _0x5ee696===_0x362552;},'Ooeul':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','VMoWP':function(_0x55628e,_0x59757d){return _0x55628e===_0x59757d;},'gcjjz':_0x5adc93(0x10f),'lqaOb':function(_0x19886a,_0x174e74){return _0x19886a(_0x174e74);}},{envNames:_0x5a0874,activeEnv:_0x51fc8d,envTypes:_0x1f50fa}=await getEnvNames();if(_0x52febe['gnMkE'](_0x5a0874['length'],0x0)){console[_0x5adc93(0x10b)](_0x5adc93(0x114)),console[_0x5adc93(0x10b)](_0x52febe['Ooeul']);return;}console['log']('\x0aProfiles:');for(const _0x8c0428 of _0x5a0874[_0x5adc93(0x119)]()){const _0x589c7c=_0x52febe['VMoWP'](_0x8c0428,_0x51fc8d),_0x3eae2a=_0x1f50fa[_0x8c0428]||_0x52febe[_0x5adc93(0x104)],_0x173078=await _0x52febe[_0x5adc93(0x113)](loadSettings,_0x8c0428),_0x479ad7=_0x3eae2a===_0x5adc93(0x109)?'':'\x20['+_0x3eae2a+']';console['log']('\x20\x20'+(_0x589c7c?'*\x20':'\x20\x20')+_0x8c0428+_0x479ad7),_0x173078['baseUrl']&&console[_0x5adc93(0x10b)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x173078['baseUrl']),_0x173078['environmentDetails']&&console[_0x5adc93(0x10b)](_0x5adc93(0x110)+_0x173078[_0x5adc93(0x116)]);}_0x51fc8d&&console[_0x5adc93(0x10b)]('\x0a*\x20=\x20active\x20profile');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x302fd9=_0x2325;(function(_0x134cdd,_0x472bb8){const _0x32a180=_0x2325,_0x32366e=_0x134cdd();while(!![]){try{const _0x18254b=-parseInt(_0x32a180(0x28c))/0x1+parseInt(_0x32a180(0x2b4))/0x2+parseInt(_0x32a180(0x2c9))/0x3*(parseInt(_0x32a180(0x2b8))/0x4)+-parseInt(_0x32a180(0x261))/0x5+parseInt(_0x32a180(0x1f6))/0x6*(parseInt(_0x32a180(0x222))/0x7)+-parseInt(_0x32a180(0x2ba))/0x8*(-parseInt(_0x32a180(0x24d))/0x9)+parseInt(_0x32a180(0x27d))/0xa;if(_0x18254b===_0x472bb8)break;else _0x32366e['push'](_0x32366e['shift']());}catch(_0x3ef9cc){_0x32366e['push'](_0x32366e['shift']());}}}(_0x3c21,0xe8cce));import{readFile,writeFile,mkdir}from'fs/promises';function _0x3c21(){const _0x66dfe2=['/api/v1/mcp/browser-sessions/','\x0aโ\x20Invalid\x20scenario\x20index:\x20','\x20โ\x20no\x20comments','scenarios','THVlH','\x20\x20Expected\x20flow:','\x20of\x20','PbHTC','PFgUR','RNhvZ','RfnXY','SDBRc','unaddressedComments','\x20scenario(s).','27PoByCr','.md','join','OwASm','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','kQiec','status','SRfgc','kpfZZ','error','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','map','\x20scenarios.','iqfNw','toLocaleString','\x1b[0m','pJbGU','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','incomplete','verified','5713920PUAHDg','AuVla','trim','xGCmd','No\x20active\x20session\x20for\x20this\x20feature\x20review.','GsRJF','\x20incomplete','any','round','\x0aโ
\x20Resumed\x20feature\x20review:\x20','gitBranch','zVQPM','\x20\x20\x20\x20\x20๐\x20Annotation:\x20point\x20at\x20(','position','\x20at\x20[','pipe','shFQP','verificationInProgressItems','\x0aโ
\x20Report\x20generated:\x20','\x20\x20\x20Created:\x20','latestReview','SdXhM','scenario','toLocaleDateString','\x20\x20\x20Progress:\x20','canonicalFlow','completed','dRzBI','22185340oSURqR','\x20blocked','element','\x20--current-branch','HCDak','\x20feature\x20review(s)\x20found','Step\x20','blockedItems','type','dashboardUrl','lsNoz','utf-8','Current\x20session\x20not\x20found.','limit','CLAUDE_SESSION_ID','1881299zEpeqW','createdAt','git\x20remote\x20get-url\x20origin','screenshotUrls','\x0aโ ๏ธ\x20\x20','\x0a๐\x20Feedback\x20for:\x20','output','domRef','authorEmail','bftDv','browserSessionId','\x20\x20๐ฌ\x20','\x20\x20\x20Status:\x20','kHeuZ','checklistItems','UQScC','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','style','offset','write','filter','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','XRdRX','active-feature.txt','totalCount','\x20\x20\x20\x20\x20\x20Cancelled:\x20','isInteger','\x20\x20\x20Updated\x20branch\x20to:\x20','currentBranch','split','wHlBI','\x20\x20\x20ID:\x20','\x20>\x20','CUJJC','\x0aโ\x20All\x20scenarios\x20were\x20excluded.','exit','mdSpp','\x20\x20\x20\x20\x20๐ฏ\x20Element:\x20<','dpQWU','wlRgn','915892vZBmLO','pop','selector','name','1655164ktyche','sessionId','2077256fyljwo','stats','Bbzqf','oatVr','\x20\x20\x20Branch:\x20','\x0a๐\x20Sessions\x20for\x20feature\x20review:\x20','NJgLc','all','repeat','stdout','coordinates','KVKat','find','\x20\x20\x20Repository:\x20','textContent','3ZjkuYn','nEQCJ','\x1b[1m','canceledReason','eRMic','650346jHZNuK','short','log','\x20\x20\x20Completed:\x20','version','linkedSession','\x0aโก๏ธ\x20\x20Set\x20as\x20active\x20feature\x20review','dapjo','agentResponse','screenshot','toFixed','wrKUE','\x0aโ
\x20Scenario\x20added','/artifacts/','dSKwO','BAJYK','length','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','Wvtie','Cannot\x20conclude\x20session\x20with\x20status:\x20','assetType','pIhew','\x20\x20โ
\x20No\x20feedback\x20to\x20address','iurVr','blockedReason','FYBHM','replace','\x20\x20\x20\x20\x20๐\x20Annotation:\x20','description','trimEnd','spatial','\x0aโ\x20Invalid\x20scenario\x20number(s):\x20','jVKis','Showing\x20','\x0aโ\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','incompleteReason','feedback-images','warn','\x20\x20\x20\x20\x20๐\x20Selector:\x20','currentSessionId','completedAt','in_progress','env','assetUrl','7NBzdsC','\x0aโ\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','kwwnA','\x20[has\x20reviewer\x20feedback]','ukIrx','GLviq','\x20\x20\x20Description:\x20','pAwEB','\x0aโ
\x20Restored\x20feature\x20review:\x20','XojyL','gitRepoUrl','No\x20scenarios\x20found.','hNRDa','Unknown',':\x20\x22','\x0a๐๏ธ\x20\x20Deleted\x20feature\x20review:\x20','isTTY','AywlW','dhkIr','items','jYRZi','qGktc','Next\x20page:\x20ranger\x20list\x20--offset\x20','1|3|4|0|2|5','json','\x20verified','llcdm','\x0aAvailable\x20scenarios:','has'];_0x3c21=function(){return _0x66dfe2;};return _0x3c21();}import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5053a8 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE=_0x302fd9(0x2a3),bold=_0xf52ce7=>_0x302fd9(0x2cb)+_0xf52ce7+_0x302fd9(0x25c);function getGitRepoUrl(){const _0x50afad=_0x302fd9,_0x14786f={'kQiec':function(_0x201754,_0x39d272,_0x219971){return _0x201754(_0x39d272,_0x219971);},'PFgUR':'pipe'};try{const _0x5b38be=_0x14786f[_0x50afad(0x252)](execSync,_0x50afad(0x28e),{'encoding':'utf-8','stdio':[_0x14786f[_0x50afad(0x247)],_0x50afad(0x270),_0x14786f[_0x50afad(0x247)]]})['trim']();return _0x5b38be[_0x50afad(0x210)](/\.git$/,'')[_0x50afad(0x210)](/^git@github\.com:/,'github.com/')[_0x50afad(0x210)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x13c2b3=_0x302fd9,_0x704c81={'lgXih':_0x13c2b3(0x270)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':'utf-8','stdio':['pipe',_0x704c81['lgXih'],_0x704c81['lgXih']]})[_0x13c2b3(0x263)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x46420c=_0x302fd9,_0x29971c={'Bbzqf':function(_0x1e46ba){return _0x1e46ba();},'OAupU':function(_0x4b6b89,_0x40fc26,_0x18fcc4){return _0x4b6b89(_0x40fc26,_0x18fcc4);},'AfzmW':_0x46420c(0x288)},_0x47ecac=join(_0x29971c[_0x46420c(0x2bc)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x47ecac))return null;try{const _0x1437bf=await _0x29971c['OAupU'](readFile,_0x47ecac,_0x29971c['AfzmW']);return _0x1437bf['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x154b0f){const _0x1cc611=_0x302fd9,_0x43ff4e={'hNRDa':function(_0x133b0d){return _0x133b0d();},'jvIfc':function(_0x2a6b85,_0x2f5ba7,_0x55ef55){return _0x2a6b85(_0x2f5ba7,_0x55ef55);},'ukIrx':function(_0x3566f0,_0x4e0b99,_0x1e9f5f){return _0x3566f0(_0x4e0b99,_0x1e9f5f);},'xXdcX':function(_0x2c67e3,_0x4f879a,_0x310202,_0x2dcb9b){return _0x2c67e3(_0x4f879a,_0x310202,_0x2dcb9b);}},_0x4b69f9=_0x43ff4e[_0x1cc611(0x22e)](getRangerDir),_0x6f1c76=_0x43ff4e['jvIfc'](join,_0x4b69f9,ACTIVE_FEATURE_FILE);!existsSync(_0x4b69f9)&&await _0x43ff4e[_0x1cc611(0x226)](mkdir,_0x4b69f9,{'recursive':!![]}),await _0x43ff4e['xXdcX'](writeFile,_0x6f1c76,_0x154b0f,_0x1cc611(0x288));}function getProgressDisplay(_0x3e2da6){const _0x4026b3=_0x302fd9,_0xd840ac={'yQXzq':function(_0x25cf2e,_0x179263){return _0x25cf2e===_0x179263;},'QPuoi':function(_0x3a177e,_0x33beb4){return _0x3a177e+_0x33beb4;},'TwTnT':function(_0x231f90,_0x56b9ef){return _0x231f90>_0x56b9ef;}},_0x50d3b3=_0x3e2da6['verifiedItems']||0x0,_0xdee0d4=_0x3e2da6[_0x4026b3(0x272)]||0x0,_0x319c30=_0x3e2da6[_0x4026b3(0x284)]||0x0,_0xf63cc3=_0x3e2da6['incompleteItems']||0x0,_0x19c446=_0x3e2da6['pendingItems']||0x0,_0x50af05=_0x50d3b3+_0xdee0d4+_0x319c30+_0xf63cc3+_0x19c446;if(_0xd840ac['yQXzq'](_0x50af05,0x0))return'-';const _0x29ad2c=0xa,_0x3469c2=Math[_0x4026b3(0x269)](_0x50d3b3/_0x50af05*_0x29ad2c),_0x250ab3=_0xd840ac['QPuoi']('โ'[_0x4026b3(0x2c2)](_0x3469c2),'โ'[_0x4026b3(0x2c2)](_0x29ad2c-_0x3469c2)),_0x529bd1=[];if(_0xd840ac['TwTnT'](_0x319c30,0x0))_0x529bd1['push'](_0x319c30+_0x4026b3(0x27e));if(_0xf63cc3>0x0)_0x529bd1['push'](_0xf63cc3+_0x4026b3(0x267));if(_0xd840ac['TwTnT'](_0xdee0d4,0x0))_0x529bd1['push'](_0xdee0d4+'\x20in\x20progress');const _0x1735ef=_0xd840ac['TwTnT'](_0x529bd1['length'],0x0)?'\x20('+_0x529bd1['join'](',\x20')+')':'';return _0x250ab3+'\x20'+_0x50d3b3+'/'+_0x50af05+_0x4026b3(0x23b)+_0x1735ef;}function getCurrentSessionItems(_0x2959ad,_0x1a9f98){const _0x39ff75=_0x302fd9;if(!_0x2959ad[_0x39ff75(0x21d)])return _0x1a9f98['filter'](_0x275bac=>!_0x275bac[_0x39ff75(0x2b9)]);return _0x1a9f98['filter'](_0x2e64c1=>_0x2e64c1[_0x39ff75(0x2b9)]===_0x2959ad['currentSessionId']||!_0x2e64c1[_0x39ff75(0x2b9)]);}function displayFeature(_0x180ff3,_0x2a9fda){const _0x5a6338=_0x302fd9,_0x35ff7f={'OwASm':function(_0x507137,_0x4e0f25){return _0x507137>_0x4e0f25;},'selmm':'\x0a\x20\x20\x20Scenarios:','oatVr':'closed','dhkIr':function(_0x3188cb,_0x255a1c){return _0x3188cb===_0x255a1c;},'THVlH':function(_0x29e042,_0x31b23e){return _0x29e042===_0x31b23e;},'FfnWU':'blocked','lgZUR':function(_0x580c05,_0x549d8e){return _0x580c05!==_0x549d8e;},'eRMic':_0x5a6338(0x225),'jVKis':function(_0x5ab693,_0x5ce1c7){return _0x5ab693===_0x5ce1c7;}};console['log']('\x0a'+_0x180ff3[_0x5a6338(0x2b7)]+'\x20('+_0x180ff3['dashboardUrl']+')');_0x180ff3[_0x5a6338(0x2bb)]&&console[_0x5a6338(0x1f8)](_0x5a6338(0x279)+getProgressDisplay(_0x180ff3['stats']));_0x180ff3[_0x5a6338(0x212)]&&console[_0x5a6338(0x1f8)](_0x5a6338(0x228)+_0x180ff3['description']);_0x180ff3[_0x5a6338(0x22c)]&&console[_0x5a6338(0x1f8)](_0x5a6338(0x2c7)+_0x180ff3['gitRepoUrl']);_0x180ff3['gitBranch']&&console['log'](_0x5a6338(0x2be)+_0x180ff3['gitBranch']);console[_0x5a6338(0x1f8)]('\x20\x20\x20Created:\x20'+new Date(_0x180ff3['createdAt'])['toLocaleString']());_0x180ff3['completedAt']&&console['log'](_0x5a6338(0x1f9)+new Date(_0x180ff3['completedAt'])['toLocaleString']());if(_0x2a9fda&&_0x35ff7f['OwASm'](_0x2a9fda['length'],0x0)){console[_0x5a6338(0x1f8)](_0x35ff7f['selmm']);for(let _0x4b8962=0x0;_0x4b8962<_0x2a9fda[_0x5a6338(0x206)];_0x4b8962++){const _0x422a62=_0x2a9fda[_0x4b8962];let _0xa4fbb8;if(_0x422a62[_0x5a6338(0x253)]===_0x35ff7f[_0x5a6338(0x2bd)]&&_0x35ff7f[_0x5a6338(0x234)](_0x422a62['terminalReason'],'approved'))_0xa4fbb8='โ
';else{if(_0x35ff7f[_0x5a6338(0x243)](_0x422a62[_0x5a6338(0x253)],_0x5a6338(0x260)))_0xa4fbb8='๐ข';else{if(_0x422a62[_0x5a6338(0x253)]==='incomplete')_0xa4fbb8='๐ ';else{if(_0x422a62['status']===_0x35ff7f['FfnWU'])_0xa4fbb8='๐';else{if(_0x422a62[_0x5a6338(0x253)]===_0x35ff7f['oatVr'])_0xa4fbb8='โ';else _0x422a62['status']==='verification_in_progress'?_0xa4fbb8='โณ':_0xa4fbb8='โฌ';}}}}const _0x232de8=_0x35ff7f[_0x5a6338(0x250)](_0x422a62['version'],0x1)?'\x20(v'+_0x422a62['version']+')':'',_0x3abab5=_0x422a62[_0x5a6338(0x1fa)]>0x1&&_0x422a62['parentItemId']&&_0x35ff7f['lgZUR'](_0x422a62['status'],_0x35ff7f[_0x5a6338(0x2bd)])&&_0x422a62[_0x5a6338(0x253)]!==_0x5a6338(0x260)?_0x35ff7f[_0x5a6338(0x1f5)]:'';console[_0x5a6338(0x1f8)]('\x20\x20\x20'+(_0x4b8962+0x1)+'.\x20'+_0xa4fbb8+'\x20'+_0x422a62[_0x5a6338(0x212)]+_0x232de8+_0x3abab5);_0x35ff7f['THVlH'](_0x422a62[_0x5a6338(0x253)],'blocked')&&_0x422a62[_0x5a6338(0x20e)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x422a62[_0x5a6338(0x20e)]);_0x422a62['status']===_0x5a6338(0x25f)&&_0x422a62['incompleteReason']&&console[_0x5a6338(0x1f8)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x422a62[_0x5a6338(0x219)]);if(_0x35ff7f['THVlH'](_0x422a62[_0x5a6338(0x253)],_0x35ff7f['oatVr'])&&_0x35ff7f['dhkIr'](_0x422a62['terminalReason'],'approved'))console[_0x5a6338(0x1f8)]('\x20\x20\x20\x20\x20\x20Approved');else _0x35ff7f[_0x5a6338(0x216)](_0x422a62['status'],'closed')&&_0x422a62['canceledReason']&&console[_0x5a6338(0x1f8)](_0x5a6338(0x2a5)+_0x422a62['canceledReason']);}}}export async function featureCreate(_0x114132,_0x21fcf8){const _0x49f5b2=_0x302fd9,_0x1083bb={'RcPIi':function(_0x130660){return _0x130660();},'pIhew':function(_0x4a9099,_0x5c9a21){return _0x4a9099===_0x5c9a21;},'RfnXY':function(_0x51b5d4,_0x5aa7bc){return _0x51b5d4(_0x5aa7bc);},'qGktc':function(_0x48ac83){return _0x48ac83();},'KlliD':function(_0x285610,_0x4f2351){return _0x285610(_0x4f2351);},'RuwUO':function(_0x34ec36,_0xd39e0a,_0x1945a5){return _0x34ec36(_0xd39e0a,_0x1945a5);}},{envNames:_0x4b9393}=await _0x1083bb['RcPIi'](getEnvNames);_0x1083bb[_0x49f5b2(0x20b)](_0x4b9393['length'],0x0)&&console[_0x49f5b2(0x21b)]('\x0a'+_0x1083bb[_0x49f5b2(0x249)](formatProfileRequiredMessage,_0x27807f=>bold(_0x27807f)));const _0xe30fb0=_0x21fcf8['scenarios']?_0x21fcf8[_0x49f5b2(0x242)]['map'](_0x5aba9c=>_0x5aba9c[_0x49f5b2(0x263)]()):[],_0x395157=_0x1083bb[_0x49f5b2(0x237)](getGitRepoUrl),_0x43af98=getGitBranch();console[_0x49f5b2(0x1f8)]('\x0aCreating\x20feature\x20review...');const _0x2c2311=await _0x1083bb['KlliD'](createFeature,{'name':_0x114132,'description':_0x21fcf8['description'],'checklist':_0xe30fb0,'gitRepoUrl':_0x395157,'gitBranch':_0x43af98});await setActiveFeatureId(_0x2c2311['id']),await _0x1083bb['KlliD'](tryStartCurrentSession,_0x2c2311['id']);const _0x43f3a6=process['env'][_0x49f5b2(0x28b)];_0x43f3a6&®isterSession(_0x43f3a6,_0x2c2311['id']),console[_0x49f5b2(0x1f8)]('\x0aโ
\x20Feature\x20review\x20created:\x20'+_0x2c2311['id']),_0x1083bb['RuwUO'](displayFeature,_0x2c2311,_0x2c2311[_0x49f5b2(0x29a)]),console['log'](_0x49f5b2(0x1fc));}export async function featureList(_0x41d90c){const _0x2c9b47=_0x302fd9,_0x39458f={'uSFHN':function(_0x4fac0f){return _0x4fac0f();},'vuUiq':function(_0x2e94cf,_0x30004d){return _0x2e94cf(_0x30004d);},'GsRJF':function(_0x1c9537,_0x3fc442){return _0x1c9537===_0x3fc442;},'WBgnn':function(_0x54c233,_0xb5d361){return _0x54c233>_0xb5d361;},'IThgk':function(_0x49bdb7,_0x3540e6){return _0x49bdb7(_0x3540e6);},'zQjaJ':'\x20--include-deleted'},_0x20a7fc={'limit':_0x41d90c[_0x2c9b47(0x28a)]??0xa,'offset':_0x41d90c['offset']??0x0,'includeDeleted':_0x41d90c['includeDeleted']};_0x41d90c[_0x2c9b47(0x2a8)]&&(_0x20a7fc[_0x2c9b47(0x22c)]=_0x39458f['uSFHN'](getGitRepoUrl),_0x20a7fc[_0x2c9b47(0x26b)]=getGitBranch());const _0x2a396f=await _0x39458f['vuUiq'](listFeatures,_0x20a7fc);if(_0x39458f[_0x2c9b47(0x266)](_0x2a396f['items']['length'],0x0)){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x166e95=_0x39458f['WBgnn'](_0x2a396f['totalCount'],_0x2a396f['items'][_0x2c9b47(0x206)])?_0x2c9b47(0x217)+_0x2a396f[_0x2c9b47(0x235)]['length']+_0x2c9b47(0x245)+_0x2a396f[_0x2c9b47(0x2a4)]:_0x2a396f['totalCount']+_0x2c9b47(0x282);console['log']('\x0a'+_0x166e95+':\x0a');for(const _0x2060e7 of _0x2a396f['items']){const _0x800b84=_0x2c9b47(0x239)[_0x2c9b47(0x2a9)]('|');let _0x21559b=0x0;while(!![]){switch(_0x800b84[_0x21559b++]){case'0':_0x2060e7['gitBranch']&&console[_0x2c9b47(0x1f8)]('\x20\x20\x20Branch:\x20'+_0x2060e7['gitBranch']);continue;case'1':console['log'](''+_0x2060e7['name']);continue;case'2':console[_0x2c9b47(0x1f8)](_0x2c9b47(0x274)+new Date(_0x2060e7[_0x2c9b47(0x28d)])[_0x2c9b47(0x278)]());continue;case'3':console[_0x2c9b47(0x1f8)](_0x2c9b47(0x2ab)+_0x2060e7['id']);continue;case'4':_0x2060e7['stats']&&console['log'](_0x2c9b47(0x279)+_0x39458f['IThgk'](getProgressDisplay,_0x2060e7['stats']));continue;case'5':console['log']('');continue;}break;}}const _0xc7c64d=_0x20a7fc['limit']??0xa,_0x4b3537=(_0x20a7fc[_0x2c9b47(0x29e)]??0x0)+_0x2a396f['items']['length'];if(_0x4b3537<_0x2a396f[_0x2c9b47(0x2a4)]){const _0x3d789a=_0xc7c64d!==0xa?'\x20--limit\x20'+_0xc7c64d:'',_0x576e5d=_0x41d90c[_0x2c9b47(0x2a8)]?_0x2c9b47(0x280):'',_0x4cd646=_0x41d90c['includeDeleted']?_0x39458f['zQjaJ']:'';console[_0x2c9b47(0x1f8)](_0x2c9b47(0x238)+_0x4b3537+_0x3d789a+_0x576e5d+_0x4cd646);}}export async function featureShow(_0xb1ff50){const _0x38e770=_0x302fd9,_0x412ddd={'YpcEv':_0x38e770(0x2a1),'MIdvK':function(_0x4b4485,_0x199136){return _0x4b4485(_0x199136);}},_0x4ee5fb=_0xb1ff50||await getActiveFeatureId();if(!_0x4ee5fb)throw new Error(_0x412ddd['YpcEv']);const _0x1c998b=await _0x412ddd['MIdvK'](getFeature,_0x4ee5fb);displayFeature(_0x1c998b,_0x1c998b[_0x38e770(0x29a)]);}export async function featureResume(_0x3a5cd1){const _0x31dc61=_0x302fd9,_0x5556f7={'yHiEz':function(_0x17eabe){return _0x17eabe();},'ERwNj':function(_0x292ea2,_0x5be588,_0x52a51f){return _0x292ea2(_0x5be588,_0x52a51f);},'IGPZq':function(_0x269950,_0x19e675){return _0x269950(_0x19e675);},'OBOTf':'Not\x20in\x20a\x20git\x20repository.','FRVOf':function(_0x54c275,_0x1af825){return _0x54c275||_0x1af825;},'Wvtie':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','SRfgc':function(_0x1ac292,_0x3e8718){return _0x1ac292===_0x3e8718;},'dapjo':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','AuVla':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','PbHTC':function(_0x24e677,_0x14075b){return _0x24e677(_0x14075b);},'mdSpp':function(_0xe51489,_0x1f275d){return _0xe51489!==_0x1f275d;},'NJgLc':function(_0x30755c,_0x50dd81){return _0x30755c(_0x50dd81);}};if(_0x3a5cd1){const _0x1fd9b5=await getFeature(_0x3a5cd1);await setActiveFeatureId(_0x1fd9b5['id']);const _0x1110e5=_0x5556f7['yHiEz'](getGitBranch);_0x1110e5&&_0x1110e5!==_0x1fd9b5[_0x31dc61(0x26b)]&&(await _0x5556f7['ERwNj'](updateFeature,_0x1fd9b5['id'],{'gitBranch':_0x1110e5}),console[_0x31dc61(0x1f8)](_0x31dc61(0x2a7)+_0x1110e5));console[_0x31dc61(0x1f8)](_0x31dc61(0x26a)+_0x1fd9b5[_0x31dc61(0x2b7)]+'\x20('+_0x1fd9b5['id']+')'),await tryStartCurrentSession(_0x1fd9b5['id']);const _0x4d4ece=process['env']['CLAUDE_SESSION_ID'];_0x4d4ece&&_0x5556f7['ERwNj'](registerSession,_0x4d4ece,_0x1fd9b5['id']);displayFeature(_0x1fd9b5,_0x1fd9b5[_0x31dc61(0x29a)]),await _0x5556f7['IGPZq'](printFeedbackNudge,_0x1fd9b5['id']);return;}const _0x46b8f5=getGitRepoUrl(),_0x53414c=getGitBranch();if(!_0x46b8f5&&!_0x53414c)throw new Error(_0x5556f7['OBOTf']);console['log'](_0x31dc61(0x251)+_0x5556f7['FRVOf'](_0x46b8f5,'any')+'\x20/\x20'+(_0x53414c||_0x31dc61(0x268))+'...');const _0x262b84=await listFeatures({'gitRepoUrl':_0x46b8f5,'gitBranch':_0x53414c}),_0x16d439=_0x262b84['items']['filter'](_0x19d139=>_0x19d139['status']?_0x19d139['status']!=='verified':!_0x19d139['completedAt']);if(_0x16d439[_0x31dc61(0x206)]===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x5556f7[_0x31dc61(0x208)]);return;}let _0x55348e;if(_0x5556f7[_0x31dc61(0x254)](_0x16d439['length'],0x1))_0x55348e=_0x16d439[0x0];else{const _0x32c816=process['stdin'][_0x31dc61(0x232)]&&process[_0x31dc61(0x2c3)][_0x31dc61(0x232)];if(!_0x32c816){console[_0x31dc61(0x1f8)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4d0ade of _0x16d439){console[_0x31dc61(0x1f8)]('\x20\x20'+_0x4d0ade['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0x4d0ade['id']),_0x4d0ade['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4d0ade['stats'])),_0x4d0ade[_0x31dc61(0x26b)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x4d0ade['gitBranch']);}throw new Error(_0x5556f7[_0x31dc61(0x1fd)]);}const {selected:_0xd811c5}=await _0x5053a8['prompt']([{'type':'list','name':'selected','message':_0x5556f7[_0x31dc61(0x262)],'choices':_0x16d439['map'](_0x1aa6f3=>({'name':_0x1aa6f3[_0x31dc61(0x2b7)]+'\x20('+_0x1aa6f3['id']+')','value':_0x1aa6f3['id']}))}]);_0x55348e=_0x16d439['find'](_0x3370e3=>_0x3370e3['id']===_0xd811c5);}await _0x5556f7[_0x31dc61(0x246)](setActiveFeatureId,_0x55348e['id']);_0x53414c&&_0x5556f7[_0x31dc61(0x2b0)](_0x53414c,_0x55348e['gitBranch'])&&(await updateFeature(_0x55348e['id'],{'gitBranch':_0x53414c}),console[_0x31dc61(0x1f8)](_0x31dc61(0x2a7)+_0x53414c));console[_0x31dc61(0x1f8)]('\x0aโ
\x20Resumed\x20feature\x20review:\x20'+_0x55348e['name']+'\x20('+_0x55348e['id']+')'),await _0x5556f7[_0x31dc61(0x2c0)](tryStartCurrentSession,_0x55348e['id']);const _0x16fbcb=await getFeature(_0x55348e['id']),_0x101f64=process[_0x31dc61(0x220)]['CLAUDE_SESSION_ID'];_0x101f64&&_0x5556f7['ERwNj'](registerSession,_0x101f64,_0x16fbcb['id']),_0x5556f7['ERwNj'](displayFeature,_0x16fbcb,_0x16fbcb['checklistItems']),await printFeedbackNudge(_0x16fbcb['id']);}async function printFeedbackNudge(_0x26c882){const _0x3d32e0=_0x302fd9,_0x2dc10={'KVKat':function(_0x42350e,_0x2bd03e){return _0x42350e(_0x2bd03e);},'iqfNw':function(_0x510499,_0x2958fa){return _0x510499>_0x2958fa;},'dRzBI':_0x3d32e0(0x25e)};try{const {items:_0x2c7732}=await _0x2dc10[_0x3d32e0(0x2c5)](getActionItems,_0x26c882);let _0x52f1f6=0x0,_0x492bfd=0x0;for(const _0x281ae6 of _0x2c7732){const _0x3bdbde=await getItemFeedback(_0x26c882,_0x281ae6['id']);_0x2dc10[_0x3d32e0(0x25a)](_0x3bdbde[_0x3d32e0(0x24b)]['length'],0x0)&&(_0x52f1f6+=_0x3bdbde['unaddressedComments'][_0x3d32e0(0x206)],_0x492bfd++);}_0x52f1f6>0x0&&(console[_0x3d32e0(0x1f8)](_0x3d32e0(0x290)+_0x52f1f6+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x492bfd+_0x3d32e0(0x24c)),console['log'](_0x2dc10[_0x3d32e0(0x27c)]));}catch{}}async function tryStartCurrentSession(_0x1cabd6){const _0x26e84d=_0x302fd9,_0x160599={'SDBRc':function(_0x463034,_0x409348,_0x5375bc){return _0x463034(_0x409348,_0x5375bc);}};try{const {sessions:_0x23ef20}=await listFeatureSessions(_0x1cabd6),_0x3ae793=_0x23ef20[_0x26e84d(0x2c6)](_0xe017f7=>_0xe017f7[_0x26e84d(0x253)]==='ready');_0x3ae793&&(await _0x160599[_0x26e84d(0x24a)](startSession,_0x1cabd6,_0x3ae793['id']),console[_0x26e84d(0x1f8)]('\x20\x20\x20โถ๏ธ\x20Started\x20session\x20'+_0x3ae793['iteration']));}catch{}}export async function featureReport(_0x248f28,_0x16dac6){const _0x32e489=_0x302fd9,_0x19b755={'RrJiE':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','eANQA':function(_0x1328ea){return _0x1328ea();},'ltwvk':'reports','kJlxn':function(_0x1afa07,_0x41ed1b,_0x5ea0af){return _0x1afa07(_0x41ed1b,_0x5ea0af);},'GMfVZ':function(_0x2bb357,_0x575dc1){return _0x2bb357(_0x575dc1);},'kwwnA':function(_0x1c7227,_0x48085e,_0x297b53,_0x1cd35b){return _0x1c7227(_0x48085e,_0x297b53,_0x1cd35b);}},_0xc0f7fc=_0x248f28||await getActiveFeatureId();if(!_0xc0f7fc)throw new Error(_0x19b755['RrJiE']);console[_0x32e489(0x1f8)]('\x0aGenerating\x20report...');const _0x257674=await getFeatureReportMarkdown(_0xc0f7fc,{'style':_0x16dac6[_0x32e489(0x29d)]}),_0x5348b6=_0x16dac6[_0x32e489(0x292)]||join(_0x19b755['eANQA'](getRangerDir),_0x19b755['ltwvk'],_0xc0f7fc+_0x32e489(0x24e)),_0x1e99cf=_0x19b755['kJlxn'](join,_0x5348b6,'..');!_0x19b755['GMfVZ'](existsSync,_0x1e99cf)&&await mkdir(_0x1e99cf,{'recursive':!![]}),await _0x19b755[_0x32e489(0x224)](writeFile,_0x5348b6,_0x257674,'utf-8'),console['log'](_0x32e489(0x273)+_0x5348b6);}function getScenarioResult(_0x4602af){const _0x5cdd1e=_0x302fd9,_0x57d014={'kpfZZ':function(_0x59b65e,_0x2fb122){return _0x59b65e===_0x2fb122;},'SdXhM':function(_0x5da745,_0x4fbb0b){return _0x5da745===_0x4fbb0b;}};if(_0x57d014[_0x5cdd1e(0x255)](_0x4602af[_0x5cdd1e(0x253)],'closed'))return _0x4602af['terminalReason']??'closed';if(_0x57d014[_0x5cdd1e(0x276)](_0x4602af['status'],'verification_in_progress'))return _0x5cdd1e(0x21f);return _0x4602af['status'];}function getScenarioRationale(_0x348347,_0x458af3){const _0xf110f2=_0x302fd9;if(_0x458af3)return _0x458af3;if(_0x348347['blockedReason'])return _0x348347[_0xf110f2(0x20e)];if(_0x348347[_0xf110f2(0x219)])return _0x348347['incompleteReason'];if(_0x348347['canceledReason'])return _0x348347[_0xf110f2(0x1f4)];if(_0x348347['notes'])return _0x348347['notes'];return null;}export async function featureReportPrDescription(_0x3f9a3f,_0x46e63a){const _0x4b8bef=_0x302fd9,_0x3a2ebe={'eKmjA':function(_0x25e779,_0x10e8c1,_0x2d654e){return _0x25e779(_0x10e8c1,_0x2d654e);},'BAJYK':function(_0x1d8438,_0x3f74d1){return _0x1d8438===_0x3f74d1;},'zVQPM':_0x4b8bef(0x2ae)},_0x25c8ee=_0x3f9a3f||await getActiveFeatureId();if(!_0x25c8ee)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x515f39=await getFeature(_0x25c8ee),_0x5820e8=_0x515f39[_0x4b8bef(0x29a)]||[],_0x1f2e5e=_0x3a2ebe['eKmjA'](getCurrentSessionItems,_0x515f39,_0x5820e8);_0x1f2e5e['length']===0x0&&(console[_0x4b8bef(0x256)]('\x0aโ\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x23038c=_0x46e63a['excludeScenarios']??[],_0xeb2c5c=_0x23038c[_0x4b8bef(0x2a0)](_0x415c66=>!Number[_0x4b8bef(0x2a6)](_0x415c66)||_0x415c66<0x1||_0x415c66>_0x1f2e5e['length']);if(_0xeb2c5c['length']>0x0){console['error'](_0x4b8bef(0x215)+_0xeb2c5c['join'](',\x20')),console[_0x4b8bef(0x1f8)]('\x0aAvailable\x20scenarios:');for(let _0x2051d5=0x0;_0x2051d5<_0x1f2e5e[_0x4b8bef(0x206)];_0x2051d5++){console[_0x4b8bef(0x1f8)]('\x20\x20'+(_0x2051d5+0x1)+'.\x20'+_0x1f2e5e[_0x2051d5]['description']);}process[_0x4b8bef(0x2af)](0x1);}const _0x315b7f=new Set(_0x23038c['map'](_0x352bc9=>_0x352bc9-0x1)),_0x111c5f=_0x1f2e5e['filter']((_0x3c742e,_0x462bd0)=>!_0x315b7f[_0x4b8bef(0x23e)](_0x462bd0));_0x3a2ebe[_0x4b8bef(0x205)](_0x111c5f['length'],0x0)&&(console['error'](_0x3a2ebe[_0x4b8bef(0x26c)]),process[_0x4b8bef(0x2af)](0x1));if(_0x46e63a[_0x4b8bef(0x23a)])await outputJsonReport(_0x25c8ee,_0x515f39,_0x111c5f);else{const _0x34ff6e=await getFeatureReportMarkdown(_0x25c8ee,{'itemIds':_0x111c5f[_0x4b8bef(0x258)](_0x348b5b=>_0x348b5b['id'])});process['stdout'][_0x4b8bef(0x29f)](_0x34ff6e[_0x4b8bef(0x213)]()+'\x0a');}}async function outputJsonReport(_0x2b8261,_0x5b6520,_0x589bcf){const _0x3d974b=_0x302fd9,_0x15bea6={'lsNoz':function(_0xab0b11,_0x437000){return _0xab0b11(_0x437000);},'qVoxr':function(_0x1af1a1,_0x5dabc0){return _0x1af1a1+_0x5dabc0;}},_0x14f1fd=getApiBaseUrl(),_0x1a2442=await getFeatureReport(_0x2b8261),_0x4dcea5=new Map(_0x1a2442[_0x3d974b(0x29a)]['map'](_0x65ad3a=>[_0x65ad3a['id'],_0x65ad3a])),_0x451610=await Promise[_0x3d974b(0x2c1)](_0x589bcf['map'](async _0x5d885c=>{const _0x1d8c8c=_0x3d974b,_0x359caa=_0x4dcea5['get'](_0x5d885c['id']),_0x260fc7=_0x359caa?.[_0x1d8c8c(0x1fb)]??null;let _0x103a5e=[];if(_0x5d885c[_0x1d8c8c(0x296)])try{const {steps:_0x3d5593}=await getBrowserSessionSteps(_0x5d885c['browserSessionId']);_0x3d5593[_0x1d8c8c(0x206)]>0x0&&(_0x103a5e=_0x3d5593['map'](_0xe99f19=>{const _0x5b779c=_0x1d8c8c,_0x386e46=_0xe99f19['assets'][_0x5b779c(0x2c6)](_0x35bce5=>_0x35bce5['assetType']===_0x5b779c(0x1ff)&&_0x35bce5['timing']==='after')??_0xe99f19['assets']['find'](_0x356166=>_0x356166[_0x5b779c(0x20a)]===_0x5b779c(0x1ff));let _0xf0a209=null,_0x2200f0=null;if(_0x386e46){const _0x4e6a3b=_0x386e46['storage']['location']['split']('/')[_0x5b779c(0x2b5)]();_0xf0a209=_0x14f1fd+_0x5b779c(0x23f)+_0x5d885c['browserSessionId']+_0x5b779c(0x203)+_0x4e6a3b,_0x4e6a3b&&(_0x2200f0=_0x4e6a3b[_0x5b779c(0x210)](/\.\w+$/,'')[_0x5b779c(0x210)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x2200f0||_0xe99f19['description']||_0xe99f19['stepName']||_0x5b779c(0x283)+_0xe99f19[_0x5b779c(0x26e)],'screenshot':_0xf0a209,'is_key_step':_0xe99f19['isKeyStep']};}));}catch{}return _0x103a5e[_0x1d8c8c(0x206)]===0x0&&_0x260fc7?.['screenshotUrls']&&(_0x103a5e=_0x260fc7[_0x1d8c8c(0x28f)][_0x1d8c8c(0x258)]((_0x26c797,_0x12c0b8)=>({'description':'Screenshot\x20'+(_0x12c0b8+0x1),'screenshot':_0x26c797,'is_key_step':![]}))),{'description':_0x5d885c['description'],'result':_0x15bea6[_0x1d8c8c(0x287)](getScenarioResult,_0x5d885c),'rationale':getScenarioRationale(_0x5d885c,_0x260fc7?.[_0x1d8c8c(0x1fe)]),'steps':_0x103a5e};})),_0x2dfefb={'url':_0x5b6520[_0x3d974b(0x286)],'scenarios':_0x451610};process[_0x3d974b(0x2c3)][_0x3d974b(0x29f)](_0x15bea6['qVoxr'](JSON['stringify'](_0x2dfefb,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x3c07b9){const _0x4db102=_0x302fd9,_0x11feca={'llcdm':function(_0x5c7ff7){return _0x5c7ff7();},'XRdRX':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','QlpgH':_0x4db102(0x265),'iurVr':function(_0x262a8c,_0x35ed5d){return _0x262a8c(_0x35ed5d);},'pJbGU':_0x4db102(0x289),'dSKwO':function(_0x5b8e5a,_0x3ca6cd){return _0x5b8e5a===_0x3ca6cd;},'wXxvD':_0x4db102(0x27b),'OAynC':'in_progress','CUJJC':'\x0aConcluding\x20session...','wrKUE':function(_0x20e816,_0x2106da,_0x50399f){return _0x20e816(_0x2106da,_0x50399f);}},_0x2ed829=_0x3c07b9||await _0x11feca[_0x4db102(0x23c)](getActiveFeatureId);if(!_0x2ed829)throw new Error(_0x11feca[_0x4db102(0x2a2)]);const _0x38cde0=await getFeature(_0x2ed829);if(!_0x38cde0[_0x4db102(0x21d)])throw new Error(_0x11feca['QlpgH']);const {sessions:_0x305db9}=await _0x11feca[_0x4db102(0x20d)](listFeatureSessions,_0x2ed829),_0xe94cb6=_0x305db9['find'](_0x419054=>_0x419054['id']===_0x38cde0['currentSessionId']);if(!_0xe94cb6)throw new Error(_0x11feca[_0x4db102(0x25d)]);if(_0x11feca[_0x4db102(0x204)](_0xe94cb6['status'],_0x11feca['wXxvD'])){console['log']('\x0aโ
\x20Session\x20is\x20already\x20completed.');return;}if(_0xe94cb6[_0x4db102(0x253)]!==_0x11feca['OAynC'])throw new Error(_0x4db102(0x209)+_0xe94cb6['status']);console[_0x4db102(0x1f8)](_0x11feca[_0x4db102(0x2ad)]),await _0x11feca[_0x4db102(0x201)](concludeSession,_0x2ed829,_0x38cde0[_0x4db102(0x21d)]),console[_0x4db102(0x1f8)]('\x0aโ
\x20Session\x20'+_0xe94cb6['iteration']+'\x20concluded.'),console['log'](_0x4db102(0x29c));}export async function featureSessions(_0x1c52b9){const _0x1d413e=_0x302fd9,_0x528c61={'jRKFG':function(_0x152270,_0x4f9c1d){return _0x152270(_0x4f9c1d);},'kHeuZ':function(_0x4f0fbd,_0x22a464){return _0x4f0fbd===_0x22a464;},'nEQCJ':'completed'},_0x19fd8c=_0x1c52b9||await getActiveFeatureId();if(!_0x19fd8c)throw new Error(_0x1d413e(0x257));const _0x5a1338=await _0x528c61['jRKFG'](getFeature,_0x19fd8c);console['log'](_0x1d413e(0x2bf)+_0x5a1338[_0x1d413e(0x2b7)]+'\x0a');const {sessions:_0x4b7b94}=await _0x528c61['jRKFG'](listFeatureSessions,_0x19fd8c);if(_0x4b7b94[_0x1d413e(0x206)]===0x0){console['log']('No\x20sessions\x20found.');return;}for(const _0x12a662 of _0x4b7b94){const _0x2c8a40=_0x528c61[_0x1d413e(0x299)](_0x12a662['status'],_0x528c61[_0x1d413e(0x2ca)])?'โ
':_0x12a662['status']==='in_progress'?'๐':'โถ๏ธ';console['log'](_0x2c8a40+'\x20Session\x20'+_0x12a662['iteration']+'\x20('+_0x12a662['id']+')'),console['log'](_0x1d413e(0x298)+_0x12a662['status']),console[_0x1d413e(0x1f8)]('\x20\x20\x20Created:\x20'+new Date(_0x12a662['createdAt'])[_0x1d413e(0x25b)]()),_0x12a662['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x12a662[_0x1d413e(0x21e)])['toLocaleString']()),console[_0x1d413e(0x1f8)]('');}}export async function featureAddScenario(_0xff3516,_0x522596){const _0x32fc60=_0x302fd9,_0x128084={'WUvBC':function(_0x11abf7){return _0x11abf7();},'bftDv':_0x32fc60(0x2a1)},_0x2c8b1f=_0x522596||await _0x128084['WUvBC'](getActiveFeatureId);if(!_0x2c8b1f)throw new Error(_0x128084[_0x32fc60(0x295)]);const _0x5189a0=await getFeature(_0x2c8b1f);if(_0x5189a0['latestReview']&&!_0x5189a0['latestReview']['submittedAt'])throw new Error(_0x32fc60(0x207)+_0x5189a0['dashboardUrl']);await createChecklistItem(_0x2c8b1f,_0xff3516);const _0x18c647=await getFeature(_0x2c8b1f);console[_0x32fc60(0x1f8)](_0x32fc60(0x202)),displayFeature(_0x18c647,_0x18c647['checklistItems']);}export async function featureEditScenario(_0xc48507,_0xd8d213){const _0x3f6548=_0x302fd9,_0x2e424e={'qbsjc':function(_0x2fcc43){return _0x2fcc43();},'xGCmd':function(_0x9322,_0x1d9eef){return _0x9322(_0x1d9eef);},'xdlTK':_0x3f6548(0x223),'gAwtd':'\x0aโ\x20No\x20scenarios\x20found\x20to\x20edit.','FYBHM':function(_0x59c008,_0x216fd5){return _0x59c008===_0x216fd5;},'XojyL':function(_0x49a778,_0x5f0388){return _0x49a778-_0x5f0388;},'NbcJt':_0x3f6548(0x23d),'wHlBI':function(_0x4dada0,_0x578fc3){return _0x4dada0+_0x578fc3;}},_0x36e844=_0xd8d213['id']||await _0x2e424e['qbsjc'](getActiveFeatureId);!_0x36e844&&(console[_0x3f6548(0x256)](_0x3f6548(0x218)),console[_0x3f6548(0x256)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x3f6548(0x2af)](0x1));const _0x4692ed=await _0x2e424e[_0x3f6548(0x264)](getFeature,_0x36e844);_0x4692ed[_0x3f6548(0x275)]&&!_0x4692ed[_0x3f6548(0x275)]['submittedAt']&&(console[_0x3f6548(0x256)](_0x2e424e['xdlTK']),console[_0x3f6548(0x256)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x3f6548(0x256)]('\x20\x20'+_0x4692ed[_0x3f6548(0x286)]),process['exit'](0x1));const _0x17de6e=_0x4692ed[_0x3f6548(0x29a)]||[];_0x17de6e[_0x3f6548(0x206)]===0x0&&(console['error'](_0x2e424e['gAwtd']),process['exit'](0x1));if(_0x2e424e[_0x3f6548(0x20f)](_0xd8d213[_0x3f6548(0x277)],undefined)){console['error']('\x0aโ\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x3f6548(0x23d));for(let _0x2cb214=0x0;_0x2cb214<_0x17de6e['length'];_0x2cb214++){console['log']('\x20\x20'+(_0x2cb214+0x1)+'.\x20'+_0x17de6e[_0x2cb214][_0x3f6548(0x212)]);}process[_0x3f6548(0x2af)](0x1);}const _0x3bd48a=_0x2e424e[_0x3f6548(0x22b)](_0xd8d213['scenario'],0x1);if(_0x3bd48a<0x0||_0x3bd48a>=_0x17de6e['length']){console[_0x3f6548(0x256)](_0x3f6548(0x240)+_0xd8d213[_0x3f6548(0x277)]+'.\x20Feature\x20review\x20has\x20'+_0x17de6e['length']+_0x3f6548(0x259)),console['log'](_0x2e424e['NbcJt']);for(let _0x240daf=0x0;_0x240daf<_0x17de6e['length'];_0x240daf++){console[_0x3f6548(0x1f8)]('\x20\x20'+_0x2e424e[_0x3f6548(0x2aa)](_0x240daf,0x1)+'.\x20'+_0x17de6e[_0x240daf]['description']);}process[_0x3f6548(0x2af)](0x1);}const _0x3cbcd7=_0x17de6e[_0x3bd48a];await updateChecklistItem(_0x36e844,_0x3cbcd7['id'],{'description':_0xc48507});const _0x4cd8de=await getFeature(_0x36e844);console['log']('\x0aโ
\x20Scenario\x20updated'),displayFeature(_0x4cd8de,_0x4cd8de['checklistItems']);}async function downloadFeedbackImage(_0x1a68dd,_0x15d208){const _0x525bec=_0x302fd9,_0x263775={'GLviq':function(_0x1b2952,_0x3b879e,_0x648c46){return _0x1b2952(_0x3b879e,_0x648c46);},'OloOp':function(_0x20d068){return _0x20d068();},'RNhvZ':_0x525bec(0x21a),'shFQP':function(_0x488c88,_0x4d12ca){return _0x488c88(_0x4d12ca);}};try{const _0xfaf4f1=_0x263775['GLviq'](join,_0x263775['OloOp'](getRangerDir),_0x263775[_0x525bec(0x248)]);await _0x263775[_0x525bec(0x227)](mkdir,_0xfaf4f1,{'recursive':!![]});const _0x50a2d5=join(_0xfaf4f1,'comment_'+_0x15d208+'.png'),_0xc30079=await _0x263775[_0x525bec(0x271)](fetch,_0x1a68dd);if(!_0xc30079['ok'])return null;const _0x11df3c=Buffer['from'](await _0xc30079['arrayBuffer']());return await writeFile(_0x50a2d5,_0x11df3c),_0x50a2d5;}catch{return null;}}export async function featureGetReview(_0x3c55a0){const _0xaba81c=_0x302fd9,_0x31054b={'xLBGx':function(_0x54ef73){return _0x54ef73();},'HCDak':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','FsLEB':function(_0xcefc5,_0x33cc63){return _0xcefc5(_0x33cc63);},'dpQWU':function(_0x26f618,_0x5c9378){return _0x26f618>_0x5c9378;},'pAwEB':function(_0x2c9ede,_0x27475b){return _0x2c9ede+_0x27475b;},'uhRdO':'numeric','jYRZi':_0xaba81c(0x22f),'AywlW':function(_0x4bc692,_0x1bb2cb,_0x88a283){return _0x4bc692(_0x1bb2cb,_0x88a283);},'UQScC':function(_0x2fd29a,_0x5dfee7){return _0x2fd29a===_0x5dfee7;},'wlRgn':'point'},_0x5e8587=_0x3c55a0||await _0x31054b['xLBGx'](getActiveFeatureId);if(!_0x5e8587)throw new Error(_0x31054b[_0xaba81c(0x281)]);const _0x11bdc2=await _0x31054b['FsLEB'](getFeature,_0x5e8587),{items:_0x258b53}=await getActionItems(_0x5e8587);console[_0xaba81c(0x1f8)](_0xaba81c(0x291)+_0x11bdc2[_0xaba81c(0x2b7)]+'\x20('+_0x11bdc2['id']+')\x0a');if(_0x258b53['length']===0x0){console[_0xaba81c(0x1f8)](_0xaba81c(0x22d));return;}for(let _0x5d600e=0x0;_0x5d600e<_0x258b53[_0xaba81c(0x206)];_0x5d600e++){const _0x55d908=_0x258b53[_0x5d600e],_0x25073f=_0x55d908['version']>0x1?'\x20(v'+_0x55d908[_0xaba81c(0x1fa)]+')':'',_0x104cac=await getItemFeedback(_0x5e8587,_0x55d908['id']);if(_0x31054b[_0xaba81c(0x2b2)](_0x104cac['unaddressedComments'][_0xaba81c(0x206)],0x0)){console['log']('Scenario\x20'+_0x31054b[_0xaba81c(0x229)](_0x5d600e,0x1)+':\x20\x22'+_0x55d908['description']+'\x22'+_0x25073f+'\x20โ\x20'+_0x104cac[_0xaba81c(0x24b)]['length']+'\x20unaddressed\x20comment(s)');for(const _0xca3470 of _0x104cac['unaddressedComments']){const _0x22f0a0=new Date(_0xca3470['createdAt'])['toLocaleDateString']('en-US',{'month':_0xaba81c(0x1f7),'day':_0x31054b['uhRdO']}),_0x4713f2=_0xca3470['authorName']||_0xca3470[_0xaba81c(0x294)]||_0x31054b[_0xaba81c(0x236)];console['log'](_0xaba81c(0x297)+_0x4713f2+'\x20('+_0x22f0a0+'):\x20\x22'+_0xca3470['content']+'\x22');if(_0xca3470[_0xaba81c(0x221)]){const _0x12967a=await _0x31054b[_0xaba81c(0x233)](downloadFeedbackImage,_0xca3470['assetUrl'],_0xca3470['id']);_0x12967a&&console[_0xaba81c(0x1f8)]('\x20\x20\x20\x20\x20๐ท\x20Screenshot:\x20'+_0x12967a);}if(_0xca3470['domRef']){const _0x1aece4=_0xca3470['domRef']['selector']['split'](_0xaba81c(0x2ac))['pop']()?.[_0xaba81c(0x2a9)](':')[0x0]||_0xaba81c(0x27f),_0x583e58=_0xca3470[_0xaba81c(0x293)]['textContent']?'\x20\x22'+_0xca3470['domRef'][_0xaba81c(0x2c8)]['slice'](0x0,0x3c)+'\x22':'';console[_0xaba81c(0x1f8)](_0xaba81c(0x2b1)+_0x1aece4+'>'+_0x583e58),console['log'](_0xaba81c(0x21c)+_0xca3470[_0xaba81c(0x293)][_0xaba81c(0x2b6)]);}else{if(_0xca3470[_0xaba81c(0x214)]){const _0x176cba=_0xca3470['spatial'][_0xaba81c(0x2c4)];_0x31054b[_0xaba81c(0x29b)](_0xca3470[_0xaba81c(0x214)]['type'],_0x31054b[_0xaba81c(0x2b3)])&&_0x176cba[_0xaba81c(0x206)]>=0x2?console[_0xaba81c(0x1f8)](_0xaba81c(0x26d)+_0x176cba[0x0]['toFixed'](0x2)+',\x20'+_0x176cba[0x1]['toFixed'](0x2)+')'):console['log'](_0xaba81c(0x211)+_0xca3470[_0xaba81c(0x214)][_0xaba81c(0x285)]+_0xaba81c(0x26f)+_0x176cba['map'](_0x1ae843=>_0x1ae843[_0xaba81c(0x200)](0x2))[_0xaba81c(0x24f)](',\x20')+']');}}}if(_0x104cac[_0xaba81c(0x27a)]){console[_0xaba81c(0x1f8)](_0xaba81c(0x244));for(const _0x165140 of _0x104cac[_0xaba81c(0x27a)][_0xaba81c(0x2a9)]('\x0a')){console[_0xaba81c(0x1f8)]('\x20\x20\x20\x20'+_0x165140);}}}else console['log']('Scenario\x20'+(_0x5d600e+0x1)+_0xaba81c(0x230)+_0x55d908[_0xaba81c(0x212)]+'\x22'+_0x25073f+_0xaba81c(0x241)),console[_0xaba81c(0x1f8)](_0xaba81c(0x20c));console['log']('');}}function _0x2325(_0x10cb2a,_0x2fc9e4){_0x10cb2a=_0x10cb2a-0x1f4;const _0x3c21f3=_0x3c21();let _0x23251d=_0x3c21f3[_0x10cb2a];return _0x23251d;}export async function featureDelete(_0x54c853){const _0x5ef539=_0x302fd9,_0x2db804={'NIyPg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x1def5c=_0x54c853||await getActiveFeatureId();if(!_0x1def5c)throw new Error(_0x2db804['NIyPg']);const _0x35f72b=await getFeature(_0x1def5c);await softDeleteFeature(_0x1def5c),console[_0x5ef539(0x1f8)](_0x5ef539(0x231)+_0x35f72b[_0x5ef539(0x2b7)]+'\x20('+_0x1def5c+')'),console[_0x5ef539(0x1f8)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x1def5c);}export async function featureRestore(_0x32dd0e){const _0x461fb1=_0x302fd9,_0xd7f2e7={'iXLOY':function(_0xfd744b,_0x3e3272){return _0xfd744b(_0x3e3272);},'zvxFN':function(_0x5353cc,_0x389d50,_0x23030f){return _0x5353cc(_0x389d50,_0x23030f);}};await _0xd7f2e7['iXLOY'](restoreFeature,_0x32dd0e);const _0x36db66=await _0xd7f2e7['iXLOY'](getFeature,_0x32dd0e);console[_0x461fb1(0x1f8)](_0x461fb1(0x22a)+_0x36db66[_0x461fb1(0x2b7)]+'\x20('+_0x32dd0e+')'),_0xd7f2e7['zvxFN'](displayFeature,_0x36db66,_0x36db66[_0x461fb1(0x29a)]);}
|
|
1
|
+
const _0x2869d5=_0x55af;(function(_0x3fbd5f,_0x1a2413){const _0x432a1e=_0x55af,_0x71d089=_0x3fbd5f();while(!![]){try{const _0x4c18c2=-parseInt(_0x432a1e(0x18a))/0x1*(parseInt(_0x432a1e(0x19c))/0x2)+-parseInt(_0x432a1e(0x18e))/0x3*(parseInt(_0x432a1e(0x116))/0x4)+-parseInt(_0x432a1e(0x10b))/0x5*(parseInt(_0x432a1e(0x10d))/0x6)+parseInt(_0x432a1e(0x11b))/0x7+-parseInt(_0x432a1e(0x143))/0x8*(-parseInt(_0x432a1e(0x1cb))/0x9)+-parseInt(_0x432a1e(0x159))/0xa*(parseInt(_0x432a1e(0x148))/0xb)+parseInt(_0x432a1e(0x16b))/0xc;if(_0x4c18c2===_0x1a2413)break;else _0x71d089['push'](_0x71d089['shift']());}catch(_0x3a9c45){_0x71d089['push'](_0x71d089['shift']());}}}(_0x3e43,0xd57b9));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5d8f24 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x41ed8e=>_0x2869d5(0x1c1)+_0x41ed8e+_0x2869d5(0x187);function getGitRepoUrl(){const _0x4df65e=_0x2869d5,_0x3e29da={'HFksl':'pipe'};try{const _0xac7d03=execSync(_0x4df65e(0x12e),{'encoding':'utf-8','stdio':[_0x3e29da['HFksl'],'pipe',_0x3e29da[_0x4df65e(0xfd)]]})[_0x4df65e(0x138)]();return _0xac7d03[_0x4df65e(0x166)](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x12b4ba=_0x2869d5,_0x2e9479={'wTHTg':'utf-8','JbkrB':_0x12b4ba(0x1a0)};try{return execSync(_0x12b4ba(0x140),{'encoding':_0x2e9479['wTHTg'],'stdio':[_0x2e9479[_0x12b4ba(0x17b)],_0x2e9479['JbkrB'],_0x12b4ba(0x1a0)]})[_0x12b4ba(0x138)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x223af6=_0x2869d5,_0x1c70b7={'CjRou':function(_0x10a0d8,_0x22ddbd,_0x10eec8){return _0x10a0d8(_0x22ddbd,_0x10eec8);},'JWmRo':function(_0x2f8278,_0x5ce917){return _0x2f8278(_0x5ce917);}},_0xaaed0a=_0x1c70b7[_0x223af6(0x118)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x1c70b7['JWmRo'](existsSync,_0xaaed0a))return null;try{const _0x1a7888=await readFile(_0xaaed0a,'utf-8');return _0x1a7888['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x251168){const _0x5a1302={'JVqRx':function(_0x1dbb86){return _0x1dbb86();},'eMfka':function(_0x398591,_0x203bcb){return _0x398591(_0x203bcb);}},_0x37312f=_0x5a1302['JVqRx'](getRangerDir),_0x2b87a8=join(_0x37312f,ACTIVE_FEATURE_FILE);!_0x5a1302['eMfka'](existsSync,_0x37312f)&&await mkdir(_0x37312f,{'recursive':!![]}),await writeFile(_0x2b87a8,_0x251168,'utf-8');}function getProgressDisplay(_0x4de442){const _0x21b62e=_0x2869d5,_0x1e589e={'GVdDq':function(_0x27fb94,_0x1328f9){return _0x27fb94===_0x1328f9;},'wNYOR':function(_0x2058bc,_0x2ee45c){return _0x2058bc*_0x2ee45c;},'Ngajw':function(_0x359a2c,_0x2e5af7){return _0x359a2c-_0x2e5af7;},'hLqxM':function(_0x2e6010,_0x1b651d){return _0x2e6010>_0x1b651d;}},_0x2366e0=_0x4de442['verifiedItems']||0x0,_0x279b25=_0x4de442['verificationInProgressItems']||0x0,_0x14e33d=_0x4de442['blockedItems']||0x0,_0x168903=_0x4de442['incompleteItems']||0x0,_0x2ae696=_0x4de442[_0x21b62e(0x182)]||0x0,_0x593b34=_0x2366e0+_0x279b25+_0x14e33d+_0x168903+_0x2ae696;if(_0x1e589e['GVdDq'](_0x593b34,0x0))return'-';const _0x23bdf9=0xa,_0x250975=Math[_0x21b62e(0x1c5)](_0x1e589e['wNYOR'](_0x2366e0/_0x593b34,_0x23bdf9)),_0x5d4931='โ'[_0x21b62e(0x1ae)](_0x250975)+'โ'[_0x21b62e(0x1ae)](_0x1e589e[_0x21b62e(0x15c)](_0x23bdf9,_0x250975)),_0xf0fdd2=[];if(_0x1e589e[_0x21b62e(0x129)](_0x14e33d,0x0))_0xf0fdd2[_0x21b62e(0x1b9)](_0x14e33d+'\x20blocked');if(_0x168903>0x0)_0xf0fdd2['push'](_0x168903+_0x21b62e(0x15b));if(_0x279b25>0x0)_0xf0fdd2[_0x21b62e(0x1b9)](_0x279b25+_0x21b62e(0x109));const _0xba038b=_0xf0fdd2[_0x21b62e(0x131)]>0x0?'\x20('+_0xf0fdd2[_0x21b62e(0x1a3)](',\x20')+')':'';return _0x5d4931+'\x20'+_0x2366e0+'/'+_0x593b34+_0x21b62e(0x105)+_0xba038b;}function _0x55af(_0x42b2c2,_0x503947){_0x42b2c2=_0x42b2c2-0xf9;const _0x3e435f=_0x3e43();let _0x55afe4=_0x3e435f[_0x42b2c2];return _0x55afe4;}function getCurrentSessionItems(_0x233504,_0x27a58c){const _0x3abf88=_0x2869d5;if(!_0x233504['currentSessionId'])return _0x27a58c[_0x3abf88(0x13b)](_0x3b859f=>!_0x3b859f['sessionId']);return _0x27a58c[_0x3abf88(0x13b)](_0x5c6dde=>_0x5c6dde[_0x3abf88(0x19f)]===_0x233504[_0x3abf88(0x181)]||!_0x5c6dde[_0x3abf88(0x19f)]);}function displayFeature(_0x9f1a01,_0x4db77a){const _0x562d44=_0x2869d5,_0x311e95={'VMRQY':function(_0x3d13c1,_0x4319b6){return _0x3d13c1>_0x4319b6;},'qwaJH':_0x562d44(0x119),'VtKlu':'approved','yChqE':function(_0x488fbd,_0x2c6e14){return _0x488fbd===_0x2c6e14;},'lzZBn':_0x562d44(0x192),'rXfaG':'closed','iqDxg':function(_0x2b036a,_0x45e22c){return _0x2b036a===_0x45e22c;},'RVMzV':function(_0x35a40a,_0x1988c3){return _0x35a40a>_0x1988c3;},'zIMWO':function(_0x20c184,_0x39a512){return _0x20c184!==_0x39a512;},'IhnYP':_0x562d44(0x111),'plheQ':function(_0x25c281,_0x20371b){return _0x25c281+_0x20371b;},'zFNVx':'blocked','CTkcW':function(_0x64a478,_0x540398){return _0x64a478===_0x540398;}};console['log']('\x0a'+_0x9f1a01['name']+'\x20('+_0x9f1a01[_0x562d44(0x126)]+')');_0x9f1a01[_0x562d44(0x178)]&&console[_0x562d44(0x17a)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x9f1a01[_0x562d44(0x178)]));_0x9f1a01[_0x562d44(0x191)]&&console[_0x562d44(0x17a)]('\x20\x20\x20Description:\x20'+_0x9f1a01['description']);_0x9f1a01['gitRepoUrl']&&console['log'](_0x562d44(0x1ac)+_0x9f1a01['gitRepoUrl']);_0x9f1a01['gitBranch']&&console[_0x562d44(0x17a)](_0x562d44(0x1a1)+_0x9f1a01['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x9f1a01[_0x562d44(0x196)])[_0x562d44(0x11d)]());_0x9f1a01[_0x562d44(0x1a2)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x9f1a01['completedAt'])[_0x562d44(0x11d)]());if(_0x4db77a&&_0x311e95[_0x562d44(0x12d)](_0x4db77a['length'],0x0)){console['log'](_0x311e95['qwaJH']);for(let _0x4c256e=0x0;_0x4c256e<_0x4db77a['length'];_0x4c256e++){const _0x18e966=_0x4db77a[_0x4c256e];let _0x57bb34;if(_0x18e966[_0x562d44(0x176)]===_0x562d44(0x189)&&_0x18e966[_0x562d44(0x163)]===_0x311e95['VtKlu'])_0x57bb34='โ
';else{if(_0x311e95['yChqE'](_0x18e966['status'],'verified'))_0x57bb34='๐ข';else{if(_0x18e966['status']===_0x311e95[_0x562d44(0x139)])_0x57bb34='๐ ';else{if(_0x18e966[_0x562d44(0x176)]==='blocked')_0x57bb34='๐';else{if(_0x18e966[_0x562d44(0x176)]===_0x311e95[_0x562d44(0x125)])_0x57bb34='โ';else _0x311e95[_0x562d44(0x12f)](_0x18e966[_0x562d44(0x176)],'verification_in_progress')?_0x57bb34='โณ':_0x57bb34='โฌ';}}}}const _0x25c628=_0x311e95['RVMzV'](_0x18e966[_0x562d44(0x1ce)],0x1)?_0x562d44(0x1c3)+_0x18e966['version']+')':'',_0x29dd96=_0x311e95[_0x562d44(0x12d)](_0x18e966['version'],0x1)&&_0x18e966[_0x562d44(0x132)]&&_0x311e95[_0x562d44(0x10e)](_0x18e966['status'],_0x311e95['rXfaG'])&&_0x311e95[_0x562d44(0x10e)](_0x18e966['status'],_0x311e95['IhnYP'])?_0x562d44(0x198):'';console[_0x562d44(0x17a)](_0x562d44(0x19b)+_0x311e95[_0x562d44(0x110)](_0x4c256e,0x1)+'.\x20'+_0x57bb34+'\x20'+_0x18e966[_0x562d44(0x191)]+_0x25c628+_0x29dd96);_0x18e966[_0x562d44(0x176)]===_0x311e95['zFNVx']&&_0x18e966[_0x562d44(0x193)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x18e966['blockedReason']);_0x18e966[_0x562d44(0x176)]==='incomplete'&&_0x18e966[_0x562d44(0x1b8)]&&console[_0x562d44(0x17a)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x18e966[_0x562d44(0x1b8)]);if(_0x18e966['status']==='closed'&&_0x311e95['CTkcW'](_0x18e966['terminalReason'],_0x311e95['VtKlu']))console[_0x562d44(0x17a)](_0x562d44(0x101));else _0x18e966['status']==='closed'&&_0x18e966[_0x562d44(0x173)]&&console[_0x562d44(0x17a)](_0x562d44(0x1b4)+_0x18e966[_0x562d44(0x173)]);}}}export async function featureCreate(_0x5e9ffb,_0x28ffa1){const _0x18f247=_0x2869d5,_0x2a2162={'YEqaT':function(_0x147275,_0x4fdb54){return _0x147275===_0x4fdb54;},'jwAjI':function(_0x166875){return _0x166875();},'LcOFS':function(_0x1d8826,_0x238f9c){return _0x1d8826(_0x238f9c);},'yhjAL':function(_0x42682a,_0x4ffc34){return _0x42682a(_0x4ffc34);},'SQZsr':function(_0x32978e,_0x4fbd85,_0xd77b8a){return _0x32978e(_0x4fbd85,_0xd77b8a);}},{envNames:_0x10e16c}=await getEnvNames();_0x2a2162['YEqaT'](_0x10e16c['length'],0x0)&&console[_0x18f247(0x14a)]('\x0a'+formatProfileRequiredMessage(_0x1b53eb=>bold(_0x1b53eb)));const _0x34ea4d=_0x28ffa1['scenarios']?_0x28ffa1['scenarios']['map'](_0x21640d=>_0x21640d[_0x18f247(0x138)]()):[],_0x2ef83f=_0x2a2162[_0x18f247(0xfe)](getGitRepoUrl),_0x3f0140=getGitBranch();console[_0x18f247(0x17a)]('\x0aCreating\x20feature\x20review...');const _0x319481=await createFeature({'name':_0x5e9ffb,'description':_0x28ffa1[_0x18f247(0x191)],'checklist':_0x34ea4d,'gitRepoUrl':_0x2ef83f,'gitBranch':_0x3f0140});await _0x2a2162[_0x18f247(0x10a)](setActiveFeatureId,_0x319481['id']),await _0x2a2162['yhjAL'](tryStartCurrentSession,_0x319481['id']);const _0x126264=process['env']['CLAUDE_SESSION_ID'];_0x126264&&_0x2a2162[_0x18f247(0x16d)](registerSession,_0x126264,_0x319481['id']),console['log']('\x0aโ
\x20Feature\x20review\x20created:\x20'+_0x319481['id']),displayFeature(_0x319481,_0x319481[_0x18f247(0x17f)]),console[_0x18f247(0x17a)](_0x18f247(0x18d));}export async function featureList(_0x364034){const _0x1cd867=_0x2869d5,_0x173b9a={'AJrph':function(_0xb7b8d1){return _0xb7b8d1();},'UeuoN':function(_0x1121c7,_0x66f297){return _0x1121c7(_0x66f297);},'scRaY':function(_0x40343f,_0x171025){return _0x40343f(_0x171025);},'mMLkw':function(_0x1b5a2f,_0xaff0f5){return _0x1b5a2f+_0xaff0f5;},'mCewH':_0x1cd867(0x188),'KMHSd':'\x20--include-deleted'},_0x281aaf={'limit':_0x364034['limit']??0xa,'offset':_0x364034['offset']??0x0,'includeDeleted':_0x364034['includeDeleted']};_0x364034[_0x1cd867(0x1bb)]&&(_0x281aaf[_0x1cd867(0x12b)]=_0x173b9a['AJrph'](getGitRepoUrl),_0x281aaf[_0x1cd867(0x199)]=getGitBranch());const _0x461a9e=await _0x173b9a['UeuoN'](listFeatures,_0x281aaf);if(_0x461a9e[_0x1cd867(0x1c8)][_0x1cd867(0x131)]===0x0){console[_0x1cd867(0x17a)](_0x1cd867(0x1b6));return;}const _0xb10365=_0x461a9e['totalCount']>_0x461a9e['items'][_0x1cd867(0x131)]?'Showing\x20'+_0x461a9e[_0x1cd867(0x1c8)][_0x1cd867(0x131)]+_0x1cd867(0x1b0)+_0x461a9e['totalCount']:_0x461a9e[_0x1cd867(0x122)]+'\x20feature\x20review(s)\x20found';console[_0x1cd867(0x17a)]('\x0a'+_0xb10365+':\x0a');for(const _0x12df7d of _0x461a9e['items']){console['log'](''+_0x12df7d['name']),console[_0x1cd867(0x17a)](_0x1cd867(0x1c9)+_0x12df7d['id']),_0x12df7d[_0x1cd867(0x178)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x173b9a[_0x1cd867(0x150)](getProgressDisplay,_0x12df7d[_0x1cd867(0x178)])),_0x12df7d['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x12df7d[_0x1cd867(0x199)]),console[_0x1cd867(0x17a)]('\x20\x20\x20Created:\x20'+new Date(_0x12df7d[_0x1cd867(0x196)])['toLocaleDateString']()),console['log']('');}const _0x785ccb=_0x281aaf[_0x1cd867(0x11f)]??0xa,_0x44ac77=_0x173b9a['mMLkw'](_0x281aaf['offset']??0x0,_0x461a9e['items']['length']);if(_0x44ac77<_0x461a9e['totalCount']){const _0x57aec9=_0x785ccb!==0xa?'\x20--limit\x20'+_0x785ccb:'',_0x7dbed4=_0x364034['currentBranch']?_0x173b9a[_0x1cd867(0x19d)]:'',_0x26ec17=_0x364034['includeDeleted']?_0x173b9a['KMHSd']:'';console[_0x1cd867(0x17a)](_0x1cd867(0x155)+_0x44ac77+_0x57aec9+_0x7dbed4+_0x26ec17);}}function _0x3e43(){const _0xd0c246=['\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','scRaY','\x0aโ\x20No\x20scenarios\x20found\x20to\x20edit.','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20\x20\x20\x20\x20Progress:\x20','NKznY','Next\x20page:\x20ranger\x20list\x20--offset\x20','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','json','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','2824560dUTKyz','\x0aโ\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20incomplete','Ngajw','peihP','\x20\x20โ
\x20No\x20feedback\x20to\x20address','completed','No\x20scenarios\x20found.','content','\x20โ\x20','terminalReason','Screenshot\x20','lQalh','replace','stepName','isTTY','stdout','4|5|0|1|3|2','35759064IujGFF','name','SQZsr','TWLDZ','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0a๐\x20Sessions\x20for\x20feature\x20review:\x20','\x0aAvailable\x20scenarios:','linkedSession','canceledReason','gBJZE','textContent','status','style','stats','isInteger','log','JbkrB','Rmkvf','numeric','PcxFg','checklistItems','exit','currentSessionId','pendingItems','tEgeD','/api/v1/mcp/browser-sessions/','IVgZD','\x0aโ
\x20Restored\x20feature\x20review:\x20','\x1b[0m','\x20--current-branch','closed','4177TKZmGQ','\x20\x20\x20\x20\x20๐ฏ\x20Element:\x20<','assetUrl','\x0aโก๏ธ\x20\x20Set\x20as\x20active\x20feature\x20review','11499HsrmiE','FXLNJ','toFixed','description','incomplete','blockedReason','ready','list','createdAt','in_progress','\x20[has\x20reviewer\x20feedback]','gitBranch','lRdGl','\x20\x20\x20','184pNPKxw','mCewH','CLAUDE_SESSION_ID','sessionId','pipe','\x20\x20\x20Branch:\x20','completedAt','join','KaLbF','latestReview','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x0aโ\x20All\x20scenarios\x20were\x20excluded.','\x0aโ\x20Invalid\x20scenario\x20number(s):\x20','env','all','DXEHn','\x20\x20\x20Repository:\x20','unaddressedComments','repeat','prompt','\x20of\x20','spatial','coordinates','npxkA','\x20\x20\x20\x20\x20\x20Cancelled:\x20','iteration','\x0aNo\x20feature\x20reviews\x20found.','timing','incompleteReason','push','\x0aโ
\x20Session\x20is\x20already\x20completed.','currentBranch','submittedAt','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20Session\x20','mWkRH','ruOyX','\x1b[1m','\x0aโ
\x20Scenario\x20updated','\x20(v','\x20at\x20[','round','MWUXw','\x20\x20\x20\x20\x20๐ท\x20Screenshot:\x20','items','\x20\x20\x20ID:\x20','split','11652714hXvuOd','Unknown','DCCDo','version','map','TbpQS','screenshotUrls','browserSessionId','\x0aโ
\x20Resumed\x20feature\x20review:\x20','ZXwon','\x20concluded.','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','HFksl','jwAjI','\x0a๐๏ธ\x20\x20Deleted\x20feature\x20review:\x20','iAIqc','\x20\x20\x20\x20\x20\x20Approved','cTWqN','\x20>\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20verified','AROtU','isKeyStep','\x20unaddressed\x20comment(s)','\x20in\x20progress','LcOFS','5760yxRLAe','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','7794mXGhLf','zIMWO',':\x20\x22','plheQ','verified','assets','frmPU','canonicalFlow','has','1352PQTeUT','IcHpD','CjRou','\x0a\x20\x20\x20Scenarios:','verification_in_progress','4363877xJVuLz','QKMuS','toLocaleString','find','limit','fDULb','\x20\x20\x20\x20\x20๐\x20Annotation:\x20','totalCount','GBodT','screenshot','rXfaG','dashboardUrl','AIChm','agentResponse','hLqxM','HWaKb','gitRepoUrl','JqAGs','VMRQY','git\x20remote\x20get-url\x20origin','iqDxg','selected','length','parentItemId','.\x20Feature\x20review\x20has\x20','.png','error','domRef','HOUJD','trim','lzZBn','snMtb','filter','POuRF','pop','write','feedback-images','git\x20rev-parse\x20--abbrev-ref\x20HEAD','reports','type','8HWGNap','scenario','assetType','\x20\x20\x20\x20\x20Branch:\x20','hOyEA','33mfhgVT','WXQQa','warn','excludeScenarios','\x20scenario(s).','\x20\x20\x20Created:\x20','UProH'];_0x3e43=function(){return _0xd0c246;};return _0x3e43();}export async function featureShow(_0x233ecb){const _0x1b606a=_0x2869d5,_0x3d89d2={'ccLlK':function(_0x33a678){return _0x33a678();},'bBfUC':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','iAIqc':function(_0x16c16b,_0x2ac89e,_0xabe666){return _0x16c16b(_0x2ac89e,_0xabe666);}},_0x2434eb=_0x233ecb||await _0x3d89d2['ccLlK'](getActiveFeatureId);if(!_0x2434eb)throw new Error(_0x3d89d2['bBfUC']);const _0x4ac840=await getFeature(_0x2434eb);_0x3d89d2[_0x1b606a(0x100)](displayFeature,_0x4ac840,_0x4ac840[_0x1b606a(0x17f)]);}export async function featureResume(_0x59fda9){const _0x31197c=_0x2869d5,_0x275a88={'DCCDo':function(_0x4fc529,_0x9d9c16){return _0x4fc529(_0x9d9c16);},'FXLNJ':function(_0x199856,_0x390192,_0x38e51a){return _0x199856(_0x390192,_0x38e51a);},'NKznY':function(_0x313c10,_0x5ae81e){return _0x313c10&&_0x5ae81e;},'mWkRH':'any','KOVjo':function(_0x576907,_0x4a1098){return _0x576907===_0x4a1098;},'ruOyX':_0x31197c(0x152),'SFQcc':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','MagCK':_0x31197c(0x158),'AilSl':_0x31197c(0x195),'BTzBB':_0x31197c(0x10c),'QKMuS':function(_0x4afb37,_0x133da5){return _0x4afb37(_0x133da5);}};if(_0x59fda9){const _0x35050c=await getFeature(_0x59fda9);await _0x275a88['DCCDo'](setActiveFeatureId,_0x35050c['id']);const _0x4d1cdc=getGitBranch();_0x4d1cdc&&_0x4d1cdc!==_0x35050c['gitBranch']&&(await updateFeature(_0x35050c['id'],{'gitBranch':_0x4d1cdc}),console[_0x31197c(0x17a)](_0x31197c(0x104)+_0x4d1cdc));console['log'](_0x31197c(0xf9)+_0x35050c[_0x31197c(0x16c)]+'\x20('+_0x35050c['id']+')'),await tryStartCurrentSession(_0x35050c['id']);const _0xb1935d=process[_0x31197c(0x1a9)][_0x31197c(0x19e)];_0xb1935d&®isterSession(_0xb1935d,_0x35050c['id']);_0x275a88[_0x31197c(0x18f)](displayFeature,_0x35050c,_0x35050c[_0x31197c(0x17f)]),await printFeedbackNudge(_0x35050c['id']);return;}const _0x5507db=getGitRepoUrl(),_0x51c0fa=getGitBranch();if(_0x275a88[_0x31197c(0x154)](!_0x5507db,!_0x51c0fa))throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x5507db||_0x275a88[_0x31197c(0x1bf)])+'\x20/\x20'+(_0x51c0fa||_0x275a88['mWkRH'])+'...');const _0x1073ef=await listFeatures({'gitRepoUrl':_0x5507db,'gitBranch':_0x51c0fa}),_0x1a069f=_0x1073ef[_0x31197c(0x1c8)][_0x31197c(0x13b)](_0x47a33f=>_0x47a33f['status']?_0x47a33f['status']!=='verified':!_0x47a33f[_0x31197c(0x1a2)]);if(_0x275a88['KOVjo'](_0x1a069f[_0x31197c(0x131)],0x0)){console['log'](_0x31197c(0xfc)),console['log'](_0x275a88[_0x31197c(0x1c0)]);return;}let _0x519cbe;if(_0x275a88['KOVjo'](_0x1a069f['length'],0x1))_0x519cbe=_0x1a069f[0x0];else{const _0x25f8df=process['stdin'][_0x31197c(0x168)]&&process['stdout']['isTTY'];if(!_0x25f8df){console['log'](_0x275a88['SFQcc']);for(const _0x2615f4 of _0x1a069f){console['log']('\x20\x20'+_0x2615f4['name']),console[_0x31197c(0x17a)]('\x20\x20\x20\x20\x20ID:\x20'+_0x2615f4['id']),_0x2615f4[_0x31197c(0x178)]&&console[_0x31197c(0x17a)](_0x31197c(0x153)+_0x275a88[_0x31197c(0x1cd)](getProgressDisplay,_0x2615f4['stats'])),_0x2615f4[_0x31197c(0x199)]&&console['log'](_0x31197c(0x146)+_0x2615f4['gitBranch']);}throw new Error(_0x275a88['MagCK']);}const {selected:_0x4691f3}=await _0x5d8f24[_0x31197c(0x1af)]([{'type':_0x275a88['AilSl'],'name':_0x31197c(0x130),'message':_0x275a88['BTzBB'],'choices':_0x1a069f[_0x31197c(0x1cf)](_0x5f4360=>({'name':_0x5f4360['name']+'\x20('+_0x5f4360['id']+')','value':_0x5f4360['id']}))}]);_0x519cbe=_0x1a069f['find'](_0x2711d6=>_0x2711d6['id']===_0x4691f3);}await setActiveFeatureId(_0x519cbe['id']);_0x51c0fa&&_0x51c0fa!==_0x519cbe['gitBranch']&&(await _0x275a88['FXLNJ'](updateFeature,_0x519cbe['id'],{'gitBranch':_0x51c0fa}),console[_0x31197c(0x17a)](_0x31197c(0x104)+_0x51c0fa));console['log'](_0x31197c(0xf9)+_0x519cbe['name']+'\x20('+_0x519cbe['id']+')'),await _0x275a88[_0x31197c(0x11c)](tryStartCurrentSession,_0x519cbe['id']);const _0x3d29f9=await _0x275a88[_0x31197c(0x1cd)](getFeature,_0x519cbe['id']),_0x1b86da=process[_0x31197c(0x1a9)]['CLAUDE_SESSION_ID'];_0x1b86da&&_0x275a88[_0x31197c(0x18f)](registerSession,_0x1b86da,_0x3d29f9['id']),displayFeature(_0x3d29f9,_0x3d29f9[_0x31197c(0x17f)]),await _0x275a88[_0x31197c(0x1cd)](printFeedbackNudge,_0x3d29f9['id']);}async function printFeedbackNudge(_0x3063ee){const _0x3cadb2=_0x2869d5,_0x7a8ce9={'MWUXw':function(_0x435c48,_0x3d1de5,_0x5e5ac1){return _0x435c48(_0x3d1de5,_0x5e5ac1);},'tZtrU':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x51c435}=await getActionItems(_0x3063ee);let _0x3d689f=0x0,_0xc7a149=0x0;for(const _0x50809f of _0x51c435){const _0x316f56=await _0x7a8ce9[_0x3cadb2(0x1c6)](getItemFeedback,_0x3063ee,_0x50809f['id']);_0x316f56[_0x3cadb2(0x1ad)][_0x3cadb2(0x131)]>0x0&&(_0x3d689f+=_0x316f56[_0x3cadb2(0x1ad)][_0x3cadb2(0x131)],_0xc7a149++);}_0x3d689f>0x0&&(console[_0x3cadb2(0x17a)]('\x0aโ ๏ธ\x20\x20'+_0x3d689f+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0xc7a149+_0x3cadb2(0x14c)),console['log'](_0x7a8ce9['tZtrU']));}catch{}}async function tryStartCurrentSession(_0x1cba69){const _0x257caf=_0x2869d5,_0x31c9a3={'IcHpD':function(_0x205205,_0x3e8370){return _0x205205(_0x3e8370);}};try{const {sessions:_0x5e556d}=await _0x31c9a3[_0x257caf(0x117)](listFeatureSessions,_0x1cba69),_0x11928c=_0x5e556d['find'](_0xbdd681=>_0xbdd681['status']===_0x257caf(0x194));_0x11928c&&(await startSession(_0x1cba69,_0x11928c['id']),console[_0x257caf(0x17a)]('\x20\x20\x20โถ๏ธ\x20Started\x20session\x20'+_0x11928c[_0x257caf(0x1b5)]));}catch{}}export async function featureReport(_0x59d711,_0x5dd53b){const _0x93de16=_0x2869d5,_0x35979c={'VQekv':function(_0x39b1b5){return _0x39b1b5();},'ZXwon':function(_0x258455,_0x1a57db,_0x338790){return _0x258455(_0x1a57db,_0x338790);},'RHPRl':function(_0x47abfa,_0x3de2ef,_0x576d88,_0x2cd1cd){return _0x47abfa(_0x3de2ef,_0x576d88,_0x2cd1cd);},'NFBhT':function(_0x223931,_0xb57ed3){return _0x223931(_0xb57ed3);},'gBJZE':function(_0x46534a,_0x19f08f,_0xa6378a,_0x47d6c1){return _0x46534a(_0x19f08f,_0xa6378a,_0x47d6c1);},'Ewslj':'utf-8'},_0x3069de=_0x59d711||await _0x35979c['VQekv'](getActiveFeatureId);if(!_0x3069de)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log']('\x0aGenerating\x20report...');const _0x59eb6c=await _0x35979c[_0x93de16(0xfa)](getFeatureReportMarkdown,_0x3069de,{'style':_0x5dd53b[_0x93de16(0x177)]}),_0x5f22db=_0x5dd53b['output']||_0x35979c['RHPRl'](join,getRangerDir(),_0x93de16(0x141),_0x3069de+'.md'),_0x451b6a=_0x35979c['ZXwon'](join,_0x5f22db,'..');!_0x35979c['NFBhT'](existsSync,_0x451b6a)&&await mkdir(_0x451b6a,{'recursive':!![]}),await _0x35979c[_0x93de16(0x174)](writeFile,_0x5f22db,_0x59eb6c,_0x35979c['Ewslj']),console[_0x93de16(0x17a)]('\x0aโ
\x20Report\x20generated:\x20'+_0x5f22db);}function getScenarioResult(_0x53d478){const _0x387c52=_0x2869d5,_0x34156b={'IVgZD':_0x387c52(0x189),'HOUJD':_0x387c52(0x11a)};if(_0x53d478['status']===_0x34156b[_0x387c52(0x185)])return _0x53d478['terminalReason']??_0x34156b[_0x387c52(0x185)];if(_0x53d478[_0x387c52(0x176)]===_0x34156b[_0x387c52(0x137)])return _0x387c52(0x197);return _0x53d478[_0x387c52(0x176)];}function getScenarioRationale(_0xf211f4,_0x269d57){const _0x551352=_0x2869d5,_0x435c13={'TbpQS':_0x551352(0x16a)},_0x31a9b3=_0x435c13[_0x551352(0x1d0)]['split']('|');let _0x234252=0x0;while(!![]){switch(_0x31a9b3[_0x234252++]){case'0':if(_0xf211f4[_0x551352(0x1b8)])return _0xf211f4[_0x551352(0x1b8)];continue;case'1':if(_0xf211f4[_0x551352(0x173)])return _0xf211f4['canceledReason'];continue;case'2':return null;case'3':if(_0xf211f4['notes'])return _0xf211f4['notes'];continue;case'4':if(_0x269d57)return _0x269d57;continue;case'5':if(_0xf211f4['blockedReason'])return _0xf211f4[_0x551352(0x193)];continue;}break;}}export async function featureReportPrDescription(_0x185889,_0x10cbc4){const _0x57e4cc=_0x2869d5,_0x59bda9={'xvNbP':_0x57e4cc(0x16f),'Rmkvf':'\x0aโ\x20No\x20scenarios\x20found\x20to\x20include.','lRdGl':function(_0x29987a,_0x4e117f,_0x2f151a,_0x5c12e1){return _0x29987a(_0x4e117f,_0x2f151a,_0x5c12e1);},'cTWqN':function(_0x3e4102,_0x223f61,_0xf4da6a){return _0x3e4102(_0x223f61,_0xf4da6a);}},_0x59bfec=_0x185889||await getActiveFeatureId();if(!_0x59bfec)throw new Error(_0x59bda9['xvNbP']);const _0x33689f=await getFeature(_0x59bfec),_0x3b7c23=_0x33689f['checklistItems']||[],_0x409188=getCurrentSessionItems(_0x33689f,_0x3b7c23);_0x409188[_0x57e4cc(0x131)]===0x0&&(console[_0x57e4cc(0x135)](_0x59bda9[_0x57e4cc(0x17c)]),process[_0x57e4cc(0x180)](0x1));const _0x5cddfd=_0x10cbc4[_0x57e4cc(0x14b)]??[],_0x8df020=_0x5cddfd[_0x57e4cc(0x13b)](_0xd10010=>!Number[_0x57e4cc(0x179)](_0xd10010)||_0xd10010<0x1||_0xd10010>_0x409188['length']);if(_0x8df020['length']>0x0){console['error'](_0x57e4cc(0x1a8)+_0x8df020['join'](',\x20')),console['log'](_0x57e4cc(0x171));for(let _0x7e6fd4=0x0;_0x7e6fd4<_0x409188[_0x57e4cc(0x131)];_0x7e6fd4++){console[_0x57e4cc(0x17a)]('\x20\x20'+(_0x7e6fd4+0x1)+'.\x20'+_0x409188[_0x7e6fd4]['description']);}process[_0x57e4cc(0x180)](0x1);}const _0x53f696=new Set(_0x5cddfd['map'](_0x4cbeea=>_0x4cbeea-0x1)),_0x3d8101=_0x409188['filter']((_0x3e1346,_0x5e7be6)=>!_0x53f696[_0x57e4cc(0x115)](_0x5e7be6));_0x3d8101['length']===0x0&&(console[_0x57e4cc(0x135)](_0x57e4cc(0x1a7)),process[_0x57e4cc(0x180)](0x1));if(_0x10cbc4[_0x57e4cc(0x157)])await _0x59bda9[_0x57e4cc(0x19a)](outputJsonReport,_0x59bfec,_0x33689f,_0x3d8101);else{const _0x41fdb1=await _0x59bda9[_0x57e4cc(0x102)](getFeatureReportMarkdown,_0x59bfec,{'itemIds':_0x3d8101[_0x57e4cc(0x1cf)](_0x5fe2b3=>_0x5fe2b3['id'])});process[_0x57e4cc(0x169)]['write'](_0x41fdb1['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x52aa30,_0x2aa4b2,_0x50377b){const _0x21637f=_0x2869d5,_0x81058c={'MTOoa':function(_0x456f48,_0x4190e8){return _0x456f48(_0x4190e8);},'aXaZl':function(_0x530d66){return _0x530d66();}},_0x5df406=_0x81058c['aXaZl'](getApiBaseUrl),_0x3113f9=await getFeatureReport(_0x52aa30),_0x22f0c4=new Map(_0x3113f9['checklistItems'][_0x21637f(0x1cf)](_0x5bc489=>[_0x5bc489['id'],_0x5bc489])),_0x440837=await Promise[_0x21637f(0x1aa)](_0x50377b['map'](async _0x14f7fb=>{const _0x4b962f=_0x21637f,_0xdc5f30=_0x22f0c4['get'](_0x14f7fb['id']),_0xd7692a=_0xdc5f30?.[_0x4b962f(0x172)]??null;let _0x356b73=[];if(_0x14f7fb['browserSessionId'])try{const {steps:_0x34aa9c}=await _0x81058c['MTOoa'](getBrowserSessionSteps,_0x14f7fb[_0x4b962f(0x1d2)]);_0x34aa9c[_0x4b962f(0x131)]>0x0&&(_0x356b73=_0x34aa9c[_0x4b962f(0x1cf)](_0x2892d0=>{const _0x2f9ca2=_0x4b962f,_0x45aaf4=_0x2892d0[_0x2f9ca2(0x112)]['find'](_0x35d35a=>_0x35d35a['assetType']===_0x2f9ca2(0x124)&&_0x35d35a[_0x2f9ca2(0x1b7)]==='after')??_0x2892d0[_0x2f9ca2(0x112)]['find'](_0x3ee229=>_0x3ee229[_0x2f9ca2(0x145)]==='screenshot');let _0xa5a808=null,_0xee45c1=null;if(_0x45aaf4){const _0x9087e6=_0x45aaf4['storage']['location'][_0x2f9ca2(0x1ca)]('/')[_0x2f9ca2(0x13d)]();_0xa5a808=_0x5df406+_0x2f9ca2(0x184)+_0x14f7fb['browserSessionId']+'/artifacts/'+_0x9087e6,_0x9087e6&&(_0xee45c1=_0x9087e6['replace'](/\.\w+$/,'')[_0x2f9ca2(0x166)](/^(key_)?\d+_/,'')[_0x2f9ca2(0x166)](/[-_]/g,'\x20'));}return{'description':_0xee45c1||_0x2892d0[_0x2f9ca2(0x191)]||_0x2892d0[_0x2f9ca2(0x167)]||'Step\x20'+_0x2892d0['position'],'screenshot':_0xa5a808,'is_key_step':_0x2892d0[_0x2f9ca2(0x107)]};}));}catch{}return _0x356b73[_0x4b962f(0x131)]===0x0&&_0xd7692a?.['screenshotUrls']&&(_0x356b73=_0xd7692a[_0x4b962f(0x1d1)]['map']((_0x4a8a70,_0xda45fa)=>({'description':_0x4b962f(0x164)+(_0xda45fa+0x1),'screenshot':_0x4a8a70,'is_key_step':![]}))),{'description':_0x14f7fb[_0x4b962f(0x191)],'result':getScenarioResult(_0x14f7fb),'rationale':getScenarioRationale(_0x14f7fb,_0xd7692a?.[_0x4b962f(0x128)]),'steps':_0x356b73};})),_0x5a0ce7={'url':_0x2aa4b2[_0x21637f(0x126)],'scenarios':_0x440837};process['stdout'][_0x21637f(0x13e)](JSON['stringify'](_0x5a0ce7,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x33c43c){const _0x43c955=_0x2869d5,_0x3b3ce3={'tEgeD':function(_0x4ad32e){return _0x4ad32e();},'frmPU':_0x43c955(0x1bd),'kDFAi':function(_0x308a95,_0x1f8eb1){return _0x308a95(_0x1f8eb1);},'Ogcej':'Current\x20session\x20not\x20found.','YdcFI':_0x43c955(0x1ba),'wiEus':function(_0x183bc4,_0x62df8f){return _0x183bc4!==_0x62df8f;},'IjiAH':'\x0aConcluding\x20session...','QgYuF':function(_0x82c5f,_0x20e9c7,_0xfdfb2a){return _0x82c5f(_0x20e9c7,_0xfdfb2a);}},_0x4be9c0=_0x33c43c||await _0x3b3ce3[_0x43c955(0x183)](getActiveFeatureId);if(!_0x4be9c0)throw new Error(_0x3b3ce3[_0x43c955(0x113)]);const _0x2caab2=await getFeature(_0x4be9c0);if(!_0x2caab2[_0x43c955(0x181)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x20e1a6}=await _0x3b3ce3['kDFAi'](listFeatureSessions,_0x4be9c0),_0x586516=_0x20e1a6[_0x43c955(0x11e)](_0x36b953=>_0x36b953['id']===_0x2caab2[_0x43c955(0x181)]);if(!_0x586516)throw new Error(_0x3b3ce3['Ogcej']);if(_0x586516[_0x43c955(0x176)]==='completed'){console['log'](_0x3b3ce3['YdcFI']);return;}if(_0x3b3ce3['wiEus'](_0x586516['status'],_0x43c955(0x197)))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x586516[_0x43c955(0x176)]);console['log'](_0x3b3ce3['IjiAH']),await _0x3b3ce3['QgYuF'](concludeSession,_0x4be9c0,_0x2caab2['currentSessionId']),console[_0x43c955(0x17a)]('\x0aโ
\x20Session\x20'+_0x586516[_0x43c955(0x1b5)]+_0x43c955(0xfb)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x4b4a3c){const _0x2e8724=_0x2869d5,_0x259a8e={'nFwmJ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','DXEHn':function(_0x120bb7,_0x479041){return _0x120bb7(_0x479041);},'UProH':function(_0x4a5074,_0x5b6e53){return _0x4a5074===_0x5b6e53;},'GBodT':'No\x20sessions\x20found.','rThup':_0x2e8724(0x15f)},_0x2adf65=_0x4b4a3c||await getActiveFeatureId();if(!_0x2adf65)throw new Error(_0x259a8e['nFwmJ']);const _0x585d57=await _0x259a8e[_0x2e8724(0x1ab)](getFeature,_0x2adf65);console['log'](_0x2e8724(0x170)+_0x585d57['name']+'\x0a');const {sessions:_0x21900f}=await listFeatureSessions(_0x2adf65);if(_0x259a8e[_0x2e8724(0x14e)](_0x21900f[_0x2e8724(0x131)],0x0)){console['log'](_0x259a8e[_0x2e8724(0x123)]);return;}for(const _0x2c950d of _0x21900f){const _0x570daa=_0x259a8e['UProH'](_0x2c950d['status'],_0x259a8e['rThup'])?'โ
':_0x259a8e[_0x2e8724(0x14e)](_0x2c950d[_0x2e8724(0x176)],_0x2e8724(0x197))?'๐':'โถ๏ธ';console[_0x2e8724(0x17a)](_0x570daa+_0x2e8724(0x1be)+_0x2c950d[_0x2e8724(0x1b5)]+'\x20('+_0x2c950d['id']+')'),console[_0x2e8724(0x17a)]('\x20\x20\x20Status:\x20'+_0x2c950d[_0x2e8724(0x176)]),console[_0x2e8724(0x17a)](_0x2e8724(0x14d)+new Date(_0x2c950d[_0x2e8724(0x196)])[_0x2e8724(0x11d)]()),_0x2c950d['completedAt']&&console[_0x2e8724(0x17a)]('\x20\x20\x20Completed:\x20'+new Date(_0x2c950d['completedAt'])['toLocaleString']()),console[_0x2e8724(0x17a)]('');}}export async function featureAddScenario(_0x4e7823,_0x12045f){const _0x4c74fd=_0x2869d5,_0x4c359a={'VCZXB':function(_0x590ef4,_0x6297ce,_0x87a802){return _0x590ef4(_0x6297ce,_0x87a802);}},_0x529d4a=_0x12045f||await getActiveFeatureId();if(!_0x529d4a)throw new Error(_0x4c74fd(0x1bd));const _0xd0cd4c=await getFeature(_0x529d4a);if(_0xd0cd4c['latestReview']&&!_0xd0cd4c[_0x4c74fd(0x1a5)][_0x4c74fd(0x1bc)])throw new Error(_0x4c74fd(0x1a6)+_0xd0cd4c['dashboardUrl']);await _0x4c359a['VCZXB'](createChecklistItem,_0x529d4a,_0x4e7823);const _0x59d74e=await getFeature(_0x529d4a);console['log']('\x0aโ
\x20Scenario\x20added'),_0x4c359a['VCZXB'](displayFeature,_0x59d74e,_0x59d74e[_0x4c74fd(0x17f)]);}export async function featureEditScenario(_0x21ca2d,_0x88532a){const _0x353b00=_0x2869d5,_0x1ad142={'sVqWn':function(_0x88117a,_0x23b5a9){return _0x88117a===_0x23b5a9;},'TWLDZ':'\x0aAvailable\x20scenarios:','kmjUI':function(_0x4b4dcf,_0x174996){return _0x4b4dcf<_0x174996;},'hOyEA':function(_0x4f1c0d,_0x4d4fae){return _0x4f1c0d-_0x4d4fae;},'PcxFg':function(_0x686766,_0x5563a2){return _0x686766>=_0x5563a2;},'HWaKb':function(_0x3b8ff6,_0x4336ac){return _0x3b8ff6+_0x4336ac;}},_0x52179c=_0x88532a['id']||await getActiveFeatureId();!_0x52179c&&(console[_0x353b00(0x135)](_0x353b00(0x15a)),console['error'](_0x353b00(0x156)),process['exit'](0x1));const _0xd079ab=await getFeature(_0x52179c);_0xd079ab[_0x353b00(0x1a5)]&&!_0xd079ab['latestReview'][_0x353b00(0x1bc)]&&(console[_0x353b00(0x135)]('\x0aโ\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error']('Please\x20finish\x20your\x20review\x20first:'),console[_0x353b00(0x135)]('\x20\x20'+_0xd079ab['dashboardUrl']),process[_0x353b00(0x180)](0x1));const _0x432500=_0xd079ab['checklistItems']||[];_0x1ad142['sVqWn'](_0x432500[_0x353b00(0x131)],0x0)&&(console[_0x353b00(0x135)](_0x353b00(0x151)),process[_0x353b00(0x180)](0x1));if(_0x88532a[_0x353b00(0x144)]===undefined){console[_0x353b00(0x135)]('\x0aโ\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x353b00(0x17a)](_0x1ad142[_0x353b00(0x16e)]);for(let _0xf2843e=0x0;_0x1ad142['kmjUI'](_0xf2843e,_0x432500['length']);_0xf2843e++){console[_0x353b00(0x17a)]('\x20\x20'+(_0xf2843e+0x1)+'.\x20'+_0x432500[_0xf2843e]['description']);}process[_0x353b00(0x180)](0x1);}const _0x139b98=_0x1ad142[_0x353b00(0x147)](_0x88532a[_0x353b00(0x144)],0x1);if(_0x139b98<0x0||_0x1ad142[_0x353b00(0x17e)](_0x139b98,_0x432500[_0x353b00(0x131)])){console['error']('\x0aโ\x20Invalid\x20scenario\x20index:\x20'+_0x88532a[_0x353b00(0x144)]+_0x353b00(0x133)+_0x432500['length']+'\x20scenarios.'),console['log'](_0x1ad142[_0x353b00(0x16e)]);for(let _0x5809f9=0x0;_0x5809f9<_0x432500[_0x353b00(0x131)];_0x5809f9++){console[_0x353b00(0x17a)]('\x20\x20'+_0x1ad142[_0x353b00(0x12a)](_0x5809f9,0x1)+'.\x20'+_0x432500[_0x5809f9]['description']);}process['exit'](0x1);}const _0x11f69c=_0x432500[_0x139b98];await updateChecklistItem(_0x52179c,_0x11f69c['id'],{'description':_0x21ca2d});const _0xa39039=await getFeature(_0x52179c);console['log'](_0x353b00(0x1c2)),displayFeature(_0xa39039,_0xa39039[_0x353b00(0x17f)]);}async function downloadFeedbackImage(_0x438687,_0x4a5d39){const _0x29820e=_0x2869d5,_0xb2ad99={'npxkA':function(_0x474f1c){return _0x474f1c();},'KaLbF':_0x29820e(0x13f),'lQalh':function(_0x27cfb7,_0x593339){return _0x27cfb7(_0x593339);},'JqAGs':function(_0x50e6e8,_0x20a6f0,_0x1b996b){return _0x50e6e8(_0x20a6f0,_0x1b996b);}};try{const _0x3f611b=join(_0xb2ad99[_0x29820e(0x1b3)](getRangerDir),_0xb2ad99[_0x29820e(0x1a4)]);await mkdir(_0x3f611b,{'recursive':!![]});const _0x1a6cb4=join(_0x3f611b,'comment_'+_0x4a5d39+_0x29820e(0x134)),_0xcea68d=await _0xb2ad99[_0x29820e(0x165)](fetch,_0x438687);if(!_0xcea68d['ok'])return null;const _0x2fc004=Buffer['from'](await _0xcea68d['arrayBuffer']());return await _0xb2ad99[_0x29820e(0x12c)](writeFile,_0x1a6cb4,_0x2fc004),_0x1a6cb4;}catch{return null;}}export async function featureGetReview(_0x54840a){const _0x3d11f2=_0x2869d5,_0x11ce79={'AIChm':_0x3d11f2(0x1bd),'PzHsm':function(_0x340944,_0x393eef){return _0x340944(_0x393eef);},'bszlY':_0x3d11f2(0x160),'FqSIr':function(_0x3176c5,_0x3f657a){return _0x3176c5+_0x3f657a;},'peihP':'en-US','Qguzh':_0x3d11f2(0x17d),'fDULb':function(_0x2f25a2,_0x4cdcca,_0x2947ea){return _0x2f25a2(_0x4cdcca,_0x2947ea);},'Rrwuh':'element','AROtU':function(_0x19b5ed,_0x4a2b13){return _0x19b5ed>=_0x4a2b13;}},_0x1b6c8a=_0x54840a||await getActiveFeatureId();if(!_0x1b6c8a)throw new Error(_0x11ce79[_0x3d11f2(0x127)]);const _0x400e1f=await _0x11ce79['PzHsm'](getFeature,_0x1b6c8a),{items:_0x5f508a}=await getActionItems(_0x1b6c8a);console['log']('\x0a๐\x20Feedback\x20for:\x20'+_0x400e1f[_0x3d11f2(0x16c)]+'\x20('+_0x400e1f['id']+')\x0a');if(_0x5f508a[_0x3d11f2(0x131)]===0x0){console['log'](_0x11ce79['bszlY']);return;}for(let _0x51eba9=0x0;_0x51eba9<_0x5f508a[_0x3d11f2(0x131)];_0x51eba9++){const _0x1ca688=_0x5f508a[_0x51eba9],_0x5d1279=_0x1ca688['version']>0x1?'\x20(v'+_0x1ca688[_0x3d11f2(0x1ce)]+')':'',_0x1fc4ab=await getItemFeedback(_0x1b6c8a,_0x1ca688['id']);if(_0x1fc4ab['unaddressedComments'][_0x3d11f2(0x131)]>0x0){console['log']('Scenario\x20'+_0x11ce79['FqSIr'](_0x51eba9,0x1)+_0x3d11f2(0x10f)+_0x1ca688[_0x3d11f2(0x191)]+'\x22'+_0x5d1279+_0x3d11f2(0x162)+_0x1fc4ab['unaddressedComments']['length']+_0x3d11f2(0x108));for(const _0x27aa05 of _0x1fc4ab['unaddressedComments']){const _0x4ebf99=new Date(_0x27aa05[_0x3d11f2(0x196)])['toLocaleDateString'](_0x11ce79[_0x3d11f2(0x15d)],{'month':'short','day':_0x11ce79['Qguzh']}),_0x5305ed=_0x27aa05['authorName']||_0x27aa05['authorEmail']||_0x3d11f2(0x1cc);console['log']('\x20\x20๐ฌ\x20'+_0x5305ed+'\x20('+_0x4ebf99+'):\x20\x22'+_0x27aa05[_0x3d11f2(0x161)]+'\x22');if(_0x27aa05['assetUrl']){const _0xba6203=await _0x11ce79[_0x3d11f2(0x120)](downloadFeedbackImage,_0x27aa05[_0x3d11f2(0x18c)],_0x27aa05['id']);_0xba6203&&console[_0x3d11f2(0x17a)](_0x3d11f2(0x1c7)+_0xba6203);}if(_0x27aa05['domRef']){const _0x21580a=_0x27aa05[_0x3d11f2(0x136)]['selector']['split'](_0x3d11f2(0x103))['pop']()?.['split'](':')[0x0]||_0x11ce79['Rrwuh'],_0x58545d=_0x27aa05[_0x3d11f2(0x136)][_0x3d11f2(0x175)]?'\x20\x22'+_0x27aa05[_0x3d11f2(0x136)][_0x3d11f2(0x175)]['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x3d11f2(0x18b)+_0x21580a+'>'+_0x58545d),console['log']('\x20\x20\x20\x20\x20๐\x20Selector:\x20'+_0x27aa05['domRef']['selector']);}else{if(_0x27aa05['spatial']){const _0x23a806=_0x27aa05[_0x3d11f2(0x1b1)][_0x3d11f2(0x1b2)];_0x27aa05[_0x3d11f2(0x1b1)][_0x3d11f2(0x142)]==='point'&&_0x11ce79[_0x3d11f2(0x106)](_0x23a806[_0x3d11f2(0x131)],0x2)?console['log']('\x20\x20\x20\x20\x20๐\x20Annotation:\x20point\x20at\x20('+_0x23a806[0x0]['toFixed'](0x2)+',\x20'+_0x23a806[0x1][_0x3d11f2(0x190)](0x2)+')'):console['log'](_0x3d11f2(0x121)+_0x27aa05['spatial'][_0x3d11f2(0x142)]+_0x3d11f2(0x1c4)+_0x23a806[_0x3d11f2(0x1cf)](_0x4d1927=>_0x4d1927[_0x3d11f2(0x190)](0x2))[_0x3d11f2(0x1a3)](',\x20')+']');}}}if(_0x1fc4ab[_0x3d11f2(0x114)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x2427b6 of _0x1fc4ab[_0x3d11f2(0x114)]['split']('\x0a')){console[_0x3d11f2(0x17a)]('\x20\x20\x20\x20'+_0x2427b6);}}}else console['log']('Scenario\x20'+(_0x51eba9+0x1)+':\x20\x22'+_0x1ca688[_0x3d11f2(0x191)]+'\x22'+_0x5d1279+'\x20โ\x20no\x20comments'),console[_0x3d11f2(0x17a)](_0x3d11f2(0x15e));console['log']('');}}export async function featureDelete(_0x5a9917){const _0x31fc45=_0x2869d5,_0x2e1536={'POuRF':function(_0x162700){return _0x162700();},'jhtbu':function(_0x391070,_0x1e046a){return _0x391070(_0x1e046a);},'WXQQa':_0x31fc45(0x14f)},_0x28f4ce=_0x5a9917||await _0x2e1536[_0x31fc45(0x13c)](getActiveFeatureId);if(!_0x28f4ce)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 _0x4179ce=await getFeature(_0x28f4ce);await _0x2e1536['jhtbu'](softDeleteFeature,_0x28f4ce),console[_0x31fc45(0x17a)](_0x31fc45(0xff)+_0x4179ce['name']+'\x20('+_0x28f4ce+')'),console['log'](_0x2e1536[_0x31fc45(0x149)]+_0x28f4ce);}export async function featureRestore(_0xd0fb30){const _0x4b0f9e=_0x2869d5,_0x4a1095={'iSNRT':function(_0x2b9789,_0x2166e2){return _0x2b9789(_0x2166e2);},'snMtb':function(_0xb00d92,_0x2c537e){return _0xb00d92(_0x2c537e);}};await _0x4a1095['iSNRT'](restoreFeature,_0xd0fb30);const _0x1e2eb6=await _0x4a1095[_0x4b0f9e(0x13a)](getFeature,_0xd0fb30);console[_0x4b0f9e(0x17a)](_0x4b0f9e(0x186)+_0x1e2eb6[_0x4b0f9e(0x16c)]+'\x20('+_0xd0fb30+')'),displayFeature(_0x1e2eb6,_0x1e2eb6[_0x4b0f9e(0x17f)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1a8278,_0xc37b34){const _0x9ef686=_0x33a6,_0x5970ba=_0x1a8278();while(!![]){try{const _0x132257=-parseInt(_0x9ef686(0x118))/0x1+parseInt(_0x9ef686(0x116))/0x2*(-parseInt(_0x9ef686(0x119))/0x3)+-parseInt(_0x9ef686(0x114))/0x4+parseInt(_0x9ef686(0x113))/0x5*(-parseInt(_0x9ef686(0x117))/0x6)+parseInt(_0x9ef686(0x11b))/0x7*(parseInt(_0x9ef686(0x110))/0x8)+parseInt(_0x9ef686(0x11a))/0x9+parseInt(_0x9ef686(0x112))/0xa;if(_0x132257===_0xc37b34)break;else _0x5970ba['push'](_0x5970ba['shift']());}catch(_0x324ecf){_0x5970ba['push'](_0x5970ba['shift']());}}}(_0x5742,0x271c1));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x33a6(_0x577aef,_0x360742){_0x577aef=_0x577aef-0x10e;const _0x57422c=_0x5742();let _0x33a6f8=_0x57422c[_0x577aef];return _0x33a6f8;}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x26b25a=_0x33a6,_0x49fe9e={'TMkei':_0x26b25a(0x10e),'FkiJd':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x1f0247=()=>{const _0x3ca1ba=_0x26b25a;process[_0x3ca1ba(0x111)](0x0);};process['once'](_0x26b25a(0x115),_0x1f0247),process[_0x26b25a(0x11c)](_0x49fe9e['TMkei'],_0x1f0247),process[_0x26b25a(0x11c)](_0x49fe9e['FkiJd'],_0x1f0247),cancellationHandlersInstalled=!![];}function _0x5742(){const _0x3da40e=['2699450grspON','4670jlXyBf','510988vNlUwk','SIGINT','169734JQazPs','222SJoviX','265938wjsaBJ','6JGhCza','1701513xBZApY','224kKafzb','once','error','Valid\x20hooks:\x20','SIGTERM','keys','74792hdxYHv','exit'];_0x5742=function(){return _0x3da40e;};return _0x5742();}export async function hook(_0x4cad5d,_0x15fb77){const _0xa9e2e=_0x33a6;installCancellationHandlers();const _0x7b7d06=HOOKS[_0x4cad5d];if(!_0x7b7d06){const _0x1ac4eb=Object[_0xa9e2e(0x10f)](HOOKS)['join'](',\x20');console[_0xa9e2e(0x11d)]('Unknown\x20hook:\x20'+_0x4cad5d),console['error'](_0xa9e2e(0x11e)+_0x1ac4eb),process[_0xa9e2e(0x111)](0x1);}await _0x7b7d06(_0x15fb77);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x59a041=_0x4588;function _0x4588(_0x39fbf5,_0x4c4070){_0x39fbf5=_0x39fbf5-0x10b;const _0x35460f=_0x3546();let _0x458807=_0x35460f[_0x39fbf5];return _0x458807;}(function(_0x5d9d97,_0xd0d963){const _0x394c1b=_0x4588,_0xf12218=_0x5d9d97();while(!![]){try{const _0x15bdc8=-parseInt(_0x394c1b(0x110))/0x1+parseInt(_0x394c1b(0x10e))/0x2+-parseInt(_0x394c1b(0x112))/0x3+-parseInt(_0x394c1b(0x10f))/0x4+parseInt(_0x394c1b(0x114))/0x5+-parseInt(_0x394c1b(0x113))/0x6*(parseInt(_0x394c1b(0x115))/0x7)+-parseInt(_0x394c1b(0x10c))/0x8*(-parseInt(_0x394c1b(0x111))/0x9);if(_0x15bdc8===_0xd0d963)break;else _0xf12218['push'](_0xf12218['shift']());}catch(_0x488567){_0xf12218['push'](_0xf12218['shift']());}}}(_0x3546,0x73993));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x59a041(0x10b);function _0x3546(){const _0x807c8e=['99MJfJmW','2123178SkezHC','36nWLeib','4127660zMlydM','852299GSLfHf','\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.','1354536memmYj','session_id','1402960RLLAPY','3274616rheueT','659086eEaBqU'];_0x3546=function(){return _0x807c8e;};return _0x3546();}export async function autoPrompt(){const _0x2cde27=_0x59a041,_0x51dffd={'ZtQVw':function(_0x23036d){return _0x23036d();},'eWden':function(_0x45dffa,_0xef7334){return _0x45dffa(_0xef7334);}},_0x287342=await _0x51dffd['ZtQVw'](readHookInput),_0x3e8e77=_0x287342?.[_0x2cde27(0x10d)];if(!_0x3e8e77)return;if(isSessionEnabled(_0x3e8e77)||hasSessionBeenPrompted(_0x3e8e77))return;_0x51dffd['eWden'](markSessionPrompted,_0x3e8e77),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1ad846,_0x1919d6){const _0x4165ca=_0x254f,_0xbd63a5=_0x1ad846();while(!![]){try{const _0x1ec0c4=-parseInt(_0x4165ca(0x1c0))/0x1*(parseInt(_0x4165ca(0x1c1))/0x2)+-parseInt(_0x4165ca(0x1b8))/0x3+parseInt(_0x4165ca(0x1c3))/0x4+parseInt(_0x4165ca(0x1be))/0x5*(parseInt(_0x4165ca(0x1bb))/0x6)+-parseInt(_0x4165ca(0x1b6))/0x7+parseInt(_0x4165ca(0x1b4))/0x8*(parseInt(_0x4165ca(0x1bc))/0x9)+-parseInt(_0x4165ca(0x1c6))/0xa*(-parseInt(_0x4165ca(0x1ba))/0xb);if(_0x1ec0c4===_0x1919d6)break;else _0xbd63a5['push'](_0xbd63a5['shift']());}catch(_0x497657){_0xbd63a5['push'](_0xbd63a5['shift']());}}}(_0x24a6,0xb7136));function _0x24a6(){const _0x3e69f8=['12ChyoKN','7324722UrGahB','sqiev','749130YhDFUz','main','2591CEoQAH','932NBBRWo','qZUuR','2783396xgGxpg','env','JlgkN','96380DXGiWs','8fJocYL','\x20and\x20branch\x20\x27','1452024uXyWxQ','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','3936051OtvzCw','master','1903LyHtys'];_0x24a6=function(){return _0x3e69f8;};return _0x24a6();}function _0x254f(_0x3a1a2d,_0x249d98){_0x3a1a2d=_0x3a1a2d-0x1b4;const _0x24a64f=_0x24a6();let _0x254fe6=_0x24a64f[_0x3a1a2d];return _0x254fe6;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x2da92f){const _0x1c95ac=_0x254f,_0x50073e={'iDzhP':function(_0x1ccfc7){return _0x1ccfc7();},'sqiev':function(_0x892db3,_0x259886){return _0x892db3!==_0x259886;},'pYNCt':function(_0x56c27d,_0x2fd9d7){return _0x56c27d!==_0x2fd9d7;},'qZUuR':_0x1c95ac(0x1b9),'NsHgv':function(_0x40e970,_0x460bf5){return _0x40e970(_0x460bf5);},'JlgkN':_0x1c95ac(0x1bf)},_0x4dde3b=_0x2da92f||process[_0x1c95ac(0x1c4)]['CLAUDE_SESSION_ID']||'';_0x4dde3b&&disableSession(_0x4dde3b);const _0xcfbc93=_0x50073e['iDzhP'](getCurrentBranch);_0xcfbc93&&_0x50073e[_0x1c95ac(0x1bd)](_0xcfbc93,_0x1c95ac(0x1bf))&&_0x50073e['pYNCt'](_0xcfbc93,_0x50073e[_0x1c95ac(0x1c2)])&&disableBranch(_0xcfbc93),_0x50073e['NsHgv'](printBlock,_0x1c95ac(0x1b7)+(_0xcfbc93&&_0xcfbc93!==_0x50073e[_0x1c95ac(0x1c5)]&&_0xcfbc93!==_0x50073e['qZUuR']?_0x1c95ac(0x1b5)+_0xcfbc93+'\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 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x544585,_0x32e4a9){const _0x2bb572=_0x175f,_0x1fa424=_0x544585();while(!![]){try{const _0x3b4845=-parseInt(_0x2bb572(0x16e))/0x1*(-parseInt(_0x2bb572(0x16d))/0x2)+-parseInt(_0x2bb572(0x16c))/0x3+-parseInt(_0x2bb572(0x176))/0x4+-parseInt(_0x2bb572(0x168))/0x5*(parseInt(_0x2bb572(0x167))/0x6)+parseInt(_0x2bb572(0x16a))/0x7+-parseInt(_0x2bb572(0x17b))/0x8*(-parseInt(_0x2bb572(0x16b))/0x9)+parseInt(_0x2bb572(0x174))/0xa*(parseInt(_0x2bb572(0x179))/0xb);if(_0x3b4845===_0x32e4a9)break;else _0x1fa424['push'](_0x1fa424['shift']());}catch(_0x2ed0af){_0x1fa424['push'](_0x1fa424['shift']());}}}(_0x1a88,0xa2903));function _0x175f(_0x598c97,_0xa07396){_0x598c97=_0x598c97-0x165;const _0x1a88bf=_0x1a88();let _0x175f2d=_0x1a88bf[_0x598c97];return _0x175f2d;}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 _0x1a88(){const _0x193fe3=['CLAUDE_SESSION_ID','8089935LCzDOL','45KSFsiF','2169501vTkJcB','6joCkih','31909hNBLmJ','main','\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`.','lRKnY','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','22730PrRbqs','\x0a\x0a**Branch\x20\x27','2587864pMTxHN','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','Odsid','3421sySedZ','#\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`','890336IjZNcS','ranger\x20setup\x20--opencode','NjGBx','18HvonVN','798005Yswwmw'];_0x1a88=function(){return _0x193fe3;};return _0x1a88();}export async function enable(_0xcc6003){const _0x1d74e2=_0x175f,_0x3fe20d={'lRKnY':function(_0x2ddb14){return _0x2ddb14();},'Odsid':'ranger\x20setup','nzQPr':_0x1d74e2(0x172),'Uqszf':function(_0x237d0c,_0x53b858){return _0x237d0c(_0x53b858);},'EIyJY':function(_0x1cc689,_0x2506c0){return _0x1cc689(_0x2506c0);},'NjGBx':function(_0x2d06b3,_0x2ac72a){return _0x2d06b3!==_0x2ac72a;},'tWApr':'master'},_0x155ef9=_0xcc6003||process['env'][_0x1d74e2(0x169)]||'',_0x1e1e09=Boolean(_0xcc6003),_0x457fdd=await _0x3fe20d[_0x1d74e2(0x171)](getToken);if(!_0x457fdd){const _0x452865=_0x1e1e09?_0x1d74e2(0x165):_0x3fe20d[_0x1d74e2(0x178)],_0x458df0=_0x1e1e09?_0x3fe20d['nzQPr']:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x3fe20d['Uqszf'](printBlock,_0x1d74e2(0x17a)+_0x452865+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x458df0);return;}try{await update();}catch{}_0x155ef9&&_0x3fe20d['EIyJY'](enableSession,_0x155ef9);const _0x179c54=_0x3fe20d[_0x1d74e2(0x171)](getCurrentBranch),_0x59ae49=_0x179c54&&_0x179c54!==_0x1d74e2(0x16f)&&_0x3fe20d[_0x1d74e2(0x166)](_0x179c54,_0x3fe20d['tWApr'])?_0x1d74e2(0x175)+_0x179c54+_0x1d74e2(0x173):'',_0x50396a=_0x3fe20d['lRKnY'](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x59ae49+_0x1d74e2(0x177)+_0x50396a+_0x1d74e2(0x170));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x18e7(){const _0xec08d5=['633595IkDFVs','7OWhQcL','8BDUBsA','12CfgZWy','75772wCmOwg','272661IRusGu','881130adEDNr','108396MqxJJN','594KznfVl','2VNvGxs','1400394ZngsEh','628839iMlvUV'];_0x18e7=function(){return _0xec08d5;};return _0x18e7();}(function(_0x248f29,_0x4672ec){const _0x4e47dd=_0x1092,_0x352235=_0x248f29();while(!![]){try{const _0x459e11=parseInt(_0x4e47dd(0x15f))/0x1*(parseInt(_0x4e47dd(0x166))/0x2)+parseInt(_0x4e47dd(0x167))/0x3*(-parseInt(_0x4e47dd(0x165))/0x4)+parseInt(_0x4e47dd(0x162))/0x5+parseInt(_0x4e47dd(0x160))/0x6*(-parseInt(_0x4e47dd(0x163))/0x7)+parseInt(_0x4e47dd(0x164))/0x8*(parseInt(_0x4e47dd(0x161))/0x9)+-parseInt(_0x4e47dd(0x15c))/0xa+-parseInt(_0x4e47dd(0x15e))/0xb*(-parseInt(_0x4e47dd(0x15d))/0xc);if(_0x459e11===_0x4672ec)break;else _0x352235['push'](_0x352235['shift']());}catch(_0x55738f){_0x352235['push'](_0x352235['shift']());}}}(_0x18e7,0x28853));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1092(_0x2a9ecb,_0x365126){_0x2a9ecb=_0x2a9ecb-0x15c;const _0x18e79d=_0x18e7();let _0x10921b=_0x18e79d[_0x2a9ecb];return _0x10921b;}export async function exitPlanMode(_0x3f3867){const _0x5717c9={'sMDHa':function(_0x4e19e5,_0x5035a8){return _0x4e19e5(_0x5035a8);}},_0x7e21c0=await _0x5717c9['sMDHa'](getEnabledSessionId,_0x3f3867);if(!_0x7e21c0)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xcc38a5,_0x1abd38){var _0x39fa93=_0xb9b8,_0x1e66f0=_0xcc38a5();while(!![]){try{var _0x41cffa=parseInt(_0x39fa93(0x161))/0x1+-parseInt(_0x39fa93(0x163))/0x2*(-parseInt(_0x39fa93(0x15f))/0x3)+-parseInt(_0x39fa93(0x165))/0x4*(parseInt(_0x39fa93(0x166))/0x5)+-parseInt(_0x39fa93(0x15e))/0x6+-parseInt(_0x39fa93(0x162))/0x7+-parseInt(_0x39fa93(0x160))/0x8*(-parseInt(_0x39fa93(0x167))/0x9)+parseInt(_0x39fa93(0x164))/0xa;if(_0x41cffa===_0x1abd38)break;else _0x1e66f0['push'](_0x1e66f0['shift']());}catch(_0x25cfc5){_0x1e66f0['push'](_0x1e66f0['shift']());}}}(_0x5a16,0x6b8cb));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';function _0xb9b8(_0x41deca,_0x36c54e){_0x41deca=_0x41deca-0x15e;var _0x5a1679=_0x5a16();var _0xb9b86e=_0x5a1679[_0x41deca];return _0xb9b86e;}function _0x5a16(){var _0x38d96a=['11494150qRMYUW','7324KXOIxV','2065WhyHVV','9uMRXFu','1883034xwQnNl','3mhWUrg','1171736woEpmJ','407841SZIaNb','3541615flPNvU','625574mEHszg'];_0x5a16=function(){return _0x38d96a;};return _0x5a16();}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(
|
|
1
|
+
function _0x43c6(_0x2dd7df,_0x284c76){_0x2dd7df=_0x2dd7df-0x102;const _0x136458=_0x1364();let _0x43c697=_0x136458[_0x2dd7df];return _0x43c697;}(function(_0x15e3a3,_0x29cd27){const _0x2cda71=_0x43c6,_0x5743af=_0x15e3a3();while(!![]){try{const _0x3d3548=parseInt(_0x2cda71(0x108))/0x1*(-parseInt(_0x2cda71(0x10e))/0x2)+parseInt(_0x2cda71(0x109))/0x3+-parseInt(_0x2cda71(0x10d))/0x4*(-parseInt(_0x2cda71(0x10a))/0x5)+parseInt(_0x2cda71(0x106))/0x6*(-parseInt(_0x2cda71(0x102))/0x7)+-parseInt(_0x2cda71(0x10b))/0x8+parseInt(_0x2cda71(0x104))/0x9+-parseInt(_0x2cda71(0x107))/0xa;if(_0x3d3548===_0x29cd27)break;else _0x5743af['push'](_0x5743af['shift']());}catch(_0x4dff8c){_0x5743af['push'](_0x5743af['shift']());}}}(_0x1364,0x9adc0));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x50a105){console['log'](_0x50a105);}function _0x1364(){const _0x49afdb=['309084IyWgxd','stdin','7808444sXGGFa','QnHks','5814288dzyxBK','parse','6JbnmgN','2995960AMEMQW','2AvfiQq','2327631mTMXAu','5ClhDOo','419584ivNday','NhZGG','3956060IIdPTB'];_0x1364=function(){return _0x49afdb;};return _0x1364();}export async function readHookInput(){const _0x2b88b8=_0x43c6;let _0xc73afb='';try{for await(const _0x1c0b3c of process[_0x2b88b8(0x10f)]){_0xc73afb+=_0x1c0b3c;}}catch{return null;}if(!_0xc73afb['trim']())return null;try{return JSON[_0x2b88b8(0x105)](_0xc73afb);}catch{return null;}}export async function getEnabledSessionId(_0x5b5b24){const _0x5a0624=_0x43c6,_0x4b6aea={'QnHks':function(_0x13e7a9,_0x3d26c0){return _0x13e7a9(_0x3d26c0);},'NhZGG':function(_0x11a0c3){return _0x11a0c3();}};if(_0x5b5b24)return _0x4b6aea[_0x5a0624(0x103)](isSessionEnabled,_0x5b5b24)?_0x5b5b24:null;const _0x4c9a87=await _0x4b6aea[_0x5a0624(0x10c)](readHookInput),_0x2914e3=_0x4c9a87?.['session_id'];if(!_0x2914e3||!isSessionEnabled(_0x2914e3))return null;return _0x2914e3;}export async function getEnabledHookContext(_0x1f52f6){if(_0x1f52f6){if(!isSessionEnabled(_0x1f52f6))return null;return{'sessionId':_0x1f52f6,'input':{'session_id':_0x1f52f6}};}const _0xd0e195=await readHookInput(),_0x434497=_0xd0e195?.['session_id'];if(!_0x434497||!isSessionEnabled(_0x434497))return null;return{'sessionId':_0x434497,'input':_0xd0e195};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1cb440,_0x2bfd87){const _0x231701=_0x5195,_0x305977=_0x1cb440();while(!![]){try{const _0x2abcf9=parseInt(_0x231701(0xdb))/0x1*(parseInt(_0x231701(0xd3))/0x2)+-parseInt(_0x231701(0xd5))/0x3+parseInt(_0x231701(0xd6))/0x4*(-parseInt(_0x231701(0xd1))/0x5)+parseInt(_0x231701(0xd9))/0x6+-parseInt(_0x231701(0xd4))/0x7*(parseInt(_0x231701(0xd7))/0x8)+-parseInt(_0x231701(0xd0))/0x9+-parseInt(_0x231701(0xcf))/0xa*(-parseInt(_0x231701(0xce))/0xb);if(_0x2abcf9===_0x2bfd87)break;else _0x305977['push'](_0x305977['shift']());}catch(_0x5153bf){_0x305977['push'](_0x305977['shift']());}}}(_0x52a6,0x2e3dc));function _0x5195(_0x3a3fd1,_0x49f59b){_0x3a3fd1=_0x3a3fd1-0xce;const _0x52a641=_0x52a6();let _0x5195f9=_0x52a641[_0x3a3fd1];return _0x5195f9;}function _0x52a6(){const _0x1da2a6=['84258CBKtNH','2332zwBDzF','2009416EAZLQH','sessionId','213714NglsLu','dtzig','26330DARruh','11GVJthh','5311430zaUvcS','2594970ltNReb','175vduLTo','qBStG','16nQJIbe','7ynsWui'];_0x52a6=function(){return _0x1da2a6;};return _0x52a6();}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5dd951){const _0x2506e5=_0x5195,_0x1abf59={'dtzig':function(_0x4e0363,_0x235bd7){return _0x4e0363!==_0x235bd7;},'qBStG':'plan','ncOpL':function(_0xfe2f92,_0x3e2088){return _0xfe2f92(_0x3e2088);}},_0x3cf6cb=await getEnabledHookContext(_0x5dd951);if(!_0x3cf6cb)return;if(_0x1abf59[_0x2506e5(0xda)](_0x3cf6cb['input']['permission_mode'],_0x1abf59[_0x2506e5(0xd2)]))return;if(!_0x1abf59['ncOpL'](shouldShowPlanReminder,_0x3cf6cb[_0x2506e5(0xd8)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|