@ranger-testing/ranger-cli 2.5.3 → 2.5.4-alpha.ed286f1-2
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 +6 -2
package/build/commands/clean.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x126fee=_0xf149;(function(_0x36402c,_0x47680d){const _0x4090e9=_0xf149,_0x53f9ed=_0x36402c();while(!![]){try{const _0x538063=-parseInt(_0x4090e9(0x21e))/0x1+parseInt(_0x4090e9(0x1f5))/0x2+parseInt(_0x4090e9(0x1ed))/0x3*(-parseInt(_0x4090e9(0x20b))/0x4)+parseInt(_0x4090e9(0x204))/0x5*(parseInt(_0x4090e9(0x1e6))/0x6)+parseInt(_0x4090e9(0x1e1))/0x7*(-parseInt(_0x4090e9(0x1f9))/0x8)+-parseInt(_0x4090e9(0x1ff))/0x9*(-parseInt(_0x4090e9(0x213))/0xa)+parseInt(_0x4090e9(0x1e0))/0xb;if(_0x538063===_0x47680d)break;else _0x53f9ed['push'](_0x53f9ed['shift']());}catch(_0xc4d810){_0x53f9ed['push'](_0x53f9ed['shift']());}}}(_0x3705,0xe18d4));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=[_0x126fee(0x21b),_0x126fee(0x20e),'bug-bash',_0x126fee(0x208)],opencodePluginName='@ranger-testing/opencode-plugin';function parseJsonc(_0x182fe4){const _0x1433c5=_0x126fee,_0x59b10a=_0x182fe4[_0x1433c5(0x206)](/\/\*[\s\S]*?\*\//g,''),_0xe151f5=_0x59b10a['replace'](/^\s*\/\/.*$/gm,''),_0xf06846=_0xe151f5['replace'](/,\s*([}\]])/g,'$1');return JSON[_0x1433c5(0x203)](_0xf06846);}async function removeOpencodePluginConfig(_0x5c7a94){const _0x4f24ed=_0x126fee,_0x454fff={'jdHZF':'string','qsVqF':function(_0x4b37ba,_0x580fcc){return _0x4b37ba!==_0x580fcc;},'ZjQvg':function(_0x4cb34a,_0x5a6231,_0x496b0a){return _0x4cb34a(_0x5a6231,_0x496b0a);},'ioVyc':_0x4f24ed(0x1e7),'kUzkw':function(_0x4f392c,_0xc53dd6){return _0x4f392c===_0xc53dd6;}};if(!existsSync(_0x5c7a94))return![];let _0x5a2d3a;try{const _0x558c79=await _0x454fff[_0x4f24ed(0x1f0)](readFile,_0x5c7a94,_0x454fff[_0x4f24ed(0x220)]);_0x5a2d3a=parseJsonc(_0x558c79);}catch{return![];}const _0x4629ec=Array['isArray'](_0x5a2d3a[_0x4f24ed(0x1e2)])?_0x5a2d3a['plugin']:[];if(_0x454fff[_0x4f24ed(0x1e8)](_0x4629ec[_0x4f24ed(0x1fe)],0x0))return![];const _0x2ae767=_0x4629ec['filter'](_0xbcdb2d=>{if(typeof _0xbcdb2d!==_0x454fff['jdHZF'])return!![];return _0x454fff['qsVqF'](_0xbcdb2d,opencodePluginName);});if(_0x454fff['kUzkw'](_0x2ae767['length'],_0x4629ec[_0x4f24ed(0x1fe)]))return![];return _0x454fff[_0x4f24ed(0x1e8)](_0x2ae767[_0x4f24ed(0x1fe)],0x0)?delete _0x5a2d3a[_0x4f24ed(0x1e2)]:_0x5a2d3a[_0x4f24ed(0x1e2)]=_0x2ae767,await writeFile(_0x5c7a94,JSON[_0x4f24ed(0x201)](_0x5a2d3a,null,0x2)+'\x0a'),!![];}function _0x3705(){const _0x43e95b=['utf-8','kUzkw','ranger@trailhead','pipe','FJKzE','NgPxP','4773cMaOLJ','claude','platform','ZjQvg','✓\x20Removed\x20stored\x20credentials','FIcmY','SpRKa','marketplace','3403834peGHAE','JyVKt','✓\x20Removed\x20OpenCode\x20plugin\x20(project\x20config)','yogvU','8yZKUhU','win32','wlnCH','trailhead','error','length','45tvHBpB','FiOhY','stringify','✓\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)','parse','11725IqHffR','OWiFf','replace','pjkWA','e2e-test-recommender','NTxzE','uninstall','1580dnmjjN','Xmrlc','fbGvA','feature-tracker','✓\x20Removed\x20OpenCode\x20user\x20skill:\x20','log','user','bzxKE','1642740KFajYQ','opencode.json','✓\x20Removed\x20user\x20skill:\x20','push','RYSJg','project','close','\x0a✅\x20Cleanup\x20complete!\x0a','ranger','HCWvZ','✓\x20Removed\x20trailhead\x20marketplace','1255995lNHMXc','HUoAA','ioVyc','2280146QBBQod','2131556VnPDYv','plugin','RlqAj','✓\x20Removed\x20.ranger/\x20directory','KngYk','978ouiSXh'];_0x3705=function(){return _0x43e95b;};return _0x3705();}async function uninstallClaudePlugin(_0x5a33e6){const _0x5a88e8=_0x126fee,_0x1f0301={'qbNZn':_0x5a88e8(0x1e2),'RYSJg':_0x5a88e8(0x20a),'aYtIj':function(_0x573c74,_0x3a2c0d,_0x57033e,_0x385619){return _0x573c74(_0x3a2c0d,_0x57033e,_0x385619);},'OWiFf':_0x5a88e8(0x1ee),'HUoAA':_0x5a88e8(0x1ea),'HCWvZ':function(_0x37c15c,_0x59a72b){return _0x37c15c===_0x59a72b;},'uuOuG':'win32','KngYk':'close'};return new Promise(_0x485036=>{const _0x30b0ba=_0x5a88e8,_0x25477a={'YIajB':function(_0x3881d9,_0x3196b4){return _0x3881d9(_0x3196b4);}},_0x30ea4b=[_0x1f0301['qbNZn'],_0x1f0301[_0x30b0ba(0x217)],_0x30b0ba(0x1e9)];_0x5a33e6&&_0x30ea4b[_0x30b0ba(0x216)]('--scope',_0x5a33e6);const _0x1ade2f=_0x1f0301['aYtIj'](spawn,_0x1f0301[_0x30b0ba(0x205)],_0x30ea4b,{'stdio':_0x1f0301[_0x30b0ba(0x21f)],'shell':_0x1f0301[_0x30b0ba(0x21c)](process['platform'],_0x1f0301['uuOuG'])});_0x1ade2f['on'](_0x1f0301[_0x30b0ba(0x1e5)],_0x4c7e9c=>{_0x25477a['YIajB'](_0x485036,_0x4c7e9c===0x0);}),_0x1ade2f['on'](_0x30b0ba(0x1fd),()=>{_0x485036(![]);});});}function _0xf149(_0x5774bc,_0x1a0cdb){_0x5774bc=_0x5774bc-0x1e0;const _0x370567=_0x3705();let _0xf149ac=_0x370567[_0x5774bc];return _0xf149ac;}async function removeMarketplace(){const _0x471cdb=_0x126fee,_0x1cb12f={'NgPxP':'claude','zRZFm':_0x471cdb(0x1f4),'xnyCE':function(_0x659cd1,_0x13ac48){return _0x659cd1===_0x13ac48;},'hvyYP':_0x471cdb(0x1fa),'FJKzE':_0x471cdb(0x219)};return new Promise(_0x94ffd2=>{const _0x4da973=_0x471cdb,_0x20bc0d=spawn(_0x1cb12f[_0x4da973(0x1ec)],['plugin',_0x1cb12f['zRZFm'],'remove',_0x4da973(0x1fc)],{'stdio':_0x4da973(0x1ea),'shell':_0x1cb12f['xnyCE'](process[_0x4da973(0x1ef)],_0x1cb12f['hvyYP'])});_0x20bc0d['on'](_0x1cb12f[_0x4da973(0x1eb)],_0x948a0c=>{_0x94ffd2(_0x948a0c===0x0);}),_0x20bc0d['on']('error',()=>{_0x94ffd2(![]);});});}export async function clean(){const _0x2eac6a=_0x126fee,_0x41285b={'SpRKa':function(_0x2045a1){return _0x2045a1();},'pjkWA':function(_0x56c552,_0x3bf96b){return _0x56c552(_0x3bf96b);},'fbGvA':function(_0x25ade4){return _0x25ade4();},'NTxzE':function(_0xdca23d,_0x5c5dcd){return _0xdca23d(_0x5c5dcd);},'Xmrlc':function(_0x36c590){return _0x36c590();},'yogvU':function(_0x441cbb,_0x1827c2,_0x19f6c3){return _0x441cbb(_0x1827c2,_0x19f6c3);},'FiOhY':_0x2eac6a(0x211),'wlnCH':function(_0x3094a4,_0x405ec1){return _0x3094a4(_0x405ec1);},'PRbJA':function(_0xf0382b,_0x29edc4){return _0xf0382b(_0x29edc4);},'bzxKE':'project','JyVKt':'opencode.json','RlqAj':_0x2eac6a(0x1f7),'FIcmY':function(_0x3426fe,_0x28db35,_0x1ea339){return _0x3426fe(_0x28db35,_0x1ea339);},'cFDFG':function(_0x15b76e,_0x32bff9){return _0x15b76e(_0x32bff9);},'oWtxs':'✓\x20Removed\x20OpenCode\x20plugin\x20(user\x20config)','xaLUU':function(_0x293869){return _0x293869();}};console[_0x2eac6a(0x210)]('\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a');let _0x2d3671=![];try{await deleteAllCredentials(),console[_0x2eac6a(0x210)](_0x2eac6a(0x1f1)),_0x2d3671=!![];}catch{}const _0x56589a=getCacheFile();existsSync(_0x56589a)&&(await rm(_0x56589a),_0x2d3671=!![]);const _0x23508d=_0x41285b[_0x2eac6a(0x1f3)](getRangerDir);_0x41285b[_0x2eac6a(0x207)](existsSync,_0x23508d)&&(await rm(_0x23508d,{'recursive':!![]}),console[_0x2eac6a(0x210)](_0x2eac6a(0x1e4)),_0x2d3671=!![]);const _0x4e5030=_0x41285b[_0x2eac6a(0x20d)](getProjectSkillsDir);for(const _0x32a602 of skillsToRemove){const _0x5d5a06=join(_0x4e5030,_0x32a602);_0x41285b['NTxzE'](existsSync,_0x5d5a06)&&(await rm(_0x5d5a06,{'recursive':!![]}),console['log']('✓\x20Removed\x20project\x20skill:\x20'+_0x32a602),_0x2d3671=!![]);}const _0x27ad4d=_0x41285b[_0x2eac6a(0x20c)](getUserSkillsDir);for(const _0x2e46db of skillsToRemove){const _0x54a7b5=_0x41285b[_0x2eac6a(0x1f8)](join,_0x27ad4d,_0x2e46db);existsSync(_0x54a7b5)&&(await _0x41285b[_0x2eac6a(0x1f8)](rm,_0x54a7b5,{'recursive':!![]}),console[_0x2eac6a(0x210)](_0x2eac6a(0x215)+_0x2e46db),_0x2d3671=!![]);}const _0x1f0193=getOpencodeSkillsDir(_0x2eac6a(0x218));for(const _0x33a2d1 of skillsToRemove){const _0x5ecbc0=join(_0x1f0193,_0x33a2d1);existsSync(_0x5ecbc0)&&(await _0x41285b['yogvU'](rm,_0x5ecbc0,{'recursive':!![]}),console['log']('✓\x20Removed\x20OpenCode\x20project\x20skill:\x20'+_0x33a2d1),_0x2d3671=!![]);}const _0x3b484c=getOpencodeSkillsDir(_0x41285b[_0x2eac6a(0x200)]);for(const _0x4f7780 of skillsToRemove){const _0x36bc41=join(_0x3b484c,_0x4f7780);_0x41285b[_0x2eac6a(0x1fb)](existsSync,_0x36bc41)&&(await rm(_0x36bc41,{'recursive':!![]}),console['log'](_0x2eac6a(0x20f)+_0x4f7780),_0x2d3671=!![]);}const _0x56188c=join(_0x41285b['PRbJA'](getOpencodeConfigDir,_0x41285b[_0x2eac6a(0x212)]),_0x41285b[_0x2eac6a(0x1f6)]);await _0x41285b['pjkWA'](removeOpencodePluginConfig,_0x56188c)&&(console[_0x2eac6a(0x210)](_0x41285b[_0x2eac6a(0x1e3)]),_0x2d3671=!![]);const _0x5bf0fb=_0x41285b[_0x2eac6a(0x1f2)](join,_0x41285b['cFDFG'](getOpencodeConfigDir,_0x2eac6a(0x211)),_0x2eac6a(0x214));await _0x41285b[_0x2eac6a(0x209)](removeOpencodePluginConfig,_0x5bf0fb)&&(console['log'](_0x41285b['oWtxs']),_0x2d3671=!![]);const _0x1efb06=await _0x41285b['xaLUU'](uninstallClaudePlugin);_0x1efb06&&(console[_0x2eac6a(0x210)]('✓\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)'),_0x2d3671=!![]);const _0x17a276=await uninstallClaudePlugin(_0x41285b[_0x2eac6a(0x212)]);_0x17a276&&(console[_0x2eac6a(0x210)](_0x2eac6a(0x202)),_0x2d3671=!![]);const _0x13e201=await _0x41285b[_0x2eac6a(0x20d)](removeMarketplace);_0x13e201&&(console[_0x2eac6a(0x210)](_0x2eac6a(0x21d)),_0x2d3671=!![]),_0x2d3671?console['log'](_0x2eac6a(0x21a)):console['log']('Nothing\x20to\x20clean\x20up.\x0a');}
|
package/build/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2af2bd,_0x2f1de2){const _0x2c7463=_0x35ed,_0x37121d=_0x2af2bd();while(!![]){try{const _0x222518=parseInt(_0x2c7463(0x1d7))/0x1*(parseInt(_0x2c7463(0x1da))/0x2)+-parseInt(_0x2c7463(0x1d9))/0x3*(-parseInt(_0x2c7463(0x1e4))/0x4)+-parseInt(_0x2c7463(0x1d5))/0x5+-parseInt(_0x2c7463(0x1e6))/0x6+parseInt(_0x2c7463(0x1e8))/0x7*(-parseInt(_0x2c7463(0x1df))/0x8)+-parseInt(_0x2c7463(0x1d2))/0x9*(-parseInt(_0x2c7463(0x1e2))/0xa)+-parseInt(_0x2c7463(0x1d4))/0xb*(parseInt(_0x2c7463(0x1de))/0xc);if(_0x222518===_0x2f1de2)break;else _0x37121d['push'](_0x37121d['shift']());}catch(_0xaa0f12){_0x37121d['push'](_0x37121d['shift']());}}}(_0x20a4,0xe82c6));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless','allowInsecureLocalhost'];function _0x20a4(){const _0x271346=['\x22\x20does\x20not\x20exist.','64HQaQtn','AHkyw','3XvAbst','34436mlZncY','\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20','pyEKc','Profile\x20\x22','10056XLSDZt','3401864vKPRNH','(not\x20set)','fuaRd','5661940WMWigA','Removed\x20','3946772hUYbYK','KFhPX','4402170ogAkwk','log','7HSWhgc','LWpDP','18OyFaIE','MmfXn','440PLAZnG','5388015OelGrJ'];_0x20a4=function(){return _0x271346;};return _0x20a4();}function parseValue(_0x23b027,_0x5bf6ce){const _0x1a958c={'iLemD':function(_0x12a36b,_0x500416){return _0x12a36b===_0x500416;},'rgwDp':'false'};if(BOOLEAN_KEYS['includes'](_0x23b027)){if(_0x1a958c['iLemD'](_0x5bf6ce,'true'))return!![];if(_0x5bf6ce===_0x1a958c['rgwDp'])return![];throw new Error('Invalid\x20value\x20for\x20'+_0x23b027+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x5bf6ce;}export async function configSet(_0x4d438b,_0x27dc45,_0x5d9ed4){const _0x3927dc=_0x35ed,_0x1f7b4c={'AHkyw':function(_0x265f15,_0xd28349){return _0x265f15(_0xd28349);},'NjmUy':function(_0x10a36c,_0x3162a0,_0xd38029){return _0x10a36c(_0x3162a0,_0xd38029);},'LWpDP':function(_0x581683,_0x2699cf,_0xdc9edb,_0x5459a8){return _0x581683(_0x2699cf,_0xdc9edb,_0x5459a8);}},_0x450846=_0x1f7b4c['AHkyw'](getEnvDir,_0x4d438b);if(!_0x1f7b4c['AHkyw'](existsSync,_0x450846))throw new Error(_0x3927dc(0x1dd)+_0x4d438b+_0x3927dc(0x1db)+_0x4d438b);const _0x322df0=await _0x1f7b4c[_0x3927dc(0x1d8)](loadSettings,_0x4d438b),_0x12a114=_0x1f7b4c['NjmUy'](parseValue,_0x27dc45,_0x5d9ed4);_0x1f7b4c[_0x3927dc(0x1e9)](setNestedValue,_0x322df0,_0x27dc45,_0x12a114),await saveSettings(_0x4d438b,_0x322df0),console['log']('Set\x20'+_0x27dc45+'\x20=\x20'+_0x12a114);}function _0x35ed(_0x22749d,_0x480141){_0x22749d=_0x22749d-0x1d2;const _0x20a46e=_0x20a4();let _0x35edf4=_0x20a46e[_0x22749d];return _0x35edf4;}export async function configGet(_0xfee9cc,_0x201a1d){const _0x4281f5=_0x35ed,_0x25d411={'Wgwia':function(_0x21eecd,_0x4b4d41){return _0x21eecd(_0x4b4d41);},'fuaRd':function(_0x480178,_0x2468c2,_0x3dcf75){return _0x480178(_0x2468c2,_0x3dcf75);},'MmfXn':function(_0x3fff23,_0x1ae074){return _0x3fff23===_0x1ae074;},'pyEKc':'object'},_0x2474f2=_0x25d411['Wgwia'](getEnvDir,_0xfee9cc);if(!existsSync(_0x2474f2))throw new Error(_0x4281f5(0x1dd)+_0xfee9cc+_0x4281f5(0x1d6));const _0x371c3d=await loadSettings(_0xfee9cc),_0x2ed446=_0x25d411[_0x4281f5(0x1e1)](getNestedValue,_0x371c3d,_0x201a1d);if(_0x25d411[_0x4281f5(0x1d3)](_0x2ed446,undefined))console[_0x4281f5(0x1e7)](_0x4281f5(0x1e0));else typeof _0x2ed446===_0x25d411[_0x4281f5(0x1dc)]?console[_0x4281f5(0x1e7)](JSON['stringify'](_0x2ed446,null,0x2)):console[_0x4281f5(0x1e7)](_0x2ed446);}export async function configList(_0x39e2f6){const _0x33b2d0=_0x35ed,_0x582b5a={'KFhPX':function(_0x20a2e3,_0x448142){return _0x20a2e3(_0x448142);}},_0x4bbf33=_0x582b5a['KFhPX'](getSettingsPath,_0x39e2f6);if(!existsSync(_0x4bbf33)){const _0x538789=getEnvDir(_0x39e2f6);if(!_0x582b5a[_0x33b2d0(0x1e5)](existsSync,_0x538789))throw new Error(_0x33b2d0(0x1dd)+_0x39e2f6+_0x33b2d0(0x1d6));console[_0x33b2d0(0x1e7)]('No\x20configuration\x20set\x20for\x20\x22'+_0x39e2f6+'\x22');return;}const _0x3b1ce1=await loadSettings(_0x39e2f6),_0x2787e1=formatSettings(_0x3b1ce1);!_0x2787e1?console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x39e2f6+'\x22'):console['log'](_0x2787e1);}export async function configUnset(_0x5cc09b,_0x19ba77){const _0x48d151=_0x35ed,_0x5222fd={'XwMel':function(_0xfbd601,_0x47e7c7){return _0xfbd601(_0x47e7c7);},'VtvqF':function(_0xf7526,_0x2e2a53,_0x2ad309){return _0xf7526(_0x2e2a53,_0x2ad309);}},_0x180c2c=getEnvDir(_0x5cc09b);if(!_0x5222fd['XwMel'](existsSync,_0x180c2c))throw new Error(_0x48d151(0x1dd)+_0x5cc09b+_0x48d151(0x1d6));const _0x539f5f=await loadSettings(_0x5cc09b),_0x233750=_0x5222fd['VtvqF'](deleteNestedValue,_0x539f5f,_0x19ba77);_0x233750?(await saveSettings(_0x5cc09b,_0x539f5f),console['log'](_0x48d151(0x1e3)+_0x19ba77)):console[_0x48d151(0x1e7)]('Key\x20\x22'+_0x19ba77+'\x22\x20not\x20found');}
|
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x21e460=_0x5598;(function(_0x490c18,_0x84de8d){const _0x201223=_0x5598,_0x47980c=_0x490c18();while(!![]){try{const _0xd2b87e=parseInt(_0x201223(0x168))/0x1*(parseInt(_0x201223(0x164))/0x2)+-parseInt(_0x201223(0x152))/0x3+-parseInt(_0x201223(0x150))/0x4+-parseInt(_0x201223(0x151))/0x5*(parseInt(_0x201223(0x155))/0x6)+-parseInt(_0x201223(0x153))/0x7*(-parseInt(_0x201223(0x157))/0x8)+-parseInt(_0x201223(0x154))/0x9+-parseInt(_0x201223(0x16d))/0xa*(-parseInt(_0x201223(0x158))/0xb);if(_0xd2b87e===_0x84de8d)break;else _0x47980c['push'](_0x47980c['shift']());}catch(_0x20a6e3){_0x47980c['push'](_0x47980c['shift']());}}}(_0x4675,0xf37b5));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x4675(){const _0x495a82=['startsWith','5584968LkUyHL','484PSmEGy','zpTPo','baseUrl','length','settings.json','iCrpF','\x0a*\x20=\x20active\x20profile','dbCqd','\x20\x20\x20\x20\x20\x20URL:\x20','environmentDetails','log','reports','110pGZLWp','bug-bashes','endsWith','AuaWl','28559igBuwA','includes','ulUbW','push','local','1006930PCvtVJ','uVFTS','.txt','isDirectory','7471896dShbFf','4583155zXQxra','4108956Pcpohq','7iLbFkD','13930200cGLgkS','6ddvbIU'];_0x4675=function(){return _0x495a82;};return _0x4675();}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions',_0x21e460(0x165),_0x21e460(0x163),_0x21e460(0x16c),'ci'];export async function getEnvNames(){const _0x3637f1=_0x21e460,_0x266c4e={'zpTPo':function(_0x85931a,_0x26615a){return _0x85931a(_0x26615a);},'uVFTS':function(_0x1e4111){return _0x1e4111();},'dbCqd':function(_0x67d95e,_0x21e811,_0x5a54f8){return _0x67d95e(_0x21e811,_0x5a54f8);},'AuaWl':'local','sMEsi':function(_0x572131,_0x241018,_0xf8cf8c){return _0x572131(_0x241018,_0xf8cf8c);},'ulUbW':function(_0x49e396,_0x459f99){return _0x49e396(_0x459f99);},'eqMfN':function(_0x25dae1,_0x11fcd8){return _0x25dae1(_0x11fcd8);},'DPBGL':'legacy'},_0x16950a=getRangerDir();if(!_0x266c4e['zpTPo'](existsSync,_0x16950a))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x2ad1f6=await _0x266c4e[_0x3637f1(0x16e)](readActiveProfileName),_0x2b1004=[],_0x81e187={},_0x5264e9=join(_0x16950a,'local');if(existsSync(_0x5264e9)){const _0x23ca5d=await _0x266c4e['zpTPo'](readdir,_0x5264e9);for(const _0x36bada of _0x23ca5d){const _0x42b7b3=_0x266c4e[_0x3637f1(0x15f)](join,_0x5264e9,_0x36bada),_0x3e61c3=await stat(_0x42b7b3);_0x3e61c3[_0x3637f1(0x14f)]()&&(_0x2b1004['push'](_0x36bada),_0x81e187[_0x36bada]=_0x266c4e[_0x3637f1(0x167)]);}}const _0x3d8f65=_0x266c4e['sMEsi'](join,_0x16950a,'ci');if(_0x266c4e[_0x3637f1(0x159)](existsSync,_0x3d8f65)){const _0x36d745=await readdir(_0x3d8f65);for(const _0x36021e of _0x36d745){const _0x32c2a2=join(_0x3d8f65,_0x36021e),_0x2a4778=await stat(_0x32c2a2);_0x2a4778[_0x3637f1(0x14f)]()&&(_0x2b1004[_0x3637f1(0x16b)](_0x36021e),_0x81e187[_0x36021e]='ci');}}const _0x49d8a7=await _0x266c4e[_0x3637f1(0x16a)](readdir,_0x16950a);for(const _0x351b25 of _0x49d8a7){if(NON_ENV_DIRS['includes'](_0x351b25))continue;if(_0x351b25[_0x3637f1(0x156)]('.'))continue;if(_0x351b25[_0x3637f1(0x166)](_0x3637f1(0x16f)))continue;const _0x465060=join(_0x16950a,_0x351b25),_0x5ec5c5=await stat(_0x465060);_0x5ec5c5['isDirectory']()&&_0x266c4e['eqMfN'](existsSync,join(_0x465060,_0x3637f1(0x15c)))&&(!_0x2b1004[_0x3637f1(0x169)](_0x351b25)&&(_0x2b1004['push'](_0x351b25),_0x81e187[_0x351b25]=_0x266c4e['DPBGL']));}return{'envNames':_0x2b1004,'activeEnv':_0x2ad1f6,'envTypes':_0x81e187};}function _0x5598(_0x204a91,_0x3462a8){_0x204a91=_0x204a91-0x14f;const _0x467595=_0x4675();let _0x5598e5=_0x467595[_0x204a91];return _0x5598e5;}export async function envList(){const _0x3a1173=_0x21e460,_0x20a6e0={'BwYyA':function(_0x41331e){return _0x41331e();},'iCrpF':function(_0x361711,_0x1ae3b6){return _0x361711===_0x1ae3b6;},'ABlKl':'\x0aNo\x20profiles\x20found.','aMDHT':function(_0x6aa62a,_0x1e98dc){return _0x6aa62a===_0x1e98dc;}},{envNames:_0x2fae30,activeEnv:_0x13c8e4,envTypes:_0x33522c}=await _0x20a6e0['BwYyA'](getEnvNames);if(_0x20a6e0[_0x3a1173(0x15d)](_0x2fae30[_0x3a1173(0x15b)],0x0)){console[_0x3a1173(0x162)](_0x20a6e0['ABlKl']),console['log']('Run:\x20ranger\x20profile\x20add\x20<profile-name>');return;}console['log']('\x0aProfiles:');for(const _0x21a129 of _0x2fae30['sort']()){const _0x48db39=_0x20a6e0[_0x3a1173(0x15d)](_0x21a129,_0x13c8e4),_0x3018e4=_0x33522c[_0x21a129]||'local',_0x518121=await loadSettings(_0x21a129),_0x35eac0=_0x20a6e0['aMDHT'](_0x3018e4,'legacy')?'':'\x20['+_0x3018e4+']';console[_0x3a1173(0x162)]('\x20\x20'+(_0x48db39?'*\x20':'\x20\x20')+_0x21a129+_0x35eac0),_0x518121[_0x3a1173(0x15a)]&&console[_0x3a1173(0x162)](_0x3a1173(0x160)+_0x518121[_0x3a1173(0x15a)]),_0x518121[_0x3a1173(0x161)]&&console[_0x3a1173(0x162)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x518121[_0x3a1173(0x161)]);}_0x13c8e4&&console[_0x3a1173(0x162)](_0x3a1173(0x15e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x37c00c=_0x29f6;(function(_0x17a2b0,_0x313864){const _0x213c23=_0x29f6,_0x4976a1=_0x17a2b0();while(!![]){try{const _0x11cccb=-parseInt(_0x213c23(0x104))/0x1+parseInt(_0x213c23(0x11a))/0x2*(-parseInt(_0x213c23(0x106))/0x3)+-parseInt(_0x213c23(0xe8))/0x4*(parseInt(_0x213c23(0x180))/0x5)+-parseInt(_0x213c23(0x15c))/0x6*(-parseInt(_0x213c23(0x147))/0x7)+-parseInt(_0x213c23(0x173))/0x8+-parseInt(_0x213c23(0xeb))/0x9*(-parseInt(_0x213c23(0x151))/0xa)+parseInt(_0x213c23(0x140))/0xb;if(_0x11cccb===_0x313864)break;else _0x4976a1['push'](_0x4976a1['shift']());}catch(_0x22d203){_0x4976a1['push'](_0x4976a1['shift']());}}}(_0xaadc,0xf3db8));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x42d7c4 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=_0x3a6f64=>'\x1b[1m'+_0x3a6f64+_0x37c00c(0x123);function getGitRepoUrl(){const _0x316cc0=_0x37c00c,_0x206ed2={'ncuWV':function(_0x2443b9,_0x224dcb,_0x3a9abe){return _0x2443b9(_0x224dcb,_0x3a9abe);},'YojLS':'git\x20remote\x20get-url\x20origin','amAgh':_0x316cc0(0x145),'KYoqS':_0x316cc0(0x129),'AWitw':_0x316cc0(0x10e)};try{const _0x568715=_0x206ed2['ncuWV'](execSync,_0x206ed2['YojLS'],{'encoding':_0x206ed2['amAgh'],'stdio':[_0x206ed2['KYoqS'],_0x206ed2[_0x316cc0(0x154)],_0x206ed2[_0x316cc0(0x154)]]})[_0x316cc0(0x16e)]();return _0x568715['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x206ed2['AWitw'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x31d899=_0x37c00c,_0x2253ed={'tHVPx':function(_0x284fd7,_0x10d0c6,_0x19fbd1){return _0x284fd7(_0x10d0c6,_0x19fbd1);},'GqYAd':_0x31d899(0x129)};try{return _0x2253ed[_0x31d899(0x198)](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':'utf-8','stdio':['pipe','pipe',_0x2253ed['GqYAd']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5b733e=_0x37c00c,_0x3ba63f={'yyFCt':function(_0x2bd0ff,_0x5a2ca8){return _0x2bd0ff(_0x5a2ca8);},'Menxc':function(_0x2c7f11,_0x30ae59,_0x4a9fb4){return _0x2c7f11(_0x30ae59,_0x4a9fb4);},'csASg':'utf-8'},_0x481544=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x3ba63f[_0x5b733e(0x122)](existsSync,_0x481544))return null;try{const _0x37a6a5=await _0x3ba63f[_0x5b733e(0xfc)](readFile,_0x481544,_0x3ba63f['csASg']);return _0x37a6a5['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x32dc68){const _0x178595={'UyHmF':function(_0x3e6bcc,_0x2e2cd6){return _0x3e6bcc(_0x2e2cd6);}},_0x5b9463=getRangerDir(),_0x2846d8=join(_0x5b9463,ACTIVE_FEATURE_FILE);!_0x178595['UyHmF'](existsSync,_0x5b9463)&&await mkdir(_0x5b9463,{'recursive':!![]}),await writeFile(_0x2846d8,_0x32dc68,'utf-8');}function getProgressDisplay(_0x113347){const _0x37b9d8=_0x37c00c,_0x5ef0fa={'pnagD':function(_0x3588fa,_0x5bc123){return _0x3588fa+_0x5bc123;},'PWmbs':function(_0x1dfede,_0x1d954b){return _0x1dfede+_0x1d954b;},'dDent':function(_0x456b20,_0x311ece){return _0x456b20-_0x311ece;},'ZsMzs':function(_0x4db1ec,_0x279e86){return _0x4db1ec>_0x279e86;},'vjwMW':function(_0x1ac178,_0x1633e5){return _0x1ac178>_0x1633e5;}},_0x476984=_0x113347['verifiedItems']||0x0,_0xdc6a7a=_0x113347['verificationInProgressItems']||0x0,_0x4ec87a=_0x113347['blockedItems']||0x0,_0x251776=_0x113347[_0x37b9d8(0x131)]||0x0,_0x2ea1c6=_0x113347[_0x37b9d8(0x164)]||0x0,_0x2fa7cf=_0x5ef0fa[_0x37b9d8(0x1b6)](_0x5ef0fa[_0x37b9d8(0x1b6)](_0x476984,_0xdc6a7a),_0x4ec87a)+_0x251776+_0x2ea1c6;if(_0x2fa7cf===0x0)return'-';const _0x4b2200=0xa,_0x3cf6ed=Math[_0x37b9d8(0x135)](_0x476984/_0x2fa7cf*_0x4b2200),_0x5ee1d1=_0x5ef0fa['PWmbs']('█'['repeat'](_0x3cf6ed),'░'['repeat'](_0x5ef0fa[_0x37b9d8(0x1a4)](_0x4b2200,_0x3cf6ed))),_0x45a898=[];if(_0x4ec87a>0x0)_0x45a898[_0x37b9d8(0x19e)](_0x4ec87a+'\x20blocked');if(_0x5ef0fa[_0x37b9d8(0x17e)](_0x251776,0x0))_0x45a898[_0x37b9d8(0x19e)](_0x251776+_0x37b9d8(0x13b));if(_0xdc6a7a>0x0)_0x45a898['push'](_0xdc6a7a+_0x37b9d8(0xec));const _0x48810f=_0x5ef0fa[_0x37b9d8(0xf3)](_0x45a898['length'],0x0)?'\x20('+_0x45a898['join'](',\x20')+')':'';return _0x5ee1d1+'\x20'+_0x476984+'/'+_0x2fa7cf+'\x20verified'+_0x48810f;}function getCurrentSessionItems(_0x2b4871,_0x3077c2){const _0x1db1d1=_0x37c00c;if(!_0x2b4871['currentSessionId'])return _0x3077c2['filter'](_0x1e517a=>!_0x1e517a[_0x1db1d1(0x143)]);return _0x3077c2[_0x1db1d1(0x120)](_0x4576ec=>_0x4576ec['sessionId']===_0x2b4871[_0x1db1d1(0x103)]||!_0x4576ec['sessionId']);}function _0x29f6(_0x1b512e,_0x97b746){_0x1b512e=_0x1b512e-0xe3;const _0xaadc5b=_0xaadc();let _0x29f6d1=_0xaadc5b[_0x1b512e];return _0x29f6d1;}function displayFeature(_0x1b5cb7,_0x59fc69){const _0x1eb095=_0x37c00c,_0xa26f5a={'wnUEX':function(_0x5ec715,_0x5952ac){return _0x5ec715(_0x5952ac);},'VTJYd':_0x1eb095(0x10f),'bSNgc':function(_0x5cae14,_0x5a7395){return _0x5cae14===_0x5a7395;},'MfIZK':function(_0x5e526b,_0x175c71){return _0x5e526b===_0x175c71;},'LjhLz':_0x1eb095(0x132),'SuRCo':function(_0x390801,_0x2a1bc6){return _0x390801===_0x2a1bc6;},'XexFz':function(_0x21932c,_0xb381d0){return _0x21932c===_0xb381d0;},'zhuEE':'blocked','bykpD':function(_0x131239,_0x52bef8){return _0x131239===_0x52bef8;},'OaHCL':function(_0x1a7e46,_0x1bbaa9){return _0x1a7e46>_0x1bbaa9;},'yboqV':function(_0x53cb70,_0x19088d){return _0x53cb70!==_0x19088d;},'nQoEV':function(_0x5aa423,_0x11ec2e){return _0x5aa423!==_0x11ec2e;},'GXPxl':function(_0x36f4da,_0x45d836){return _0x36f4da+_0x45d836;},'ebyCj':_0x1eb095(0x1b5),'GGwml':function(_0x3284e0,_0x50ceb3){return _0x3284e0===_0x50ceb3;},'rqNBB':_0x1eb095(0x134)};console['log']('\x0a'+_0x1b5cb7['name']+'\x20('+_0x1b5cb7[_0x1eb095(0x12a)]+')');_0x1b5cb7['stats']&&console[_0x1eb095(0xef)](_0x1eb095(0x19a)+_0xa26f5a[_0x1eb095(0x107)](getProgressDisplay,_0x1b5cb7[_0x1eb095(0xe9)]));_0x1b5cb7['description']&&console['log'](_0x1eb095(0xf1)+_0x1b5cb7[_0x1eb095(0x16b)]);_0x1b5cb7['gitRepoUrl']&&console['log'](_0x1eb095(0x114)+_0x1b5cb7[_0x1eb095(0x187)]);_0x1b5cb7['gitBranch']&&console['log'](_0x1eb095(0x14c)+_0x1b5cb7[_0x1eb095(0x109)]);console[_0x1eb095(0xef)](_0x1eb095(0xf5)+new Date(_0x1b5cb7['createdAt'])[_0x1eb095(0x18d)]());_0x1b5cb7[_0x1eb095(0x156)]&&console['log'](_0x1eb095(0x167)+new Date(_0x1b5cb7[_0x1eb095(0x156)])['toLocaleString']());if(_0x59fc69&&_0x59fc69[_0x1eb095(0x130)]>0x0){console[_0x1eb095(0xef)](_0xa26f5a[_0x1eb095(0xea)]);for(let _0x3a5738=0x0;_0x3a5738<_0x59fc69['length'];_0x3a5738++){const _0x1de759=_0x59fc69[_0x3a5738];let _0x547bbb;if(_0x1de759[_0x1eb095(0x183)]===_0x1eb095(0x134)&&_0xa26f5a[_0x1eb095(0x100)](_0x1de759[_0x1eb095(0xf8)],_0x1eb095(0x148)))_0x547bbb='✅';else{if(_0xa26f5a[_0x1eb095(0x16f)](_0x1de759[_0x1eb095(0x183)],_0xa26f5a['LjhLz']))_0x547bbb='🟢';else{if(_0xa26f5a[_0x1eb095(0x174)](_0x1de759[_0x1eb095(0x183)],'incomplete'))_0x547bbb='🟠';else{if(_0xa26f5a['XexFz'](_0x1de759[_0x1eb095(0x183)],_0xa26f5a['zhuEE']))_0x547bbb='🛑';else{if(_0xa26f5a['bykpD'](_0x1de759['status'],_0x1eb095(0x134)))_0x547bbb='⛔';else _0x1de759['status']===_0x1eb095(0x1a1)?_0x547bbb='⏳':_0x547bbb='⬜';}}}}const _0x3d5a27=_0xa26f5a[_0x1eb095(0x16c)](_0x1de759['version'],0x1)?_0x1eb095(0x11d)+_0x1de759[_0x1eb095(0x15a)]+')':'',_0x33536f=_0x1de759['version']>0x1&&_0x1de759[_0x1eb095(0x146)]&&_0xa26f5a[_0x1eb095(0x18e)](_0x1de759[_0x1eb095(0x183)],_0x1eb095(0x134))&&_0xa26f5a['nQoEV'](_0x1de759['status'],_0xa26f5a['LjhLz'])?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0xa26f5a[_0x1eb095(0x1a3)](_0x3a5738,0x1)+'.\x20'+_0x547bbb+'\x20'+_0x1de759['description']+_0x3d5a27+_0x33536f);_0xa26f5a[_0x1eb095(0x165)](_0x1de759['status'],'blocked')&&_0x1de759[_0x1eb095(0x189)]&&console[_0x1eb095(0xef)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x1de759['blockedReason']);_0x1de759[_0x1eb095(0x183)]===_0xa26f5a['ebyCj']&&_0x1de759[_0x1eb095(0x12d)]&&console[_0x1eb095(0xef)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x1de759['incompleteReason']);if(_0xa26f5a[_0x1eb095(0x193)](_0x1de759['status'],_0xa26f5a['rqNBB'])&&_0x1de759['terminalReason']===_0x1eb095(0x148))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x1de759[_0x1eb095(0x183)]===_0x1eb095(0x134)&&_0x1de759[_0x1eb095(0x139)]&&console[_0x1eb095(0xef)](_0x1eb095(0x191)+_0x1de759['canceledReason']);}}}export async function featureCreate(_0x204a0e,_0x28e83f){const _0x672296=_0x37c00c,_0xccf524={'fOKzP':function(_0x5b46d8,_0x4bf99b){return _0x5b46d8(_0x4bf99b);},'tLkJL':function(_0x1f9eb6){return _0x1f9eb6();},'XZokF':_0x672296(0xfd)},{envNames:_0x41001d}=await getEnvNames();_0x41001d['length']===0x0&&console[_0x672296(0x14d)]('\x0a'+_0xccf524['fOKzP'](formatProfileRequiredMessage,_0x16ed76=>bold(_0x16ed76)));const _0xcbdc59=_0x28e83f['scenarios']?_0x28e83f[_0x672296(0x121)][_0x672296(0x1b9)](_0x44e171=>_0x44e171[_0x672296(0x16e)]()):[],_0x41759e=_0xccf524[_0x672296(0x1a6)](getGitRepoUrl),_0x14aeb2=getGitBranch();console[_0x672296(0xef)](_0xccf524[_0x672296(0x14f)]);const _0x195a48=await _0xccf524[_0x672296(0x182)](createFeature,{'name':_0x204a0e,'description':_0x28e83f[_0x672296(0x16b)],'checklist':_0xcbdc59,'gitRepoUrl':_0x41759e,'gitBranch':_0x14aeb2});await setActiveFeatureId(_0x195a48['id']),await tryStartCurrentSession(_0x195a48['id']);const _0x27cf88=process[_0x672296(0x108)]['CLAUDE_SESSION_ID'];_0x27cf88&®isterSession(_0x27cf88,_0x195a48['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x195a48['id']),displayFeature(_0x195a48,_0x195a48[_0x672296(0x136)]),console[_0x672296(0xef)](_0x672296(0x17b));}export async function featureList(_0x431a81){const _0x11c25b=_0x37c00c,_0x1f271b={'YGEDa':function(_0x25b7ee,_0x3ae76a){return _0x25b7ee>_0x3ae76a;},'IFNrW':function(_0x44474a,_0x4c2d49){return _0x44474a<_0x4c2d49;},'WjzPb':function(_0x1e9be2,_0x41d7b0){return _0x1e9be2!==_0x41d7b0;},'fIEgv':'\x20--current-branch','cDksP':'\x20--include-deleted'},_0x2b503b={'limit':_0x431a81['limit']??0xa,'offset':_0x431a81['offset']??0x0,'includeDeleted':_0x431a81['includeDeleted']};_0x431a81[_0x11c25b(0x160)]&&(_0x2b503b[_0x11c25b(0x187)]=getGitRepoUrl(),_0x2b503b[_0x11c25b(0x109)]=getGitBranch());const _0x1145f5=await listFeatures(_0x2b503b);if(_0x1145f5['items']['length']===0x0){console[_0x11c25b(0xef)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x57768e=_0x1f271b[_0x11c25b(0x11b)](_0x1145f5[_0x11c25b(0xe5)],_0x1145f5[_0x11c25b(0x17c)][_0x11c25b(0x130)])?_0x11c25b(0x102)+_0x1145f5['items'][_0x11c25b(0x130)]+_0x11c25b(0xfa)+_0x1145f5['totalCount']:_0x1145f5['totalCount']+_0x11c25b(0xe6);console['log']('\x0a'+_0x57768e+':\x0a');for(const _0x15eaea of _0x1145f5[_0x11c25b(0x17c)]){console[_0x11c25b(0xef)](''+_0x15eaea['name']),console[_0x11c25b(0xef)](_0x11c25b(0x1b1)+_0x15eaea['id']),_0x15eaea[_0x11c25b(0xe9)]&&console[_0x11c25b(0xef)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x15eaea[_0x11c25b(0xe9)])),_0x15eaea[_0x11c25b(0x109)]&&console[_0x11c25b(0xef)](_0x11c25b(0x14c)+_0x15eaea['gitBranch']),console[_0x11c25b(0xef)](_0x11c25b(0xf5)+new Date(_0x15eaea[_0x11c25b(0x14e)])['toLocaleDateString']()),console['log']('');}const _0x27df70=_0x2b503b[_0x11c25b(0x172)]??0xa,_0x9de134=(_0x2b503b['offset']??0x0)+_0x1145f5['items']['length'];if(_0x1f271b[_0x11c25b(0x12b)](_0x9de134,_0x1145f5[_0x11c25b(0xe5)])){const _0x369bc5=_0x1f271b[_0x11c25b(0xe4)](_0x27df70,0xa)?'\x20--limit\x20'+_0x27df70:'',_0x3b82ea=_0x431a81[_0x11c25b(0x160)]?_0x1f271b[_0x11c25b(0x11e)]:'',_0x86ee3d=_0x431a81[_0x11c25b(0x1a5)]?_0x1f271b['cDksP']:'';console['log'](_0x11c25b(0xf9)+_0x9de134+_0x369bc5+_0x3b82ea+_0x86ee3d);}}export async function featureShow(_0x556546){const _0x4b5f94=_0x37c00c,_0x2f36c3={'PlevU':function(_0x4ca582){return _0x4ca582();},'akzMd':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','uXqHT':function(_0x258d28,_0x43bb6a,_0x19dbbf){return _0x258d28(_0x43bb6a,_0x19dbbf);}},_0x58e9a1=_0x556546||await _0x2f36c3[_0x4b5f94(0x177)](getActiveFeatureId);if(!_0x58e9a1)throw new Error(_0x2f36c3['akzMd']);const _0x55ca65=await getFeature(_0x58e9a1);_0x2f36c3[_0x4b5f94(0x14a)](displayFeature,_0x55ca65,_0x55ca65[_0x4b5f94(0x136)]);}export async function featureResume(_0x3ba514){const _0x1619e7=_0x37c00c,_0x1338db={'YYuuP':function(_0x23ad89,_0x5856e7){return _0x23ad89(_0x5856e7);},'pxiJT':function(_0x4f02b6){return _0x4f02b6();},'XMDWx':function(_0x1ab2fe,_0x29204f){return _0x1ab2fe!==_0x29204f;},'DnjZT':function(_0x3c47e3){return _0x3c47e3();},'HTKjl':function(_0x1659c0){return _0x1659c0();},'fFhGO':_0x1619e7(0x125),'LGccl':function(_0x3209fa,_0x519264){return _0x3209fa===_0x519264;},'kpHkM':_0x1619e7(0x111),'xrDDO':function(_0x310492,_0x3754f4){return _0x310492===_0x3754f4;},'WkrJy':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','zwmep':function(_0x255a5f,_0x176237){return _0x255a5f(_0x176237);},'VHMqS':'list','isDjW':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:'};if(_0x3ba514){const _0x2b3e26=await _0x1338db[_0x1619e7(0x10c)](getFeature,_0x3ba514);await setActiveFeatureId(_0x2b3e26['id']);const _0x1474b4=_0x1338db['pxiJT'](getGitBranch);_0x1474b4&&_0x1338db[_0x1619e7(0x184)](_0x1474b4,_0x2b3e26['gitBranch'])&&(await updateFeature(_0x2b3e26['id'],{'gitBranch':_0x1474b4}),console[_0x1619e7(0xef)](_0x1619e7(0x133)+_0x1474b4));console[_0x1619e7(0xef)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x2b3e26[_0x1619e7(0x1a0)]+'\x20('+_0x2b3e26['id']+')'),await tryStartCurrentSession(_0x2b3e26['id']);const _0x105d92=process['env']['CLAUDE_SESSION_ID'];_0x105d92&®isterSession(_0x105d92,_0x2b3e26['id']);displayFeature(_0x2b3e26,_0x2b3e26[_0x1619e7(0x136)]),await printFeedbackNudge(_0x2b3e26['id']);return;}const _0x143f06=_0x1338db['DnjZT'](getGitRepoUrl),_0x17106e=_0x1338db[_0x1619e7(0xee)](getGitBranch);if(!_0x143f06&&!_0x17106e)throw new Error(_0x1619e7(0x10b));console['log'](_0x1619e7(0x12e)+(_0x143f06||'any')+'\x20/\x20'+(_0x17106e||_0x1338db['fFhGO'])+'...');const _0x658906=await listFeatures({'gitRepoUrl':_0x143f06,'gitBranch':_0x17106e}),_0x5d43a0=_0x658906[_0x1619e7(0x17c)]['filter'](_0x474ef6=>_0x474ef6['status']?_0x474ef6['status']!==_0x1619e7(0x132):!_0x474ef6[_0x1619e7(0x156)]);if(_0x1338db[_0x1619e7(0x1b8)](_0x5d43a0[_0x1619e7(0x130)],0x0)){console[_0x1619e7(0xef)](_0x1338db[_0x1619e7(0x112)]),console[_0x1619e7(0xef)](_0x1619e7(0x168));return;}let _0x6ae279;if(_0x1338db[_0x1619e7(0x126)](_0x5d43a0['length'],0x1))_0x6ae279=_0x5d43a0[0x0];else{const _0x6920c9=process[_0x1619e7(0x13a)][_0x1619e7(0x15b)]&&process['stdout']['isTTY'];if(!_0x6920c9){console['log'](_0x1338db['WkrJy']);for(const _0x414589 of _0x5d43a0){console['log']('\x20\x20'+_0x414589['name']),console[_0x1619e7(0xef)](_0x1619e7(0x128)+_0x414589['id']),_0x414589['stats']&&console['log'](_0x1619e7(0xff)+_0x1338db[_0x1619e7(0x17a)](getProgressDisplay,_0x414589['stats'])),_0x414589['gitBranch']&&console[_0x1619e7(0xef)](_0x1619e7(0x169)+_0x414589[_0x1619e7(0x109)]);}throw new Error(_0x1619e7(0x196));}const {selected:_0x36fa41}=await _0x42d7c4[_0x1619e7(0x113)]([{'type':_0x1338db['VHMqS'],'name':_0x1619e7(0x19d),'message':_0x1338db['isDjW'],'choices':_0x5d43a0[_0x1619e7(0x1b9)](_0x79f50f=>({'name':_0x79f50f[_0x1619e7(0x1a0)]+'\x20('+_0x79f50f['id']+')','value':_0x79f50f['id']}))}]);_0x6ae279=_0x5d43a0['find'](_0x26b0fd=>_0x26b0fd['id']===_0x36fa41);}await setActiveFeatureId(_0x6ae279['id']);_0x17106e&&_0x1338db['XMDWx'](_0x17106e,_0x6ae279['gitBranch'])&&(await updateFeature(_0x6ae279['id'],{'gitBranch':_0x17106e}),console['log'](_0x1619e7(0x133)+_0x17106e));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x6ae279[_0x1619e7(0x1a0)]+'\x20('+_0x6ae279['id']+')'),await _0x1338db['YYuuP'](tryStartCurrentSession,_0x6ae279['id']);const _0x560b90=await getFeature(_0x6ae279['id']),_0x5195ac=process['env'][_0x1619e7(0x161)];_0x5195ac&®isterSession(_0x5195ac,_0x560b90['id']),displayFeature(_0x560b90,_0x560b90['checklistItems']),await printFeedbackNudge(_0x560b90['id']);}function _0xaadc(){const _0x17059e=['fOKzP','status','XMDWx','bXYly','isInteger','gitRepoUrl','exit','blockedReason','ttGrA','rMpoW','FhSlB','toLocaleString','yboqV','fdwdR','replace','\x20\x20\x20\x20\x20\x20Cancelled:\x20','xVLly','GGwml','beDsZ','notes','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','timing','tHVPx','IvNxg','\x20\x20\x20Progress:\x20','Step\x20','ready','selected','push','all','name','verification_in_progress','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','GXPxl','dDent','includeDeleted','tLkJL','tQgPI','hvhox','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x20\x20\x20Status:\x20','.\x20Feature\x20review\x20has\x20','):\x20\x22','ozrkB','spatial','SrmKn','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20\x20ID:\x20','xJJZA','xraFV','authorName','incomplete','pnagD','selector','LGccl','map','PTCso','kYnMQ','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','WjzPb','totalCount','\x20feature\x20review(s)\x20found','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','13204SmzfHZ','stats','VTJYd','8253gdEkBc','\x20in\x20progress','shBBs','HTKjl','log','rSwdv','\x20\x20\x20Description:\x20','\x20unaddressed\x20comment(s)','vjwMW','SuecD','\x20\x20\x20Created:\x20','Current\x20session\x20not\x20found.','submittedAt','terminalReason','Next\x20page:\x20ranger\x20list\x20--offset\x20','\x20of\x20','RDmUo','Menxc','\x0aCreating\x20feature\x20review...','find','\x20\x20\x20\x20\x20Progress:\x20','bSNgc','unaddressedComments','Showing\x20','currentSessionId','726487NoEIoS','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','5731833uaGWpr','wnUEX','env','gitBranch','\x0a⚠️\x20\x20','Not\x20in\x20a\x20git\x20repository.','YYuuP','from','github.com/','\x0a\x20\x20\x20Scenarios:','short','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','kpHkM','prompt','\x20\x20\x20Repository:\x20','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0a✅\x20Scenario\x20added','\x20concluded.','assetUrl','assets','2ozHMmC','YGEDa','reports','\x20(v','fIEgv','\x20\x20\x20\x20\x20📋\x20Selector:\x20','filter','scenarios','yyFCt','\x1b[0m','after','any','xrDDO','.png','\x20\x20\x20\x20\x20ID:\x20','pipe','dashboardUrl','IFNrW','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','incompleteReason','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','linkedSession','length','incompleteItems','verified','\x20\x20\x20Updated\x20branch\x20to:\x20','closed','round','checklistItems','\x20\x20\x20\x20','point','canceledReason','stdin','\x20incomplete','iteration','completed','JJWac','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','46511751SPNtnI','json','\x20—\x20','sessionId','toLocaleDateString','utf-8','parentItemId','83713gCcctP','approved','\x20scenario(s).','uXqHT','screenshot','\x20\x20\x20Branch:\x20','warn','createdAt','XZokF','No\x20scenarios\x20found.','14710eRDVGh','output','join','KYoqS','type','completedAt','oXltN','toFixed','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','version','isTTY','564dzUXUa','error','\x20\x20\x20▶️\x20Started\x20session\x20','in_progress','currentBranch','CLAUDE_SESSION_ID','stringify','split','pendingItems','bykpD','\x0aConcluding\x20session...','\x20\x20\x20Completed:\x20','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20\x20\x20\x20\x20Branch:\x20','\x0aAvailable\x20scenarios:','description','OaHCL','\x20\x20💬\x20','trim','MfIZK','\x0a✅\x20Session\x20is\x20already\x20completed.','YewMx','limit','8863704sTmMVT','SuRCo','browserSessionId','domRef','PlevU','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','canonicalFlow','zwmep','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','items','/api/v1/mcp/browser-sessions/','ZsMzs','\x20—\x20no\x20comments','2965lzGWgU','\x20\x20\x20\x20\x20🎯\x20Element:\x20<'];_0xaadc=function(){return _0x17059e;};return _0xaadc();}async function printFeedbackNudge(_0x1f0e5b){const _0xc7e4e7=_0x37c00c,_0x3e8f6f={'SHQZU':function(_0x4ce16c,_0x479907){return _0x4ce16c(_0x479907);},'GIoId':function(_0x354140,_0x14d9b4,_0x13064d){return _0x354140(_0x14d9b4,_0x13064d);},'rSwdv':function(_0x4b1464,_0x31bcea){return _0x4b1464>_0x31bcea;},'SxKFE':function(_0xb299ff,_0x40b9be){return _0xb299ff>_0x40b9be;},'mnBAs':_0xc7e4e7(0x1b0)};try{const {items:_0xda4cbd}=await _0x3e8f6f['SHQZU'](getActionItems,_0x1f0e5b);let _0x591cd7=0x0,_0x76135b=0x0;for(const _0x1df2b2 of _0xda4cbd){const _0x2077ff=await _0x3e8f6f['GIoId'](getItemFeedback,_0x1f0e5b,_0x1df2b2['id']);_0x3e8f6f[_0xc7e4e7(0xf0)](_0x2077ff['unaddressedComments']['length'],0x0)&&(_0x591cd7+=_0x2077ff[_0xc7e4e7(0x101)]['length'],_0x76135b++);}_0x3e8f6f['SxKFE'](_0x591cd7,0x0)&&(console[_0xc7e4e7(0xef)](_0xc7e4e7(0x10a)+_0x591cd7+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x76135b+_0xc7e4e7(0x149)),console['log'](_0x3e8f6f['mnBAs']));}catch{}}async function tryStartCurrentSession(_0x1de6ee){const _0x455c77=_0x37c00c;try{const {sessions:_0x3f7732}=await listFeatureSessions(_0x1de6ee),_0x13263b=_0x3f7732[_0x455c77(0xfe)](_0x16b142=>_0x16b142[_0x455c77(0x183)]===_0x455c77(0x19c));_0x13263b&&(await startSession(_0x1de6ee,_0x13263b['id']),console['log'](_0x455c77(0x15e)+_0x13263b[_0x455c77(0x13c)]));}catch{}}export async function featureReport(_0x341a77,_0x1a5d19){const _0x5a8b10=_0x37c00c,_0x52d72f={'tQgPI':function(_0x8f6181){return _0x8f6181();},'pIYJg':function(_0x1ca746,_0x1d3c13){return _0x1ca746(_0x1d3c13);},'EmOqL':'utf-8'},_0x45b4b3=_0x341a77||await _0x52d72f[_0x5a8b10(0x1a7)](getActiveFeatureId);if(!_0x45b4b3)throw new Error(_0x5a8b10(0x1a2));console[_0x5a8b10(0xef)]('\x0aGenerating\x20report...');const _0x2e7613=await getFeatureReportMarkdown(_0x45b4b3,{'style':_0x1a5d19['style']}),_0x4c1288=_0x1a5d19[_0x5a8b10(0x152)]||join(_0x52d72f[_0x5a8b10(0x1a7)](getRangerDir),_0x5a8b10(0x11c),_0x45b4b3+'.md'),_0x50bdf9=join(_0x4c1288,'..');!_0x52d72f['pIYJg'](existsSync,_0x50bdf9)&&await mkdir(_0x50bdf9,{'recursive':!![]}),await writeFile(_0x4c1288,_0x2e7613,_0x52d72f['EmOqL']),console[_0x5a8b10(0xef)]('\x0a✅\x20Report\x20generated:\x20'+_0x4c1288);}function getScenarioResult(_0x100af0){const _0x217f3e=_0x37c00c,_0x3595f0={'NGCrh':_0x217f3e(0x134),'xraFV':function(_0x133e2d,_0x5ddfe3){return _0x133e2d===_0x5ddfe3;},'rMpoW':'in_progress'};if(_0x100af0['status']===_0x3595f0['NGCrh'])return _0x100af0[_0x217f3e(0xf8)]??_0x3595f0['NGCrh'];if(_0x3595f0[_0x217f3e(0x1b3)](_0x100af0['status'],_0x217f3e(0x1a1)))return _0x3595f0[_0x217f3e(0x18b)];return _0x100af0['status'];}function getScenarioRationale(_0x294ae0,_0x35414c){const _0x7b9044=_0x37c00c;if(_0x35414c)return _0x35414c;if(_0x294ae0['blockedReason'])return _0x294ae0['blockedReason'];if(_0x294ae0[_0x7b9044(0x12d)])return _0x294ae0[_0x7b9044(0x12d)];if(_0x294ae0['canceledReason'])return _0x294ae0['canceledReason'];if(_0x294ae0[_0x7b9044(0x195)])return _0x294ae0[_0x7b9044(0x195)];return null;}export async function featureReportPrDescription(_0x286e4b,_0x62abc3){const _0x166355=_0x37c00c,_0x4122ae={'IvTdc':function(_0x2ffc68){return _0x2ffc68();},'TLHme':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','LLARn':function(_0x5dd067,_0x12213d,_0xa5e8b9){return _0x5dd067(_0x12213d,_0xa5e8b9);},'DoVen':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','dhGtZ':'\x0aAvailable\x20scenarios:'},_0x3f8d44=_0x286e4b||await _0x4122ae['IvTdc'](getActiveFeatureId);if(!_0x3f8d44)throw new Error(_0x4122ae['TLHme']);const _0x38624d=await getFeature(_0x3f8d44),_0x4f4292=_0x38624d['checklistItems']||[],_0x478dd1=_0x4122ae['LLARn'](getCurrentSessionItems,_0x38624d,_0x4f4292);_0x478dd1['length']===0x0&&(console['error'](_0x4122ae['DoVen']),process['exit'](0x1));const _0x4ee0e5=_0x62abc3['excludeScenarios']??[],_0x359a3f=_0x4ee0e5['filter'](_0x2c30e2=>!Number[_0x166355(0x186)](_0x2c30e2)||_0x2c30e2<0x1||_0x2c30e2>_0x478dd1['length']);if(_0x359a3f['length']>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x359a3f[_0x166355(0x153)](',\x20')),console['log'](_0x4122ae['dhGtZ']);for(let _0x562716=0x0;_0x562716<_0x478dd1['length'];_0x562716++){console[_0x166355(0xef)]('\x20\x20'+(_0x562716+0x1)+'.\x20'+_0x478dd1[_0x562716]['description']);}process[_0x166355(0x188)](0x1);}const _0x1e4b62=new Set(_0x4ee0e5[_0x166355(0x1b9)](_0x33264a=>_0x33264a-0x1)),_0x3ca703=_0x478dd1['filter']((_0xe9c2cf,_0x53d86c)=>!_0x1e4b62['has'](_0x53d86c));_0x3ca703[_0x166355(0x130)]===0x0&&(console[_0x166355(0x15d)](_0x166355(0x178)),process[_0x166355(0x188)](0x1));if(_0x62abc3[_0x166355(0x141)])await outputJsonReport(_0x3f8d44,_0x38624d,_0x3ca703);else{const _0x14cd54=await getFeatureReportMarkdown(_0x3f8d44,{'itemIds':_0x3ca703['map'](_0x5aba4a=>_0x5aba4a['id'])});process['stdout']['write'](_0x14cd54['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x14907b,_0x539a07,_0x561845){const _0x143328=_0x37c00c,_0x4572a2={'gggIj':function(_0x439234,_0x4a35f4){return _0x439234>_0x4a35f4;},'VwZlb':function(_0x290cc3){return _0x290cc3();},'Wbcdg':function(_0x2d71e2,_0x4d52eb){return _0x2d71e2(_0x4d52eb);}},_0x5117f7=_0x4572a2['VwZlb'](getApiBaseUrl),_0x3bfe66=await _0x4572a2['Wbcdg'](getFeatureReport,_0x14907b),_0x38eedd=new Map(_0x3bfe66[_0x143328(0x136)][_0x143328(0x1b9)](_0x25111e=>[_0x25111e['id'],_0x25111e])),_0x288312=await Promise[_0x143328(0x19f)](_0x561845['map'](async _0x46853c=>{const _0xf5c209=_0x143328,_0x3300ff=_0x38eedd['get'](_0x46853c['id']),_0x276598=_0x3300ff?.[_0xf5c209(0x12f)]??null;let _0x3dc208=[];if(_0x46853c['browserSessionId'])try{const {steps:_0x21cd67}=await getBrowserSessionSteps(_0x46853c['browserSessionId']);_0x4572a2['gggIj'](_0x21cd67['length'],0x0)&&(_0x3dc208=_0x21cd67[_0xf5c209(0x1b9)](_0x7d9737=>{const _0x12e5b6=_0xf5c209,_0x244e6a=_0x7d9737['assets']['find'](_0x517539=>_0x517539['assetType']===_0x12e5b6(0x14b)&&_0x517539[_0x12e5b6(0x197)]===_0x12e5b6(0x124))??_0x7d9737[_0x12e5b6(0x119)]['find'](_0x4bb051=>_0x4bb051['assetType']==='screenshot');let _0x57496a=null,_0x217981=null;if(_0x244e6a){const _0x2efc99=_0x244e6a['storage']['location'][_0x12e5b6(0x163)]('/')['pop']();_0x57496a=_0x5117f7+_0x12e5b6(0x17d)+_0x46853c[_0x12e5b6(0x175)]+'/artifacts/'+_0x2efc99,_0x2efc99&&(_0x217981=_0x2efc99[_0x12e5b6(0x190)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x217981||_0x7d9737['description']||_0x7d9737['stepName']||_0x12e5b6(0x19b)+_0x7d9737['position'],'screenshot':_0x57496a,'is_key_step':_0x7d9737['isKeyStep']};}));}catch{}return _0x3dc208[_0xf5c209(0x130)]===0x0&&_0x276598?.['screenshotUrls']&&(_0x3dc208=_0x276598['screenshotUrls']['map']((_0x2d912d,_0x982ac2)=>({'description':'Screenshot\x20'+(_0x982ac2+0x1),'screenshot':_0x2d912d,'is_key_step':![]}))),{'description':_0x46853c['description'],'result':getScenarioResult(_0x46853c),'rationale':getScenarioRationale(_0x46853c,_0x276598?.['agentResponse']),'steps':_0x3dc208};})),_0x15fe74={'url':_0x539a07[_0x143328(0x12a)],'scenarios':_0x288312};process['stdout']['write'](JSON[_0x143328(0x162)](_0x15fe74,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2a6abd){const _0x397f20=_0x37c00c,_0x3376de={'MsShk':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','RDmUo':function(_0x2e881e,_0x167a15){return _0x2e881e(_0x167a15);},'ttGrA':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','yIByR':_0x397f20(0x13d),'ozrkB':_0x397f20(0x170),'IvNxg':function(_0x173ed7,_0x22435d){return _0x173ed7!==_0x22435d;},'zgntw':'in_progress'},_0x2bf53e=_0x2a6abd||await getActiveFeatureId();if(!_0x2bf53e)throw new Error(_0x3376de['MsShk']);const _0x3be856=await _0x3376de[_0x397f20(0xfb)](getFeature,_0x2bf53e);if(!_0x3be856[_0x397f20(0x103)])throw new Error(_0x3376de[_0x397f20(0x18a)]);const {sessions:_0x94f8be}=await listFeatureSessions(_0x2bf53e),_0x9f5148=_0x94f8be['find'](_0x4e4041=>_0x4e4041['id']===_0x3be856['currentSessionId']);if(!_0x9f5148)throw new Error(_0x397f20(0xf6));if(_0x9f5148['status']===_0x3376de['yIByR']){console['log'](_0x3376de[_0x397f20(0x1ad)]);return;}if(_0x3376de[_0x397f20(0x199)](_0x9f5148['status'],_0x3376de['zgntw']))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x9f5148[_0x397f20(0x183)]);console[_0x397f20(0xef)](_0x397f20(0x166)),await concludeSession(_0x2bf53e,_0x3be856[_0x397f20(0x103)]),console[_0x397f20(0xef)]('\x0a✅\x20Session\x20'+_0x9f5148[_0x397f20(0x13c)]+_0x397f20(0x117)),console[_0x397f20(0xef)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0xc20360){const _0x52719c=_0x37c00c,_0x42a665={'CoUKy':function(_0x8bf2f){return _0x8bf2f();},'kYnMQ':_0x52719c(0x1a2),'oXltN':function(_0x5d8b0c,_0x4c9616){return _0x5d8b0c(_0x4c9616);},'ogPDJ':function(_0x138b26,_0x37f6b3){return _0x138b26(_0x37f6b3);},'ETzVg':function(_0x60a872,_0x1fd0e6){return _0x60a872===_0x1fd0e6;},'Lylyf':function(_0x2fd1c9,_0x3e1cd9){return _0x2fd1c9===_0x3e1cd9;},'SuecD':_0x52719c(0x15f)},_0x5c2775=_0xc20360||await _0x42a665['CoUKy'](getActiveFeatureId);if(!_0x5c2775)throw new Error(_0x42a665[_0x52719c(0x1bb)]);const _0x317c7c=await _0x42a665[_0x52719c(0x157)](getFeature,_0x5c2775);console[_0x52719c(0xef)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x317c7c[_0x52719c(0x1a0)]+'\x0a');const {sessions:_0x1acad1}=await _0x42a665['ogPDJ'](listFeatureSessions,_0x5c2775);if(_0x42a665['ETzVg'](_0x1acad1[_0x52719c(0x130)],0x0)){console[_0x52719c(0xef)]('No\x20sessions\x20found.');return;}for(const _0x1b24c2 of _0x1acad1){const _0x34921d=_0x1b24c2['status']===_0x52719c(0x13d)?'✅':_0x42a665['Lylyf'](_0x1b24c2[_0x52719c(0x183)],_0x42a665[_0x52719c(0xf4)])?'🔄':'▶️';console['log'](_0x34921d+'\x20Session\x20'+_0x1b24c2[_0x52719c(0x13c)]+'\x20('+_0x1b24c2['id']+')'),console['log'](_0x52719c(0x1aa)+_0x1b24c2['status']),console[_0x52719c(0xef)](_0x52719c(0xf5)+new Date(_0x1b24c2['createdAt'])['toLocaleString']()),_0x1b24c2['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x1b24c2[_0x52719c(0x156)])[_0x52719c(0x18d)]()),console['log']('');}}export async function featureAddScenario(_0x361fd7,_0x28a460){const _0x10b31d=_0x37c00c,_0x237fe7={'Ykavm':function(_0x245e5a){return _0x245e5a();},'UaGOv':function(_0xa4538,_0x5a2c2c){return _0xa4538(_0x5a2c2c);}},_0x2078f3=_0x28a460||await _0x237fe7['Ykavm'](getActiveFeatureId);if(!_0x2078f3)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 _0x28b297=await _0x237fe7['UaGOv'](getFeature,_0x2078f3);if(_0x28b297['latestReview']&&!_0x28b297['latestReview'][_0x10b31d(0xf7)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x28b297['dashboardUrl']);await createChecklistItem(_0x2078f3,_0x361fd7);const _0x5ed682=await _0x237fe7['UaGOv'](getFeature,_0x2078f3);console['log'](_0x10b31d(0x116)),displayFeature(_0x5ed682,_0x5ed682['checklistItems']);}export async function featureEditScenario(_0xf196f6,_0x16240a){const _0x19ab9b=_0x37c00c,_0x42e08e={'fyjtx':_0x19ab9b(0xe3),'hqbZQ':'Please\x20finish\x20your\x20review\x20first:','pwHFw':function(_0x5330d0,_0x1a036c){return _0x5330d0===_0x1a036c;},'UopVD':_0x19ab9b(0x159),'YMtBe':_0x19ab9b(0x12c),'spTBZ':function(_0x40bc52,_0x35d08a){return _0x40bc52+_0x35d08a;},'XpuBK':function(_0x18a4f1,_0xbf2e37){return _0x18a4f1-_0xbf2e37;},'BMntp':function(_0x4f1a2c,_0x553169){return _0x4f1a2c>=_0x553169;},'xJJZA':'\x0aAvailable\x20scenarios:','YwyBU':function(_0x40a39e,_0x51c361){return _0x40a39e<_0x51c361;},'YewMx':function(_0x58557d,_0x3fe401,_0x26deb3){return _0x58557d(_0x3fe401,_0x26deb3);}},_0x36f303=_0x16240a['id']||await getActiveFeatureId();!_0x36f303&&(console[_0x19ab9b(0x15d)](_0x19ab9b(0x115)),console[_0x19ab9b(0x15d)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x13dc33=await getFeature(_0x36f303);_0x13dc33['latestReview']&&!_0x13dc33['latestReview'][_0x19ab9b(0xf7)]&&(console[_0x19ab9b(0x15d)](_0x42e08e['fyjtx']),console['error'](_0x42e08e['hqbZQ']),console['error']('\x20\x20'+_0x13dc33[_0x19ab9b(0x12a)]),process[_0x19ab9b(0x188)](0x1));const _0x2a132f=_0x13dc33[_0x19ab9b(0x136)]||[];_0x42e08e['pwHFw'](_0x2a132f['length'],0x0)&&(console[_0x19ab9b(0x15d)](_0x42e08e['UopVD']),process[_0x19ab9b(0x188)](0x1));if(_0x16240a['scenario']===undefined){console[_0x19ab9b(0x15d)](_0x42e08e['YMtBe']),console['log'](_0x19ab9b(0x16a));for(let _0x483fd5=0x0;_0x483fd5<_0x2a132f[_0x19ab9b(0x130)];_0x483fd5++){console[_0x19ab9b(0xef)]('\x20\x20'+_0x42e08e['spTBZ'](_0x483fd5,0x1)+'.\x20'+_0x2a132f[_0x483fd5]['description']);}process[_0x19ab9b(0x188)](0x1);}const _0x58c795=_0x42e08e['XpuBK'](_0x16240a['scenario'],0x1);if(_0x58c795<0x0||_0x42e08e['BMntp'](_0x58c795,_0x2a132f['length'])){console['error'](_0x19ab9b(0x1a9)+_0x16240a['scenario']+_0x19ab9b(0x1ab)+_0x2a132f[_0x19ab9b(0x130)]+'\x20scenarios.'),console[_0x19ab9b(0xef)](_0x42e08e[_0x19ab9b(0x1b2)]);for(let _0x1fbaa4=0x0;_0x42e08e['YwyBU'](_0x1fbaa4,_0x2a132f[_0x19ab9b(0x130)]);_0x1fbaa4++){console[_0x19ab9b(0xef)]('\x20\x20'+(_0x1fbaa4+0x1)+'.\x20'+_0x2a132f[_0x1fbaa4]['description']);}process['exit'](0x1);}const _0x32967d=_0x2a132f[_0x58c795];await updateChecklistItem(_0x36f303,_0x32967d['id'],{'description':_0xf196f6});const _0x13c6b1=await getFeature(_0x36f303);console['log']('\x0a✅\x20Scenario\x20updated'),_0x42e08e[_0x19ab9b(0x171)](displayFeature,_0x13c6b1,_0x13c6b1[_0x19ab9b(0x136)]);}async function downloadFeedbackImage(_0x39a520,_0xb0a233){const _0x57e50b=_0x37c00c,_0x30a6e2={'PTCso':function(_0x259900,_0x466eb5,_0x595674){return _0x259900(_0x466eb5,_0x595674);},'wPNnu':function(_0x5ae65b){return _0x5ae65b();},'bzrDJ':'feedback-images'};try{const _0x411868=_0x30a6e2[_0x57e50b(0x1ba)](join,_0x30a6e2['wPNnu'](getRangerDir),_0x30a6e2['bzrDJ']);await _0x30a6e2['PTCso'](mkdir,_0x411868,{'recursive':!![]});const _0x438fe8=_0x30a6e2[_0x57e50b(0x1ba)](join,_0x411868,'comment_'+_0xb0a233+_0x57e50b(0x127)),_0x1f7962=await fetch(_0x39a520);if(!_0x1f7962['ok'])return null;const _0x556bca=Buffer[_0x57e50b(0x10d)](await _0x1f7962['arrayBuffer']());return await writeFile(_0x438fe8,_0x556bca),_0x438fe8;}catch{return null;}}export async function featureGetReview(_0x55e06f){const _0x262a22=_0x37c00c,_0x4b20b3={'aVIhO':function(_0x3a404b,_0x22cc01){return _0x3a404b(_0x22cc01);},'hvhox':function(_0x58b7d7,_0x4ebe87){return _0x58b7d7===_0x4ebe87;},'eJcQE':_0x262a22(0x150),'uJkyM':function(_0x4bc4ac,_0x3cba57){return _0x4bc4ac<_0x3cba57;},'uvNgZ':function(_0x14208b,_0x2e0c93){return _0x14208b>_0x2e0c93;},'JJWac':_0x262a22(0x110),'xVLly':'Unknown','bXYly':'\x20>\x20','fdwdR':'element','RMrcD':function(_0x58210d,_0x204975){return _0x58210d>=_0x204975;}},_0x169c74=_0x55e06f||await getActiveFeatureId();if(!_0x169c74)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 _0x396dc1=await _0x4b20b3['aVIhO'](getFeature,_0x169c74),{items:_0x2ed97a}=await _0x4b20b3['aVIhO'](getActionItems,_0x169c74);console[_0x262a22(0xef)]('\x0a📋\x20Feedback\x20for:\x20'+_0x396dc1[_0x262a22(0x1a0)]+'\x20('+_0x396dc1['id']+')\x0a');if(_0x4b20b3[_0x262a22(0x1a8)](_0x2ed97a['length'],0x0)){console['log'](_0x4b20b3['eJcQE']);return;}for(let _0x3bab98=0x0;_0x4b20b3['uJkyM'](_0x3bab98,_0x2ed97a['length']);_0x3bab98++){const _0x221932=_0x2ed97a[_0x3bab98],_0x342b67=_0x4b20b3['uvNgZ'](_0x221932['version'],0x1)?_0x262a22(0x11d)+_0x221932[_0x262a22(0x15a)]+')':'',_0x2b0b1f=await getItemFeedback(_0x169c74,_0x221932['id']);if(_0x2b0b1f[_0x262a22(0x101)][_0x262a22(0x130)]>0x0){console['log']('Scenario\x20'+(_0x3bab98+0x1)+':\x20\x22'+_0x221932['description']+'\x22'+_0x342b67+_0x262a22(0x142)+_0x2b0b1f['unaddressedComments']['length']+_0x262a22(0xf2));for(const _0x2d9939 of _0x2b0b1f['unaddressedComments']){const _0x1da967=new Date(_0x2d9939[_0x262a22(0x14e)])[_0x262a22(0x144)]('en-US',{'month':_0x4b20b3[_0x262a22(0x13e)],'day':'numeric'}),_0x2ccb5a=_0x2d9939[_0x262a22(0x1b4)]||_0x2d9939['authorEmail']||_0x4b20b3[_0x262a22(0x192)];console['log'](_0x262a22(0x16d)+_0x2ccb5a+'\x20('+_0x1da967+_0x262a22(0x1ac)+_0x2d9939['content']+'\x22');if(_0x2d9939[_0x262a22(0x118)]){const _0x458b0d=await downloadFeedbackImage(_0x2d9939[_0x262a22(0x118)],_0x2d9939['id']);_0x458b0d&&console['log'](_0x262a22(0xe7)+_0x458b0d);}if(_0x2d9939[_0x262a22(0x176)]){const _0x49d32f=_0x2d9939[_0x262a22(0x176)][_0x262a22(0x1b7)][_0x262a22(0x163)](_0x4b20b3[_0x262a22(0x185)])['pop']()?.['split'](':')[0x0]||_0x4b20b3[_0x262a22(0x18f)],_0x1ad31f=_0x2d9939['domRef']['textContent']?'\x20\x22'+_0x2d9939['domRef']['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x262a22(0x181)+_0x49d32f+'>'+_0x1ad31f),console['log'](_0x262a22(0x11f)+_0x2d9939[_0x262a22(0x176)][_0x262a22(0x1b7)]);}else{if(_0x2d9939['spatial']){const _0x4313d0=_0x2d9939['spatial']['coordinates'];_0x4b20b3[_0x262a22(0x1a8)](_0x2d9939['spatial'][_0x262a22(0x155)],_0x262a22(0x138))&&_0x4b20b3['RMrcD'](_0x4313d0['length'],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4313d0[0x0][_0x262a22(0x158)](0x2)+',\x20'+_0x4313d0[0x1]['toFixed'](0x2)+')'):console[_0x262a22(0xef)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x2d9939[_0x262a22(0x1ae)][_0x262a22(0x155)]+'\x20at\x20['+_0x4313d0[_0x262a22(0x1b9)](_0x4261ee=>_0x4261ee[_0x262a22(0x158)](0x2))['join'](',\x20')+']');}}}if(_0x2b0b1f[_0x262a22(0x179)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x5dcc97 of _0x2b0b1f['canonicalFlow'][_0x262a22(0x163)]('\x0a')){console['log'](_0x262a22(0x137)+_0x5dcc97);}}}else console['log']('Scenario\x20'+(_0x3bab98+0x1)+':\x20\x22'+_0x221932['description']+'\x22'+_0x342b67+_0x262a22(0x17f)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x262a22(0xef)]('');}}export async function featureDelete(_0x239a03){const _0x4e59ef=_0x37c00c,_0x4759af={'SrmKn':function(_0x2bbc7e,_0x20c88f){return _0x2bbc7e+_0x20c88f;},'FhSlB':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x2f6a8b=_0x239a03||await getActiveFeatureId();if(!_0x2f6a8b)throw new Error(_0x4e59ef(0x105));const _0xb17e9a=await getFeature(_0x2f6a8b);await softDeleteFeature(_0x2f6a8b),console['log'](_0x4e59ef(0x13f)+_0xb17e9a['name']+'\x20('+_0x2f6a8b+')'),console[_0x4e59ef(0xef)](_0x4759af[_0x4e59ef(0x1af)](_0x4759af[_0x4e59ef(0x18c)],_0x2f6a8b));}export async function featureRestore(_0x390112){const _0x4111b6=_0x37c00c,_0x1c1b4a={'beDsZ':function(_0x57c616,_0x347a52){return _0x57c616(_0x347a52);},'shBBs':function(_0x1947ba,_0x54fd97,_0x236c34){return _0x1947ba(_0x54fd97,_0x236c34);}};await restoreFeature(_0x390112);const _0x35e41c=await _0x1c1b4a[_0x4111b6(0x194)](getFeature,_0x390112);console[_0x4111b6(0xef)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x35e41c['name']+'\x20('+_0x390112+')'),_0x1c1b4a[_0x4111b6(0xed)](displayFeature,_0x35e41c,_0x35e41c['checklistItems']);}
|
|
1
|
+
const _0x4ced5c=_0x5176;function _0x5176(_0x1875cf,_0x1d6f90){_0x1875cf=_0x1875cf-0x1ca;const _0x39749f=_0x3974();let _0x5176a0=_0x39749f[_0x1875cf];return _0x5176a0;}(function(_0x2c7701,_0x44b77b){const _0x35b264=_0x5176,_0x1a49cc=_0x2c7701();while(!![]){try{const _0x52d77e=-parseInt(_0x35b264(0x24c))/0x1+parseInt(_0x35b264(0x1fe))/0x2*(parseInt(_0x35b264(0x202))/0x3)+-parseInt(_0x35b264(0x1eb))/0x4*(-parseInt(_0x35b264(0x1da))/0x5)+-parseInt(_0x35b264(0x240))/0x6*(-parseInt(_0x35b264(0x216))/0x7)+-parseInt(_0x35b264(0x1f7))/0x8+parseInt(_0x35b264(0x2a3))/0x9*(parseInt(_0x35b264(0x20e))/0xa)+-parseInt(_0x35b264(0x28b))/0xb;if(_0x52d77e===_0x44b77b)break;else _0x1a49cc['push'](_0x1a49cc['shift']());}catch(_0x527aa7){_0x1a49cc['push'](_0x1a49cc['shift']());}}}(_0x3974,0x5c739));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x3493bd 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=_0x4ced5c(0x1ec),bold=_0x21e25e=>_0x4ced5c(0x295)+_0x21e25e+'\x1b[0m';function getGitRepoUrl(){const _0x477465=_0x4ced5c,_0x57ede0={'ABYsv':function(_0x386a94,_0x2b73fe,_0x2d6fcc){return _0x386a94(_0x2b73fe,_0x2d6fcc);},'ajSHg':_0x477465(0x201),'sPUPH':'pipe'};try{const _0x36be57=_0x57ede0['ABYsv'](execSync,_0x57ede0['ajSHg'],{'encoding':'utf-8','stdio':[_0x477465(0x28f),_0x57ede0[_0x477465(0x248)],_0x57ede0['sPUPH']]})['trim']();return _0x36be57[_0x477465(0x26a)](/\.git$/,'')[_0x477465(0x26a)](/^git@github\.com:/,_0x477465(0x1de))[_0x477465(0x26a)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x54b4bf=_0x4ced5c,_0x31e91a={'pmnhR':_0x54b4bf(0x293),'SjqAS':'utf-8','gtLun':'pipe'};try{return execSync(_0x31e91a[_0x54b4bf(0x20f)],{'encoding':_0x31e91a[_0x54b4bf(0x209)],'stdio':[_0x31e91a['gtLun'],_0x31e91a[_0x54b4bf(0x253)],_0x31e91a['gtLun']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x4eee8b=_0x4ced5c,_0x573ef5={'DOTlS':function(_0x1cb8f7,_0x1785da,_0x24ddcb){return _0x1cb8f7(_0x1785da,_0x24ddcb);},'KFEUy':function(_0x2a5129){return _0x2a5129();}},_0x4038f0=_0x573ef5[_0x4eee8b(0x2ae)](join,_0x573ef5['KFEUy'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x4038f0))return null;try{const _0xae0415=await readFile(_0x4038f0,_0x4eee8b(0x1d2));return _0xae0415['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x494e9a){const _0x478f49=_0x4ced5c,_0x186f7b={'WQYaU':function(_0x43b2b1,_0x23915b,_0x8f963f,_0xe099d0){return _0x43b2b1(_0x23915b,_0x8f963f,_0xe099d0);},'ytOzH':_0x478f49(0x1d2)},_0x47351b=getRangerDir(),_0x5a195e=join(_0x47351b,ACTIVE_FEATURE_FILE);!existsSync(_0x47351b)&&await mkdir(_0x47351b,{'recursive':!![]}),await _0x186f7b[_0x478f49(0x20a)](writeFile,_0x5a195e,_0x494e9a,_0x186f7b['ytOzH']);}function getProgressDisplay(_0x31b9b9){const _0x220320=_0x4ced5c,_0x4f7263={'MsNHO':function(_0x4ba88b,_0x5bb6ba){return _0x4ba88b+_0x5bb6ba;},'cOaqp':function(_0x15b283,_0x6e84fe){return _0x15b283+_0x6e84fe;},'jWmYY':function(_0x10843b,_0x35227f){return _0x10843b/_0x35227f;},'ePmVu':function(_0xb588c3,_0x446850){return _0xb588c3>_0x446850;}},_0x50b6b7=_0x31b9b9[_0x220320(0x2a4)]||0x0,_0x3330fd=_0x31b9b9['verificationInProgressItems']||0x0,_0x48ad59=_0x31b9b9['blockedItems']||0x0,_0x20c525=_0x31b9b9[_0x220320(0x27e)]||0x0,_0x569932=_0x31b9b9['pendingItems']||0x0,_0x21eb35=_0x4f7263['MsNHO'](_0x4f7263['cOaqp'](_0x50b6b7+_0x3330fd,_0x48ad59),_0x20c525)+_0x569932;if(_0x21eb35===0x0)return'-';const _0x3357ee=0xa,_0x5ee37b=Math['round'](_0x4f7263[_0x220320(0x266)](_0x50b6b7,_0x21eb35)*_0x3357ee),_0x15106a='█'[_0x220320(0x255)](_0x5ee37b)+'░'[_0x220320(0x255)](_0x3357ee-_0x5ee37b),_0x49ddec=[];if(_0x4f7263['ePmVu'](_0x48ad59,0x0))_0x49ddec[_0x220320(0x232)](_0x48ad59+_0x220320(0x261));if(_0x20c525>0x0)_0x49ddec[_0x220320(0x232)](_0x20c525+'\x20incomplete');if(_0x3330fd>0x0)_0x49ddec[_0x220320(0x232)](_0x3330fd+_0x220320(0x281));const _0xfe2201=_0x49ddec['length']>0x0?'\x20('+_0x49ddec[_0x220320(0x1d5)](',\x20')+')':'';return _0x15106a+'\x20'+_0x50b6b7+'/'+_0x21eb35+_0x220320(0x208)+_0xfe2201;}function getCurrentSessionItems(_0x20927c,_0x4f3c3e){const _0x507f02=_0x4ced5c;if(!_0x20927c['currentSessionId'])return _0x4f3c3e['filter'](_0xd48bb3=>!_0xd48bb3['sessionId']);return _0x4f3c3e[_0x507f02(0x24e)](_0x48dbe5=>_0x48dbe5['sessionId']===_0x20927c[_0x507f02(0x1ed)]||!_0x48dbe5['sessionId']);}function displayFeature(_0x35ffce,_0x2d11c9){const _0x2a5590=_0x4ced5c,_0x178fc2={'BxHBp':'\x0a\x20\x20\x20Scenarios:','qxkmd':function(_0x4bb7ec,_0x34b2ed){return _0x4bb7ec<_0x34b2ed;},'xmzTt':_0x2a5590(0x234),'wuhxT':function(_0x3be74f,_0x538204){return _0x3be74f===_0x538204;},'HJORe':_0x2a5590(0x27a),'dUFXg':function(_0x5d89bd,_0x316863){return _0x5d89bd===_0x316863;},'GtIdm':function(_0x4dec94,_0x1bedfb){return _0x4dec94>_0x1bedfb;},'DoVrn':function(_0x58a17e,_0xc395ae){return _0x58a17e!==_0xc395ae;},'CgZmy':'\x20[has\x20reviewer\x20feedback]','qkFdg':function(_0x11861a,_0xd11fb9){return _0x11861a===_0xd11fb9;},'etnVw':_0x2a5590(0x210)};console['log']('\x0a'+_0x35ffce['name']+'\x20('+_0x35ffce['dashboardUrl']+')');_0x35ffce[_0x2a5590(0x26c)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x35ffce['stats']));_0x35ffce['description']&&console[_0x2a5590(0x1e0)]('\x20\x20\x20Description:\x20'+_0x35ffce[_0x2a5590(0x264)]);_0x35ffce[_0x2a5590(0x251)]&&console[_0x2a5590(0x1e0)]('\x20\x20\x20Repository:\x20'+_0x35ffce['gitRepoUrl']);_0x35ffce['gitBranch']&&console[_0x2a5590(0x1e0)]('\x20\x20\x20Branch:\x20'+_0x35ffce[_0x2a5590(0x2ab)]);console[_0x2a5590(0x1e0)]('\x20\x20\x20Created:\x20'+new Date(_0x35ffce[_0x2a5590(0x1fd)])['toLocaleString']());_0x35ffce['completedAt']&&console[_0x2a5590(0x1e0)]('\x20\x20\x20Completed:\x20'+new Date(_0x35ffce['completedAt'])['toLocaleString']());if(_0x2d11c9&&_0x2d11c9['length']>0x0){console[_0x2a5590(0x1e0)](_0x178fc2[_0x2a5590(0x1d3)]);for(let _0x2818b5=0x0;_0x178fc2[_0x2a5590(0x1db)](_0x2818b5,_0x2d11c9[_0x2a5590(0x20b)]);_0x2818b5++){const _0x29c766=_0x2d11c9[_0x2818b5];let _0x3bd1d6;if(_0x29c766[_0x2a5590(0x22d)]===_0x178fc2['xmzTt']&&_0x29c766[_0x2a5590(0x1f1)]===_0x2a5590(0x23a))_0x3bd1d6='✅';else{if(_0x178fc2['wuhxT'](_0x29c766['status'],_0x178fc2['HJORe']))_0x3bd1d6='🟢';else{if(_0x178fc2[_0x2a5590(0x20d)](_0x29c766[_0x2a5590(0x22d)],'incomplete'))_0x3bd1d6='🟠';else{if(_0x178fc2[_0x2a5590(0x20d)](_0x29c766[_0x2a5590(0x22d)],_0x2a5590(0x254)))_0x3bd1d6='🛑';else{if(_0x29c766['status']==='closed')_0x3bd1d6='⛔';else _0x29c766['status']==='verification_in_progress'?_0x3bd1d6='⏳':_0x3bd1d6='⬜';}}}}const _0x11c76d=_0x29c766['version']>0x1?'\x20(v'+_0x29c766['version']+')':'',_0x99e2a=_0x178fc2['GtIdm'](_0x29c766[_0x2a5590(0x1f9)],0x1)&&_0x29c766['parentItemId']&&_0x178fc2['DoVrn'](_0x29c766[_0x2a5590(0x22d)],_0x178fc2[_0x2a5590(0x22b)])&&_0x178fc2[_0x2a5590(0x273)](_0x29c766['status'],_0x178fc2['HJORe'])?_0x178fc2['CgZmy']:'';console[_0x2a5590(0x1e0)]('\x20\x20\x20'+(_0x2818b5+0x1)+'.\x20'+_0x3bd1d6+'\x20'+_0x29c766['description']+_0x11c76d+_0x99e2a);_0x178fc2[_0x2a5590(0x20d)](_0x29c766[_0x2a5590(0x22d)],_0x2a5590(0x254))&&_0x29c766['blockedReason']&&console['log'](_0x2a5590(0x287)+_0x29c766[_0x2a5590(0x272)]);_0x178fc2['qkFdg'](_0x29c766[_0x2a5590(0x22d)],_0x178fc2['etnVw'])&&_0x29c766['incompleteReason']&&console[_0x2a5590(0x1e0)](_0x2a5590(0x1d8)+_0x29c766['incompleteReason']);if(_0x29c766['status']===_0x178fc2[_0x2a5590(0x22b)]&&_0x178fc2[_0x2a5590(0x200)](_0x29c766['terminalReason'],'approved'))console[_0x2a5590(0x1e0)](_0x2a5590(0x214));else _0x29c766[_0x2a5590(0x22d)]===_0x178fc2[_0x2a5590(0x22b)]&&_0x29c766[_0x2a5590(0x226)]&&console['log'](_0x2a5590(0x21d)+_0x29c766['canceledReason']);}}}export async function featureCreate(_0x1c6d4a,_0x2ca45c){const _0x9b3a08=_0x4ced5c,_0xab485d={'GCHMb':function(_0x3e9ba4){return _0x3e9ba4();},'HhFNw':function(_0x960862,_0x492666){return _0x960862(_0x492666);},'RjFSO':function(_0x2b763d,_0x40c852){return _0x2b763d(_0x40c852);},'pDwTB':function(_0x452b6f,_0x44c8a6){return _0x452b6f(_0x44c8a6);},'SvpCW':function(_0x1df0e3,_0x2b972a,_0x5d214c){return _0x1df0e3(_0x2b972a,_0x5d214c);},'yGoFp':function(_0x6bf8d6,_0x3821fc,_0x467f5d){return _0x6bf8d6(_0x3821fc,_0x467f5d);}},{envNames:_0x54b3d3}=await _0xab485d[_0x9b3a08(0x1cf)](getEnvNames);_0x54b3d3[_0x9b3a08(0x20b)]===0x0&&console[_0x9b3a08(0x277)]('\x0a'+_0xab485d[_0x9b3a08(0x2a9)](formatProfileRequiredMessage,_0x2f24b7=>bold(_0x2f24b7)));const _0x5f1a7c=_0x2ca45c['scenarios']?_0x2ca45c[_0x9b3a08(0x256)]['map'](_0x4cc073=>_0x4cc073['trim']()):[],_0x1a7e11=getGitRepoUrl(),_0x11cda7=_0xab485d['GCHMb'](getGitBranch);console['log'](_0x9b3a08(0x28c));const _0x57a1e7=await _0xab485d[_0x9b3a08(0x2a9)](createFeature,{'name':_0x1c6d4a,'description':_0x2ca45c[_0x9b3a08(0x264)],'checklist':_0x5f1a7c,'gitRepoUrl':_0x1a7e11,'gitBranch':_0x11cda7});await _0xab485d[_0x9b3a08(0x1e6)](setActiveFeatureId,_0x57a1e7['id']),await _0xab485d['pDwTB'](tryStartCurrentSession,_0x57a1e7['id']);const _0x287f96=process[_0x9b3a08(0x24f)][_0x9b3a08(0x1d9)];_0x287f96&&_0xab485d['SvpCW'](registerSession,_0x287f96,_0x57a1e7['id']),console[_0x9b3a08(0x1e0)](_0x9b3a08(0x250)+_0x57a1e7['id']),_0xab485d[_0x9b3a08(0x1e9)](displayFeature,_0x57a1e7,_0x57a1e7['checklistItems']),console['log'](_0x9b3a08(0x21f));}export async function featureList(_0x46973b){const _0x3d5c46=_0x4ced5c,_0x31a0e8={'WyUxX':function(_0x11fb01){return _0x11fb01();},'aaber':function(_0x5ef171,_0x4ae08c){return _0x5ef171===_0x4ae08c;},'gLbyA':_0x3d5c46(0x29e),'heGbj':function(_0x37ab34,_0x4f41f5){return _0x37ab34>_0x4f41f5;},'VackJ':function(_0x498e1c,_0x28ce85){return _0x498e1c(_0x28ce85);},'QgmAF':function(_0x100d2f,_0x5ad70d){return _0x100d2f+_0x5ad70d;},'ZWWrn':function(_0x686bb2,_0x34e010){return _0x686bb2!==_0x34e010;},'wDCLu':_0x3d5c46(0x267)},_0x5a5a62={'limit':_0x46973b['limit']??0xa,'offset':_0x46973b[_0x3d5c46(0x1d7)]??0x0,'includeDeleted':_0x46973b['includeDeleted']};_0x46973b[_0x3d5c46(0x263)]&&(_0x5a5a62['gitRepoUrl']=_0x31a0e8[_0x3d5c46(0x27f)](getGitRepoUrl),_0x5a5a62[_0x3d5c46(0x2ab)]=getGitBranch());const _0x378862=await listFeatures(_0x5a5a62);if(_0x31a0e8[_0x3d5c46(0x211)](_0x378862[_0x3d5c46(0x294)]['length'],0x0)){console['log'](_0x31a0e8['gLbyA']);return;}const _0x165f95=_0x31a0e8[_0x3d5c46(0x29d)](_0x378862[_0x3d5c46(0x21e)],_0x378862[_0x3d5c46(0x294)]['length'])?'Showing\x20'+_0x378862[_0x3d5c46(0x294)][_0x3d5c46(0x20b)]+'\x20of\x20'+_0x378862['totalCount']:_0x378862['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x165f95+':\x0a');for(const _0x399f4e of _0x378862['items']){const _0x5b1e2d=_0x3d5c46(0x26d)['split']('|');let _0x61abc2=0x0;while(!![]){switch(_0x5b1e2d[_0x61abc2++]){case'0':console['log'](_0x3d5c46(0x1ca)+new Date(_0x399f4e[_0x3d5c46(0x1fd)])['toLocaleDateString']());continue;case'1':console[_0x3d5c46(0x1e0)]('');continue;case'2':_0x399f4e[_0x3d5c46(0x2ab)]&&console['log'](_0x3d5c46(0x278)+_0x399f4e[_0x3d5c46(0x2ab)]);continue;case'3':_0x399f4e[_0x3d5c46(0x26c)]&&console[_0x3d5c46(0x1e0)](_0x3d5c46(0x230)+_0x31a0e8['VackJ'](getProgressDisplay,_0x399f4e[_0x3d5c46(0x26c)]));continue;case'4':console[_0x3d5c46(0x1e0)](''+_0x399f4e['name']);continue;case'5':console['log'](_0x3d5c46(0x29b)+_0x399f4e['id']);continue;}break;}}const _0x1195fa=_0x5a5a62[_0x3d5c46(0x26e)]??0xa,_0x196e16=_0x31a0e8['QgmAF'](_0x5a5a62['offset']??0x0,_0x378862['items']['length']);if(_0x196e16<_0x378862['totalCount']){const _0x463fc1=_0x31a0e8['ZWWrn'](_0x1195fa,0xa)?'\x20--limit\x20'+_0x1195fa:'',_0xa5c82d=_0x46973b[_0x3d5c46(0x263)]?'\x20--current-branch':'',_0x4a26c3=_0x46973b[_0x3d5c46(0x228)]?_0x31a0e8[_0x3d5c46(0x237)]:'';console['log'](_0x3d5c46(0x241)+_0x196e16+_0x463fc1+_0xa5c82d+_0x4a26c3);}}function _0x3974(){const _0x104cb9=['name','1158784oznymT','\x0aCreating\x20feature\x20review...','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','uOWxj','pipe','KRDsM','\x20\x20\x20\x20','en-US','git\x20rev-parse\x20--abbrev-ref\x20HEAD','items','\x1b[1m','textContent','ready','\x0aAvailable\x20scenarios:','storage','linkedSession','\x20\x20\x20ID:\x20','any','heGbj','\x0aNo\x20feature\x20reviews\x20found.','browserSessionId','HEsHI','dashboardUrl','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','9aAZidX','verifiedItems','element','toFixed','\x20>\x20','latestReview','HhFNw','iteration','gitBranch','No\x20sessions\x20found.','pop','DOTlS','qaZxb','\x20\x20\x20Updated\x20branch\x20to:\x20','No\x20active\x20session\x20for\x20this\x20feature\x20review.','\x0a❌\x20Invalid\x20scenario\x20index:\x20','unaddressedComments','\x20\x20\x20Created:\x20','UNDEz','\x20—\x20','nrRtH','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','GCHMb','Oecki','UCywK','utf-8','BxHBp','No\x20scenarios\x20found.','join','.\x20Feature\x20review\x20has\x20','offset','\x20\x20\x20\x20\x20\x20Incomplete:\x20','CLAUDE_SESSION_ID','906020XMBCek','qxkmd','map','):\x20\x22','github.com/','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','log','canonicalFlow','0|2|5|3|4|1','selector','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','ejUrS','RjFSO','\x0a✅\x20Session\x20is\x20already\x20completed.','Scenario\x20','yGoFp','\x20concluded.','16TQrAfk','active-feature.txt','currentSessionId','domRef','comment_','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','terminalReason','in_progress','eNaYN','UdziB','from','find','3728168NtIdyq','mENRm','version','checklistItems','Unknown','QNWnt','createdAt','551810KgHYsw','LADeM','wuhxT','git\x20remote\x20get-url\x20origin','3qlGeeV','hBjpo','scenario','type','json','IjDLI','\x20verified','SjqAS','WQYaU','length','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','dUFXg','2773450vxfaCx','pmnhR','incomplete','aaber','VsCTu','\x20\x20\x20\x20\x20ID:\x20','\x20\x20\x20\x20\x20\x20Approved','stringify','14FtdkKr','IcFrG','IBPOp','.png','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','gakqM','assetType','\x20\x20\x20\x20\x20\x20Cancelled:\x20','totalCount','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','MImtA','Step\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','yoWlO','/artifacts/','canceledReason','LBWKp','includeDeleted','feedback-images','qOUPJ','xmzTt','exit','status','toLocaleString','split','\x20\x20\x20Progress:\x20','JRYEw','push','has','closed','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','bzokB','wDCLu','nUgWm','completedAt','approved','\x20\x20\x20\x20\x20Branch:\x20','RFfwi','\x20\x20💬\x20','\x20unaddressed\x20comment(s)','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','365730evmUoQ','Next\x20page:\x20ranger\x20list\x20--offset\x20','gpLen','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','reports','location','list','all','sPUPH','slice','\x0a⚠️\x20\x20','Screenshot\x20','449930teTmvY','screenshot','filter','env','\x0a✅\x20Feature\x20review\x20created:\x20','gitRepoUrl','error','gtLun','blocked','repeat','scenarios','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','Ntbmt','output','nmfar','RAWLU','agentResponse','authorName','assetUrl','completed','\x20blocked','ztyBm','currentBranch','description','Current\x20session\x20not\x20found.','jWmYY','\x20--include-deleted','assets','\x0a✅\x20Session\x20','replace','incompleteReason','stats','4|5|3|2|0|1','limit','Wjwjx','stdin','wbBVE','blockedReason','DoVrn','stdout','spatial','isTTY','warn','\x20\x20\x20Branch:\x20','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','verified','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','\x20\x20✅\x20No\x20feedback\x20to\x20address','ALDvz','incompleteItems','WyUxX','AFWeE','\x20in\x20progress','OjomI','\x20\x20\x20\x20\x20📋\x20Selector:\x20','screenshotUrls','\x0a✅\x20Scenario\x20added','\x20\x20\x20▶️\x20Started\x20session\x20','\x20\x20\x20\x20\x20\x20Blocked:\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','isInteger'];_0x3974=function(){return _0x104cb9;};return _0x3974();}export async function featureShow(_0x2e1ea3){const _0x477b89=_0x4ced5c,_0x16644f={'wbBVE':function(_0x32d14d){return _0x32d14d();},'rIoBf':_0x477b89(0x258),'nFEdX':function(_0x1ff9b5,_0x531209){return _0x1ff9b5(_0x531209);}},_0x515e89=_0x2e1ea3||await _0x16644f[_0x477b89(0x271)](getActiveFeatureId);if(!_0x515e89)throw new Error(_0x16644f['rIoBf']);const _0x540870=await _0x16644f['nFEdX'](getFeature,_0x515e89);displayFeature(_0x540870,_0x540870[_0x477b89(0x1fa)]);}export async function featureResume(_0x531206){const _0x477ef5=_0x4ced5c,_0x7ee59e={'RFfwi':function(_0x440222,_0x2bb643){return _0x440222(_0x2bb643);},'gpLen':function(_0x55b092,_0x396a53){return _0x55b092!==_0x396a53;},'UCywK':function(_0x34b4e6,_0x214e3e,_0x4b822e){return _0x34b4e6(_0x214e3e,_0x4b822e);},'LADeM':function(_0x44aaf1,_0x1a54a8,_0x575157){return _0x44aaf1(_0x1a54a8,_0x575157);},'LBWKp':function(_0x21277b,_0x45f554){return _0x21277b(_0x45f554);},'MImtA':function(_0x29ba12,_0x557912){return _0x29ba12||_0x557912;},'pgymh':function(_0x5bfc91,_0x27e72e){return _0x5bfc91||_0x27e72e;},'gzjUd':'any','bzokB':function(_0x542c40,_0x41be07){return _0x542c40(_0x41be07);},'IBPOp':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','FKrpg':'selected','RAWLU':function(_0x258e15,_0x1b6e98,_0x22d76f){return _0x258e15(_0x1b6e98,_0x22d76f);}};if(_0x531206){const _0x16a288=await getFeature(_0x531206);await _0x7ee59e[_0x477ef5(0x23c)](setActiveFeatureId,_0x16a288['id']);const _0x39e215=getGitBranch();_0x39e215&&_0x7ee59e[_0x477ef5(0x242)](_0x39e215,_0x16a288['gitBranch'])&&(await _0x7ee59e['UCywK'](updateFeature,_0x16a288['id'],{'gitBranch':_0x39e215}),console[_0x477ef5(0x1e0)](_0x477ef5(0x2b0)+_0x39e215));console['log'](_0x477ef5(0x223)+_0x16a288['name']+'\x20('+_0x16a288['id']+')'),await _0x7ee59e[_0x477ef5(0x23c)](tryStartCurrentSession,_0x16a288['id']);const _0x103eaa=process[_0x477ef5(0x24f)]['CLAUDE_SESSION_ID'];_0x103eaa&&_0x7ee59e[_0x477ef5(0x1ff)](registerSession,_0x103eaa,_0x16a288['id']);_0x7ee59e[_0x477ef5(0x1ff)](displayFeature,_0x16a288,_0x16a288[_0x477ef5(0x1fa)]),await _0x7ee59e[_0x477ef5(0x227)](printFeedbackNudge,_0x16a288['id']);return;}const _0x4ec964=getGitRepoUrl(),_0x560f23=getGitBranch();if(!_0x4ec964&&!_0x560f23)throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x477ef5(0x1e0)](_0x477ef5(0x27b)+_0x7ee59e[_0x477ef5(0x221)](_0x4ec964,_0x477ef5(0x29c))+'\x20/\x20'+_0x7ee59e['pgymh'](_0x560f23,_0x7ee59e['gzjUd'])+'...');const _0x10f3f6=await _0x7ee59e['bzokB'](listFeatures,{'gitRepoUrl':_0x4ec964,'gitBranch':_0x560f23}),_0x50a98a=_0x10f3f6['items']['filter'](_0x4bf999=>_0x4bf999[_0x477ef5(0x22d)]?_0x4bf999['status']!=='verified':!_0x4bf999[_0x477ef5(0x239)]);if(_0x50a98a['length']===0x0){console['log'](_0x477ef5(0x235)),console['log'](_0x7ee59e[_0x477ef5(0x218)]);return;}let _0x3a41c4;if(_0x50a98a[_0x477ef5(0x20b)]===0x1)_0x3a41c4=_0x50a98a[0x0];else{const _0xde0051=process[_0x477ef5(0x270)]['isTTY']&&process[_0x477ef5(0x274)][_0x477ef5(0x276)];if(!_0xde0051){console['log'](_0x477ef5(0x288));for(const _0x437996 of _0x50a98a){console[_0x477ef5(0x1e0)]('\x20\x20'+_0x437996['name']),console[_0x477ef5(0x1e0)](_0x477ef5(0x213)+_0x437996['id']),_0x437996['stats']&&console[_0x477ef5(0x1e0)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x437996['stats'])),_0x437996[_0x477ef5(0x2ab)]&&console['log'](_0x477ef5(0x23b)+_0x437996[_0x477ef5(0x2ab)]);}throw new Error(_0x477ef5(0x20c));}const {selected:_0x3514e6}=await _0x3493bd['prompt']([{'type':_0x477ef5(0x246),'name':_0x7ee59e['FKrpg'],'message':_0x477ef5(0x2a2),'choices':_0x50a98a['map'](_0x1a3ac6=>({'name':_0x1a3ac6['name']+'\x20('+_0x1a3ac6['id']+')','value':_0x1a3ac6['id']}))}]);_0x3a41c4=_0x50a98a[_0x477ef5(0x1f6)](_0x36514f=>_0x36514f['id']===_0x3514e6);}await setActiveFeatureId(_0x3a41c4['id']);_0x560f23&&_0x7ee59e['gpLen'](_0x560f23,_0x3a41c4[_0x477ef5(0x2ab)])&&(await _0x7ee59e[_0x477ef5(0x1d1)](updateFeature,_0x3a41c4['id'],{'gitBranch':_0x560f23}),console[_0x477ef5(0x1e0)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x560f23));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3a41c4[_0x477ef5(0x28a)]+'\x20('+_0x3a41c4['id']+')'),await tryStartCurrentSession(_0x3a41c4['id']);const _0x17b548=await _0x7ee59e[_0x477ef5(0x23c)](getFeature,_0x3a41c4['id']),_0x102d93=process['env'][_0x477ef5(0x1d9)];_0x102d93&&_0x7ee59e['LADeM'](registerSession,_0x102d93,_0x17b548['id']),_0x7ee59e[_0x477ef5(0x25c)](displayFeature,_0x17b548,_0x17b548['checklistItems']),await _0x7ee59e[_0x477ef5(0x236)](printFeedbackNudge,_0x17b548['id']);}async function printFeedbackNudge(_0x2cc82a){const _0x331686=_0x4ced5c,_0x38cea5={'uOWxj':function(_0x4bf256,_0x189f24){return _0x4bf256(_0x189f24);},'dXPwR':function(_0xd159ba,_0x16986a,_0x3e445){return _0xd159ba(_0x16986a,_0x3e445);},'fdBRu':function(_0x5d4a85,_0x533719){return _0x5d4a85>_0x533719;},'UNDEz':_0x331686(0x1ce)};try{const {items:_0x807b3}=await _0x38cea5[_0x331686(0x28e)](getActionItems,_0x2cc82a);let _0x2e783f=0x0,_0x258d1d=0x0;for(const _0x387f4b of _0x807b3){const _0x305ccf=await _0x38cea5['dXPwR'](getItemFeedback,_0x2cc82a,_0x387f4b['id']);_0x38cea5['fdBRu'](_0x305ccf[_0x331686(0x2b3)][_0x331686(0x20b)],0x0)&&(_0x2e783f+=_0x305ccf[_0x331686(0x2b3)]['length'],_0x258d1d++);}_0x2e783f>0x0&&(console[_0x331686(0x1e0)](_0x331686(0x24a)+_0x2e783f+_0x331686(0x28d)+_0x258d1d+'\x20scenario(s).'),console['log'](_0x38cea5[_0x331686(0x1cb)]));}catch{}}async function tryStartCurrentSession(_0x1f3f35){const _0xf86ee0=_0x4ced5c,_0x4e491d={'Qdkei':function(_0x114fbf,_0x421c7a){return _0x114fbf(_0x421c7a);},'LWExF':function(_0x16cb80,_0x5132db,_0x35b9ed){return _0x16cb80(_0x5132db,_0x35b9ed);}};try{const {sessions:_0x3b5c0a}=await _0x4e491d['Qdkei'](listFeatureSessions,_0x1f3f35),_0x2ea736=_0x3b5c0a['find'](_0x5d6074=>_0x5d6074['status']===_0xf86ee0(0x297));_0x2ea736&&(await _0x4e491d['LWExF'](startSession,_0x1f3f35,_0x2ea736['id']),console['log'](_0xf86ee0(0x286)+_0x2ea736['iteration']));}catch{}}export async function featureReport(_0x32edec,_0x4261e0){const _0x1b59ca=_0x4ced5c,_0x52474b={'NvLyU':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','qOUPJ':function(_0x30dfb7,_0x3ece8d,_0x5411b7){return _0x30dfb7(_0x3ece8d,_0x5411b7);},'Oecki':function(_0x23c747){return _0x23c747();},'ztyBm':_0x1b59ca(0x244),'VQTBm':function(_0x21e34b,_0x2a867c,_0x2e34f2){return _0x21e34b(_0x2a867c,_0x2e34f2);},'dJWPD':'utf-8'},_0x46a868=_0x32edec||await getActiveFeatureId();if(!_0x46a868)throw new Error(_0x52474b['NvLyU']);console['log']('\x0aGenerating\x20report...');const _0x46fbef=await _0x52474b[_0x1b59ca(0x22a)](getFeatureReportMarkdown,_0x46a868,{'style':_0x4261e0['style']}),_0x2f2d88=_0x4261e0[_0x1b59ca(0x25a)]||join(_0x52474b[_0x1b59ca(0x1d0)](getRangerDir),_0x52474b[_0x1b59ca(0x262)],_0x46a868+'.md'),_0x1c4ab0=_0x52474b['VQTBm'](join,_0x2f2d88,'..');!existsSync(_0x1c4ab0)&&await mkdir(_0x1c4ab0,{'recursive':!![]}),await writeFile(_0x2f2d88,_0x46fbef,_0x52474b['dJWPD']),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x2f2d88);}function getScenarioResult(_0x360a9d){const _0x24093a=_0x4ced5c,_0x2c5e33={'Ntbmt':function(_0x2177c5,_0x523558){return _0x2177c5===_0x523558;},'eNaYN':_0x24093a(0x234),'rxoue':_0x24093a(0x1f2)};if(_0x2c5e33[_0x24093a(0x259)](_0x360a9d['status'],_0x2c5e33[_0x24093a(0x1f3)]))return _0x360a9d[_0x24093a(0x1f1)]??_0x24093a(0x234);if(_0x360a9d[_0x24093a(0x22d)]==='verification_in_progress')return _0x2c5e33['rxoue'];return _0x360a9d['status'];}function getScenarioRationale(_0x10aee6,_0xb3b8d5){const _0x4c6d74=_0x4ced5c,_0x2a27c9={'QjYrh':_0x4c6d74(0x1e2)},_0x4d7811=_0x2a27c9['QjYrh'][_0x4c6d74(0x22f)]('|');let _0x3215ed=0x0;while(!![]){switch(_0x4d7811[_0x3215ed++]){case'0':if(_0xb3b8d5)return _0xb3b8d5;continue;case'1':return null;case'2':if(_0x10aee6['blockedReason'])return _0x10aee6[_0x4c6d74(0x272)];continue;case'3':if(_0x10aee6['canceledReason'])return _0x10aee6['canceledReason'];continue;case'4':if(_0x10aee6['notes'])return _0x10aee6['notes'];continue;case'5':if(_0x10aee6[_0x4c6d74(0x26b)])return _0x10aee6[_0x4c6d74(0x26b)];continue;}break;}}export async function featureReportPrDescription(_0x44d4da,_0x424c40){const _0x215c00=_0x4ced5c,_0x14438a={'qaZxb':function(_0x7c7c3b){return _0x7c7c3b();},'kBVze':_0x215c00(0x220),'mENRm':function(_0x2ee82e,_0x2910cb,_0x16cb15){return _0x2ee82e(_0x2910cb,_0x16cb15);},'GHFqz':_0x215c00(0x257),'yoWlO':function(_0x4c7b63,_0x36ea72){return _0x4c7b63>_0x36ea72;},'kgZVN':function(_0x624b7d,_0x427a38){return _0x624b7d<_0x427a38;},'bDyKb':function(_0x5ad155,_0x2cc04b){return _0x5ad155+_0x2cc04b;}},_0x4ea341=_0x44d4da||await _0x14438a[_0x215c00(0x2af)](getActiveFeatureId);if(!_0x4ea341)throw new Error(_0x14438a['kBVze']);const _0xebcdc2=await getFeature(_0x4ea341),_0x20c560=_0xebcdc2[_0x215c00(0x1fa)]||[],_0x53ae96=_0x14438a['mENRm'](getCurrentSessionItems,_0xebcdc2,_0x20c560);_0x53ae96['length']===0x0&&(console[_0x215c00(0x252)](_0x14438a['GHFqz']),process[_0x215c00(0x22c)](0x1));const _0x5cda92=_0x424c40['excludeScenarios']??[],_0x59c340=_0x5cda92['filter'](_0x12e091=>!Number[_0x215c00(0x289)](_0x12e091)||_0x12e091<0x1||_0x12e091>_0x53ae96[_0x215c00(0x20b)]);if(_0x14438a[_0x215c00(0x224)](_0x59c340['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x59c340['join'](',\x20')),console[_0x215c00(0x1e0)]('\x0aAvailable\x20scenarios:');for(let _0x5c5ee9=0x0;_0x14438a['kgZVN'](_0x5c5ee9,_0x53ae96['length']);_0x5c5ee9++){console['log']('\x20\x20'+_0x14438a['bDyKb'](_0x5c5ee9,0x1)+'.\x20'+_0x53ae96[_0x5c5ee9]['description']);}process['exit'](0x1);}const _0x557cba=new Set(_0x5cda92[_0x215c00(0x1dc)](_0x592850=>_0x592850-0x1)),_0x2f7b43=_0x53ae96['filter']((_0x16cf19,_0x401f6c)=>!_0x557cba[_0x215c00(0x233)](_0x401f6c));_0x2f7b43[_0x215c00(0x20b)]===0x0&&(console['error']('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process['exit'](0x1));if(_0x424c40[_0x215c00(0x206)])await outputJsonReport(_0x4ea341,_0xebcdc2,_0x2f7b43);else{const _0x4e91cd=await _0x14438a[_0x215c00(0x1f8)](getFeatureReportMarkdown,_0x4ea341,{'itemIds':_0x2f7b43[_0x215c00(0x1dc)](_0x26f757=>_0x26f757['id'])});process['stdout']['write'](_0x4e91cd['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x43b8be,_0x4fa56c,_0x2b5549){const _0x37d5a3=_0x4ced5c,_0x24fdd9={'ulttk':function(_0xda90d8,_0x8dc40){return _0xda90d8===_0x8dc40;},'KRDsM':function(_0x2e9149,_0x1e76f3,_0x4fa028){return _0x2e9149(_0x1e76f3,_0x4fa028);},'HEsHI':function(_0x69e913){return _0x69e913();}},_0x40ad53=_0x24fdd9[_0x37d5a3(0x2a0)](getApiBaseUrl),_0x225c59=await getFeatureReport(_0x43b8be),_0xcbdab7=new Map(_0x225c59[_0x37d5a3(0x1fa)][_0x37d5a3(0x1dc)](_0x303f00=>[_0x303f00['id'],_0x303f00])),_0x188a80=await Promise[_0x37d5a3(0x247)](_0x2b5549[_0x37d5a3(0x1dc)](async _0x9ba000=>{const _0x4820ae=_0x37d5a3,_0x15f06a=_0xcbdab7['get'](_0x9ba000['id']),_0x4fbdcb=_0x15f06a?.[_0x4820ae(0x29a)]??null;let _0x172941=[];if(_0x9ba000[_0x4820ae(0x29f)])try{const {steps:_0x16dd38}=await getBrowserSessionSteps(_0x9ba000[_0x4820ae(0x29f)]);_0x16dd38[_0x4820ae(0x20b)]>0x0&&(_0x172941=_0x16dd38['map'](_0x46aea9=>{const _0x392c1e=_0x4820ae,_0x575b00=_0x46aea9[_0x392c1e(0x268)]['find'](_0x3ebd13=>_0x3ebd13[_0x392c1e(0x21c)]===_0x392c1e(0x24d)&&_0x3ebd13['timing']==='after')??_0x46aea9['assets']['find'](_0x331bf3=>_0x331bf3[_0x392c1e(0x21c)]==='screenshot');let _0x1db3c9=null,_0x1c5d62=null;if(_0x575b00){const _0x6f3e22=_0x575b00[_0x392c1e(0x299)][_0x392c1e(0x245)][_0x392c1e(0x22f)]('/')[_0x392c1e(0x2ad)]();_0x1db3c9=_0x40ad53+'/api/v1/mcp/browser-sessions/'+_0x9ba000[_0x392c1e(0x29f)]+_0x392c1e(0x225)+_0x6f3e22,_0x6f3e22&&(_0x1c5d62=_0x6f3e22['replace'](/\.\w+$/,'')[_0x392c1e(0x26a)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x1c5d62||_0x46aea9[_0x392c1e(0x264)]||_0x46aea9['stepName']||_0x392c1e(0x222)+_0x46aea9['position'],'screenshot':_0x1db3c9,'is_key_step':_0x46aea9['isKeyStep']};}));}catch{}return _0x24fdd9['ulttk'](_0x172941[_0x4820ae(0x20b)],0x0)&&_0x4fbdcb?.['screenshotUrls']&&(_0x172941=_0x4fbdcb[_0x4820ae(0x284)][_0x4820ae(0x1dc)]((_0x2a163f,_0x17158a)=>({'description':_0x4820ae(0x24b)+(_0x17158a+0x1),'screenshot':_0x2a163f,'is_key_step':![]}))),{'description':_0x9ba000[_0x4820ae(0x264)],'result':getScenarioResult(_0x9ba000),'rationale':_0x24fdd9[_0x4820ae(0x290)](getScenarioRationale,_0x9ba000,_0x4fbdcb?.[_0x4820ae(0x25d)]),'steps':_0x172941};})),_0x113d1c={'url':_0x4fa56c['dashboardUrl'],'scenarios':_0x188a80};process[_0x37d5a3(0x274)]['write'](JSON[_0x37d5a3(0x215)](_0x113d1c,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x50654e){const _0x584195=_0x4ced5c,_0x496a5f={'hqMUB':function(_0x106cde,_0x43251a){return _0x106cde(_0x43251a);},'hBjpo':_0x584195(0x1e7),'MaeFn':'in_progress','MKPOb':function(_0x1e11fe,_0x22dbfa,_0x3ea28f){return _0x1e11fe(_0x22dbfa,_0x3ea28f);}},_0xa2a495=_0x50654e||await getActiveFeatureId();if(!_0xa2a495)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 _0x22d61d=await getFeature(_0xa2a495);if(!_0x22d61d['currentSessionId'])throw new Error(_0x584195(0x2b1));const {sessions:_0xea0138}=await _0x496a5f['hqMUB'](listFeatureSessions,_0xa2a495),_0x1f78ff=_0xea0138['find'](_0x3191e1=>_0x3191e1['id']===_0x22d61d[_0x584195(0x1ed)]);if(!_0x1f78ff)throw new Error(_0x584195(0x265));if(_0x1f78ff[_0x584195(0x22d)]==='completed'){console['log'](_0x496a5f[_0x584195(0x203)]);return;}if(_0x1f78ff['status']!==_0x496a5f['MaeFn'])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x1f78ff[_0x584195(0x22d)]);console['log']('\x0aConcluding\x20session...'),await _0x496a5f['MKPOb'](concludeSession,_0xa2a495,_0x22d61d[_0x584195(0x1ed)]),console[_0x584195(0x1e0)](_0x584195(0x269)+_0x1f78ff[_0x584195(0x2aa)]+_0x584195(0x1ea)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x1b8d84){const _0x5874d5=_0x4ced5c,_0x1afdda={'JaXLJ':function(_0x2b3477){return _0x2b3477();},'OcLfP':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Wjwjx':function(_0x243ed5,_0x4e6346){return _0x243ed5===_0x4e6346;},'MkeHR':_0x5874d5(0x2ac),'QNWnt':_0x5874d5(0x260),'NZBSi':function(_0x4b85ac,_0x70141){return _0x4b85ac===_0x70141;}},_0x1153b2=_0x1b8d84||await _0x1afdda['JaXLJ'](getActiveFeatureId);if(!_0x1153b2)throw new Error(_0x1afdda['OcLfP']);const _0x547276=await getFeature(_0x1153b2);console[_0x5874d5(0x1e0)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x547276[_0x5874d5(0x28a)]+'\x0a');const {sessions:_0x1b329f}=await listFeatureSessions(_0x1153b2);if(_0x1afdda['Wjwjx'](_0x1b329f['length'],0x0)){console['log'](_0x1afdda['MkeHR']);return;}for(const _0x4f335c of _0x1b329f){const _0x9d2b61=_0x1afdda[_0x5874d5(0x26f)](_0x4f335c['status'],_0x1afdda[_0x5874d5(0x1fc)])?'✅':_0x1afdda['NZBSi'](_0x4f335c['status'],'in_progress')?'🔄':'▶️';console['log'](_0x9d2b61+'\x20Session\x20'+_0x4f335c['iteration']+'\x20('+_0x4f335c['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x4f335c[_0x5874d5(0x22d)]),console[_0x5874d5(0x1e0)]('\x20\x20\x20Created:\x20'+new Date(_0x4f335c['createdAt'])[_0x5874d5(0x22e)]()),_0x4f335c[_0x5874d5(0x239)]&&console[_0x5874d5(0x1e0)]('\x20\x20\x20Completed:\x20'+new Date(_0x4f335c['completedAt'])['toLocaleString']()),console[_0x5874d5(0x1e0)]('');}}export async function featureAddScenario(_0x2c039b,_0x1694bb){const _0x1a1715=_0x4ced5c,_0x3d66c6={'GGYga':function(_0x45a929){return _0x45a929();},'dpCOM':function(_0x772e81,_0x51784a){return _0x772e81(_0x51784a);},'fnUmt':function(_0x65da9,_0x9fac0a,_0x4fd9a0){return _0x65da9(_0x9fac0a,_0x4fd9a0);}},_0x5d50a3=_0x1694bb||await _0x3d66c6['GGYga'](getActiveFeatureId);if(!_0x5d50a3)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 _0x9c9e7d=await _0x3d66c6['dpCOM'](getFeature,_0x5d50a3);if(_0x9c9e7d[_0x1a1715(0x2a8)]&&!_0x9c9e7d[_0x1a1715(0x2a8)]['submittedAt'])throw new Error(_0x1a1715(0x23f)+_0x9c9e7d[_0x1a1715(0x2a1)]);await _0x3d66c6['fnUmt'](createChecklistItem,_0x5d50a3,_0x2c039b);const _0x3fb90a=await getFeature(_0x5d50a3);console[_0x1a1715(0x1e0)](_0x1a1715(0x285)),displayFeature(_0x3fb90a,_0x3fb90a[_0x1a1715(0x1fa)]);}export async function featureEditScenario(_0x11e79a,_0x25ab53){const _0x3f9e4c=_0x4ced5c,_0x3467e5={'FHVkW':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','MIlgo':_0x3f9e4c(0x279),'hjroI':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','nrRtH':function(_0x1c7fba,_0x537172){return _0x1c7fba===_0x537172;},'nUgWm':function(_0x1547b7,_0x23957d){return _0x1547b7<_0x23957d;},'IcFrG':function(_0x4c94a8,_0x1ac540){return _0x4c94a8+_0x1ac540;},'yExIx':function(_0x30ac76,_0x469d39){return _0x30ac76-_0x469d39;},'qElPJ':function(_0x2d4cb0,_0x1b26f6){return _0x2d4cb0<_0x1b26f6;},'uRhmb':function(_0x310578,_0x5629b4){return _0x310578>=_0x5629b4;},'VsCTu':function(_0x46ac1b,_0x2e7bb3){return _0x46ac1b<_0x2e7bb3;},'gakqM':function(_0x166a49,_0x21e310,_0xfa0a50,_0x1723b7){return _0x166a49(_0x21e310,_0xfa0a50,_0x1723b7);},'ejUrS':function(_0x232b41,_0x433126,_0x138abd){return _0x232b41(_0x433126,_0x138abd);}},_0x251971=_0x25ab53['id']||await getActiveFeatureId();!_0x251971&&(console[_0x3f9e4c(0x252)](_0x3467e5['FHVkW']),console[_0x3f9e4c(0x252)](_0x3467e5['MIlgo']),process[_0x3f9e4c(0x22c)](0x1));const _0x19c08a=await getFeature(_0x251971);_0x19c08a[_0x3f9e4c(0x2a8)]&&!_0x19c08a['latestReview']['submittedAt']&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error']('Please\x20finish\x20your\x20review\x20first:'),console[_0x3f9e4c(0x252)]('\x20\x20'+_0x19c08a[_0x3f9e4c(0x2a1)]),process[_0x3f9e4c(0x22c)](0x1));const _0x49c880=_0x19c08a[_0x3f9e4c(0x1fa)]||[];_0x49c880['length']===0x0&&(console[_0x3f9e4c(0x252)](_0x3467e5['hjroI']),process['exit'](0x1));if(_0x3467e5[_0x3f9e4c(0x1cd)](_0x25ab53['scenario'],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x3f9e4c(0x1e0)](_0x3f9e4c(0x298));for(let _0x3ae600=0x0;_0x3467e5[_0x3f9e4c(0x238)](_0x3ae600,_0x49c880[_0x3f9e4c(0x20b)]);_0x3ae600++){console[_0x3f9e4c(0x1e0)]('\x20\x20'+_0x3467e5[_0x3f9e4c(0x217)](_0x3ae600,0x1)+'.\x20'+_0x49c880[_0x3ae600]['description']);}process[_0x3f9e4c(0x22c)](0x1);}const _0x388651=_0x3467e5['yExIx'](_0x25ab53[_0x3f9e4c(0x204)],0x1);if(_0x3467e5['qElPJ'](_0x388651,0x0)||_0x3467e5['uRhmb'](_0x388651,_0x49c880[_0x3f9e4c(0x20b)])){console['error'](_0x3f9e4c(0x2b2)+_0x25ab53[_0x3f9e4c(0x204)]+_0x3f9e4c(0x1d6)+_0x49c880[_0x3f9e4c(0x20b)]+'\x20scenarios.'),console['log']('\x0aAvailable\x20scenarios:');for(let _0x3cf402=0x0;_0x3467e5[_0x3f9e4c(0x212)](_0x3cf402,_0x49c880['length']);_0x3cf402++){console['log']('\x20\x20'+_0x3467e5['IcFrG'](_0x3cf402,0x1)+'.\x20'+_0x49c880[_0x3cf402]['description']);}process[_0x3f9e4c(0x22c)](0x1);}const _0x33f144=_0x49c880[_0x388651];await _0x3467e5[_0x3f9e4c(0x21b)](updateChecklistItem,_0x251971,_0x33f144['id'],{'description':_0x11e79a});const _0x44c1b6=await getFeature(_0x251971);console[_0x3f9e4c(0x1e0)]('\x0a✅\x20Scenario\x20updated'),_0x3467e5[_0x3f9e4c(0x1e5)](displayFeature,_0x44c1b6,_0x44c1b6['checklistItems']);}async function downloadFeedbackImage(_0xb7e6b0,_0x23853d){const _0x4a7460=_0x4ced5c,_0x578303={'NpTtz':function(_0x519e1f,_0x2218cf,_0x303f7f){return _0x519e1f(_0x2218cf,_0x303f7f);},'sAOug':function(_0x88e945,_0x53bf9e){return _0x88e945(_0x53bf9e);},'ElXSM':function(_0x244df4,_0xbc1c9,_0x2f32bc){return _0x244df4(_0xbc1c9,_0x2f32bc);}};try{const _0x69ace9=join(getRangerDir(),_0x4a7460(0x229));await _0x578303['NpTtz'](mkdir,_0x69ace9,{'recursive':!![]});const _0x15b351=join(_0x69ace9,_0x4a7460(0x1ef)+_0x23853d+_0x4a7460(0x219)),_0x48672c=await _0x578303['sAOug'](fetch,_0xb7e6b0);if(!_0x48672c['ok'])return null;const _0x3e2ecc=Buffer[_0x4a7460(0x1f5)](await _0x48672c['arrayBuffer']());return await _0x578303['ElXSM'](writeFile,_0x15b351,_0x3e2ecc),_0x15b351;}catch{return null;}}export async function featureGetReview(_0x348b9b){const _0x101a54=_0x4ced5c,_0x44efb6={'IjDLI':function(_0x5aedd2){return _0x5aedd2();},'AFWeE':_0x101a54(0x258),'XCXFP':function(_0x455352,_0x1bafa5){return _0x455352<_0x1bafa5;},'MrRhO':function(_0x327933,_0x4a63bd){return _0x327933>_0x4a63bd;},'nmfar':_0x101a54(0x292),'MVPvr':_0x101a54(0x1fb),'OjomI':_0x101a54(0x2a7),'ALDvz':_0x101a54(0x2a5),'JRYEw':function(_0x1c1084,_0x2c34e1){return _0x1c1084===_0x2c34e1;},'KRvXU':function(_0x1c8a0e,_0x4f68be){return _0x1c8a0e>=_0x4f68be;}},_0x3cacf1=_0x348b9b||await _0x44efb6[_0x101a54(0x207)](getActiveFeatureId);if(!_0x3cacf1)throw new Error(_0x44efb6[_0x101a54(0x280)]);const _0x194b72=await getFeature(_0x3cacf1),{items:_0xc275e5}=await getActionItems(_0x3cacf1);console[_0x101a54(0x1e0)]('\x0a📋\x20Feedback\x20for:\x20'+_0x194b72[_0x101a54(0x28a)]+'\x20('+_0x194b72['id']+')\x0a');if(_0xc275e5[_0x101a54(0x20b)]===0x0){console[_0x101a54(0x1e0)](_0x101a54(0x1d4));return;}for(let _0x1c0e38=0x0;_0x44efb6['XCXFP'](_0x1c0e38,_0xc275e5['length']);_0x1c0e38++){const _0x311ef0=_0xc275e5[_0x1c0e38],_0x50b49e=_0x44efb6['MrRhO'](_0x311ef0[_0x101a54(0x1f9)],0x1)?'\x20(v'+_0x311ef0[_0x101a54(0x1f9)]+')':'',_0x42a5cf=await getItemFeedback(_0x3cacf1,_0x311ef0['id']);if(_0x42a5cf['unaddressedComments'][_0x101a54(0x20b)]>0x0){console['log'](_0x101a54(0x1e8)+(_0x1c0e38+0x1)+':\x20\x22'+_0x311ef0['description']+'\x22'+_0x50b49e+_0x101a54(0x1cc)+_0x42a5cf['unaddressedComments']['length']+_0x101a54(0x23e));for(const _0x52502b of _0x42a5cf[_0x101a54(0x2b3)]){const _0x5f42f0=new Date(_0x52502b[_0x101a54(0x1fd)])['toLocaleDateString'](_0x44efb6[_0x101a54(0x25b)],{'month':'short','day':'numeric'}),_0x263e9f=_0x52502b[_0x101a54(0x25e)]||_0x52502b['authorEmail']||_0x44efb6['MVPvr'];console[_0x101a54(0x1e0)](_0x101a54(0x23d)+_0x263e9f+'\x20('+_0x5f42f0+_0x101a54(0x1dd)+_0x52502b['content']+'\x22');if(_0x52502b[_0x101a54(0x25f)]){const _0xf0043c=await downloadFeedbackImage(_0x52502b['assetUrl'],_0x52502b['id']);_0xf0043c&&console['log'](_0x101a54(0x21a)+_0xf0043c);}if(_0x52502b[_0x101a54(0x1ee)]){const _0x8f2746=_0x52502b[_0x101a54(0x1ee)][_0x101a54(0x1e3)]['split'](_0x44efb6[_0x101a54(0x282)])[_0x101a54(0x2ad)]()?.['split'](':')[0x0]||_0x44efb6[_0x101a54(0x27d)],_0x48e332=_0x52502b[_0x101a54(0x1ee)][_0x101a54(0x296)]?'\x20\x22'+_0x52502b[_0x101a54(0x1ee)]['textContent'][_0x101a54(0x249)](0x0,0x3c)+'\x22':'';console[_0x101a54(0x1e0)](_0x101a54(0x243)+_0x8f2746+'>'+_0x48e332),console[_0x101a54(0x1e0)](_0x101a54(0x283)+_0x52502b[_0x101a54(0x1ee)]['selector']);}else{if(_0x52502b[_0x101a54(0x275)]){const _0x38e249=_0x52502b[_0x101a54(0x275)]['coordinates'];_0x44efb6[_0x101a54(0x231)](_0x52502b['spatial'][_0x101a54(0x205)],'point')&&_0x44efb6['KRvXU'](_0x38e249['length'],0x2)?console['log'](_0x101a54(0x1f0)+_0x38e249[0x0][_0x101a54(0x2a6)](0x2)+',\x20'+_0x38e249[0x1]['toFixed'](0x2)+')'):console[_0x101a54(0x1e0)](_0x101a54(0x1df)+_0x52502b[_0x101a54(0x275)][_0x101a54(0x205)]+'\x20at\x20['+_0x38e249[_0x101a54(0x1dc)](_0x336e5e=>_0x336e5e[_0x101a54(0x2a6)](0x2))[_0x101a54(0x1d5)](',\x20')+']');}}}if(_0x42a5cf[_0x101a54(0x1e1)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x102872 of _0x42a5cf[_0x101a54(0x1e1)][_0x101a54(0x22f)]('\x0a')){console[_0x101a54(0x1e0)](_0x101a54(0x291)+_0x102872);}}}else console[_0x101a54(0x1e0)]('Scenario\x20'+(_0x1c0e38+0x1)+':\x20\x22'+_0x311ef0[_0x101a54(0x264)]+'\x22'+_0x50b49e+'\x20—\x20no\x20comments'),console['log'](_0x101a54(0x27c));console[_0x101a54(0x1e0)]('');}}export async function featureDelete(_0x3024e3){const _0x4babb1=_0x4ced5c,_0x46568a={'UdziB':function(_0x232f18,_0x43e7c8){return _0x232f18(_0x43e7c8);}},_0x24176e=_0x3024e3||await getActiveFeatureId();if(!_0x24176e)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 _0x1c3b76=await getFeature(_0x24176e);await _0x46568a[_0x4babb1(0x1f4)](softDeleteFeature,_0x24176e),console[_0x4babb1(0x1e0)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x1c3b76[_0x4babb1(0x28a)]+'\x20('+_0x24176e+')'),console[_0x4babb1(0x1e0)](_0x4babb1(0x1e4)+_0x24176e);}export async function featureRestore(_0x1003f4){const _0x4c4fab=_0x4ced5c;await restoreFeature(_0x1003f4);const _0x10e146=await getFeature(_0x1003f4);console[_0x4c4fab(0x1e0)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x10e146['name']+'\x20('+_0x1003f4+')'),displayFeature(_0x10e146,_0x10e146[_0x4c4fab(0x1fa)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x42d6af,_0x2af47c){const _0x5f352b=_0x5c4e,_0x35b830=_0x42d6af();while(!![]){try{const _0x299899=parseInt(_0x5f352b(0x10b))/0x1*(-parseInt(_0x5f352b(0x114))/0x2)+-parseInt(_0x5f352b(0x10d))/0x3*(-parseInt(_0x5f352b(0x112))/0x4)+parseInt(_0x5f352b(0x117))/0x5*(-parseInt(_0x5f352b(0x115))/0x6)+-parseInt(_0x5f352b(0x110))/0x7*(parseInt(_0x5f352b(0x10c))/0x8)+-parseInt(_0x5f352b(0x10e))/0x9*(parseInt(_0x5f352b(0x118))/0xa)+parseInt(_0x5f352b(0x116))/0xb+parseInt(_0x5f352b(0x10a))/0xc;if(_0x299899===_0x2af47c)break;else _0x35b830['push'](_0x35b830['shift']());}catch(_0x56c53b){_0x35b830['push'](_0x35b830['shift']());}}}(_0x31fa,0x2c691));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x350e54=_0x5c4e;if(cancellationHandlersInstalled)return;const _0x380d37=()=>{process['exit'](0x0);};process[_0x350e54(0x113)]('SIGINT',_0x380d37),process[_0x350e54(0x113)](_0x350e54(0x119),_0x380d37),process[_0x350e54(0x113)]('SIGHUP',_0x380d37),cancellationHandlersInstalled=!![];}function _0x31fa(){const _0x5a1572=['exit','keys','error','1006488LrXtZK','197pIoVUF','8RJnZIC','3XJfopX','9OgibVZ','Valid\x20hooks:\x20','100723NQTZfQ','join','662932JCHKML','once','1772mJyzPE','124962lQbNSs','3381356WDZZFv','10XYdswa','1445130FHkUxE','SIGTERM'];_0x31fa=function(){return _0x5a1572;};return _0x31fa();}function _0x5c4e(_0x8b9290,_0x47c4f2){_0x8b9290=_0x8b9290-0x107;const _0x31fae5=_0x31fa();let _0x5c4ef5=_0x31fae5[_0x8b9290];return _0x5c4ef5;}export async function hook(_0x3d47c6,_0x111a06){const _0x5cce8e=_0x5c4e;installCancellationHandlers();const _0x1c822d=HOOKS[_0x3d47c6];if(!_0x1c822d){const _0x40ff00=Object[_0x5cce8e(0x108)](HOOKS)[_0x5cce8e(0x111)](',\x20');console['error']('Unknown\x20hook:\x20'+_0x3d47c6),console[_0x5cce8e(0x109)](_0x5cce8e(0x10f)+_0x40ff00),process[_0x5cce8e(0x107)](0x1);}await _0x1c822d(_0x111a06);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x285481,_0x2449cf){const _0x450a10=_0x3fcc,_0x159572=_0x285481();while(!![]){try{const _0x5371f0=parseInt(_0x450a10(0x9c))/0x1*(parseInt(_0x450a10(0xa3))/0x2)+parseInt(_0x450a10(0xa1))/0x3+parseInt(_0x450a10(0x9e))/0x4*(parseInt(_0x450a10(0xa2))/0x5)+parseInt(_0x450a10(0xa5))/0x6*(-parseInt(_0x450a10(0xa9))/0x7)+parseInt(_0x450a10(0xa7))/0x8*(-parseInt(_0x450a10(0xaa))/0x9)+-parseInt(_0x450a10(0xa4))/0xa*(parseInt(_0x450a10(0xa8))/0xb)+parseInt(_0x450a10(0x9f))/0xc*(-parseInt(_0x450a10(0xa6))/0xd);if(_0x5371f0===_0x2449cf)break;else _0x159572['push'](_0x159572['shift']());}catch(_0x1cea8d){_0x159572['push'](_0x159572['shift']());}}}(_0x12ce,0x4d0ed));function _0x3fcc(_0x6e6d6b,_0x548600){_0x6e6d6b=_0x6e6d6b-0x9c;const _0x12ce4f=_0x12ce();let _0x3fcc4e=_0x12ce4f[_0x6e6d6b];return _0x3fcc4e;}import{readHookInput}from'./output.js';function _0x12ce(){const _0x1e2305=['90KpdEmI','552kVlXrz','322387vVyXfp','8hYSnnO','31009bBUxYN','35756eQymWG','2601009uyBcxz','1iiShvX','log','121228YEHtgB','24BHWIPY','ambzw','1317798UlfBVM','60WpWrtj','693170YNqzKi'];_0x12ce=function(){return _0x1e2305;};return _0x12ce();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x49c16d=_0x3fcc,_0x27c912={'ambzw':function(_0x2eafc1,_0x4d0b3b){return _0x2eafc1(_0x4d0b3b);}},_0xea6e75=await readHookInput(),_0x4581e4=_0xea6e75?.['session_id'];if(!_0x4581e4)return;if(isSessionEnabled(_0x4581e4)||hasSessionBeenPrompted(_0x4581e4))return;_0x27c912[_0x49c16d(0xa0)](markSessionPrompted,_0x4581e4),console[_0x49c16d(0x9d)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x6503cb,_0xb6ce94){const _0xb4dc57=_0x3c43,_0xb40e3c=_0x6503cb();while(!![]){try{const _0x50a131=parseInt(_0xb4dc57(0x17e))/0x1+-parseInt(_0xb4dc57(0x180))/0x2*(-parseInt(_0xb4dc57(0x184))/0x3)+-parseInt(_0xb4dc57(0x17a))/0x4+parseInt(_0xb4dc57(0x185))/0x5*(-parseInt(_0xb4dc57(0x183))/0x6)+parseInt(_0xb4dc57(0x181))/0x7*(-parseInt(_0xb4dc57(0x17d))/0x8)+-parseInt(_0xb4dc57(0x18b))/0x9*(-parseInt(_0xb4dc57(0x17c))/0xa)+parseInt(_0xb4dc57(0x179))/0xb*(-parseInt(_0xb4dc57(0x17f))/0xc);if(_0x50a131===_0xb6ce94)break;else _0xb40e3c['push'](_0xb40e3c['shift']());}catch(_0x3f6f3e){_0xb40e3c['push'](_0xb40e3c['shift']());}}}(_0x5b6a,0x2b5f2));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x3c43(_0x403ee1,_0x39477e){_0x403ee1=_0x403ee1-0x179;const _0x5b6aca=_0x5b6a();let _0x3c43e6=_0x5b6aca[_0x403ee1];return _0x3c43e6;}function _0x5b6a(){const _0xc73dbe=['143OwaAsJ','183628hnxgmq','PwBpI','93700Fafowl','40ISfefU','288641WbqUjF','107220MLsTmK','2yOQAjn','49553DfpxHv','\x20and\x20branch\x20\x27','185100YsGXcm','373158rjnUXr','35PsfgTP','main','xIBkn','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','CLAUDE_SESSION_ID','.\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`.','171KkCqjF'];_0x5b6a=function(){return _0xc73dbe;};return _0x5b6a();}import{printBlock}from'./output.js';export async function disable(_0x375403){const _0x1b6ac8=_0x3c43,_0x20a1fc={'PwBpI':function(_0x5b7ce0,_0x335a34){return _0x5b7ce0!==_0x335a34;},'xIBkn':_0x1b6ac8(0x186),'noLPf':'master','HNjEo':function(_0x21a242,_0x6134a4){return _0x21a242(_0x6134a4);}},_0x2ae780=_0x375403||process['env'][_0x1b6ac8(0x189)]||'';_0x2ae780&&disableSession(_0x2ae780);const _0x157735=getCurrentBranch();_0x157735&&_0x20a1fc[_0x1b6ac8(0x17b)](_0x157735,_0x20a1fc[_0x1b6ac8(0x187)])&&_0x157735!==_0x20a1fc['noLPf']&&_0x20a1fc['HNjEo'](disableBranch,_0x157735),_0x20a1fc['HNjEo'](printBlock,_0x1b6ac8(0x188)+(_0x157735&&_0x157735!==_0x1b6ac8(0x186)&&_0x20a1fc[_0x1b6ac8(0x17b)](_0x157735,'master')?_0x1b6ac8(0x182)+_0x157735+'\x27':'')+_0x1b6ac8(0x18a));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3e0a72,_0xa9f1e3){const _0x12d018=_0x3186,_0x59c102=_0x3e0a72();while(!![]){try{const _0x39c309=parseInt(_0x12d018(0xf0))/0x1*(parseInt(_0x12d018(0xeb))/0x2)+-parseInt(_0x12d018(0xfa))/0x3*(-parseInt(_0x12d018(0xe7))/0x4)+-parseInt(_0x12d018(0xf8))/0x5*(-parseInt(_0x12d018(0xf4))/0x6)+-parseInt(_0x12d018(0xf2))/0x7+-parseInt(_0x12d018(0xf7))/0x8*(parseInt(_0x12d018(0xf5))/0x9)+parseInt(_0x12d018(0xf3))/0xa*(parseInt(_0x12d018(0xec))/0xb)+-parseInt(_0x12d018(0xe8))/0xc;if(_0x39c309===_0xa9f1e3)break;else _0x59c102['push'](_0x59c102['shift']());}catch(_0x44abc7){_0x59c102['push'](_0x59c102['shift']());}}}(_0xf39d,0x22b6d));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3186(_0x175e00,_0x85f8a9){_0x175e00=_0x175e00-0xe3;const _0xf39d5b=_0xf39d();let _0x318675=_0xf39d5b[_0x175e00];return _0x318675;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0xf39d(){const _0x402f69=['56177WOvfKi','rNLmh','main','#\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`','13svnJmg','VJLoF','1456245hpIFgm','70HBeVac','36OjcWOd','2934ZrznOn','ranger\x20setup','184wthpzK','150895gPrnLd','FWOcx','3780zuJXzD','ranger\x20setup\x20--opencode','CLAUDE_SESSION_ID','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','BDvlR','96wdjWOM','398700ESZCff','FIKRO','#\x20RANGER\x20ENABLED','22136ePgJkm'];_0xf39d=function(){return _0x402f69;};return _0xf39d();}import{update}from'../update.js';export async function enable(_0x5da216){const _0xa1eddb=_0x3186,_0x32a2e3={'rNLmh':_0xa1eddb(0xe3),'FIKRO':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','VJLoF':function(_0x2313ec,_0x59e2f6){return _0x2313ec(_0x59e2f6);},'FWOcx':function(_0x446fe5){return _0x446fe5();},'ZQwZp':_0xa1eddb(0xee),'PFgOk':'master','BDvlR':function(_0x27bb01){return _0x27bb01();}},_0x3b9a6e=_0x5da216||process['env'][_0xa1eddb(0xe4)]||'',_0xdd16c7=Boolean(_0x5da216),_0x46c00f=await getToken();if(!_0x46c00f){const _0x73cbd3=_0xdd16c7?_0x32a2e3[_0xa1eddb(0xed)]:_0xa1eddb(0xf6),_0x4beb6d=_0xdd16c7?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x32a2e3[_0xa1eddb(0xe9)];printBlock(_0xa1eddb(0xef)+_0x73cbd3+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x4beb6d);return;}try{await update();}catch{}_0x3b9a6e&&_0x32a2e3[_0xa1eddb(0xf1)](enableSession,_0x3b9a6e);const _0x1fa935=_0x32a2e3[_0xa1eddb(0xf9)](getCurrentBranch),_0x4a68d4=_0x1fa935&&_0x1fa935!==_0x32a2e3['ZQwZp']&&_0x1fa935!==_0x32a2e3['PFgOk']?'\x0a\x0a**Branch\x20\x27'+_0x1fa935+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x5b5765=_0x32a2e3[_0xa1eddb(0xe6)](getRangerSkillContent);printBlock(_0xa1eddb(0xea)+_0x4a68d4+_0xa1eddb(0xe5)+_0x5b5765+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x557f06,_0x585256){const _0x5f5be7=_0x4645,_0x38d3e0=_0x557f06();while(!![]){try{const _0x5c19fe=-parseInt(_0x5f5be7(0xfa))/0x1+parseInt(_0x5f5be7(0xf2))/0x2+-parseInt(_0x5f5be7(0xf6))/0x3*(parseInt(_0x5f5be7(0xf3))/0x4)+parseInt(_0x5f5be7(0xf8))/0x5*(parseInt(_0x5f5be7(0xf0))/0x6)+-parseInt(_0x5f5be7(0xfb))/0x7*(parseInt(_0x5f5be7(0xf4))/0x8)+parseInt(_0x5f5be7(0xf7))/0x9+parseInt(_0x5f5be7(0xf9))/0xa;if(_0x5c19fe===_0x585256)break;else _0x38d3e0['push'](_0x38d3e0['shift']());}catch(_0x1a4346){_0x38d3e0['push'](_0x38d3e0['shift']());}}}(_0x24ec,0xbde50));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x20f0c8){const _0x517a60=_0x4645,_0x2b9515={'llKHl':function(_0x4a69a5,_0x2a8dd9){return _0x4a69a5(_0x2a8dd9);}},_0x4da63e=await _0x2b9515[_0x517a60(0xf5)](getEnabledSessionId,_0x20f0c8);if(!_0x4da63e)return;printBlock(_0x517a60(0xf1));}function _0x4645(_0x5a847e,_0x1072aa){_0x5a847e=_0x5a847e-0xf0;const _0x24ec00=_0x24ec();let _0x464570=_0x24ec00[_0x5a847e];return _0x464570;}function _0x24ec(){const _0x2dc099=['7694730LPOBHa','619506xTfIpq','210abBGap','1402740WpiJgb','===\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===','684zKZOWU','984agrbWl','36984pqBVMC','llKHl','7311CTRjIZ','10187109dSxRqV','5IMyUIR'];_0x24ec=function(){return _0x2dc099;};return _0x24ec();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xdfb62c,_0x2a926b){var _0x4b55c3=_0x1b7c,_0x34dffa=_0xdfb62c();while(!![]){try{var _0x1dafcb=parseInt(_0x4b55c3(0x105))/0x1+parseInt(_0x4b55c3(0xfe))/0x2+-parseInt(_0x4b55c3(0x100))/0x3*(parseInt(_0x4b55c3(0x104))/0x4)+parseInt(_0x4b55c3(0x106))/0x5*(-parseInt(_0x4b55c3(0xfd))/0x6)+-parseInt(_0x4b55c3(0x103))/0x7*(-parseInt(_0x4b55c3(0xfb))/0x8)+-parseInt(_0x4b55c3(0x102))/0x9*(-parseInt(_0x4b55c3(0xfc))/0xa)+parseInt(_0x4b55c3(0x101))/0xb*(-parseInt(_0x4b55c3(0xff))/0xc);if(_0x1dafcb===_0x2a926b)break;else _0x34dffa['push'](_0x34dffa['shift']());}catch(_0x1ab11e){_0x34dffa['push'](_0x34dffa['shift']());}}}(_0x1d3d,0xa8d52));export{sessionStart}from'./sessionStart.js';function _0x1d3d(){var _0xa76376=['2333088mPhJMO','11254308rojcpn','24iULIgu','11VhFDiQ','6333399cHtdfV','7KdFNTY','679096VPfXYm','966229NHubIE','5oQAPWa','4063824oBZaCb','10lPwzpi','2141238cGVwBD'];_0x1d3d=function(){return _0xa76376;};return _0x1d3d();}export{sessionEnd}from'./sessionEnd.js';function _0x1b7c(_0x490321,_0x14a498){_0x490321=_0x490321-0xfb;var _0x1d3de4=_0x1d3d();var _0x1b7cda=_0x1d3de4[_0x490321];return _0x1b7cda;}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x21b955,_0x465616){const _0x37a10c=_0x4636,_0x1677fe=_0x21b955();while(!![]){try{const _0x5b71e4=parseInt(_0x37a10c(0x1df))/0x1+-parseInt(_0x37a10c(0x1de))/0x2+parseInt(_0x37a10c(0x1d6))/0x3*(-parseInt(_0x37a10c(0x1d7))/0x4)+parseInt(_0x37a10c(0x1e3))/0x5*(-parseInt(_0x37a10c(0x1e4))/0x6)+parseInt(_0x37a10c(0x1e1))/0x7+parseInt(_0x37a10c(0x1db))/0x8*(-parseInt(_0x37a10c(0x1e2))/0x9)+parseInt(_0x37a10c(0x1d9))/0xa*(parseInt(_0x37a10c(0x1dc))/0xb);if(_0x5b71e4===_0x465616)break;else _0x1677fe['push'](_0x1677fe['shift']());}catch(_0x399cbb){_0x1677fe['push'](_0x1677fe['shift']());}}}(_0x1bea,0x3420f));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x55ae2a){console['log'](_0x55ae2a);}function _0x1bea(){const _0xc7c74=['303256LdYfFt','37939yxuOGi','session_id','231024AQckVC','268222wiiDNh','pXOKk','1780842rpVNXT','18LYKMQt','57770iIMvTT','66ehGtxS','6ByhWjA','471136gRJlwa','trim','710UcZvdi','AFiTe'];_0x1bea=function(){return _0xc7c74;};return _0x1bea();}export async function readHookInput(){const _0x3f8ff7=_0x4636;let _0xffb69c='';try{for await(const _0x74cbb1 of process['stdin']){_0xffb69c+=_0x74cbb1;}}catch{return null;}if(!_0xffb69c[_0x3f8ff7(0x1d8)]())return null;try{return JSON['parse'](_0xffb69c);}catch{return null;}}export async function getEnabledSessionId(_0x563489){const _0x724f62=_0x4636,_0x44a689={'vNqhe':function(_0x2e5952,_0x3e4df8){return _0x2e5952(_0x3e4df8);},'AFiTe':function(_0x1419f5){return _0x1419f5();}};if(_0x563489)return _0x44a689['vNqhe'](isSessionEnabled,_0x563489)?_0x563489:null;const _0x743c49=await _0x44a689[_0x724f62(0x1da)](readHookInput),_0x50c727=_0x743c49?.[_0x724f62(0x1dd)];if(!_0x50c727||!isSessionEnabled(_0x50c727))return null;return _0x50c727;}function _0x4636(_0x51204e,_0x2d51fc){_0x51204e=_0x51204e-0x1d6;const _0x1bea84=_0x1bea();let _0x4636c1=_0x1bea84[_0x51204e];return _0x4636c1;}export async function getEnabledHookContext(_0x1621a7){const _0x26029f=_0x4636,_0x2824b6={'pXOKk':function(_0x2cf1e6,_0x14436c){return _0x2cf1e6(_0x14436c);}};if(_0x1621a7){if(!isSessionEnabled(_0x1621a7))return null;return{'sessionId':_0x1621a7,'input':{'session_id':_0x1621a7}};}const _0x411f85=await readHookInput(),_0x49cf57=_0x411f85?.['session_id'];if(!_0x49cf57||!_0x2824b6[_0x26029f(0x1e0)](isSessionEnabled,_0x49cf57))return null;return{'sessionId':_0x49cf57,'input':_0x411f85};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24fbe9,_0x2978d2){const _0x1dc83d=_0x2d48,_0x420551=_0x24fbe9();while(!![]){try{const _0x425e0e=-parseInt(_0x1dc83d(0x15b))/0x1*(-parseInt(_0x1dc83d(0x163))/0x2)+parseInt(_0x1dc83d(0x157))/0x3+parseInt(_0x1dc83d(0x161))/0x4*(parseInt(_0x1dc83d(0x15c))/0x5)+parseInt(_0x1dc83d(0x15e))/0x6*(parseInt(_0x1dc83d(0x156))/0x7)+-parseInt(_0x1dc83d(0x160))/0x8+parseInt(_0x1dc83d(0x159))/0x9+-parseInt(_0x1dc83d(0x165))/0xa*(parseInt(_0x1dc83d(0x158))/0xb);if(_0x425e0e===_0x2978d2)break;else _0x420551['push'](_0x420551['shift']());}catch(_0x459ec8){_0x420551['push'](_0x420551['shift']());}}}(_0x3674,0xc909a));import{printBlock,getEnabledHookContext}from'./output.js';function _0x3674(){const _0xce49f2=['permission_mode','3826564wARmjb','703101vEcXKK','16907UOhpQl','5019813HOyumr','input','3CeHnhR','70EAhKec','plan','18eJeiRq','sessionId','9612872kmCsxt','296268tJguCr','YJKjS','699370Kdqhiv','ikzQU','16220fipwtf'];_0x3674=function(){return _0xce49f2;};return _0x3674();}function _0x2d48(_0xa624e5,_0x37fa6a){_0xa624e5=_0xa624e5-0x155;const _0x3674d4=_0x3674();let _0x2d489a=_0x3674d4[_0xa624e5];return _0x2d489a;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x241a6){const _0xdaf91=_0x2d48,_0x1eb7f6={'ikzQU':_0xdaf91(0x15d),'YJKjS':function(_0x26db64,_0x2e5557){return _0x26db64(_0x2e5557);}},_0xa98691=await getEnabledHookContext(_0x241a6);if(!_0xa98691)return;if(_0xa98691[_0xdaf91(0x15a)][_0xdaf91(0x155)]!==_0x1eb7f6[_0xdaf91(0x164)])return;if(!_0x1eb7f6['YJKjS'](shouldShowPlanReminder,_0xa98691[_0xdaf91(0x15f)]))return;_0x1eb7f6[_0xdaf91(0x162)](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===');}
|