@ranger-testing/ranger-cli 3.1.3-alpha.546c9e8-43 → 3.1.3
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/deleteProfile.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/migrateProfile.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/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.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/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.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/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.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/tunnelClient.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/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4c0969=_0x2e5f;(function(_0x52aaff,_0x8766a6){const _0x381517=_0x2e5f,_0x5bfef1=_0x52aaff();while(!![]){try{const _0x315f94=-parseInt(_0x381517(0x18f))/0x1+parseInt(_0x381517(0x164))/0x2*(-parseInt(_0x381517(0x14b))/0x3)+parseInt(_0x381517(0x1e1))/0x4*(-parseInt(_0x381517(0x176))/0x5)+parseInt(_0x381517(0x11d))/0x6*(-parseInt(_0x381517(0x10c))/0x7)+parseInt(_0x381517(0x141))/0x8+-parseInt(_0x381517(0x10b))/0x9+parseInt(_0x381517(0x157))/0xa;if(_0x315f94===_0x8766a6)break;else _0x5bfef1['push'](_0x5bfef1['shift']());}catch(_0x4dca17){_0x5bfef1['push'](_0x5bfef1['shift']());}}}(_0x1bf2,0x83790));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x22f817 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x484975=>_0x4c0969(0x1d5)+_0x484975+'\x1b[0m';function getGitRepoUrl(){const _0xa25d51=_0x4c0969,_0x114571={'uheYc':function(_0x21eeee,_0x4879c4,_0x1e464c){return _0x21eeee(_0x4879c4,_0x1e464c);},'DjBKV':_0xa25d51(0x1bd),'PdXmZ':'pipe'};try{const _0x38be2a=_0x114571[_0xa25d51(0x199)](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x114571['DjBKV'],'stdio':['pipe',_0x114571['PdXmZ'],_0x114571[_0xa25d51(0x10f)]]})[_0xa25d51(0x1c0)]();return _0x38be2a['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')[_0xa25d51(0x169)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x4d1850=_0x4c0969,_0x30dee6={'LxgPK':function(_0x284be4,_0x1528ea,_0x1a717b){return _0x284be4(_0x1528ea,_0x1a717b);},'fDtAC':'utf-8'};try{return _0x30dee6['LxgPK'](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x30dee6['fDtAC'],'stdio':['pipe','pipe','pipe']})[_0x4d1850(0x1c0)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5043fb=_0x4c0969,_0x89de8f={'pQLEs':function(_0x36251d){return _0x36251d();},'liGbz':function(_0x4d28be,_0xf7a2a2,_0x18d44e){return _0x4d28be(_0xf7a2a2,_0x18d44e);}},_0x1543dc=join(_0x89de8f[_0x5043fb(0x1d0)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x1543dc))return null;try{const _0x43a686=await _0x89de8f[_0x5043fb(0x1be)](readFile,_0x1543dc,'utf-8');return _0x43a686[_0x5043fb(0x1c0)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x46e6e6){const _0x337339=_0x4c0969,_0x2b8ccc={'KwuZo':function(_0x97514b){return _0x97514b();},'ACxtP':function(_0x20243e,_0x10ec64,_0x3fcfa0){return _0x20243e(_0x10ec64,_0x3fcfa0);},'bhuQn':function(_0x466c9f,_0x584348){return _0x466c9f(_0x584348);},'vneRz':_0x337339(0x1bd)},_0x46a478=_0x2b8ccc['KwuZo'](getRangerDir),_0x10ca23=_0x2b8ccc[_0x337339(0x155)](join,_0x46a478,ACTIVE_FEATURE_FILE);!_0x2b8ccc[_0x337339(0x16f)](existsSync,_0x46a478)&&await mkdir(_0x46a478,{'recursive':!![]}),await writeFile(_0x10ca23,_0x46e6e6,_0x2b8ccc[_0x337339(0x1bb)]);}function getProgressDisplay(_0x2730bd){const _0x1d099a=_0x4c0969,_0x387662={'BpNnq':function(_0x326941,_0x5f0c3a){return _0x326941+_0x5f0c3a;},'dhDZp':function(_0x164735,_0x11dd09){return _0x164735+_0x11dd09;},'zjhBu':function(_0x5ddd7c,_0x33daab){return _0x5ddd7c*_0x33daab;},'IDXMF':function(_0x38b20e,_0x317005){return _0x38b20e/_0x317005;},'QIxwj':function(_0xe11704,_0x47b3fe){return _0xe11704-_0x47b3fe;},'tlyhH':function(_0x444294,_0x1cad62){return _0x444294>_0x1cad62;}},_0x4f37ff=_0x2730bd[_0x1d099a(0x123)]||0x0,_0x27e253=_0x2730bd[_0x1d099a(0x13f)]||0x0,_0xb61603=_0x2730bd['blockedItems']||0x0,_0x415d0e=_0x2730bd[_0x1d099a(0x1a2)]||0x0,_0x3962b5=_0x2730bd['pendingItems']||0x0,_0x542380=_0x387662['BpNnq'](_0x387662['dhDZp'](_0x4f37ff+_0x27e253,_0xb61603),_0x415d0e)+_0x3962b5;if(_0x542380===0x0)return'-';const _0x7df58a=0xa,_0x60aedd=Math['round'](_0x387662['zjhBu'](_0x387662[_0x1d099a(0x163)](_0x4f37ff,_0x542380),_0x7df58a)),_0xb7fa48='█'['repeat'](_0x60aedd)+'░'['repeat'](_0x387662[_0x1d099a(0x1a9)](_0x7df58a,_0x60aedd)),_0x5a0086=[];if(_0x387662[_0x1d099a(0x134)](_0xb61603,0x0))_0x5a0086['push'](_0xb61603+'\x20blocked');if(_0x415d0e>0x0)_0x5a0086[_0x1d099a(0x172)](_0x415d0e+_0x1d099a(0x136));if(_0x27e253>0x0)_0x5a0086['push'](_0x27e253+_0x1d099a(0x149));const _0x1a20ca=_0x387662['tlyhH'](_0x5a0086['length'],0x0)?'\x20('+_0x5a0086['join'](',\x20')+')':'';return _0xb7fa48+'\x20'+_0x4f37ff+'/'+_0x542380+_0x1d099a(0x15b)+_0x1a20ca;}function getCurrentSessionItems(_0xb315ba,_0x478258){const _0x3f36b3=_0x4c0969;if(!_0xb315ba[_0x3f36b3(0x1cf)])return _0x478258['filter'](_0x2838be=>!_0x2838be['sessionId']);return _0x478258[_0x3f36b3(0x125)](_0x16d2dc=>_0x16d2dc['sessionId']===_0xb315ba['currentSessionId']||!_0x16d2dc[_0x3f36b3(0x15c)]);}function displayFeature(_0x1c2c1e,_0x4bcebd){const _0x133728=_0x4c0969,_0x253155={'TBDey':function(_0x169730,_0x46c786){return _0x169730>_0x46c786;},'xWWiY':function(_0x49994c,_0x357cce){return _0x49994c<_0x357cce;},'JTpib':function(_0x4be538,_0x1dc8e0){return _0x4be538===_0x1dc8e0;},'zYYtL':_0x133728(0x180),'uekbm':_0x133728(0x184),'bRbRu':_0x133728(0x143),'WJYQQ':function(_0x1af1b5,_0x56e781){return _0x1af1b5===_0x56e781;},'rkhQg':'verification_in_progress','FQHMN':function(_0x50d027,_0xdc6d04){return _0x50d027!==_0xdc6d04;},'BfmSv':function(_0x49c23e,_0x2478e4){return _0x49c23e!==_0x2478e4;},'YgDTA':'verified','YfvxS':_0x133728(0x11b),'jQaGX':function(_0xe91cc4,_0x2d8af7){return _0xe91cc4===_0x2d8af7;},'ERndI':_0x133728(0x142)};console['log']('\x0a'+_0x1c2c1e[_0x133728(0x1a5)]+'\x20('+_0x1c2c1e[_0x133728(0x192)]+')');_0x1c2c1e['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1c2c1e[_0x133728(0x162)]));_0x1c2c1e['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x1c2c1e[_0x133728(0x167)]);_0x1c2c1e[_0x133728(0x128)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x1c2c1e[_0x133728(0x128)]);_0x1c2c1e[_0x133728(0x15a)]&&console[_0x133728(0x188)](_0x133728(0x1bc)+_0x1c2c1e['gitBranch']);console['log'](_0x133728(0x1bf)+new Date(_0x1c2c1e['createdAt'])[_0x133728(0x1b3)]());_0x1c2c1e[_0x133728(0x115)]&&console['log'](_0x133728(0x118)+new Date(_0x1c2c1e[_0x133728(0x115)])['toLocaleString']());if(_0x4bcebd&&_0x253155['TBDey'](_0x4bcebd['length'],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x2f555b=0x0;_0x253155[_0x133728(0x187)](_0x2f555b,_0x4bcebd[_0x133728(0x146)]);_0x2f555b++){const _0x20e05b=_0x4bcebd[_0x2f555b];let _0x4b0269;if(_0x253155['JTpib'](_0x20e05b['status'],_0x253155[_0x133728(0x18d)])&&_0x253155[_0x133728(0x139)](_0x20e05b[_0x133728(0x13b)],'approved'))_0x4b0269='✅';else{if(_0x20e05b[_0x133728(0x173)]===_0x133728(0x11a))_0x4b0269='🟢';else{if(_0x253155[_0x133728(0x139)](_0x20e05b['status'],_0x253155[_0x133728(0x161)]))_0x4b0269='🟠';else{if(_0x20e05b[_0x133728(0x173)]===_0x253155[_0x133728(0x13e)])_0x4b0269='🛑';else{if(_0x20e05b['status']==='closed')_0x4b0269='⛔';else _0x253155[_0x133728(0x14f)](_0x20e05b['status'],_0x253155[_0x133728(0x1b1)])?_0x4b0269='⏳':_0x4b0269='⬜';}}}}const _0x225a4f=_0x20e05b[_0x133728(0x129)]>0x1?'\x20(v'+_0x20e05b[_0x133728(0x129)]+')':'',_0x5c7454=_0x20e05b['version']>0x1&&_0x20e05b[_0x133728(0x1cc)]&&_0x253155['FQHMN'](_0x20e05b['status'],_0x133728(0x180))&&_0x253155[_0x133728(0x168)](_0x20e05b['status'],_0x253155[_0x133728(0x110)])?_0x253155['YfvxS']:'';console[_0x133728(0x188)](_0x133728(0x16c)+(_0x2f555b+0x1)+'.\x20'+_0x4b0269+'\x20'+_0x20e05b['description']+_0x225a4f+_0x5c7454);_0x253155[_0x133728(0x1d9)](_0x20e05b['status'],'blocked')&&_0x20e05b[_0x133728(0x19c)]&&console[_0x133728(0x188)](_0x133728(0x189)+_0x20e05b['blockedReason']);_0x20e05b[_0x133728(0x173)]==='incomplete'&&_0x20e05b['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x20e05b['incompleteReason']);if(_0x20e05b[_0x133728(0x173)]===_0x253155[_0x133728(0x18d)]&&_0x20e05b[_0x133728(0x13b)]===_0x253155[_0x133728(0x158)])console[_0x133728(0x188)]('\x20\x20\x20\x20\x20\x20Approved');else _0x20e05b[_0x133728(0x173)]===_0x253155['zYYtL']&&_0x20e05b['canceledReason']&&console[_0x133728(0x188)](_0x133728(0x160)+_0x20e05b['canceledReason']);}}}export async function featureCreate(_0x8e35fc,_0x4c45a1){const _0x4423ab=_0x4c0969,_0x186c6a={'bBwwR':function(_0x3091fe,_0x93bf46){return _0x3091fe===_0x93bf46;},'mybii':function(_0x5c48ef){return _0x5c48ef();},'GCGHQ':function(_0x2f0081,_0x21e1fb){return _0x2f0081(_0x21e1fb);},'BbvEj':function(_0xcb0be,_0x5ccfc6,_0x25fa12){return _0xcb0be(_0x5ccfc6,_0x25fa12);}},{envNames:_0x1d02db}=await getEnvNames();if(_0x186c6a[_0x4423ab(0x1a3)](_0x1d02db['length'],0x0)&&!process[_0x4423ab(0x198)][_0x4423ab(0x1b8)]){let _0x40e7c9=0x0;try{_0x40e7c9=(await _0x186c6a['mybii'](listCloudProfiles))[_0x4423ab(0x146)];}catch{_0x40e7c9=0x1;}_0x186c6a['bBwwR'](_0x40e7c9,0x0)&&console[_0x4423ab(0x14d)]('\x0a'+_0x186c6a[_0x4423ab(0x19b)](formatProfileRequiredMessage,_0x5e0b7b=>bold(_0x5e0b7b)));}const _0x28b2cc=_0x4c45a1[_0x4423ab(0x1a7)]?_0x4c45a1['scenarios'][_0x4423ab(0x181)](_0x124316=>_0x124316[_0x4423ab(0x1c0)]()):[],_0x5c12d2=getGitRepoUrl(),_0x1dffeb=getGitBranch();console[_0x4423ab(0x188)]('\x0aCreating\x20feature\x20review...');const _0x1e47db=await createFeature({'name':_0x8e35fc,'description':_0x4c45a1[_0x4423ab(0x167)],'checklist':_0x28b2cc,'gitRepoUrl':_0x5c12d2,'gitBranch':_0x1dffeb});await setActiveFeatureId(_0x1e47db['id']),await tryStartCurrentSession(_0x1e47db['id']);const _0x4c4fce=process[_0x4423ab(0x198)][_0x4423ab(0x16b)];_0x4c4fce&&_0x186c6a['BbvEj'](registerSession,_0x4c4fce,_0x1e47db['id']),console[_0x4423ab(0x188)](_0x4423ab(0x112)+_0x1e47db['id']),_0x186c6a[_0x4423ab(0x1c9)](displayFeature,_0x1e47db,_0x1e47db['checklistItems']),console[_0x4423ab(0x188)](_0x4423ab(0x18e));}export async function featureList(_0x8c2ddc){const _0x196fb9=_0x4c0969,_0x564c77={'opkwO':function(_0x355d69,_0x564f8c){return _0x355d69(_0x564f8c);},'VlTzp':'\x0aNo\x20feature\x20reviews\x20found.','HTPMK':function(_0xbc53be,_0x16051d){return _0xbc53be<_0x16051d;},'pdmgM':function(_0x55e144,_0x149908){return _0x55e144!==_0x149908;},'NQFkk':_0x196fb9(0x127)},_0x174760={'limit':_0x8c2ddc[_0x196fb9(0x10d)]??0xa,'offset':_0x8c2ddc[_0x196fb9(0x151)]??0x0,'includeDeleted':_0x8c2ddc[_0x196fb9(0x1da)]};_0x8c2ddc['currentBranch']&&(_0x174760[_0x196fb9(0x128)]=getGitRepoUrl(),_0x174760[_0x196fb9(0x15a)]=getGitBranch());const _0x4e0dff=await _0x564c77['opkwO'](listFeatures,_0x174760);if(_0x4e0dff['items']['length']===0x0){console[_0x196fb9(0x188)](_0x564c77['VlTzp']);return;}const _0x4ead90=_0x4e0dff['totalCount']>_0x4e0dff[_0x196fb9(0x135)][_0x196fb9(0x146)]?_0x196fb9(0x1c6)+_0x4e0dff['items'][_0x196fb9(0x146)]+'\x20of\x20'+_0x4e0dff[_0x196fb9(0x182)]:_0x4e0dff['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x196fb9(0x188)]('\x0a'+_0x4ead90+':\x0a');for(const _0x39917d of _0x4e0dff[_0x196fb9(0x135)]){const _0x265286='4|1|0|2|5|3'[_0x196fb9(0x130)]('|');let _0x1a5f99=0x0;while(!![]){switch(_0x265286[_0x1a5f99++]){case'0':_0x39917d[_0x196fb9(0x162)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x564c77['opkwO'](getProgressDisplay,_0x39917d['stats']));continue;case'1':console[_0x196fb9(0x188)]('\x20\x20\x20ID:\x20'+_0x39917d['id']);continue;case'2':_0x39917d['gitBranch']&&console[_0x196fb9(0x188)]('\x20\x20\x20Branch:\x20'+_0x39917d[_0x196fb9(0x15a)]);continue;case'3':console[_0x196fb9(0x188)]('');continue;case'4':console[_0x196fb9(0x188)](''+_0x39917d['name']);continue;case'5':console[_0x196fb9(0x188)]('\x20\x20\x20Created:\x20'+new Date(_0x39917d[_0x196fb9(0x183)])['toLocaleDateString']());continue;}break;}}const _0x401852=_0x174760['limit']??0xa,_0xff0be5=(_0x174760['offset']??0x0)+_0x4e0dff['items'][_0x196fb9(0x146)];if(_0x564c77['HTPMK'](_0xff0be5,_0x4e0dff[_0x196fb9(0x182)])){const _0x373e49=_0x564c77['pdmgM'](_0x401852,0xa)?'\x20--limit\x20'+_0x401852:'',_0x1438df=_0x8c2ddc['currentBranch']?_0x564c77[_0x196fb9(0x156)]:'',_0x8faa35=_0x8c2ddc['includeDeleted']?_0x196fb9(0x1b6):'';console['log'](_0x196fb9(0x17f)+_0xff0be5+_0x373e49+_0x1438df+_0x8faa35);}}export async function featureShow(_0x187091){const _0x4e1fdf=_0x4c0969,_0x10f34b={'ngUlT':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','MaHCO':function(_0xf6189d,_0x5524bc,_0x36fdeb){return _0xf6189d(_0x5524bc,_0x36fdeb);}},_0x4ca730=_0x187091||await getActiveFeatureId();if(!_0x4ca730)throw new Error(_0x10f34b['ngUlT']);const _0x1f9cf5=await getFeature(_0x4ca730);_0x10f34b[_0x4e1fdf(0x132)](displayFeature,_0x1f9cf5,_0x1f9cf5['checklistItems']);}export async function featureResume(_0x4966e8){const _0x97e226=_0x4c0969,_0x3b7646={'ArhfO':function(_0x426caa,_0x2ed43e){return _0x426caa(_0x2ed43e);},'oASEb':function(_0x566c74,_0x842eeb,_0x435a8a){return _0x566c74(_0x842eeb,_0x435a8a);},'zKrzq':function(_0x435120,_0xbceadd){return _0x435120(_0xbceadd);},'LbIaS':function(_0x6a8abf){return _0x6a8abf();},'CXERw':'Not\x20in\x20a\x20git\x20repository.','xjXjD':function(_0x2a8edd,_0x1faa66){return _0x2a8edd||_0x1faa66;},'WHJPs':_0x97e226(0x147),'aFMbX':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','TeVBh':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','tNPJV':function(_0x31cdc8,_0x19e52d){return _0x31cdc8(_0x19e52d);},'QaNvn':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>'};if(_0x4966e8){const _0x366220=await getFeature(_0x4966e8);await _0x3b7646['ArhfO'](setActiveFeatureId,_0x366220['id']);const _0x3f7ce4=getGitBranch();_0x3f7ce4&&_0x3f7ce4!==_0x366220['gitBranch']&&(await updateFeature(_0x366220['id'],{'gitBranch':_0x3f7ce4}),console[_0x97e226(0x188)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3f7ce4));console['log'](_0x97e226(0x174)+_0x366220[_0x97e226(0x1a5)]+'\x20('+_0x366220['id']+')'),await tryStartCurrentSession(_0x366220['id']);const _0x15890f=process['env']['CLAUDE_SESSION_ID'];_0x15890f&&_0x3b7646['oASEb'](registerSession,_0x15890f,_0x366220['id']);displayFeature(_0x366220,_0x366220['checklistItems']),await _0x3b7646['zKrzq'](printFeedbackNudge,_0x366220['id']);return;}const _0x4fc288=_0x3b7646['LbIaS'](getGitRepoUrl),_0x410509=_0x3b7646['LbIaS'](getGitBranch);if(!_0x4fc288&&!_0x410509)throw new Error(_0x3b7646['CXERw']);console['log'](_0x97e226(0x17e)+(_0x4fc288||_0x97e226(0x147))+_0x97e226(0x177)+_0x3b7646['xjXjD'](_0x410509,_0x3b7646[_0x97e226(0x145)])+'...');const _0x181036=await _0x3b7646[_0x97e226(0x14a)](listFeatures,{'gitRepoUrl':_0x4fc288,'gitBranch':_0x410509}),_0x4c2fe5=_0x181036['items'][_0x97e226(0x125)](_0x17e252=>_0x17e252[_0x97e226(0x173)]?_0x17e252['status']!=='verified':!_0x17e252['completedAt']);if(_0x4c2fe5[_0x97e226(0x146)]===0x0){console[_0x97e226(0x188)](_0x97e226(0x1af)),console['log'](_0x3b7646['aFMbX']);return;}let _0x47a19d;if(_0x4c2fe5['length']===0x1)_0x47a19d=_0x4c2fe5[0x0];else{const _0x3eca79=process[_0x97e226(0x18a)]['isTTY']&&process['stdout']['isTTY'];if(!_0x3eca79){console[_0x97e226(0x188)](_0x3b7646['TeVBh']);for(const _0x221b62 of _0x4c2fe5){console[_0x97e226(0x188)]('\x20\x20'+_0x221b62['name']),console[_0x97e226(0x188)](_0x97e226(0x1cd)+_0x221b62['id']),_0x221b62[_0x97e226(0x162)]&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x3b7646[_0x97e226(0x1d8)](getProgressDisplay,_0x221b62['stats'])),_0x221b62[_0x97e226(0x15a)]&&console[_0x97e226(0x188)](_0x97e226(0x1c4)+_0x221b62[_0x97e226(0x15a)]);}throw new Error(_0x3b7646['QaNvn']);}const {selected:_0x4596c7}=await _0x22f817[_0x97e226(0x12e)]([{'type':_0x97e226(0x1de),'name':_0x97e226(0x1df),'message':_0x97e226(0x1c7),'choices':_0x4c2fe5['map'](_0x463376=>({'name':_0x463376[_0x97e226(0x1a5)]+'\x20('+_0x463376['id']+')','value':_0x463376['id']}))}]);_0x47a19d=_0x4c2fe5[_0x97e226(0x17a)](_0x55702b=>_0x55702b['id']===_0x4596c7);}await setActiveFeatureId(_0x47a19d['id']);_0x410509&&_0x410509!==_0x47a19d['gitBranch']&&(await updateFeature(_0x47a19d['id'],{'gitBranch':_0x410509}),console[_0x97e226(0x188)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x410509));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x47a19d[_0x97e226(0x1a5)]+'\x20('+_0x47a19d['id']+')'),await tryStartCurrentSession(_0x47a19d['id']);const _0x29f81a=await getFeature(_0x47a19d['id']),_0x3a1ae2=process['env'][_0x97e226(0x16b)];_0x3a1ae2&®isterSession(_0x3a1ae2,_0x29f81a['id']),displayFeature(_0x29f81a,_0x29f81a['checklistItems']),await printFeedbackNudge(_0x29f81a['id']);}async function printFeedbackNudge(_0x422862){const _0x1f610e=_0x4c0969;try{const {items:_0x27f2f7}=await getActionItems(_0x422862);let _0xc8feab=0x0,_0x2faea0=0x0;for(const _0x116781 of _0x27f2f7){const _0x3b70f9=await getItemFeedback(_0x422862,_0x116781['id']);_0x3b70f9[_0x1f610e(0x12f)]['length']>0x0&&(_0xc8feab+=_0x3b70f9['unaddressedComments'][_0x1f610e(0x146)],_0x2faea0++);}_0xc8feab>0x0&&(console[_0x1f610e(0x188)](_0x1f610e(0x170)+_0xc8feab+_0x1f610e(0x14e)+_0x2faea0+_0x1f610e(0x131)),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x5b3f27){const _0x3b14b1=_0x4c0969,_0x502c24={'isGpR':function(_0x5e34a3,_0x3ef3d2){return _0x5e34a3(_0x3ef3d2);}};try{const {sessions:_0x112683}=await _0x502c24['isGpR'](listFeatureSessions,_0x5b3f27),_0xd57f6c=_0x112683['find'](_0x566a81=>_0x566a81[_0x3b14b1(0x173)]==='ready');_0xd57f6c&&(await startSession(_0x5b3f27,_0xd57f6c['id']),console[_0x3b14b1(0x188)](_0x3b14b1(0x165)+_0xd57f6c['iteration']));}catch{}}export async function featureReport(_0x1bd68b,_0x483104){const _0x32cfb7=_0x4c0969,_0x32380d={'qTuUy':function(_0x198896){return _0x198896();},'XOLki':'\x0aGenerating\x20report...','EZeiR':function(_0x5b2452){return _0x5b2452();},'Iqyrc':'reports','fokov':function(_0x25a81d,_0x224700,_0x224e5f){return _0x25a81d(_0x224700,_0x224e5f);}},_0x551cc4=_0x1bd68b||await _0x32380d[_0x32cfb7(0x194)](getActiveFeatureId);if(!_0x551cc4)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x32cfb7(0x188)](_0x32380d[_0x32cfb7(0x11e)]);const _0x198f74=await getFeatureReportMarkdown(_0x551cc4,{'style':_0x483104['style']}),_0x3b62ff=_0x483104['output']||join(_0x32380d['EZeiR'](getRangerDir),_0x32380d['Iqyrc'],_0x551cc4+'.md'),_0x49728e=_0x32380d['fokov'](join,_0x3b62ff,'..');!existsSync(_0x49728e)&&await _0x32380d[_0x32cfb7(0x1b4)](mkdir,_0x49728e,{'recursive':!![]}),await writeFile(_0x3b62ff,_0x198f74,'utf-8'),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x3b62ff);}function getScenarioResult(_0x525eda){const _0x5c2a5d=_0x4c0969,_0xd57eb={'mWkBg':_0x5c2a5d(0x180),'cOkTr':'verification_in_progress','IVFkm':'in_progress'};if(_0x525eda[_0x5c2a5d(0x173)]===_0x5c2a5d(0x180))return _0x525eda[_0x5c2a5d(0x13b)]??_0xd57eb[_0x5c2a5d(0x121)];if(_0x525eda[_0x5c2a5d(0x173)]===_0xd57eb['cOkTr'])return _0xd57eb['IVFkm'];return _0x525eda['status'];}function getScenarioRationale(_0x1415e9,_0x36d741){const _0x20352a=_0x4c0969,_0x3c4d5a={'OIcVp':'4|5|3|1|2|0'},_0x481707=_0x3c4d5a['OIcVp']['split']('|');let _0x305b72=0x0;while(!![]){switch(_0x481707[_0x305b72++]){case'0':return null;case'1':if(_0x1415e9['canceledReason'])return _0x1415e9[_0x20352a(0x179)];continue;case'2':if(_0x1415e9[_0x20352a(0x18c)])return _0x1415e9['notes'];continue;case'3':if(_0x1415e9[_0x20352a(0x19e)])return _0x1415e9['incompleteReason'];continue;case'4':if(_0x36d741)return _0x36d741;continue;case'5':if(_0x1415e9['blockedReason'])return _0x1415e9['blockedReason'];continue;}break;}}export async function featureReportPrDescription(_0x4761e7,_0x59796e){const _0xbb9005=_0x4c0969,_0x4c7998={'KwmYd':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','tXFRg':function(_0x401b9f,_0x4599a5){return _0x401b9f(_0x4599a5);},'xNwSP':function(_0x4c0fbd,_0x44eaaa,_0x424043){return _0x4c0fbd(_0x44eaaa,_0x424043);},'aHQNq':function(_0x2e2c7e,_0x3fd003){return _0x2e2c7e===_0x3fd003;},'LudaT':function(_0xa5cc9f,_0x58db5f){return _0xa5cc9f>_0x58db5f;},'CSdyf':'\x0aAvailable\x20scenarios:','NKGfA':function(_0x18b65f,_0x3bb2bd){return _0x18b65f+_0x3bb2bd;},'lrmsm':function(_0x30bc23,_0x18ab3d,_0x21f05a,_0x95199){return _0x30bc23(_0x18ab3d,_0x21f05a,_0x95199);}},_0x5ca1ff=_0x4761e7||await getActiveFeatureId();if(!_0x5ca1ff)throw new Error(_0x4c7998[_0xbb9005(0x114)]);const _0x13000c=await _0x4c7998[_0xbb9005(0x175)](getFeature,_0x5ca1ff),_0x3c2740=_0x13000c['checklistItems']||[],_0x7c8bee=_0x4c7998['xNwSP'](getCurrentSessionItems,_0x13000c,_0x3c2740);_0x4c7998[_0xbb9005(0x133)](_0x7c8bee[_0xbb9005(0x146)],0x0)&&(console[_0xbb9005(0x17c)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0xbb9005(0x12b)](0x1));const _0x1e5561=_0x59796e['excludeScenarios']??[],_0x22750f=_0x1e5561[_0xbb9005(0x125)](_0x386349=>!Number['isInteger'](_0x386349)||_0x386349<0x1||_0x386349>_0x7c8bee['length']);if(_0x4c7998[_0xbb9005(0x16a)](_0x22750f[_0xbb9005(0x146)],0x0)){console[_0xbb9005(0x17c)](_0xbb9005(0x178)+_0x22750f['join'](',\x20')),console['log'](_0x4c7998[_0xbb9005(0x1d6)]);for(let _0x5bec70=0x0;_0x5bec70<_0x7c8bee['length'];_0x5bec70++){console[_0xbb9005(0x188)]('\x20\x20'+_0x4c7998[_0xbb9005(0x1b5)](_0x5bec70,0x1)+'.\x20'+_0x7c8bee[_0x5bec70][_0xbb9005(0x167)]);}process[_0xbb9005(0x12b)](0x1);}const _0x178050=new Set(_0x1e5561[_0xbb9005(0x181)](_0x41f2c5=>_0x41f2c5-0x1)),_0x2081f5=_0x7c8bee[_0xbb9005(0x125)]((_0x1b061f,_0x5c2c05)=>!_0x178050[_0xbb9005(0x150)](_0x5c2c05));_0x2081f5[_0xbb9005(0x146)]===0x0&&(console[_0xbb9005(0x17c)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0xbb9005(0x12b)](0x1));if(_0x59796e[_0xbb9005(0x1dd)])await _0x4c7998[_0xbb9005(0x1ca)](outputJsonReport,_0x5ca1ff,_0x13000c,_0x2081f5);else{const _0x1b7d67=await getFeatureReportMarkdown(_0x5ca1ff,{'itemIds':_0x2081f5[_0xbb9005(0x181)](_0x79e413=>_0x79e413['id'])});process['stdout']['write'](_0x1b7d67[_0xbb9005(0x1c2)]()+'\x0a');}}async function outputJsonReport(_0x2f5110,_0x207eda,_0x5499b0){const _0x14f609=_0x4c0969,_0x233d82={'GbnLW':function(_0x3d11e0,_0x42753b){return _0x3d11e0===_0x42753b;},'iwUef':function(_0x46d4f3,_0x57f9d9){return _0x46d4f3(_0x57f9d9);},'FPZXY':function(_0x30abd8,_0x3abee7,_0x4e17b7){return _0x30abd8(_0x3abee7,_0x4e17b7);},'gifAF':function(_0x200e39){return _0x200e39();},'YYRAD':function(_0x32669d,_0x270b9b){return _0x32669d+_0x270b9b;}},_0x4b189b=_0x233d82[_0x14f609(0x17b)](getApiBaseUrl),_0x356717=await getFeatureReport(_0x2f5110),_0x53e85a=new Map(_0x356717['checklistItems']['map'](_0x597214=>[_0x597214['id'],_0x597214])),_0x4586e5=await Promise[_0x14f609(0x1ac)](_0x5499b0['map'](async _0x766d48=>{const _0x34a202=_0x14f609,_0x390025=_0x53e85a['get'](_0x766d48['id']),_0x5c6537=_0x390025?.['linkedSession']??null;let _0x2aad2f=[];if(_0x766d48[_0x34a202(0x197)])try{const {steps:_0x2830a9}=await getBrowserSessionSteps(_0x766d48[_0x34a202(0x197)]);_0x2830a9[_0x34a202(0x146)]>0x0&&(_0x2aad2f=_0x2830a9['map'](_0x346b66=>{const _0x16aff8=_0x34a202,_0x5f4ab7=_0x346b66['assets'][_0x16aff8(0x17a)](_0x1801e7=>_0x1801e7['assetType']===_0x16aff8(0x1ba)&&_0x1801e7[_0x16aff8(0x19d)]==='after')??_0x346b66[_0x16aff8(0x13c)][_0x16aff8(0x17a)](_0x4d2e2e=>_0x4d2e2e[_0x16aff8(0x12a)]===_0x16aff8(0x1ba));let _0x29c257=null,_0x24f330=null;if(_0x5f4ab7){const _0x5805f1=_0x5f4ab7['storage']['location']['split']('/')[_0x16aff8(0x1c8)]();_0x29c257=_0x4b189b+_0x16aff8(0x119)+_0x766d48[_0x16aff8(0x197)]+'/artifacts/'+_0x5805f1,_0x5805f1&&(_0x24f330=_0x5805f1['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x24f330||_0x346b66[_0x16aff8(0x167)]||_0x346b66['stepName']||'Step\x20'+_0x346b66[_0x16aff8(0x1aa)],'screenshot':_0x29c257,'is_key_step':_0x346b66['isKeyStep']};}));}catch{}return _0x233d82[_0x34a202(0x16e)](_0x2aad2f[_0x34a202(0x146)],0x0)&&_0x5c6537?.['screenshotUrls']&&(_0x2aad2f=_0x5c6537['screenshotUrls'][_0x34a202(0x181)]((_0x3b7ca6,_0xff4978)=>({'description':_0x34a202(0x1ad)+(_0xff4978+0x1),'screenshot':_0x3b7ca6,'is_key_step':![]}))),{'description':_0x766d48[_0x34a202(0x167)],'result':_0x233d82[_0x34a202(0x124)](getScenarioResult,_0x766d48),'rationale':_0x233d82['FPZXY'](getScenarioRationale,_0x766d48,_0x5c6537?.['agentResponse']),'steps':_0x2aad2f};})),_0x5189d0={'url':_0x207eda['dashboardUrl'],'scenarios':_0x4586e5};process['stdout']['write'](_0x233d82[_0x14f609(0x10e)](JSON['stringify'](_0x5189d0,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x29e249){const _0x215ace=_0x4c0969,_0x302c5e={'dPlrZ':function(_0x56965a){return _0x56965a();},'kcrnj':_0x215ace(0x1ab),'Fnfcd':function(_0x2f0762,_0x5f1ac8){return _0x2f0762===_0x5f1ac8;},'sXqog':_0x215ace(0x1ce),'elAaE':_0x215ace(0x1a0),'wwkfx':_0x215ace(0x1c5)},_0x5c5b01=_0x29e249||await _0x302c5e[_0x215ace(0x14c)](getActiveFeatureId);if(!_0x5c5b01)throw new Error(_0x215ace(0x153));const _0x625b06=await getFeature(_0x5c5b01);if(!_0x625b06['currentSessionId'])throw new Error(_0x302c5e['kcrnj']);const {sessions:_0x1fe170}=await listFeatureSessions(_0x5c5b01),_0x2db3de=_0x1fe170['find'](_0x5bfd2f=>_0x5bfd2f['id']===_0x625b06[_0x215ace(0x1cf)]);if(!_0x2db3de)throw new Error('Current\x20session\x20not\x20found.');if(_0x302c5e[_0x215ace(0x16d)](_0x2db3de['status'],_0x302c5e[_0x215ace(0x1b7)])){console['log']('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x2db3de['status']!==_0x302c5e['elAaE'])throw new Error(_0x215ace(0x12d)+_0x2db3de[_0x215ace(0x173)]);console['log'](_0x302c5e['wwkfx']),await concludeSession(_0x5c5b01,_0x625b06[_0x215ace(0x1cf)]),console['log'](_0x215ace(0x1d7)+_0x2db3de[_0x215ace(0x190)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5d6bee){const _0x10ae4d=_0x4c0969,_0x15651c={'rQxdh':_0x10ae4d(0x111),'QvSQD':function(_0x1e18b1,_0x2b41c7){return _0x1e18b1(_0x2b41c7);},'Gwbnc':'completed','beVXv':'in_progress'},_0x5dd036=_0x5d6bee||await getActiveFeatureId();if(!_0x5dd036)throw new Error(_0x15651c['rQxdh']);const _0x56dd7b=await _0x15651c['QvSQD'](getFeature,_0x5dd036);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x56dd7b[_0x10ae4d(0x1a5)]+'\x0a');const {sessions:_0x5d1d63}=await _0x15651c['QvSQD'](listFeatureSessions,_0x5dd036);if(_0x5d1d63['length']===0x0){console['log']('No\x20sessions\x20found.');return;}for(const _0x10bf60 of _0x5d1d63){const _0x5a0cc0=_0x10bf60['status']===_0x15651c['Gwbnc']?'✅':_0x10bf60['status']===_0x15651c['beVXv']?'🔄':'▶️';console[_0x10ae4d(0x188)](_0x5a0cc0+'\x20Session\x20'+_0x10bf60[_0x10ae4d(0x190)]+'\x20('+_0x10bf60['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x10bf60[_0x10ae4d(0x173)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x10bf60['createdAt'])['toLocaleString']()),_0x10bf60['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x10bf60[_0x10ae4d(0x115)])['toLocaleString']()),console[_0x10ae4d(0x188)]('');}}export async function featureAddScenario(_0x21cb45,_0x4e426c){const _0x5746ee=_0x4c0969,_0xfcf9c4={'KHSdF':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','SSbYt':function(_0x3cf451,_0xff288a){return _0x3cf451(_0xff288a);}},_0x3c2551=_0x4e426c||await getActiveFeatureId();if(!_0x3c2551)throw new Error(_0xfcf9c4['KHSdF']);const _0x41964e=await getFeature(_0x3c2551);if(_0x41964e[_0x5746ee(0x1d4)]&&!_0x41964e['latestReview'][_0x5746ee(0x144)])throw new Error(_0x5746ee(0x140)+_0x41964e['dashboardUrl']);await createChecklistItem(_0x3c2551,_0x21cb45);const _0x490476=await _0xfcf9c4['SSbYt'](getFeature,_0x3c2551);console['log']('\x0a✅\x20Scenario\x20added'),displayFeature(_0x490476,_0x490476['checklistItems']);}function _0x1bf2(){const _0x230a19=['join','954eONFSd','XOLki','yNSLb','assetUrl','mWkBg','angIs','verifiedItems','iwUef','filter','RbBQz','\x20--current-branch','gitRepoUrl','version','assetType','exit','short','Cannot\x20conclude\x20session\x20with\x20status:\x20','prompt','unaddressedComments','split','\x20scenario(s).','MaHCO','aHQNq','tlyhH','items','\x20incomplete','scenario','comment_','JTpib','\x0a📋\x20Feedback\x20for:\x20','terminalReason','assets','sbOlw','bRbRu','verificationInProgressItems','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','1527640NoMubk','approved','blocked','submittedAt','WHJPs','length','any','checklistItems','\x20in\x20progress','ArhfO','70320CgHokB','dPlrZ','warn','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','WJYQQ','has','offset','toLocaleDateString','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','ACxtP','NQFkk','25277470bnvFyX','ERndI','UmlvM','gitBranch','\x20verified','sessionId','selector','\x0a✅\x20Restored\x20feature\x20review:\x20','Please\x20finish\x20your\x20review\x20first:','\x20\x20\x20\x20\x20\x20Cancelled:\x20','uekbm','stats','IDXMF','76PPyOLh','\x20\x20\x20▶️\x20Started\x20session\x20','yUWsf','description','BfmSv','replace','LudaT','CLAUDE_SESSION_ID','\x20\x20\x20','Fnfcd','GbnLW','bhuQn','\x0a⚠️\x20\x20','tMaDn','push','status','\x0a✅\x20Resumed\x20feature\x20review:\x20','tXFRg','10WNyJtR','\x20/\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','canceledReason','find','gifAF','error','RsPnL','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','Next\x20page:\x20ranger\x20list\x20--offset\x20','closed','map','totalCount','createdAt','incomplete','\x20unaddressed\x20comment(s)','\x20\x20💬\x20','xWWiY','log','\x20\x20\x20\x20\x20\x20Blocked:\x20','stdin','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','notes','zYYtL','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','350140WEyDAn','iteration','iScSB','dashboardUrl','\x20\x20\x20\x20\x20📋\x20Selector:\x20','qTuUy','\x20\x20✅\x20No\x20feedback\x20to\x20address','arrayBuffer','browserSessionId','env','uheYc','Unknown','GCGHQ','blockedReason','timing','incompleteReason','dBkFA','in_progress','hBsvS','incompleteItems','bBwwR','\x20at\x20[','name','):\x20\x22','scenarios','element','QIxwj','position','No\x20active\x20session\x20for\x20this\x20feature\x20review.','all','Screenshot\x20','\x20>\x20','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','slice','rkhQg','content','toLocaleString','fokov','NKGfA','\x20--include-deleted','sXqog','RANGER_TEST_USERNAME','ToOHI','screenshot','vneRz','\x20\x20\x20Branch:\x20','utf-8','liGbz','\x20\x20\x20Created:\x20','trim',':\x20\x22','trimEnd','FuJfp','\x20\x20\x20\x20\x20Branch:\x20','\x0aConcluding\x20session...','Showing\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','pop','BbvEj','lrmsm','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','parentItemId','\x20\x20\x20\x20\x20ID:\x20','completed','currentSessionId','pQLEs','domRef','LRsme','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','latestReview','\x1b[1m','CSdyf','\x0a✅\x20Session\x20','tNPJV','jQaGX','includeDeleted','en-US','\x20(v','json','list','selected','coordinates','607592YLUepm','\x0aAvailable\x20scenarios:','5476536bbPWrN','1190awuZEu','limit','YYRAD','PdXmZ','YgDTA','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0a✅\x20Feature\x20review\x20created:\x20','spatial','KwmYd','completedAt','from','toFixed','\x20\x20\x20Completed:\x20','/api/v1/mcp/browser-sessions/','verified','\x20[has\x20reviewer\x20feedback]'];_0x1bf2=function(){return _0x230a19;};return _0x1bf2();}export async function featureEditScenario(_0x395d6e,_0x26eb42){const _0x2d018d=_0x4c0969,_0x174675={'JcOPq':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','jgZcw':function(_0x26bd77,_0x552d58){return _0x26bd77(_0x552d58);},'TwCVk':_0x2d018d(0x15f),'RsPnL':function(_0x4b5d95,_0x2e1096){return _0x4b5d95===_0x2e1096;},'hBsvS':_0x2d018d(0x18b),'dBkFA':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','bIhMM':function(_0x2a7f18,_0x4d9184){return _0x2a7f18+_0x4d9184;},'bZOAk':function(_0x267ea8,_0x57fe12){return _0x267ea8+_0x57fe12;},'pSazY':function(_0x23b161,_0x2a3cc5,_0x3a4389){return _0x23b161(_0x2a3cc5,_0x3a4389);}},_0x3aa686=_0x26eb42['id']||await getActiveFeatureId();!_0x3aa686&&(console[_0x2d018d(0x17c)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x174675['JcOPq']),process[_0x2d018d(0x12b)](0x1));const _0x575cbf=await _0x174675['jgZcw'](getFeature,_0x3aa686);_0x575cbf['latestReview']&&!_0x575cbf['latestReview'][_0x2d018d(0x144)]&&(console[_0x2d018d(0x17c)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x2d018d(0x17c)](_0x174675['TwCVk']),console[_0x2d018d(0x17c)]('\x20\x20'+_0x575cbf[_0x2d018d(0x192)]),process[_0x2d018d(0x12b)](0x1));const _0x37b055=_0x575cbf['checklistItems']||[];_0x174675[_0x2d018d(0x17d)](_0x37b055['length'],0x0)&&(console[_0x2d018d(0x17c)](_0x174675[_0x2d018d(0x1a1)]),process[_0x2d018d(0x12b)](0x1));if(_0x174675['RsPnL'](_0x26eb42['scenario'],undefined)){console['error'](_0x174675[_0x2d018d(0x19f)]),console['log'](_0x2d018d(0x1e2));for(let _0x44615c=0x0;_0x44615c<_0x37b055['length'];_0x44615c++){console[_0x2d018d(0x188)]('\x20\x20'+_0x174675['bIhMM'](_0x44615c,0x1)+'.\x20'+_0x37b055[_0x44615c]['description']);}process[_0x2d018d(0x12b)](0x1);}const _0x3b1233=_0x26eb42[_0x2d018d(0x137)]-0x1;if(_0x3b1233<0x0||_0x3b1233>=_0x37b055['length']){console[_0x2d018d(0x17c)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x26eb42['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x37b055['length']+'\x20scenarios.'),console[_0x2d018d(0x188)](_0x2d018d(0x1e2));for(let _0x1679e8=0x0;_0x1679e8<_0x37b055['length'];_0x1679e8++){console['log']('\x20\x20'+_0x174675['bZOAk'](_0x1679e8,0x1)+'.\x20'+_0x37b055[_0x1679e8][_0x2d018d(0x167)]);}process['exit'](0x1);}const _0x496b41=_0x37b055[_0x3b1233];await updateChecklistItem(_0x3aa686,_0x496b41['id'],{'description':_0x395d6e});const _0x138260=await _0x174675['jgZcw'](getFeature,_0x3aa686);console[_0x2d018d(0x188)]('\x0a✅\x20Scenario\x20updated'),_0x174675['pSazY'](displayFeature,_0x138260,_0x138260['checklistItems']);}async function downloadFeedbackImage(_0x2dab5e,_0x4e2ac8){const _0x24d36a=_0x4c0969,_0x5cc9c={'yUWsf':'feedback-images','VfFXE':function(_0x24aab9,_0x256a82,_0xaa8dcd){return _0x24aab9(_0x256a82,_0xaa8dcd);},'ToOHI':function(_0x39a371,_0x27e243){return _0x39a371(_0x27e243);}};try{const _0x1f0ad5=join(getRangerDir(),_0x5cc9c[_0x24d36a(0x166)]);await _0x5cc9c['VfFXE'](mkdir,_0x1f0ad5,{'recursive':!![]});const _0x401d4c=join(_0x1f0ad5,_0x24d36a(0x138)+_0x4e2ac8+'.png'),_0x45096c=await _0x5cc9c[_0x24d36a(0x1b9)](fetch,_0x2dab5e);if(!_0x45096c['ok'])return null;const _0x42fe80=Buffer[_0x24d36a(0x116)](await _0x45096c[_0x24d36a(0x196)]());return await writeFile(_0x401d4c,_0x42fe80),_0x401d4c;}catch{return null;}}export async function featureGetReview(_0x40e043){const _0x150b20=_0x4c0969,_0x1dd7c5={'smGzw':function(_0x509aee){return _0x509aee();},'ugSck':_0x150b20(0x153),'nPqKq':function(_0x29223b,_0x2cd494){return _0x29223b(_0x2cd494);},'UmlvM':function(_0x3dbd80,_0x180a8b){return _0x3dbd80<_0x180a8b;},'VTMpe':function(_0x10c414,_0x1d64fe){return _0x10c414>_0x1d64fe;},'angIs':function(_0x154ecc,_0x2454ed,_0x5774cb){return _0x154ecc(_0x2454ed,_0x5774cb);},'tMaDn':function(_0x3720ba,_0x2c2e60){return _0x3720ba+_0x2c2e60;},'PwYMt':_0x150b20(0x1db),'sbOlw':function(_0x10d784,_0x248653,_0x1f6477){return _0x10d784(_0x248653,_0x1f6477);},'gVjMs':_0x150b20(0x1ae),'LRsme':_0x150b20(0x1a8),'RbBQz':function(_0xcc323c,_0x48dd99){return _0xcc323c===_0x48dd99;},'FuJfp':'point'},_0x4a006b=_0x40e043||await _0x1dd7c5['smGzw'](getActiveFeatureId);if(!_0x4a006b)throw new Error(_0x1dd7c5['ugSck']);const _0x3a82d2=await getFeature(_0x4a006b),{items:_0x1dc8ec}=await _0x1dd7c5['nPqKq'](getActionItems,_0x4a006b);console['log'](_0x150b20(0x13a)+_0x3a82d2[_0x150b20(0x1a5)]+'\x20('+_0x3a82d2['id']+')\x0a');if(_0x1dc8ec['length']===0x0){console['log']('No\x20scenarios\x20found.');return;}for(let _0x158f7e=0x0;_0x1dd7c5[_0x150b20(0x159)](_0x158f7e,_0x1dc8ec['length']);_0x158f7e++){const _0x2e3d6c=_0x1dc8ec[_0x158f7e],_0x541285=_0x1dd7c5['VTMpe'](_0x2e3d6c[_0x150b20(0x129)],0x1)?_0x150b20(0x1dc)+_0x2e3d6c['version']+')':'',_0x56d8d1=await _0x1dd7c5[_0x150b20(0x122)](getItemFeedback,_0x4a006b,_0x2e3d6c['id']);if(_0x56d8d1[_0x150b20(0x12f)][_0x150b20(0x146)]>0x0){console[_0x150b20(0x188)]('Scenario\x20'+_0x1dd7c5['tMaDn'](_0x158f7e,0x1)+':\x20\x22'+_0x2e3d6c['description']+'\x22'+_0x541285+'\x20—\x20'+_0x56d8d1[_0x150b20(0x12f)]['length']+_0x150b20(0x185));for(const _0x817137 of _0x56d8d1[_0x150b20(0x12f)]){const _0x15eb72=new Date(_0x817137['createdAt'])[_0x150b20(0x152)](_0x1dd7c5['PwYMt'],{'month':_0x150b20(0x12c),'day':'numeric'}),_0x346b79=_0x817137['authorName']||_0x817137['authorEmail']||_0x150b20(0x19a);console[_0x150b20(0x188)](_0x150b20(0x186)+_0x346b79+'\x20('+_0x15eb72+_0x150b20(0x1a6)+_0x817137[_0x150b20(0x1b2)]+'\x22');if(_0x817137[_0x150b20(0x120)]){const _0xb6c661=await _0x1dd7c5[_0x150b20(0x13d)](downloadFeedbackImage,_0x817137[_0x150b20(0x120)],_0x817137['id']);_0xb6c661&&console[_0x150b20(0x188)](_0x150b20(0x1d3)+_0xb6c661);}if(_0x817137[_0x150b20(0x1d1)]){const _0x3d9137=_0x817137[_0x150b20(0x1d1)]['selector'][_0x150b20(0x130)](_0x1dd7c5['gVjMs'])['pop']()?.[_0x150b20(0x130)](':')[0x0]||_0x1dd7c5[_0x150b20(0x1d2)],_0x48952d=_0x817137['domRef']['textContent']?'\x20\x22'+_0x817137[_0x150b20(0x1d1)]['textContent'][_0x150b20(0x1b0)](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3d9137+'>'+_0x48952d),console[_0x150b20(0x188)](_0x150b20(0x193)+_0x817137[_0x150b20(0x1d1)][_0x150b20(0x15d)]);}else{if(_0x817137[_0x150b20(0x113)]){const _0xc3307b=_0x817137['spatial'][_0x150b20(0x1e0)];_0x1dd7c5[_0x150b20(0x126)](_0x817137[_0x150b20(0x113)]['type'],_0x1dd7c5[_0x150b20(0x1c3)])&&_0xc3307b['length']>=0x2?console[_0x150b20(0x188)](_0x150b20(0x1cb)+_0xc3307b[0x0]['toFixed'](0x2)+',\x20'+_0xc3307b[0x1]['toFixed'](0x2)+')'):console[_0x150b20(0x188)](_0x150b20(0x154)+_0x817137['spatial']['type']+_0x150b20(0x1a4)+_0xc3307b[_0x150b20(0x181)](_0x4c043b=>_0x4c043b[_0x150b20(0x117)](0x2))[_0x150b20(0x11c)](',\x20')+']');}}}if(_0x56d8d1['canonicalFlow']){console[_0x150b20(0x188)]('\x20\x20Expected\x20flow:');for(const _0x3297f4 of _0x56d8d1['canonicalFlow']['split']('\x0a')){console[_0x150b20(0x188)]('\x20\x20\x20\x20'+_0x3297f4);}}}else console['log']('Scenario\x20'+_0x1dd7c5[_0x150b20(0x171)](_0x158f7e,0x1)+_0x150b20(0x1c1)+_0x2e3d6c[_0x150b20(0x167)]+'\x22'+_0x541285+'\x20—\x20no\x20comments'),console['log'](_0x150b20(0x195));console['log']('');}}function _0x2e5f(_0x547974,_0x5a1730){_0x547974=_0x547974-0x10b;const _0x1bf265=_0x1bf2();let _0x2e5fd8=_0x1bf265[_0x547974];return _0x2e5fd8;}export async function featureDelete(_0x3fc8f1){const _0x5350ab=_0x4c0969,_0x5a8213={'OkNAz':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','iScSB':function(_0x3db64f,_0x363fab){return _0x3db64f(_0x363fab);},'JKpCE':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x458999=_0x3fc8f1||await getActiveFeatureId();if(!_0x458999)throw new Error(_0x5a8213['OkNAz']);const _0x234254=await _0x5a8213[_0x5350ab(0x191)](getFeature,_0x458999);await softDeleteFeature(_0x458999),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x234254['name']+'\x20('+_0x458999+')'),console[_0x5350ab(0x188)](_0x5a8213['JKpCE']+_0x458999);}export async function featureRestore(_0x11906f){const _0x504364=_0x4c0969,_0xf1ffd5={'yNSLb':function(_0x1283a7,_0x1e585e,_0x1292a7){return _0x1283a7(_0x1e585e,_0x1292a7);}};await restoreFeature(_0x11906f);const _0xdde1b0=await getFeature(_0x11906f);console['log'](_0x504364(0x15e)+_0xdde1b0[_0x504364(0x1a5)]+'\x20('+_0x11906f+')'),_0xf1ffd5[_0x504364(0x11f)](displayFeature,_0xdde1b0,_0xdde1b0[_0x504364(0x148)]);}
|
|
1
|
+
const _0x84055e=_0x3407;(function(_0x3d6527,_0x5718e2){const _0x1d70c2=_0x3407,_0x4521b9=_0x3d6527();while(!![]){try{const _0x3e2745=-parseInt(_0x1d70c2(0xda))/0x1*(parseInt(_0x1d70c2(0xf4))/0x2)+parseInt(_0x1d70c2(0x145))/0x3*(parseInt(_0x1d70c2(0x139))/0x4)+-parseInt(_0x1d70c2(0x17b))/0x5*(-parseInt(_0x1d70c2(0x13d))/0x6)+parseInt(_0x1d70c2(0x175))/0x7*(-parseInt(_0x1d70c2(0x191))/0x8)+-parseInt(_0x1d70c2(0x162))/0x9*(parseInt(_0x1d70c2(0x178))/0xa)+parseInt(_0x1d70c2(0x187))/0xb*(-parseInt(_0x1d70c2(0x11a))/0xc)+parseInt(_0x1d70c2(0x106))/0xd*(parseInt(_0x1d70c2(0x125))/0xe);if(_0x3e2745===_0x5718e2)break;else _0x4521b9['push'](_0x4521b9['shift']());}catch(_0xb0296e){_0x4521b9['push'](_0x4521b9['shift']());}}}(_0x5f08,0xd2c07));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x165e94 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x84055e(0x164),bold=_0x51c7e9=>_0x84055e(0x18b)+_0x51c7e9+_0x84055e(0x196);function getGitRepoUrl(){const _0x8f03da=_0x84055e,_0x2a737a={'xYmKb':function(_0x55fcb4,_0x5192d1,_0x36406b){return _0x55fcb4(_0x5192d1,_0x36406b);},'RNdBB':_0x8f03da(0x19f),'LswJR':'pipe'};try{const _0x557865=_0x2a737a['xYmKb'](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x2a737a[_0x8f03da(0x182)],'stdio':[_0x2a737a['LswJR'],_0x2a737a['LswJR'],_0x2a737a['LswJR']]})['trim']();return _0x557865[_0x8f03da(0x15c)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x8f03da(0x170))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x158054=_0x84055e,_0x2a342f={'FqWzD':function(_0x9f02ad,_0x5998f9,_0x46bb83){return _0x9f02ad(_0x5998f9,_0x46bb83);},'ucynq':_0x158054(0x135)};try{return _0x2a342f['FqWzD'](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':'utf-8','stdio':[_0x2a342f[_0x158054(0x129)],'pipe',_0x2a342f[_0x158054(0x129)]]})[_0x158054(0x18a)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x7ce994=_0x84055e,_0x3cbfd2={'CttOo':function(_0x17b59d){return _0x17b59d();}},_0x460574=join(_0x3cbfd2[_0x7ce994(0x18f)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x460574))return null;try{const _0xc5b840=await readFile(_0x460574,'utf-8');return _0xc5b840['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x4433d9){const _0x5919c9=_0x84055e,_0xf51c52={'VVTlT':function(_0x31c06a){return _0x31c06a();}},_0x20a1fd=_0xf51c52[_0x5919c9(0x122)](getRangerDir),_0x368b14=join(_0x20a1fd,ACTIVE_FEATURE_FILE);!existsSync(_0x20a1fd)&&await mkdir(_0x20a1fd,{'recursive':!![]}),await writeFile(_0x368b14,_0x4433d9,_0x5919c9(0x19f));}function getProgressDisplay(_0x1bed51){const _0x1e0dd5=_0x84055e,_0x2e1243={'zJzUI':function(_0x3b738a,_0x3cc9ac){return _0x3b738a+_0x3cc9ac;},'ymBKy':function(_0x32beac,_0x2f09d1){return _0x32beac+_0x2f09d1;},'UGkyU':function(_0x4ed282,_0x283a2b){return _0x4ed282===_0x283a2b;},'MlLCV':function(_0x10e2a6,_0x4721e6){return _0x10e2a6/_0x4721e6;},'BGJAc':function(_0x1f8b1e,_0x33eb9d){return _0x1f8b1e>_0x33eb9d;},'yRhlO':function(_0x3edee4,_0x48ac6e){return _0x3edee4>_0x48ac6e;},'uLWyR':function(_0x4f84e1,_0x4af83e){return _0x4f84e1>_0x4af83e;}},_0x32c230=_0x1bed51[_0x1e0dd5(0x1af)]||0x0,_0x12d608=_0x1bed51['verificationInProgressItems']||0x0,_0x331395=_0x1bed51[_0x1e0dd5(0x195)]||0x0,_0x241de9=_0x1bed51['incompleteItems']||0x0,_0x3444c1=_0x1bed51[_0x1e0dd5(0x1a3)]||0x0,_0x37d2fb=_0x2e1243[_0x1e0dd5(0x104)](_0x2e1243['ymBKy'](_0x32c230+_0x12d608+_0x331395,_0x241de9),_0x3444c1);if(_0x2e1243[_0x1e0dd5(0x14b)](_0x37d2fb,0x0))return'-';const _0x531e02=0xa,_0x46b989=Math[_0x1e0dd5(0xff)](_0x2e1243[_0x1e0dd5(0x128)](_0x32c230,_0x37d2fb)*_0x531e02),_0x268ab2='█'['repeat'](_0x46b989)+'░'[_0x1e0dd5(0x100)](_0x531e02-_0x46b989),_0x2b1cfa=[];if(_0x2e1243[_0x1e0dd5(0x140)](_0x331395,0x0))_0x2b1cfa[_0x1e0dd5(0x13f)](_0x331395+'\x20blocked');if(_0x2e1243['yRhlO'](_0x241de9,0x0))_0x2b1cfa['push'](_0x241de9+'\x20incomplete');if(_0x2e1243['uLWyR'](_0x12d608,0x0))_0x2b1cfa['push'](_0x12d608+_0x1e0dd5(0x149));const _0x2ab9cd=_0x2e1243[_0x1e0dd5(0x180)](_0x2b1cfa['length'],0x0)?'\x20('+_0x2b1cfa[_0x1e0dd5(0xea)](',\x20')+')':'';return _0x268ab2+'\x20'+_0x32c230+'/'+_0x37d2fb+_0x1e0dd5(0x147)+_0x2ab9cd;}function getCurrentSessionItems(_0x422ad5,_0x166cb2){const _0x2d16fc=_0x84055e;if(!_0x422ad5[_0x2d16fc(0x19e)])return _0x166cb2[_0x2d16fc(0xe0)](_0x182f64=>!_0x182f64[_0x2d16fc(0x12b)]);return _0x166cb2[_0x2d16fc(0xe0)](_0x5219f3=>_0x5219f3[_0x2d16fc(0x12b)]===_0x422ad5['currentSessionId']||!_0x5219f3['sessionId']);}function displayFeature(_0x1db2e9,_0xe93a9a){const _0x47f343=_0x84055e,_0x180623={'QJqCt':'\x0a\x20\x20\x20Scenarios:','fscRU':function(_0x13f9cc,_0x4f4373){return _0x13f9cc===_0x4f4373;},'tEwtT':function(_0x2ad262,_0x14bd61){return _0x2ad262===_0x14bd61;},'cqWXk':_0x47f343(0x11b),'sajGR':_0x47f343(0xe8),'DNfJM':_0x47f343(0x163),'ZNMiN':function(_0xbb3809,_0x173238){return _0xbb3809!==_0x173238;},'DzsaX':_0x47f343(0xbe),'OrKQy':_0x47f343(0x12e),'IMjqH':function(_0x20ccff,_0x202c41){return _0x20ccff+_0x202c41;},'HMcSa':'blocked','RbjEY':function(_0x45bee4,_0x5bec37){return _0x45bee4===_0x5bec37;},'gYfpt':'approved'};console[_0x47f343(0x127)]('\x0a'+_0x1db2e9[_0x47f343(0xd5)]+'\x20('+_0x1db2e9['dashboardUrl']+')');_0x1db2e9[_0x47f343(0xfd)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1db2e9['stats']));_0x1db2e9['description']&&console[_0x47f343(0x127)](_0x47f343(0x142)+_0x1db2e9[_0x47f343(0x124)]);_0x1db2e9['gitRepoUrl']&&console[_0x47f343(0x127)](_0x47f343(0x113)+_0x1db2e9[_0x47f343(0x119)]);_0x1db2e9['gitBranch']&&console[_0x47f343(0x127)](_0x47f343(0xc3)+_0x1db2e9['gitBranch']);console['log'](_0x47f343(0xbf)+new Date(_0x1db2e9[_0x47f343(0x14e)])[_0x47f343(0xef)]());_0x1db2e9['completedAt']&&console['log'](_0x47f343(0x120)+new Date(_0x1db2e9[_0x47f343(0x193)])['toLocaleString']());if(_0xe93a9a&&_0xe93a9a[_0x47f343(0xfa)]>0x0){console[_0x47f343(0x127)](_0x180623['QJqCt']);for(let _0x28305a=0x0;_0x28305a<_0xe93a9a[_0x47f343(0xfa)];_0x28305a++){const _0x4897d2=_0xe93a9a[_0x28305a];let _0x4f9bcd;if(_0x4897d2['status']===_0x47f343(0xe8)&&_0x180623[_0x47f343(0xe6)](_0x4897d2['terminalReason'],'approved'))_0x4f9bcd='✅';else{if(_0x180623['tEwtT'](_0x4897d2['status'],_0x47f343(0xbe)))_0x4f9bcd='🟢';else{if(_0x4897d2[_0x47f343(0x137)]===_0x180623['cqWXk'])_0x4f9bcd='🟠';else{if(_0x4897d2['status']==='blocked')_0x4f9bcd='🛑';else{if(_0x4897d2['status']===_0x180623[_0x47f343(0x123)])_0x4f9bcd='⛔';else _0x4897d2[_0x47f343(0x137)]===_0x180623[_0x47f343(0x19d)]?_0x4f9bcd='⏳':_0x4f9bcd='⬜';}}}}const _0x9da433=_0x4897d2[_0x47f343(0xba)]>0x1?_0x47f343(0x151)+_0x4897d2['version']+')':'',_0x3c1403=_0x4897d2['version']>0x1&&_0x4897d2['parentItemId']&&_0x4897d2['status']!==_0x180623['sajGR']&&_0x180623[_0x47f343(0x158)](_0x4897d2[_0x47f343(0x137)],_0x180623['DzsaX'])?_0x180623[_0x47f343(0x132)]:'';console[_0x47f343(0x127)](_0x47f343(0x17c)+_0x180623[_0x47f343(0x169)](_0x28305a,0x1)+'.\x20'+_0x4f9bcd+'\x20'+_0x4897d2[_0x47f343(0x124)]+_0x9da433+_0x3c1403);_0x180623[_0x47f343(0x194)](_0x4897d2[_0x47f343(0x137)],_0x180623[_0x47f343(0xc1)])&&_0x4897d2['blockedReason']&&console[_0x47f343(0x127)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4897d2['blockedReason']);_0x4897d2[_0x47f343(0x137)]==='incomplete'&&_0x4897d2['incompleteReason']&&console['log'](_0x47f343(0x188)+_0x4897d2[_0x47f343(0xde)]);if(_0x4897d2[_0x47f343(0x137)]===_0x180623[_0x47f343(0x123)]&&_0x180623['RbjEY'](_0x4897d2[_0x47f343(0x1a9)],_0x180623['gYfpt']))console['log'](_0x47f343(0xcc));else _0x4897d2['status']===_0x180623['sajGR']&&_0x4897d2['canceledReason']&&console[_0x47f343(0x127)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4897d2['canceledReason']);}}}export async function featureCreate(_0x7ef1b4,_0x992fa0){const _0x21f0b9=_0x84055e,_0x6bebe={'UvVPD':function(_0x32bdaa,_0x3f1926){return _0x32bdaa===_0x3f1926;},'banlN':function(_0xe47d40){return _0xe47d40();},'ZGpdp':function(_0x566521,_0x45648f){return _0x566521(_0x45648f);},'kiMuF':function(_0x5c5396,_0x28e799){return _0x5c5396(_0x28e799);},'OqKBb':function(_0x470b3b,_0x1847b4){return _0x470b3b(_0x1847b4);},'EsMmW':function(_0x3da4d9,_0x32ffa2,_0x5dc7e1){return _0x3da4d9(_0x32ffa2,_0x5dc7e1);}},{envNames:_0x20f3cb}=await getEnvNames();if(_0x6bebe['UvVPD'](_0x20f3cb[_0x21f0b9(0xfa)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x4b04ad=0x0;try{_0x4b04ad=(await _0x6bebe[_0x21f0b9(0x10f)](listCloudProfiles))['length'];}catch{_0x4b04ad=0x1;}_0x4b04ad===0x0&&console[_0x21f0b9(0xca)]('\x0a'+formatProfileRequiredMessage(_0x2a2f6f=>bold(_0x2a2f6f)));}const _0x3e7484=_0x992fa0['scenarios']?_0x992fa0['scenarios']['map'](_0x2c1e65=>_0x2c1e65['trim']()):[],_0x3b47a5=_0x6bebe['banlN'](getGitRepoUrl),_0x281508=getGitBranch();console['log'](_0x21f0b9(0xd8));const _0x2645b9=await _0x6bebe[_0x21f0b9(0xf7)](createFeature,{'name':_0x7ef1b4,'description':_0x992fa0[_0x21f0b9(0x124)],'checklist':_0x3e7484,'gitRepoUrl':_0x3b47a5,'gitBranch':_0x281508});await _0x6bebe['kiMuF'](setActiveFeatureId,_0x2645b9['id']),await _0x6bebe[_0x21f0b9(0x15a)](tryStartCurrentSession,_0x2645b9['id']);const _0x2e37c5=process[_0x21f0b9(0x111)]['CLAUDE_SESSION_ID'];_0x2e37c5&&_0x6bebe['EsMmW'](registerSession,_0x2e37c5,_0x2645b9['id']),console['log'](_0x21f0b9(0x16f)+_0x2645b9['id']),displayFeature(_0x2645b9,_0x2645b9[_0x21f0b9(0x17f)]),console['log'](_0x21f0b9(0xb9));}export async function featureList(_0x3792e8){const _0x5cd902=_0x84055e,_0x31ec68={'XEaUz':function(_0x405929){return _0x405929();},'vnWbp':function(_0x2da83d){return _0x2da83d();},'WbPlM':function(_0x52563b,_0x2c331d){return _0x52563b(_0x2c331d);},'JXXDR':function(_0x40d429,_0x5a9293){return _0x40d429===_0x5a9293;},'klUmZ':function(_0x5cd417,_0x5ca09a){return _0x5cd417+_0x5ca09a;},'yoKXe':function(_0x5622df,_0x4ccfc){return _0x5622df!==_0x4ccfc;},'UqGxw':'\x20--current-branch'},_0x1a456b={'limit':_0x3792e8[_0x5cd902(0x184)]??0xa,'offset':_0x3792e8['offset']??0x0,'includeDeleted':_0x3792e8[_0x5cd902(0xf9)]};_0x3792e8[_0x5cd902(0x10a)]&&(_0x1a456b[_0x5cd902(0x119)]=_0x31ec68['XEaUz'](getGitRepoUrl),_0x1a456b[_0x5cd902(0xe2)]=_0x31ec68[_0x5cd902(0xf5)](getGitBranch));const _0x235ac9=await _0x31ec68['WbPlM'](listFeatures,_0x1a456b);if(_0x31ec68[_0x5cd902(0xec)](_0x235ac9[_0x5cd902(0x19c)]['length'],0x0)){console['log'](_0x5cd902(0xed));return;}const _0x488cdd=_0x235ac9[_0x5cd902(0x148)]>_0x235ac9[_0x5cd902(0x19c)][_0x5cd902(0xfa)]?'Showing\x20'+_0x235ac9['items'][_0x5cd902(0xfa)]+_0x5cd902(0x12f)+_0x235ac9['totalCount']:_0x235ac9['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x5cd902(0x127)]('\x0a'+_0x488cdd+':\x0a');for(const _0x89483b of _0x235ac9['items']){console['log'](''+_0x89483b['name']),console[_0x5cd902(0x127)](_0x5cd902(0x177)+_0x89483b['id']),_0x89483b[_0x5cd902(0xfd)]&&console[_0x5cd902(0x127)](_0x5cd902(0xc4)+getProgressDisplay(_0x89483b[_0x5cd902(0xfd)])),_0x89483b[_0x5cd902(0xe2)]&&console[_0x5cd902(0x127)](_0x5cd902(0xc3)+_0x89483b[_0x5cd902(0xe2)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x89483b['createdAt'])['toLocaleDateString']()),console['log']('');}const _0x320cbb=_0x1a456b[_0x5cd902(0x184)]??0xa,_0x1f8425=_0x31ec68[_0x5cd902(0x1a4)](_0x1a456b['offset']??0x0,_0x235ac9[_0x5cd902(0x19c)][_0x5cd902(0xfa)]);if(_0x1f8425<_0x235ac9['totalCount']){const _0x23fccd=_0x31ec68['yoKXe'](_0x320cbb,0xa)?_0x5cd902(0x18c)+_0x320cbb:'',_0x116f2a=_0x3792e8['currentBranch']?_0x31ec68[_0x5cd902(0x17e)]:'',_0x29bfc2=_0x3792e8[_0x5cd902(0xf9)]?'\x20--include-deleted':'';console['log'](_0x5cd902(0x11e)+_0x1f8425+_0x23fccd+_0x116f2a+_0x29bfc2);}}export async function featureShow(_0x365541){const _0x551fd5=_0x84055e,_0x3b2d37={'ZWCdL':_0x551fd5(0x13e),'fbjbv':function(_0x4f05ac,_0x22fd76,_0x3b4f77){return _0x4f05ac(_0x22fd76,_0x3b4f77);}},_0x5c0e79=_0x365541||await getActiveFeatureId();if(!_0x5c0e79)throw new Error(_0x3b2d37[_0x551fd5(0x167)]);const _0x50455b=await getFeature(_0x5c0e79);_0x3b2d37[_0x551fd5(0x146)](displayFeature,_0x50455b,_0x50455b['checklistItems']);}export async function featureResume(_0x34deab){const _0x33ca9e=_0x84055e,_0x220238={'vNdBB':function(_0x45d5fa,_0x58398a){return _0x45d5fa(_0x58398a);},'SNoea':function(_0x2b9019,_0x3c78fc){return _0x2b9019!==_0x3c78fc;},'KFbnA':function(_0x469417,_0x432ea0){return _0x469417(_0x432ea0);},'fTVdF':function(_0x424e0c,_0x2c25a3,_0x521d3b){return _0x424e0c(_0x2c25a3,_0x521d3b);},'vbIez':function(_0x4c6d6a){return _0x4c6d6a();},'wQPWC':function(_0x12f87c,_0x459eca){return _0x12f87c&&_0x459eca;},'pvzzx':'Not\x20in\x20a\x20git\x20repository.','qYgem':function(_0x1cff35,_0x8588fb){return _0x1cff35||_0x8588fb;},'ZVnji':_0x33ca9e(0x199),'hIMCy':function(_0x1e835e,_0x43cd81){return _0x1e835e===_0x43cd81;},'HhJGd':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','FmSYP':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','wQXTC':'selected','HMcWb':_0x33ca9e(0x14c),'qRDBo':function(_0x501e50,_0x2359ea){return _0x501e50(_0x2359ea);},'GUbKi':function(_0x1c7c19,_0x13355c,_0x43fa17){return _0x1c7c19(_0x13355c,_0x43fa17);},'WTlHn':function(_0x8bcbe4,_0x14eaea){return _0x8bcbe4(_0x14eaea);},'aCzln':function(_0x4dc564,_0x564346,_0x275f89){return _0x4dc564(_0x564346,_0x275f89);}};if(_0x34deab){const _0x30ad04=await _0x220238['vNdBB'](getFeature,_0x34deab);await _0x220238['vNdBB'](setActiveFeatureId,_0x30ad04['id']);const _0x28c90a=getGitBranch();_0x28c90a&&_0x220238[_0x33ca9e(0x181)](_0x28c90a,_0x30ad04[_0x33ca9e(0xe2)])&&(await updateFeature(_0x30ad04['id'],{'gitBranch':_0x28c90a}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x28c90a));console[_0x33ca9e(0x127)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x30ad04[_0x33ca9e(0xd5)]+'\x20('+_0x30ad04['id']+')'),await _0x220238['KFbnA'](tryStartCurrentSession,_0x30ad04['id']);const _0x4a1c53=process['env'][_0x33ca9e(0xd2)];_0x4a1c53&®isterSession(_0x4a1c53,_0x30ad04['id']);_0x220238[_0x33ca9e(0xce)](displayFeature,_0x30ad04,_0x30ad04[_0x33ca9e(0x17f)]),await printFeedbackNudge(_0x30ad04['id']);return;}const _0x4d812a=_0x220238[_0x33ca9e(0x156)](getGitRepoUrl),_0x4fc7f7=getGitBranch();if(_0x220238['wQPWC'](!_0x4d812a,!_0x4fc7f7))throw new Error(_0x220238['pvzzx']);console[_0x33ca9e(0x127)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x220238[_0x33ca9e(0xc9)](_0x4d812a,_0x220238[_0x33ca9e(0x1a5)])+_0x33ca9e(0x1a1)+(_0x4fc7f7||'any')+'...');const _0x2d8274=await listFeatures({'gitRepoUrl':_0x4d812a,'gitBranch':_0x4fc7f7}),_0x14a276=_0x2d8274[_0x33ca9e(0x19c)][_0x33ca9e(0xe0)](_0x15a716=>_0x15a716['status']?_0x15a716['status']!=='verified':!_0x15a716[_0x33ca9e(0x193)]);if(_0x220238['hIMCy'](_0x14a276['length'],0x0)){console['log'](_0x33ca9e(0x1ad)),console['log'](_0x220238[_0x33ca9e(0x189)]);return;}let _0x26e557;if(_0x220238[_0x33ca9e(0xb8)](_0x14a276['length'],0x1))_0x26e557=_0x14a276[0x0];else{const _0x44e53a=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x44e53a){console['log'](_0x220238['FmSYP']);for(const _0x572404 of _0x14a276){console[_0x33ca9e(0x127)]('\x20\x20'+_0x572404['name']),console[_0x33ca9e(0x127)]('\x20\x20\x20\x20\x20ID:\x20'+_0x572404['id']),_0x572404['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x572404[_0x33ca9e(0xfd)])),_0x572404['gitBranch']&&console[_0x33ca9e(0x127)](_0x33ca9e(0xe5)+_0x572404['gitBranch']);}throw new Error(_0x33ca9e(0x1ae));}const {selected:_0x530b53}=await _0x165e94[_0x33ca9e(0xbd)]([{'type':'list','name':_0x220238['wQXTC'],'message':_0x220238[_0x33ca9e(0xcd)],'choices':_0x14a276['map'](_0x31279a=>({'name':_0x31279a[_0x33ca9e(0xd5)]+'\x20('+_0x31279a['id']+')','value':_0x31279a['id']}))}]);_0x26e557=_0x14a276[_0x33ca9e(0x15e)](_0x3769d5=>_0x3769d5['id']===_0x530b53);}await _0x220238['qRDBo'](setActiveFeatureId,_0x26e557['id']);_0x4fc7f7&&_0x4fc7f7!==_0x26e557[_0x33ca9e(0xe2)]&&(await _0x220238[_0x33ca9e(0x108)](updateFeature,_0x26e557['id'],{'gitBranch':_0x4fc7f7}),console[_0x33ca9e(0x127)](_0x33ca9e(0x1a0)+_0x4fc7f7));console[_0x33ca9e(0x127)](_0x33ca9e(0x17d)+_0x26e557['name']+'\x20('+_0x26e557['id']+')'),await tryStartCurrentSession(_0x26e557['id']);const _0x1f1ff7=await _0x220238[_0x33ca9e(0x12c)](getFeature,_0x26e557['id']),_0x4e27e9=process['env'][_0x33ca9e(0xd2)];_0x4e27e9&&_0x220238[_0x33ca9e(0x108)](registerSession,_0x4e27e9,_0x1f1ff7['id']),_0x220238['aCzln'](displayFeature,_0x1f1ff7,_0x1f1ff7[_0x33ca9e(0x17f)]),await printFeedbackNudge(_0x1f1ff7['id']);}async function printFeedbackNudge(_0x2e2697){const _0xba5b45=_0x84055e,_0xfe1013={'CoASM':function(_0x2e07ef,_0x309265){return _0x2e07ef(_0x309265);},'PZwVg':function(_0x5bc39a,_0x5865c3){return _0x5bc39a>_0x5865c3;}};try{const {items:_0x114eae}=await _0xfe1013[_0xba5b45(0x14d)](getActionItems,_0x2e2697);let _0x29e96=0x0,_0xe122f9=0x0;for(const _0x563ba9 of _0x114eae){const _0x38ebd4=await getItemFeedback(_0x2e2697,_0x563ba9['id']);_0x38ebd4['unaddressedComments'][_0xba5b45(0xfa)]>0x0&&(_0x29e96+=_0x38ebd4['unaddressedComments']['length'],_0xe122f9++);}_0xfe1013[_0xba5b45(0x15f)](_0x29e96,0x0)&&(console[_0xba5b45(0x127)]('\x0a⚠️\x20\x20'+_0x29e96+_0xba5b45(0xdc)+_0xe122f9+_0xba5b45(0x10c)),console['log'](_0xba5b45(0x166)));}catch{}}async function tryStartCurrentSession(_0x16c49b){const _0x51d0b7=_0x84055e,_0x468f09={'RlbqE':function(_0x10ec94,_0x2d59e7){return _0x10ec94(_0x2d59e7);}};try{const {sessions:_0x1ff6cb}=await _0x468f09[_0x51d0b7(0x16c)](listFeatureSessions,_0x16c49b),_0x38f8a3=_0x1ff6cb['find'](_0x4829ce=>_0x4829ce['status']==='ready');_0x38f8a3&&(await startSession(_0x16c49b,_0x38f8a3['id']),console[_0x51d0b7(0x127)](_0x51d0b7(0x15b)+_0x38f8a3[_0x51d0b7(0x13c)]));}catch{}}export async function featureReport(_0xbef450,_0x3ef63c){const _0x3a4356=_0x84055e,_0x3bad42={'KgduT':_0x3a4356(0x159),'leXqF':_0x3a4356(0xd4),'VwgdC':function(_0x29247d,_0x56b67d,_0xf69c6d,_0x2b281c){return _0x29247d(_0x56b67d,_0xf69c6d,_0x2b281c);},'uhaQj':function(_0x1eb3ee){return _0x1eb3ee();},'OHnVv':function(_0x13c831,_0x230ec7){return _0x13c831(_0x230ec7);}},_0xcd0381=_0xbef450||await getActiveFeatureId();if(!_0xcd0381)throw new Error(_0x3bad42[_0x3a4356(0xd1)]);console[_0x3a4356(0x127)](_0x3bad42['leXqF']);const _0x634b3a=await getFeatureReportMarkdown(_0xcd0381,{'style':_0x3ef63c['style']}),_0x4d8981=_0x3ef63c[_0x3a4356(0xe1)]||_0x3bad42['VwgdC'](join,_0x3bad42[_0x3a4356(0x15d)](getRangerDir),'reports',_0xcd0381+'.md'),_0x514ad2=join(_0x4d8981,'..');!_0x3bad42['OHnVv'](existsSync,_0x514ad2)&&await mkdir(_0x514ad2,{'recursive':!![]}),await writeFile(_0x4d8981,_0x634b3a,_0x3a4356(0x19f)),console[_0x3a4356(0x127)](_0x3a4356(0x197)+_0x4d8981);}function getScenarioResult(_0xbd7169){const _0xea5296=_0x84055e,_0x14de3e={'MRFFC':'closed','VyNBd':'in_progress'};if(_0xbd7169[_0xea5296(0x137)]===_0x14de3e['MRFFC'])return _0xbd7169['terminalReason']??'closed';if(_0xbd7169['status']===_0xea5296(0x163))return _0x14de3e[_0xea5296(0x121)];return _0xbd7169['status'];}function getScenarioRationale(_0x450c18,_0x173dba){const _0x2f506a=_0x84055e,_0x46b7c6='2|4|0|1|5|3'[_0x2f506a(0x130)]('|');let _0x3f70f7=0x0;while(!![]){switch(_0x46b7c6[_0x3f70f7++]){case'0':if(_0x450c18['incompleteReason'])return _0x450c18['incompleteReason'];continue;case'1':if(_0x450c18['canceledReason'])return _0x450c18[_0x2f506a(0x19a)];continue;case'2':if(_0x173dba)return _0x173dba;continue;case'3':return null;case'4':if(_0x450c18['blockedReason'])return _0x450c18['blockedReason'];continue;case'5':if(_0x450c18['notes'])return _0x450c18['notes'];continue;}break;}}export async function featureReportPrDescription(_0x37c871,_0x3affca){const _0x15385e=_0x84055e,_0x569ecd={'YLFWq':_0x15385e(0x159),'PynIE':function(_0x51ed01,_0x1f7639){return _0x51ed01(_0x1f7639);},'kMCcg':function(_0xdfe6e5,_0x5710da,_0x17db77){return _0xdfe6e5(_0x5710da,_0x17db77);},'aEWaJ':function(_0x366483,_0x204448){return _0x366483===_0x204448;},'SbgmF':_0x15385e(0x10d),'tVzpa':function(_0x4a731f,_0x4f27fe){return _0x4a731f>_0x4f27fe;},'hrVMu':function(_0x5450ea,_0x3d8a0f){return _0x5450ea<_0x3d8a0f;},'iNAjJ':function(_0x4ea880,_0x7e32e8){return _0x4ea880+_0x7e32e8;}},_0x19a7db=_0x37c871||await getActiveFeatureId();if(!_0x19a7db)throw new Error(_0x569ecd[_0x15385e(0x168)]);const _0x47854d=await _0x569ecd[_0x15385e(0x103)](getFeature,_0x19a7db),_0x177a1f=_0x47854d['checklistItems']||[],_0xf8dca1=_0x569ecd['kMCcg'](getCurrentSessionItems,_0x47854d,_0x177a1f);_0x569ecd['aEWaJ'](_0xf8dca1[_0x15385e(0xfa)],0x0)&&(console['error'](_0x569ecd['SbgmF']),process['exit'](0x1));const _0x105a69=_0x3affca['excludeScenarios']??[],_0x3e06de=_0x105a69[_0x15385e(0xe0)](_0x576edd=>!Number['isInteger'](_0x576edd)||_0x576edd<0x1||_0x576edd>_0xf8dca1[_0x15385e(0xfa)]);if(_0x569ecd[_0x15385e(0xe9)](_0x3e06de[_0x15385e(0xfa)],0x0)){console[_0x15385e(0x165)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x3e06de['join'](',\x20')),console['log'](_0x15385e(0x134));for(let _0x15fa63=0x0;_0x569ecd[_0x15385e(0x11f)](_0x15fa63,_0xf8dca1[_0x15385e(0xfa)]);_0x15fa63++){console['log']('\x20\x20'+_0x569ecd['iNAjJ'](_0x15fa63,0x1)+'.\x20'+_0xf8dca1[_0x15fa63][_0x15385e(0x124)]);}process[_0x15385e(0x19b)](0x1);}const _0x473555=new Set(_0x105a69[_0x15385e(0x126)](_0x2b337f=>_0x2b337f-0x1)),_0xbecfa3=_0xf8dca1[_0x15385e(0xe0)]((_0x2c5cd4,_0x33b180)=>!_0x473555[_0x15385e(0xc6)](_0x33b180));_0xbecfa3[_0x15385e(0xfa)]===0x0&&(console['error'](_0x15385e(0xe7)),process['exit'](0x1));if(_0x3affca[_0x15385e(0xfe)])await outputJsonReport(_0x19a7db,_0x47854d,_0xbecfa3);else{const _0x2a2d3c=await _0x569ecd[_0x15385e(0x174)](getFeatureReportMarkdown,_0x19a7db,{'itemIds':_0xbecfa3['map'](_0x4cdfba=>_0x4cdfba['id'])});process[_0x15385e(0x18d)][_0x15385e(0xcf)](_0x2a2d3c[_0x15385e(0x114)]()+'\x0a');}}async function outputJsonReport(_0x5c4e19,_0x28183c,_0x5b404d){const _0x2149fa=_0x84055e,_0x181a2c={'xGmoM':function(_0x56e05a,_0x56f779){return _0x56e05a>_0x56f779;},'BqsGI':function(_0x2b4a86,_0x405000){return _0x2b4a86===_0x405000;},'rHwMY':function(_0x4b2efc,_0x35f52b){return _0x4b2efc(_0x35f52b);},'Uyvoi':function(_0x37d41c){return _0x37d41c();},'KOIIy':function(_0x187ee7,_0x2d0b4d){return _0x187ee7+_0x2d0b4d;}},_0x5251eb=_0x181a2c[_0x2149fa(0x136)](getApiBaseUrl),_0x72fc82=await getFeatureReport(_0x5c4e19),_0x3e79ec=new Map(_0x72fc82[_0x2149fa(0x17f)]['map'](_0x283539=>[_0x283539['id'],_0x283539])),_0x2dd792=await Promise[_0x2149fa(0x152)](_0x5b404d['map'](async _0x24416c=>{const _0x4cb51d=_0x2149fa,_0x1755ba=_0x3e79ec['get'](_0x24416c['id']),_0x5ca832=_0x1755ba?.[_0x4cb51d(0x105)]??null;let _0x1c1f18=[];if(_0x24416c['browserSessionId'])try{const {steps:_0x8360ef}=await getBrowserSessionSteps(_0x24416c[_0x4cb51d(0xfb)]);_0x181a2c['xGmoM'](_0x8360ef['length'],0x0)&&(_0x1c1f18=_0x8360ef[_0x4cb51d(0x126)](_0x254231=>{const _0x2b9333=_0x4cb51d,_0x10cdbd=_0x254231['assets']['find'](_0x1ddf93=>_0x1ddf93['assetType']==='screenshot'&&_0x1ddf93[_0x2b9333(0x176)]==='after')??_0x254231[_0x2b9333(0x16b)]['find'](_0x3ce377=>_0x3ce377['assetType']==='screenshot');let _0x57eb8d=null,_0x3888ef=null;if(_0x10cdbd){const _0x45b607=_0x10cdbd['storage'][_0x2b9333(0x101)]['split']('/')[_0x2b9333(0x16e)]();_0x57eb8d=_0x5251eb+_0x2b9333(0x160)+_0x24416c['browserSessionId']+'/artifacts/'+_0x45b607,_0x45b607&&(_0x3888ef=_0x45b607[_0x2b9333(0x15c)](/\.\w+$/,'')[_0x2b9333(0x15c)](/^(key_)?\d+_/,'')[_0x2b9333(0x15c)](/[-_]/g,'\x20'));}return{'description':_0x3888ef||_0x254231['description']||_0x254231[_0x2b9333(0x10e)]||_0x2b9333(0x12a)+_0x254231[_0x2b9333(0xbb)],'screenshot':_0x57eb8d,'is_key_step':_0x254231[_0x2b9333(0x190)]};}));}catch{}return _0x181a2c[_0x4cb51d(0x150)](_0x1c1f18['length'],0x0)&&_0x5ca832?.[_0x4cb51d(0x185)]&&(_0x1c1f18=_0x5ca832['screenshotUrls'][_0x4cb51d(0x126)]((_0x6710b1,_0x5e1abd)=>({'description':_0x4cb51d(0xe3)+(_0x5e1abd+0x1),'screenshot':_0x6710b1,'is_key_step':![]}))),{'description':_0x24416c[_0x4cb51d(0x124)],'result':_0x181a2c['rHwMY'](getScenarioResult,_0x24416c),'rationale':getScenarioRationale(_0x24416c,_0x5ca832?.[_0x4cb51d(0x155)]),'steps':_0x1c1f18};})),_0x2cb22d={'url':_0x28183c[_0x2149fa(0xc7)],'scenarios':_0x2dd792};process[_0x2149fa(0x18d)][_0x2149fa(0xcf)](_0x181a2c['KOIIy'](JSON['stringify'](_0x2cb22d,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x335ca9){const _0x342e8c=_0x84055e,_0x5701e4={'pOJFy':function(_0x164be3){return _0x164be3();},'qIOhn':_0x342e8c(0x110),'kqfUu':function(_0x5e5595,_0x301400){return _0x5e5595===_0x301400;},'lTSsq':_0x342e8c(0x144),'vCNVu':function(_0x167dea,_0x22c118){return _0x167dea!==_0x22c118;},'YAQcW':'\x0aConcluding\x20session...'},_0x50763c=_0x335ca9||await _0x5701e4['pOJFy'](getActiveFeatureId);if(!_0x50763c)throw new Error(_0x342e8c(0x13e));const _0x526ebb=await getFeature(_0x50763c);if(!_0x526ebb['currentSessionId'])throw new Error(_0x342e8c(0xc2));const {sessions:_0x5df104}=await listFeatureSessions(_0x50763c),_0x11e5e3=_0x5df104['find'](_0x40243e=>_0x40243e['id']===_0x526ebb['currentSessionId']);if(!_0x11e5e3)throw new Error(_0x5701e4['qIOhn']);if(_0x5701e4[_0x342e8c(0x13b)](_0x11e5e3['status'],_0x342e8c(0x18e))){console['log'](_0x5701e4[_0x342e8c(0xdd)]);return;}if(_0x5701e4['vCNVu'](_0x11e5e3['status'],_0x342e8c(0x1ab)))throw new Error(_0x342e8c(0x157)+_0x11e5e3[_0x342e8c(0x137)]);console[_0x342e8c(0x127)](_0x5701e4['YAQcW']),await concludeSession(_0x50763c,_0x526ebb[_0x342e8c(0x19e)]),console[_0x342e8c(0x127)](_0x342e8c(0xc8)+_0x11e5e3['iteration']+'\x20concluded.'),console[_0x342e8c(0x127)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}function _0x5f08(){const _0x1d20a7=['includeDeleted','length','browserSessionId','toFixed','stats','json','round','repeat','location','JsKQf','PynIE','zJzUI','linkedSession','78kwlMTz','YHPoD','GUbKi','vtxCN','currentBranch','submittedAt','\x20scenario(s).','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','stepName','banlN','Current\x20session\x20not\x20found.','env','Please\x20finish\x20your\x20review\x20first:','\x20\x20\x20Repository:\x20','trimEnd','domRef','sqpJp','XyAjT','canonicalFlow','gitRepoUrl','12HfHAiO','incomplete','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','Zxizs','Next\x20page:\x20ranger\x20list\x20--offset\x20','hrVMu','\x20\x20\x20Completed:\x20','VyNBd','VVTlT','sajGR','description','10345804VkKWAR','map','log','MlLCV','ucynq','Step\x20','sessionId','WTlHn','selector','\x20[has\x20reviewer\x20feedback]','\x20of\x20','split','aMFKI','OrKQy','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0aAvailable\x20scenarios:','pipe','Uyvoi','status','\x20unaddressed\x20comment(s)','4WFNSuo','type','kqfUu','iteration','66rhbSyR','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','push','BGJAc','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x20\x20\x20Description:\x20','\x20\x20\x20Status:\x20','\x0a✅\x20Session\x20is\x20already\x20completed.','1160535fwwyCd','fbjbv','\x20verified','totalCount','\x20in\x20progress','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','UGkyU','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','CoASM','createdAt','.\x20Feature\x20review\x20has\x20','BqsGI','\x20(v','all','.png','mhFkj','agentResponse','vbIez','Cannot\x20conclude\x20session\x20with\x20status:\x20','ZNMiN','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','OqKBb','\x20\x20\x20▶️\x20Started\x20session\x20','replace','uhaQj','find','PZwVg','/api/v1/mcp/browser-sessions/',':\x20\x22','5067FUdLxJ','verification_in_progress','active-feature.txt','error','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','ZWCdL','YLFWq','IMjqH','scenario','assets','RlbqE','\x0a✅\x20Scenario\x20added','pop','\x0a✅\x20Feature\x20review\x20created:\x20','github.com/','Scenario\x20','spatial','eULaj','kMCcg','8287160WNSYbD','timing','\x20\x20\x20ID:\x20','29770lFnZbi','\x20—\x20','Cwdib','514985xsjtzr','\x20\x20\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','UqGxw','checklistItems','uLWyR','SNoea','RNdBB','IvzJk','limit','screenshotUrls','YGGZP','5575966PBoxiL','\x20\x20\x20\x20\x20\x20Incomplete:\x20','HhJGd','trim','\x1b[1m','\x20--limit\x20','stdout','completed','CttOo','isKeyStep','8vZHkrR','latestReview','completedAt','tEwtT','blockedItems','\x1b[0m','\x0a✅\x20Report\x20generated:\x20','feedback-images','any','canceledReason','exit','items','DNfJM','currentSessionId','utf-8','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20/\x20','rKjAC','pendingItems','klUmZ','ZVnji','content','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','MMMkh','terminalReason','Mpndg','in_progress','short','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','verifiedItems','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','hIMCy','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','version','position','fqQZn','prompt','verified','\x20\x20\x20Created:\x20','ILzpX','HMcSa','No\x20active\x20session\x20for\x20this\x20feature\x20review.','\x20\x20\x20Branch:\x20','\x20\x20\x20Progress:\x20','EXZHj','has','dashboardUrl','\x0a✅\x20Session\x20','qYgem','warn','lNTNZ','\x20\x20\x20\x20\x20\x20Approved','HMcWb','fTVdF','write','nVZaR','KgduT','CLAUDE_SESSION_ID','DTuml','\x0aGenerating\x20report...','name','assetUrl','Unknown','\x0aCreating\x20feature\x20review...','slice','7WQdZUt','cLAMU','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','lTSsq','incompleteReason','cxxSs','filter','output','gitBranch','Screenshot\x20','unaddressedComments','\x20\x20\x20\x20\x20Branch:\x20','fscRU','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','closed','tVzpa','join','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','JXXDR','\x0aNo\x20feature\x20reviews\x20found.','No\x20scenarios\x20found.','toLocaleString','authorName','uNMbV','\x20\x20💬\x20','toLocaleDateString','492472UoJEQA','vnWbp','Kcsvf','ZGpdp','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'];_0x5f08=function(){return _0x1d20a7;};return _0x5f08();}export async function featureSessions(_0x3f32b6){const _0x46d7a3=_0x84055e,_0x494baf={'UQInV':function(_0x497f44){return _0x497f44();},'aMFKI':'No\x20sessions\x20found.','Kcsvf':function(_0x3b93da,_0x135747){return _0x3b93da===_0x135747;},'YGGZP':'in_progress'},_0x2d2e0b=_0x3f32b6||await _0x494baf['UQInV'](getActiveFeatureId);if(!_0x2d2e0b)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x3d6ba5=await getFeature(_0x2d2e0b);console[_0x46d7a3(0x127)](_0x46d7a3(0xf8)+_0x3d6ba5['name']+'\x0a');const {sessions:_0x14f31d}=await listFeatureSessions(_0x2d2e0b);if(_0x14f31d[_0x46d7a3(0xfa)]===0x0){console['log'](_0x494baf[_0x46d7a3(0x131)]);return;}for(const _0x18ca0a of _0x14f31d){const _0x51832d=_0x494baf[_0x46d7a3(0xf6)](_0x18ca0a[_0x46d7a3(0x137)],'completed')?'✅':_0x494baf[_0x46d7a3(0xf6)](_0x18ca0a[_0x46d7a3(0x137)],_0x494baf[_0x46d7a3(0x186)])?'🔄':'▶️';console['log'](_0x51832d+'\x20Session\x20'+_0x18ca0a['iteration']+'\x20('+_0x18ca0a['id']+')'),console[_0x46d7a3(0x127)](_0x46d7a3(0x143)+_0x18ca0a[_0x46d7a3(0x137)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x18ca0a[_0x46d7a3(0x14e)])['toLocaleString']()),_0x18ca0a[_0x46d7a3(0x193)]&&console[_0x46d7a3(0x127)]('\x20\x20\x20Completed:\x20'+new Date(_0x18ca0a['completedAt'])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x509f08,_0x158e81){const _0x599c35=_0x84055e,_0x154236={'aWacg':function(_0x1cde60){return _0x1cde60();},'LzamQ':_0x599c35(0x13e),'JsKQf':function(_0x5d9c2f,_0x3e72ba){return _0x5d9c2f(_0x3e72ba);},'IJroz':function(_0xa05712,_0x55bbaf,_0x5933b6){return _0xa05712(_0x55bbaf,_0x5933b6);}},_0x54416b=_0x158e81||await _0x154236['aWacg'](getActiveFeatureId);if(!_0x54416b)throw new Error(_0x154236['LzamQ']);const _0x5a90b4=await _0x154236[_0x599c35(0x102)](getFeature,_0x54416b);if(_0x5a90b4['latestReview']&&!_0x5a90b4[_0x599c35(0x192)][_0x599c35(0x10b)])throw new Error(_0x599c35(0x1a7)+_0x5a90b4['dashboardUrl']);await createChecklistItem(_0x54416b,_0x509f08);const _0x93fb53=await getFeature(_0x54416b);console[_0x599c35(0x127)](_0x599c35(0x16d)),_0x154236['IJroz'](displayFeature,_0x93fb53,_0x93fb53['checklistItems']);}export async function featureEditScenario(_0x343d44,_0x5799c6){const _0x337f0d=_0x84055e,_0x2be5d5={'vtxCN':function(_0x29c286){return _0x29c286();},'cXViF':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','sqpJp':function(_0x128092,_0x41fed9){return _0x128092(_0x41fed9);},'IvzJk':_0x337f0d(0x14a),'lNTNZ':function(_0x32c440,_0x1dabd1){return _0x32c440===_0x1dabd1;},'vbfNT':_0x337f0d(0x134),'PKzCV':function(_0x44ad7a,_0x22b4ad){return _0x44ad7a<_0x22b4ad;},'nVZaR':function(_0x127abf,_0x2f0c46){return _0x127abf+_0x2f0c46;},'PjyAV':function(_0x45f4b2,_0x591a93){return _0x45f4b2-_0x591a93;},'TkEhk':function(_0x5a8ead,_0xe8a309){return _0x5a8ead<_0xe8a309;},'ILzpX':function(_0x4f71fd,_0x23e50b,_0x19a05f,_0x953309){return _0x4f71fd(_0x23e50b,_0x19a05f,_0x953309);},'YHPoD':function(_0x588887,_0x4e1f03){return _0x588887(_0x4e1f03);}},_0x51eaf9=_0x5799c6['id']||await _0x2be5d5[_0x337f0d(0x109)](getActiveFeatureId);!_0x51eaf9&&(console[_0x337f0d(0x165)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x337f0d(0x165)](_0x2be5d5['cXViF']),process[_0x337f0d(0x19b)](0x1));const _0x3931f7=await _0x2be5d5[_0x337f0d(0x116)](getFeature,_0x51eaf9);_0x3931f7[_0x337f0d(0x192)]&&!_0x3931f7['latestReview']['submittedAt']&&(console[_0x337f0d(0x165)](_0x2be5d5[_0x337f0d(0x183)]),console['error'](_0x337f0d(0x112)),console['error']('\x20\x20'+_0x3931f7[_0x337f0d(0xc7)]),process['exit'](0x1));const _0x3fdf6c=_0x3931f7['checklistItems']||[];_0x3fdf6c[_0x337f0d(0xfa)]===0x0&&(console[_0x337f0d(0x165)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x337f0d(0x19b)](0x1));if(_0x2be5d5[_0x337f0d(0xcb)](_0x5799c6[_0x337f0d(0x16a)],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x2be5d5['vbfNT']);for(let _0x5b7b11=0x0;_0x2be5d5['PKzCV'](_0x5b7b11,_0x3fdf6c[_0x337f0d(0xfa)]);_0x5b7b11++){console[_0x337f0d(0x127)]('\x20\x20'+_0x2be5d5[_0x337f0d(0xd0)](_0x5b7b11,0x1)+'.\x20'+_0x3fdf6c[_0x5b7b11]['description']);}process['exit'](0x1);}const _0x3a616b=_0x2be5d5['PjyAV'](_0x5799c6['scenario'],0x1);if(_0x3a616b<0x0||_0x3a616b>=_0x3fdf6c['length']){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5799c6['scenario']+_0x337f0d(0x14f)+_0x3fdf6c['length']+'\x20scenarios.'),console['log'](_0x337f0d(0x134));for(let _0x7b882e=0x0;_0x2be5d5['TkEhk'](_0x7b882e,_0x3fdf6c[_0x337f0d(0xfa)]);_0x7b882e++){console['log']('\x20\x20'+(_0x7b882e+0x1)+'.\x20'+_0x3fdf6c[_0x7b882e]['description']);}process[_0x337f0d(0x19b)](0x1);}const _0x594998=_0x3fdf6c[_0x3a616b];await _0x2be5d5[_0x337f0d(0xc0)](updateChecklistItem,_0x51eaf9,_0x594998['id'],{'description':_0x343d44});const _0x382ba1=await _0x2be5d5[_0x337f0d(0x107)](getFeature,_0x51eaf9);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x382ba1,_0x382ba1['checklistItems']);}async function downloadFeedbackImage(_0x178c09,_0x4b48a8){const _0x592ea3=_0x84055e,_0x5f1d34={'Mpndg':_0x592ea3(0x198),'EXZHj':function(_0x1e7081,_0xdfa821,_0x1b326b){return _0x1e7081(_0xdfa821,_0x1b326b);}};try{const _0x18ad5d=join(getRangerDir(),_0x5f1d34[_0x592ea3(0x1aa)]);await _0x5f1d34['EXZHj'](mkdir,_0x18ad5d,{'recursive':!![]});const _0x112125=_0x5f1d34[_0x592ea3(0xc5)](join,_0x18ad5d,'comment_'+_0x4b48a8+_0x592ea3(0x153)),_0x2c19ca=await fetch(_0x178c09);if(!_0x2c19ca['ok'])return null;const _0x1d5341=Buffer['from'](await _0x2c19ca['arrayBuffer']());return await writeFile(_0x112125,_0x1d5341),_0x112125;}catch{return null;}}function _0x3407(_0x20ecbb,_0x453bec){_0x20ecbb=_0x20ecbb-0xb7;const _0x5f08d4=_0x5f08();let _0x34070d=_0x5f08d4[_0x20ecbb];return _0x34070d;}export async function featureGetReview(_0x27ea03){const _0x279b3b=_0x84055e,_0x5aa918={'MMMkh':_0x279b3b(0x13e),'uNMbV':function(_0x59aa8f,_0xf26b50){return _0x59aa8f(_0xf26b50);},'pFXHD':function(_0x4728bc,_0x4a0186){return _0x4728bc===_0x4a0186;},'cLAMU':_0x279b3b(0xee),'soGLw':function(_0x240f74,_0x2f9ee2){return _0x240f74+_0x2f9ee2;},'mhFkj':'en-US','aEncn':_0x279b3b(0x1ac),'wIgpQ':'numeric','DTuml':_0x279b3b(0xd7),'cxxSs':function(_0x3551ae,_0x33af2b,_0x5837a8){return _0x3551ae(_0x33af2b,_0x5837a8);},'eULaj':'\x20>\x20','fcczG':'element','rKjAC':'point'},_0x20e04d=_0x27ea03||await getActiveFeatureId();if(!_0x20e04d)throw new Error(_0x5aa918[_0x279b3b(0x1a8)]);const _0x5de50a=await getFeature(_0x20e04d),{items:_0x4aebdc}=await _0x5aa918[_0x279b3b(0xf1)](getActionItems,_0x20e04d);console[_0x279b3b(0x127)]('\x0a📋\x20Feedback\x20for:\x20'+_0x5de50a[_0x279b3b(0xd5)]+'\x20('+_0x5de50a['id']+')\x0a');if(_0x5aa918['pFXHD'](_0x4aebdc[_0x279b3b(0xfa)],0x0)){console[_0x279b3b(0x127)](_0x5aa918[_0x279b3b(0xdb)]);return;}for(let _0x1e7ad6=0x0;_0x1e7ad6<_0x4aebdc[_0x279b3b(0xfa)];_0x1e7ad6++){const _0x187fe5=_0x4aebdc[_0x1e7ad6],_0xed4ecb=_0x187fe5[_0x279b3b(0xba)]>0x1?_0x279b3b(0x151)+_0x187fe5[_0x279b3b(0xba)]+')':'',_0x2aac9e=await getItemFeedback(_0x20e04d,_0x187fe5['id']);if(_0x2aac9e[_0x279b3b(0xe4)]['length']>0x0){console['log'](_0x279b3b(0x171)+_0x5aa918['soGLw'](_0x1e7ad6,0x1)+':\x20\x22'+_0x187fe5[_0x279b3b(0x124)]+'\x22'+_0xed4ecb+_0x279b3b(0x179)+_0x2aac9e['unaddressedComments'][_0x279b3b(0xfa)]+_0x279b3b(0x138));for(const _0x25a6b8 of _0x2aac9e[_0x279b3b(0xe4)]){const _0xf70ea9=new Date(_0x25a6b8['createdAt'])[_0x279b3b(0xf3)](_0x5aa918[_0x279b3b(0x154)],{'month':_0x5aa918['aEncn'],'day':_0x5aa918['wIgpQ']}),_0x20482c=_0x25a6b8[_0x279b3b(0xf0)]||_0x25a6b8['authorEmail']||_0x5aa918[_0x279b3b(0xd3)];console[_0x279b3b(0x127)](_0x279b3b(0xf2)+_0x20482c+'\x20('+_0xf70ea9+'):\x20\x22'+_0x25a6b8[_0x279b3b(0x1a6)]+'\x22');if(_0x25a6b8[_0x279b3b(0xd6)]){const _0x459e75=await _0x5aa918[_0x279b3b(0xdf)](downloadFeedbackImage,_0x25a6b8['assetUrl'],_0x25a6b8['id']);_0x459e75&&console['log'](_0x279b3b(0x141)+_0x459e75);}if(_0x25a6b8[_0x279b3b(0x115)]){const _0x5df2c8=_0x25a6b8['domRef']['selector']['split'](_0x5aa918[_0x279b3b(0x173)])['pop']()?.[_0x279b3b(0x130)](':')[0x0]||_0x5aa918['fcczG'],_0xe61086=_0x25a6b8[_0x279b3b(0x115)]['textContent']?'\x20\x22'+_0x25a6b8[_0x279b3b(0x115)]['textContent'][_0x279b3b(0xd9)](0x0,0x3c)+'\x22':'';console['log'](_0x279b3b(0xeb)+_0x5df2c8+'>'+_0xe61086),console[_0x279b3b(0x127)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x25a6b8['domRef'][_0x279b3b(0x12d)]);}else{if(_0x25a6b8[_0x279b3b(0x172)]){const _0x2392df=_0x25a6b8['spatial']['coordinates'];_0x25a6b8[_0x279b3b(0x172)]['type']===_0x5aa918[_0x279b3b(0x1a2)]&&_0x2392df['length']>=0x2?console['log'](_0x279b3b(0x11c)+_0x2392df[0x0][_0x279b3b(0xfc)](0x2)+',\x20'+_0x2392df[0x1]['toFixed'](0x2)+')'):console[_0x279b3b(0x127)](_0x279b3b(0x133)+_0x25a6b8['spatial'][_0x279b3b(0x13a)]+'\x20at\x20['+_0x2392df[_0x279b3b(0x126)](_0x234c3b=>_0x234c3b['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x2aac9e['canonicalFlow']){console[_0x279b3b(0x127)]('\x20\x20Expected\x20flow:');for(const _0x403039 of _0x2aac9e[_0x279b3b(0x118)][_0x279b3b(0x130)]('\x0a')){console[_0x279b3b(0x127)]('\x20\x20\x20\x20'+_0x403039);}}}else console[_0x279b3b(0x127)](_0x279b3b(0x171)+(_0x1e7ad6+0x1)+_0x279b3b(0x161)+_0x187fe5[_0x279b3b(0x124)]+'\x22'+_0xed4ecb+'\x20—\x20no\x20comments'),console[_0x279b3b(0x127)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x279b3b(0x127)]('');}}export async function featureDelete(_0x50f730){const _0x5f47d0=_0x84055e,_0x4778ae={'fqQZn':_0x5f47d0(0x13e),'XyAjT':function(_0x20ac5a,_0xe210b2){return _0x20ac5a+_0xe210b2;}},_0x2b9e68=_0x50f730||await getActiveFeatureId();if(!_0x2b9e68)throw new Error(_0x4778ae[_0x5f47d0(0xbc)]);const _0x5e170b=await getFeature(_0x2b9e68);await softDeleteFeature(_0x2b9e68),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5e170b[_0x5f47d0(0xd5)]+'\x20('+_0x2b9e68+')'),console['log'](_0x4778ae[_0x5f47d0(0x117)](_0x5f47d0(0xb7),_0x2b9e68));}export async function featureRestore(_0x2ae10a){const _0x1a4f8a=_0x84055e,_0x206136={'Zxizs':function(_0x11c69a,_0x3de889){return _0x11c69a(_0x3de889);},'Cwdib':function(_0x1e0db5,_0xb037e6,_0x56a9c7){return _0x1e0db5(_0xb037e6,_0x56a9c7);}};await _0x206136[_0x1a4f8a(0x11d)](restoreFeature,_0x2ae10a);const _0x17dcdc=await _0x206136[_0x1a4f8a(0x11d)](getFeature,_0x2ae10a);console[_0x1a4f8a(0x127)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x17dcdc[_0x1a4f8a(0xd5)]+'\x20('+_0x2ae10a+')'),_0x206136[_0x1a4f8a(0x17a)](displayFeature,_0x17dcdc,_0x17dcdc[_0x1a4f8a(0x17f)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x43d5f5,_0x14924e){const _0x22e7ba=_0x3f4a,_0x35bfd6=_0x43d5f5();while(!![]){try{const _0x2c360a=parseInt(_0x22e7ba(0xcf))/0x1*(-parseInt(_0x22e7ba(0xd5))/0x2)+parseInt(_0x22e7ba(0xd3))/0x3*(-parseInt(_0x22e7ba(0xd8))/0x4)+parseInt(_0x22e7ba(0xd7))/0x5*(parseInt(_0x22e7ba(0xcb))/0x6)+parseInt(_0x22e7ba(0xd6))/0x7+parseInt(_0x22e7ba(0xd2))/0x8*(parseInt(_0x22e7ba(0xd1))/0x9)+-parseInt(_0x22e7ba(0xcc))/0xa+-parseInt(_0x22e7ba(0xc7))/0xb;if(_0x2c360a===_0x14924e)break;else _0x35bfd6['push'](_0x35bfd6['shift']());}catch(_0x4f44d9){_0x35bfd6['push'](_0x35bfd6['shift']());}}}(_0x8112,0xacecd));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x8112(){const _0x3e3444=['800aMMIQF','417732ReRObT','1606022gGkkyJ','Unknown\x20hook:\x20','nNoyf','exit','20448AKjWWn','1840000oeNmTb','hNcki','aBAIk','134471jyvxkd','join','7405389toWVRY','8UTOSLn','3yUyVvP','once','8UjHVsB','2187633jiREBS'];_0x8112=function(){return _0x3e3444;};return _0x8112();}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 _0x3f7183=_0x3f4a,_0x56050c={'nNoyf':'SIGINT','aBAIk':'SIGTERM','MDWSR':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x5d95de=()=>{process['exit'](0x0);};process['once'](_0x56050c[_0x3f7183(0xc9)],_0x5d95de),process[_0x3f7183(0xd4)](_0x56050c[_0x3f7183(0xce)],_0x5d95de),process['once'](_0x56050c['MDWSR'],_0x5d95de),cancellationHandlersInstalled=!![];}function _0x3f4a(_0x486aa9,_0x91bc34){_0x486aa9=_0x486aa9-0xc7;const _0x811276=_0x8112();let _0x3f4a84=_0x811276[_0x486aa9];return _0x3f4a84;}export async function hook(_0x1a7f93,_0x18a8ad){const _0x28705a=_0x3f4a,_0x4c0c21={'hNcki':function(_0x1db3d0,_0x30fb6d){return _0x1db3d0(_0x30fb6d);}};installCancellationHandlers();const _0x230640=HOOKS[_0x1a7f93];if(!_0x230640){const _0x27bd88=Object['keys'](HOOKS)[_0x28705a(0xd0)](',\x20');console['error'](_0x28705a(0xc8)+_0x1a7f93),console['error']('Valid\x20hooks:\x20'+_0x27bd88),process[_0x28705a(0xca)](0x1);}await _0x4c0c21[_0x28705a(0xcd)](_0x230640,_0x18a8ad);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x342e34,_0x29d2eb){const _0x2d5ac2=_0x4faa,_0x227987=_0x342e34();while(!![]){try{const _0x2d5922=parseInt(_0x2d5ac2(0x143))/0x1*(parseInt(_0x2d5ac2(0x13c))/0x2)+parseInt(_0x2d5ac2(0x145))/0x3*(parseInt(_0x2d5ac2(0x13b))/0x4)+-parseInt(_0x2d5ac2(0x138))/0x5*(parseInt(_0x2d5ac2(0x142))/0x6)+-parseInt(_0x2d5ac2(0x144))/0x7*(-parseInt(_0x2d5ac2(0x139))/0x8)+-parseInt(_0x2d5ac2(0x140))/0x9*(-parseInt(_0x2d5ac2(0x13d))/0xa)+parseInt(_0x2d5ac2(0x141))/0xb+-parseInt(_0x2d5ac2(0x13e))/0xc;if(_0x2d5922===_0x29d2eb)break;else _0x227987['push'](_0x227987['shift']());}catch(_0x24c2ae){_0x227987['push'](_0x227987['shift']());}}}(_0x4737,0xe9573));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT='\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.';export async function autoPrompt(){const _0x30dc74=_0x4faa,_0x357d94={'zbZUy':function(_0x50f367,_0x11cfaf){return _0x50f367(_0x11cfaf);}};if(resolveHookMode()==='off')return;const _0x38bdcf=await readHookInput(),_0x31edaf=_0x38bdcf?.['session_id'];if(!_0x31edaf)return;if(isSessionEnabled(_0x31edaf)||_0x357d94[_0x30dc74(0x13a)](hasSessionBeenPrompted,_0x31edaf))return;markSessionPrompted(_0x31edaf),console[_0x30dc74(0x13f)](AUTO_PROMPT_TEXT);}function _0x4faa(_0x30752e,_0x53b6d6){_0x30752e=_0x30752e-0x138;const _0x47376b=_0x4737();let _0x4faa00=_0x47376b[_0x30752e];return _0x4faa00;}function _0x4737(){const _0x3c81bd=['3zsOhIV','1935rIzZkt','2354344fAXNoO','zbZUy','5320388ZBzYPi','2zAkLgF','110IKqSGo','53826588YYLQGc','log','880731jlVdaz','20264596dTdQuq','15030EPsJOZ','1279086hTbRRW','21uqfxtS'];_0x4737=function(){return _0x3c81bd;};return _0x4737();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x24be32,_0x42bf9a){const _0x4b4766=_0x9074,_0x430f39=_0x24be32();while(!![]){try{const _0x1eeb7f=-parseInt(_0x4b4766(0xa8))/0x1*(parseInt(_0x4b4766(0xa9))/0x2)+-parseInt(_0x4b4766(0xa0))/0x3*(-parseInt(_0x4b4766(0x9d))/0x4)+-parseInt(_0x4b4766(0xa6))/0x5*(-parseInt(_0x4b4766(0x9f))/0x6)+-parseInt(_0x4b4766(0x99))/0x7*(parseInt(_0x4b4766(0x9b))/0x8)+parseInt(_0x4b4766(0xa3))/0x9+-parseInt(_0x4b4766(0xa7))/0xa*(-parseInt(_0x4b4766(0x9e))/0xb)+parseInt(_0x4b4766(0xa1))/0xc*(-parseInt(_0x4b4766(0x98))/0xd);if(_0x1eeb7f===_0x42bf9a)break;else _0x430f39['push'](_0x430f39['shift']());}catch(_0x1edd6b){_0x430f39['push'](_0x430f39['shift']());}}}(_0x4970,0x70add));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x284763){const _0x13ab07=_0x9074,_0x3a3478={'tZrsD':function(_0x48fb2a,_0x2c9ae7){return _0x48fb2a(_0x2c9ae7);},'QFZgJ':_0x13ab07(0x9a)},_0x15d900=_0x284763||process[_0x13ab07(0xa5)]['CLAUDE_SESSION_ID']||'';_0x15d900&&_0x3a3478[_0x13ab07(0xa4)](disableSession,_0x15d900);const _0x187feb=getCurrentBranch();_0x187feb&&_0x187feb!=='main'&&_0x187feb!=='master'&&disableBranch(_0x187feb),_0x3a3478[_0x13ab07(0xa4)](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x187feb&&_0x187feb!==_0x13ab07(0x9c)&&_0x187feb!==_0x3a3478[_0x13ab07(0xa2)]?'\x20and\x20branch\x20\x27'+_0x187feb+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}function _0x9074(_0x1fafbb,_0x12d1af){_0x1fafbb=_0x1fafbb-0x98;const _0x4970d7=_0x4970();let _0x9074cf=_0x4970d7[_0x1fafbb];return _0x9074cf;}function _0x4970(){const _0x55c9b4=['1111592ENyFKw','9559EVpoRV','6BNxwXO','6jLVcFb','192lsAoJu','QFZgJ','1654839lOqWNT','tZrsD','env','4158735LnZcwn','9420RZNJNG','4GxvzAd','109066fRfIUN','1215097EFKIzT','161APXfxc','master','74728CJRlwx','main'];_0x4970=function(){return _0x55c9b4;};return _0x4970();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x109b41,_0xbfc8fc){const _0x116816=_0x5674,_0x137c34=_0x109b41();while(!![]){try{const _0x38aa56=-parseInt(_0x116816(0x1c9))/0x1+parseInt(_0x116816(0x1d0))/0x2*(-parseInt(_0x116816(0x1da))/0x3)+-parseInt(_0x116816(0x1cf))/0x4*(-parseInt(_0x116816(0x1d3))/0x5)+parseInt(_0x116816(0x1c8))/0x6+-parseInt(_0x116816(0x1d4))/0x7+parseInt(_0x116816(0x1ce))/0x8+-parseInt(_0x116816(0x1cd))/0x9*(-parseInt(_0x116816(0x1d6))/0xa);if(_0x38aa56===_0xbfc8fc)break;else _0x137c34['push'](_0x137c34['shift']());}catch(_0x2a4030){_0x137c34['push'](_0x137c34['shift']());}}}(_0x2a80,0x3197f));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x5674(_0x4aec53,_0x2a4466){_0x4aec53=_0x4aec53-0x1c6;const _0x2a8007=_0x2a80();let _0x56746f=_0x2a8007[_0x4aec53];return _0x56746f;}function _0x2a80(){const _0x35195c=['1365973GvGBXG','\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`.','70hhpwaW','#\x20RANGER\x20ENABLED','env','\x0a\x0a**Branch\x20\x27','593319LbOvlz','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','CLAUDE_SESSION_ID','1339854uIDRMK','133260gdUApC','MJLwk','main','bZXwp','499509uFLAjK','1490296btDtJm','4RKVTNj','4snpiLB','ranger\x20setup','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','644885gRuXec'];_0x2a80=function(){return _0x35195c;};return _0x2a80();}import{update}from'../update.js';export async function enable(_0x4df0fc){const _0x5bf26f=_0x5674,_0x422051={'bZXwp':function(_0x4c7c56){return _0x4c7c56();},'drlZW':'ranger\x20setup\x20--opencode','OZHhN':_0x5bf26f(0x1d1),'mECTV':_0x5bf26f(0x1d2),'MJLwk':function(_0x34a8cb,_0x2c1547){return _0x34a8cb(_0x2c1547);},'YlDNX':function(_0xee6887){return _0xee6887();}},_0x4db0d6=_0x4df0fc||process[_0x5bf26f(0x1d8)][_0x5bf26f(0x1c7)]||'',_0x2865c5=Boolean(_0x4df0fc),_0x13eb6a=await _0x422051[_0x5bf26f(0x1cc)](getToken);if(!_0x13eb6a){const _0x5e53b3=_0x2865c5?_0x422051['drlZW']:_0x422051['OZHhN'],_0x52be52=_0x2865c5?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x422051['mECTV'];printBlock('#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x5e53b3+_0x5bf26f(0x1c6)+_0x52be52);return;}try{await update();}catch{}_0x4db0d6&&_0x422051[_0x5bf26f(0x1ca)](enableSession,_0x4db0d6);const _0x30a11c=_0x422051['YlDNX'](getCurrentBranch),_0x132b14=_0x30a11c&&_0x30a11c!==_0x5bf26f(0x1cb)&&_0x30a11c!=='master'?_0x5bf26f(0x1d9)+_0x30a11c+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x549fa4=getRangerSkillContent();_0x422051['MJLwk'](printBlock,_0x5bf26f(0x1d7)+_0x132b14+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x549fa4+_0x5bf26f(0x1d5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4e7677,_0x353a34){const _0x51c94b=_0x2d10,_0x144918=_0x4e7677();while(!![]){try{const _0x21c83b=-parseInt(_0x51c94b(0x142))/0x1+parseInt(_0x51c94b(0x13f))/0x2*(parseInt(_0x51c94b(0x144))/0x3)+parseInt(_0x51c94b(0x13e))/0x4*(parseInt(_0x51c94b(0x13b))/0x5)+-parseInt(_0x51c94b(0x13c))/0x6+-parseInt(_0x51c94b(0x13d))/0x7*(parseInt(_0x51c94b(0x140))/0x8)+parseInt(_0x51c94b(0x13a))/0x9+parseInt(_0x51c94b(0x141))/0xa;if(_0x21c83b===_0x353a34)break;else _0x144918['push'](_0x144918['shift']());}catch(_0x1e64bf){_0x144918['push'](_0x144918['shift']());}}}(_0x5e68,0x90aa3));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2d10(_0x37902e,_0x524f60){_0x37902e=_0x37902e-0x13a;const _0x5e6846=_0x5e68();let _0x2d1047=_0x5e6846[_0x37902e];return _0x2d1047;}function _0x5e68(){const _0x494caa=['1539MbCbRn','3240801obdkgH','25DGeuVM','2572848AvUPfm','52507TTprHq','748548iNwJzh','2906yXdyEy','568SaEGog','2533150GMlycb','740552xUIfgy','===\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==='];_0x5e68=function(){return _0x494caa;};return _0x5e68();}export async function exitPlanMode(_0x213486){const _0xda291f=_0x2d10,_0x2ad02d=await getEnabledSessionId(_0x213486);if(!_0x2ad02d)return;printBlock(_0xda291f(0x143));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x28a7(){var _0x379412=['2291904sNlhIl','50IgxWHg','129105PxZauQ','1259980rfNqZi','2250624HKXaSm','1536088ANNOiQ','23420yahCJd','14ELRDtq','27765vxpUpR','54qPhHcw'];_0x28a7=function(){return _0x379412;};return _0x28a7();}(function(_0x40e0ba,_0x5ce287){var _0x49c0ce=_0xd533,_0x5b0937=_0x40e0ba();while(!![]){try{var _0x3012e8=-parseInt(_0x49c0ce(0x184))/0x1*(-parseInt(_0x49c0ce(0x17f))/0x2)+-parseInt(_0x49c0ce(0x187))/0x3+parseInt(_0x49c0ce(0x183))/0x4+-parseInt(_0x49c0ce(0x185))/0x5*(-parseInt(_0x49c0ce(0x182))/0x6)+parseInt(_0x49c0ce(0x180))/0x7*(-parseInt(_0x49c0ce(0x17e))/0x8)+parseInt(_0x49c0ce(0x181))/0x9+parseInt(_0x49c0ce(0x186))/0xa;if(_0x3012e8===_0x5ce287)break;else _0x5b0937['push'](_0x5b0937['shift']());}catch(_0x328d03){_0x5b0937['push'](_0x5b0937['shift']());}}}(_0x28a7,0x5e2b6));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0xd533(_0x830f0a,_0x5aa8fc){_0x830f0a=_0x830f0a-0x17e;var _0x28a78d=_0x28a7();var _0xd53362=_0x28a78d[_0x830f0a];return _0xd53362;}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5e73d5,_0x44feb0){const _0xd69b92=_0x5f46,_0x42780c=_0x5e73d5();while(!![]){try{const _0x36996a=-parseInt(_0xd69b92(0xc0))/0x1+parseInt(_0xd69b92(0xb6))/0x2*(parseInt(_0xd69b92(0xc4))/0x3)+-parseInt(_0xd69b92(0xbe))/0x4*(parseInt(_0xd69b92(0xc5))/0x5)+-parseInt(_0xd69b92(0xb7))/0x6+-parseInt(_0xd69b92(0xbf))/0x7+parseInt(_0xd69b92(0xba))/0x8*(-parseInt(_0xd69b92(0xbc))/0x9)+parseInt(_0xd69b92(0xbd))/0xa;if(_0x36996a===_0x44feb0)break;else _0x42780c['push'](_0x42780c['shift']());}catch(_0x2add38){_0x42780c['push'](_0x42780c['shift']());}}}(_0x218a,0xf2851));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x15e4ac){const _0x14ee8b=_0x5f46;console[_0x14ee8b(0xb9)](_0x15e4ac);}function _0x218a(){const _0x303635=['4MKlWrU','2711772dBDUtH','108966pOmWbu','RXGrj','parse','JJUFG','53166iNdlkw','8915BASEXN','54BePpQz','3394914FWJYRV','XvTlv','log','404552YOfnZo','session_id','9LDlpuj','16294000DvtNBg'];_0x218a=function(){return _0x303635;};return _0x218a();}function _0x5f46(_0x48f4b7,_0x4fbb38){_0x48f4b7=_0x48f4b7-0xb6;const _0x218a84=_0x218a();let _0x5f4653=_0x218a84[_0x48f4b7];return _0x5f4653;}export async function readHookInput(){const _0xe6dcaf=_0x5f46;let _0x412a22='';try{for await(const _0x527cae of process['stdin']){_0x412a22+=_0x527cae;}}catch{return null;}if(!_0x412a22['trim']())return null;try{return JSON[_0xe6dcaf(0xc2)](_0x412a22);}catch{return null;}}export async function getEnabledSessionId(_0x28c5e6){const _0x393004=_0x5f46,_0x20ccf7={'RXGrj':function(_0x5e261d,_0x2ea942){return _0x5e261d(_0x2ea942);},'XvTlv':function(_0x4626d7){return _0x4626d7();},'lXpFh':function(_0xe624fb,_0x20fef9){return _0xe624fb(_0x20fef9);}};if(_0x28c5e6)return _0x20ccf7[_0x393004(0xc1)](isSessionEnabled,_0x28c5e6)?_0x28c5e6:null;const _0x437fd8=await _0x20ccf7[_0x393004(0xb8)](readHookInput),_0x12ceb5=_0x437fd8?.['session_id'];if(!_0x12ceb5||!_0x20ccf7['lXpFh'](isSessionEnabled,_0x12ceb5))return null;return _0x12ceb5;}export async function getEnabledHookContext(_0x44ae83){const _0x615432=_0x5f46,_0x3abdb1={'JJUFG':function(_0x256428,_0x2df03f){return _0x256428(_0x2df03f);},'hkMRh':function(_0x186ac0){return _0x186ac0();},'LJanG':function(_0xe60246,_0x32547b){return _0xe60246(_0x32547b);}};if(_0x44ae83){if(!_0x3abdb1[_0x615432(0xc3)](isSessionEnabled,_0x44ae83))return null;return{'sessionId':_0x44ae83,'input':{'session_id':_0x44ae83}};}const _0x428bac=await _0x3abdb1['hkMRh'](readHookInput),_0x16b651=_0x428bac?.[_0x615432(0xbb)];if(!_0x16b651||!_0x3abdb1['LJanG'](isSessionEnabled,_0x16b651))return null;return{'sessionId':_0x16b651,'input':_0x428bac};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3446(){const _0x5dab6c=['197191eVEqro','1594860jXtxPq','86uMQuoH','379320UYQLGK','4650863qroaYl','IBOke','40MUJjZV','Jdxyu','27111VKzmBa','1681638gZpgfv','1232766kIqcxU'];_0x3446=function(){return _0x5dab6c;};return _0x3446();}(function(_0x40790b,_0x2b2794){const _0x139c7e=_0x1c73,_0x54e094=_0x40790b();while(!![]){try{const _0x120e3f=parseInt(_0x139c7e(0xd6))/0x1+parseInt(_0x139c7e(0xd8))/0x2*(-parseInt(_0x139c7e(0xd3))/0x3)+-parseInt(_0x139c7e(0xd7))/0x4+-parseInt(_0x139c7e(0xd9))/0x5+-parseInt(_0x139c7e(0xd4))/0x6+parseInt(_0x139c7e(0xda))/0x7+parseInt(_0x139c7e(0xd1))/0x8*(parseInt(_0x139c7e(0xd5))/0x9);if(_0x120e3f===_0x2b2794)break;else _0x54e094['push'](_0x54e094['shift']());}catch(_0xe8092e){_0x54e094['push'](_0x54e094['shift']());}}}(_0x3446,0x62653));function _0x1c73(_0x9503a0,_0xc485f6){_0x9503a0=_0x9503a0-0xd0;const _0x3446e9=_0x3446();let _0x1c73b9=_0x3446e9[_0x9503a0];return _0x1c73b9;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4acba7){const _0x47c43b=_0x1c73,_0x503976={'IBOke':function(_0x21837f,_0x8a069f){return _0x21837f(_0x8a069f);},'Lvaop':function(_0x34e2d8,_0x978009){return _0x34e2d8!==_0x978009;},'eQCxZ':'plan','Jdxyu':function(_0x3adb90,_0x2e1e5a){return _0x3adb90(_0x2e1e5a);}},_0x520319=await _0x503976[_0x47c43b(0xd0)](getEnabledHookContext,_0x4acba7);if(!_0x520319)return;if(_0x503976['Lvaop'](_0x520319['input']['permission_mode'],_0x503976['eQCxZ']))return;if(!shouldShowPlanReminder(_0x520319['sessionId']))return;_0x503976[_0x47c43b(0xd2)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2af7(){const _0xf00d69=['594eVIMRr','2726YGlNyg','548070nWXPFn','936848lhRXrT','7zAvNkR','19830jjCbbE','349071PBgLHx','65634QfPhBK','26XYwADs','179080HXueMg'];_0x2af7=function(){return _0xf00d69;};return _0x2af7();}(function(_0x52f958,_0x45f4fd){const _0x5163f2=_0xc7f0,_0x28f4ba=_0x52f958();while(!![]){try{const _0x18ebf0=parseInt(_0x5163f2(0x14a))/0x1*(-parseInt(_0x5163f2(0x147))/0x2)+parseInt(_0x5163f2(0x14f))/0x3+-parseInt(_0x5163f2(0x148))/0x4+parseInt(_0x5163f2(0x14b))/0x5+parseInt(_0x5163f2(0x146))/0x6*(-parseInt(_0x5163f2(0x14d))/0x7)+parseInt(_0x5163f2(0x14c))/0x8+parseInt(_0x5163f2(0x149))/0x9*(-parseInt(_0x5163f2(0x14e))/0xa);if(_0x18ebf0===_0x45f4fd)break;else _0x28f4ba['push'](_0x28f4ba['shift']());}catch(_0x4cb5d0){_0x28f4ba['push'](_0x28f4ba['shift']());}}}(_0x2af7,0x1d8dc));import{printBlock,getEnabledSessionId}from'./output.js';function _0xc7f0(_0x1c19ae,_0x1f75cc){_0x1c19ae=_0x1c19ae-0x146;const _0x2af783=_0x2af7();let _0xc7f04d=_0x2af783[_0x1c19ae];return _0xc7f04d;}export async function planStart(_0xd2cc29){const _0x3e38ac=await getEnabledSessionId(_0xd2cc29);if(!_0x3e38ac)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2eb17d,_0x34f7a7){const _0x4ad10f=_0x4e74,_0xcd8eac=_0x2eb17d();while(!![]){try{const _0x13a847=parseInt(_0x4ad10f(0x1a0))/0x1*(-parseInt(_0x4ad10f(0x19a))/0x2)+parseInt(_0x4ad10f(0x1a6))/0x3*(-parseInt(_0x4ad10f(0x198))/0x4)+-parseInt(_0x4ad10f(0x1a7))/0x5*(-parseInt(_0x4ad10f(0x1a5))/0x6)+parseInt(_0x4ad10f(0x199))/0x7*(-parseInt(_0x4ad10f(0x1a2))/0x8)+parseInt(_0x4ad10f(0x19f))/0x9*(-parseInt(_0x4ad10f(0x1a4))/0xa)+-parseInt(_0x4ad10f(0x1a3))/0xb*(-parseInt(_0x4ad10f(0x19d))/0xc)+parseInt(_0x4ad10f(0x1a1))/0xd;if(_0x13a847===_0x34f7a7)break;else _0xcd8eac['push'](_0xcd8eac['shift']());}catch(_0x30648d){_0xcd8eac['push'](_0xcd8eac['shift']());}}}(_0x3907,0xd64c7));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x3907(){const _0x7762d1=['869757UDkmtQ','942756AnaVqF','log','MhAUv','24GSlQuX','PostToolUse','513nZBHrA','1ZiNveY','5630313LCqcTM','8WYTgBx','6311371HBDrZD','69950LVihce','2170488UsAZNG','6jtvvNb','10okMzwn','864016yijKzV'];_0x3907=function(){return _0x7762d1;};return _0x3907();}function _0x4e74(_0x4cbbf0,_0x547ec0){_0x4cbbf0=_0x4cbbf0-0x198;const _0x39079a=_0x3907();let _0x4e74be=_0x39079a[_0x4cbbf0];return _0x4e74be;}export async function postEdit(_0x3bc685){const _0x18ed5c=_0x4e74,_0x443d97={'HpEDH':function(_0x59e671,_0x22b1ab){return _0x59e671(_0x22b1ab);},'MhAUv':function(_0x19f854,_0x55bcb8){return _0x19f854(_0x55bcb8);}},_0x20cd1c=await _0x443d97['HpEDH'](getEnabledSessionId,_0x3bc685);if(!_0x20cd1c)return;_0x443d97[_0x18ed5c(0x19c)](updateBranchTracking,_0x20cd1c);const _0x1fdebe=await getToken();if(!_0x1fdebe)return;const _0x523d2a=getSessionEntry(_0x20cd1c);if(_0x523d2a){const _0x9f9256={'hookSpecificOutput':{'hookEventName':_0x18ed5c(0x19e),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x18ed5c(0x19b)](JSON['stringify'](_0x9f9256));return;}const _0x4c0470={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x4c0470));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x22667e,_0x4ca2f6){const _0x3eb388=_0x13e5,_0x85eda=_0x22667e();while(!![]){try{const _0x228a50=-parseInt(_0x3eb388(0x8b))/0x1+-parseInt(_0x3eb388(0x92))/0x2*(parseInt(_0x3eb388(0x90))/0x3)+-parseInt(_0x3eb388(0x8e))/0x4+-parseInt(_0x3eb388(0x8a))/0x5*(-parseInt(_0x3eb388(0x8c))/0x6)+parseInt(_0x3eb388(0x91))/0x7+parseInt(_0x3eb388(0x8d))/0x8*(-parseInt(_0x3eb388(0x89))/0x9)+parseInt(_0x3eb388(0x8f))/0xa;if(_0x228a50===_0x4ca2f6)break;else _0x85eda['push'](_0x85eda['shift']());}catch(_0x60e89a){_0x85eda['push'](_0x85eda['shift']());}}}(_0x2bc6,0xeb4b6));function _0x13e5(_0x571aa8,_0x54f207){_0x571aa8=_0x571aa8-0x89;const _0x2bc64b=_0x2bc6();let _0x13e591=_0x2bc64b[_0x571aa8];return _0x13e591;}function _0x2bc6(){const _0x1cf474=['4050872qDIPaA','4405496MfmZNr','28461060eKBkOi','7635ztFalW','8539902rofBuy','340FRxRjX','27nksnNZ','4195FXHxfo','1134052YLqIMK','7758EmiJDu'];_0x2bc6=function(){return _0x1cf474;};return _0x2bc6();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x53fe59){const _0x26687c={'gMRxt':function(_0x2ecf5c,_0x25d87a){return _0x2ecf5c(_0x25d87a);}},_0xc6bf6d=await _0x26687c['gMRxt'](getEnabledSessionId,_0x53fe59);if(!_0xc6bf6d)return;try{const _0x105ed2=await getToken();if(!_0x105ed2)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x477a34,_0x2aa783){const _0x22861d=_0x33f2,_0x20409f=_0x477a34();while(!![]){try{const _0x5dc26a=parseInt(_0x22861d(0x87))/0x1*(parseInt(_0x22861d(0x80))/0x2)+-parseInt(_0x22861d(0x7d))/0x3+-parseInt(_0x22861d(0x84))/0x4*(-parseInt(_0x22861d(0x81))/0x5)+parseInt(_0x22861d(0x89))/0x6*(-parseInt(_0x22861d(0x83))/0x7)+parseInt(_0x22861d(0x8a))/0x8*(parseInt(_0x22861d(0x7e))/0x9)+-parseInt(_0x22861d(0x86))/0xa*(parseInt(_0x22861d(0x7f))/0xb)+parseInt(_0x22861d(0x88))/0xc;if(_0x5dc26a===_0x2aa783)break;else _0x20409f['push'](_0x20409f['shift']());}catch(_0x5ce1b9){_0x20409f['push'](_0x20409f['shift']());}}}(_0x4dc2,0xd15ae));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x33f2(_0x44d5e3,_0x10cc14){_0x44d5e3=_0x44d5e3-0x7d;const _0x4dc236=_0x4dc2();let _0x33f287=_0x4dc236[_0x44d5e3];return _0x33f287;}function _0x4dc2(){const _0x29df0a=['reason','476RiwdeN','12972znBiTV','env','102460sjgRFX','1biWaxc','26998848LLMfLE','113706mhXvfL','888GcqSFF','3358032qehSiN','65376roMMpM','814DDvshd','1137274JaRVDB','615ASnKVc'];_0x4dc2=function(){return _0x29df0a;};return _0x4dc2();}import{readHookInput}from'./output.js';export async function sessionEnd(_0xeaf2ec){const _0x299784=_0x33f2,_0x1d6fa6={'erfIE':function(_0x3668f2,_0x5ecbcb){return _0x3668f2(_0x5ecbcb);},'BNait':function(_0x265656,_0x453daf){return _0x265656===_0x453daf;}},_0x5296e8=process[_0x299784(0x85)]['CLAUDE_SESSION_ID'];let _0x4b7dc8=_0xeaf2ec,_0x14c525;if(!_0xeaf2ec){if(_0x5296e8&&!_0x1d6fa6['erfIE'](isSessionEnabled,_0x5296e8))return;const _0xaaf53f=await readHookInput();_0x4b7dc8=_0xaaf53f?.['session_id']||_0x5296e8,_0x14c525=_0xaaf53f?.[_0x299784(0x82)];}if(!_0x4b7dc8)return;_0x1d6fa6['BNait'](_0x14c525,'clear')&&recordEnabledSessionCleared(_0x4b7dc8);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x5df158=_0x1a7f;(function(_0x559230,_0x5a8b34){const _0x281d30=_0x1a7f,_0x29d238=_0x559230();while(!![]){try{const _0xce016=parseInt(_0x281d30(0xbc))/0x1+parseInt(_0x281d30(0xbf))/0x2*(parseInt(_0x281d30(0xc3))/0x3)+-parseInt(_0x281d30(0xc0))/0x4*(-parseInt(_0x281d30(0xca))/0x5)+parseInt(_0x281d30(0xc2))/0x6+parseInt(_0x281d30(0xc5))/0x7+-parseInt(_0x281d30(0xcc))/0x8*(parseInt(_0x281d30(0xcf))/0x9)+-parseInt(_0x281d30(0xce))/0xa*(parseInt(_0x281d30(0xba))/0xb);if(_0xce016===_0x5a8b34)break;else _0x29d238['push'](_0x29d238['shift']());}catch(_0x42734b){_0x29d238['push'](_0x29d238['shift']());}}}(_0x430e,0x5b116));function _0x430e(){const _0x3e5a28=['pllSM','4578413aLeEBx','BPbOF','master','qEOiD','trackCommandEnd','25430SzxRXF','session_id','4469464pXLrul','trackCommandStart','192040IhLSmS','9AblKxt','SDTIU','source','dPdnH','198NDpRDB','export\x20CLAUDE_SESSION_ID=\x22','330521zJuKJN','ZFhLA','=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================','116MIhJep','68ElnIfM','zawas','575022DWdnhQ','5715BLzmMC'];_0x430e=function(){return _0x3e5a28;};return _0x430e();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT=_0x5df158(0xbe);function _0x1a7f(_0x500921,_0x5b1f5b){_0x500921=_0x500921-0xb7;const _0x430ed5=_0x430e();let _0x1a7f62=_0x430ed5[_0x500921];return _0x1a7f62;}export async function sessionStart(_0x15b158){const _0x58bf03=_0x5df158,_0x5b53de={'KkvmH':_0x58bf03(0xcb),'eIAiy':function(_0x195cc3,_0x59f158){return _0x195cc3&&_0x59f158;},'egkAD':function(_0x15015f,_0x573d18,_0x521faa){return _0x15015f(_0x573d18,_0x521faa);},'ZFhLA':function(_0x4a0507,_0x4eaf6c){return _0x4a0507(_0x4eaf6c);},'BPbOF':function(_0x9d0797){return _0x9d0797();},'dPdnH':'success','SDTIU':function(_0x391b1f,_0x48b84d){return _0x391b1f!==_0x48b84d;},'pllSM':function(_0x409864,_0x5daac9){return _0x409864!==_0x5daac9;},'qEOiD':_0x58bf03(0xc7),'zawas':'SessionStart'};let _0x164625=_0x15b158||'',_0x45d19f;if(!_0x15b158){let _0x361074='';for await(const _0x1747b1 of process['stdin']){_0x361074+=_0x1747b1;}try{const _0x2bd2a5=JSON['parse'](_0x361074);_0x164625=_0x2bd2a5[_0x5b53de['KkvmH']]||'',_0x45d19f=_0x2bd2a5[_0x58bf03(0xb8)];}catch{}const _0x1809c7=process['env']['CLAUDE_ENV_FILE'];if(_0x5b53de['eIAiy'](_0x1809c7,_0x164625))try{await _0x5b53de['egkAD'](appendFile,_0x1809c7,_0x58bf03(0xbb)+_0x164625+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x164625){shouldAutoEnableAfterClear(_0x45d19f)&&autoEnableAfterClear(_0x164625);_0x5b53de[_0x58bf03(0xbd)](initBranchTracking,_0x164625);_0x5b53de[_0x58bf03(0xc6)](resolveHookMode)==='on'&&enableSession(_0x164625);const _0x5af3d3=_0x5b53de['ZFhLA'](isSessionEnabled,_0x164625);try{const _0x5dbae8=_0x5b53de[_0x58bf03(0xbd)](createTelemetryCollector,'hook:session-start');await _0x5dbae8[_0x58bf03(0xcd)]({'sessionId':_0x164625,'hooksEnabled':_0x5af3d3}),await _0x5dbae8[_0x58bf03(0xc9)](_0x5b53de[_0x58bf03(0xb9)]);}catch{}if(_0x5af3d3){const _0x9c7be=getCurrentBranch(),_0xc500e=_0x9c7be&&_0x5b53de[_0x58bf03(0xb7)](_0x9c7be,'main')&&_0x5b53de[_0x58bf03(0xc4)](_0x9c7be,_0x5b53de[_0x58bf03(0xc8)])?'\x20(Branch:\x20'+_0x9c7be+')':'',_0x459425={'hookSpecificOutput':{'hookEventName':_0x5b53de[_0x58bf03(0xc1)],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0xc500e}};console['log'](JSON['stringify'](_0x459425));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4941(){const _0x355bd0=['50466NrqDEW','JAHTG','trackCommandEnd','2683576VhHTWw','2652620BbMxgP','https://dashboard.ranger.net/features/','currentSessionId','4kTxHqN','wDbHb','DUvAx','91bZMvKz','JFBmB','4761060lngbjP','incomplete','1592568XbRhVf','NQyHD','some','106362lPxODI','21DKZEPA','featureId','2948703OwRLVu','checklistItems','trackCommandStart','success','sessionId','Stop','hook:stop','status','blocked'];_0x4941=function(){return _0x355bd0;};return _0x4941();}function _0x4c95(_0x3b19c2,_0x39c782){_0x3b19c2=_0x3b19c2-0x127;const _0x4941ba=_0x4941();let _0x4c954b=_0x4941ba[_0x3b19c2];return _0x4c954b;}(function(_0x502cd3,_0x3ef567){const _0x4e7d06=_0x4c95,_0x19a4e5=_0x502cd3();while(!![]){try{const _0x59e530=-parseInt(_0x4e7d06(0x12a))/0x1*(-parseInt(_0x4e7d06(0x135))/0x2)+parseInt(_0x4e7d06(0x12c))/0x3+-parseInt(_0x4e7d06(0x13c))/0x4*(parseInt(_0x4e7d06(0x139))/0x5)+-parseInt(_0x4e7d06(0x129))/0x6*(parseInt(_0x4e7d06(0x13f))/0x7)+-parseInt(_0x4e7d06(0x138))/0x8+-parseInt(_0x4e7d06(0x143))/0x9+parseInt(_0x4e7d06(0x141))/0xa;if(_0x59e530===_0x3ef567)break;else _0x19a4e5['push'](_0x19a4e5['shift']());}catch(_0x204b48){_0x19a4e5['push'](_0x19a4e5['shift']());}}}(_0x4941,0xaeb06));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x25a4fc){const _0x56ab3b=_0x4c95,_0x249111={'JAHTG':function(_0x2b0098,_0xe7e734,_0x46fa98,_0x524fa2){return _0x2b0098(_0xe7e734,_0x46fa98,_0x524fa2);},'wDbHb':function(_0x1354ef){return _0x1354ef();},'LKdqw':function(_0x5cba51,_0x3b9474){return _0x5cba51(_0x3b9474);},'JFBmB':function(_0x5f3f76,_0x3a7b32){return _0x5f3f76&&_0x3a7b32;},'DUvAx':function(_0x465903,_0x262bc4,_0x2d46d2){return _0x465903(_0x262bc4,_0x2d46d2);},'PMmRp':function(_0x5d62d8,_0x1da710,_0x1acf0b,_0x12abe0){return _0x5d62d8(_0x1da710,_0x1acf0b,_0x12abe0);},'NQyHD':function(_0x3f9880,_0x3ab2ac,_0x2accac,_0x223be8){return _0x3f9880(_0x3ab2ac,_0x2accac,_0x223be8);}},_0x491943=await getEnabledHookContext(_0x25a4fc),_0xa3834=_0x491943?.['sessionId']??null;let _0x5b0d6e=!![];if(!_0xa3834){await _0x249111[_0x56ab3b(0x136)](trackStop,_0xa3834,![],_0x5b0d6e);return;}try{const _0x281e7c=getSessionEntry(_0xa3834);if(!_0x281e7c){await _0x249111[_0x56ab3b(0x136)](trackStop,_0xa3834,!![],_0x5b0d6e);return;}const _0x517776=await _0x249111[_0x56ab3b(0x13d)](getToken),_0x5d86fb=_0x56ab3b(0x13a)+_0x281e7c[_0x56ab3b(0x12b)];let _0x31c3c1=null,_0xf99361=![],_0x1a780c=![];if(_0x517776)try{const _0x4b139b=await _0x249111['LKdqw'](getFeature,_0x281e7c[_0x56ab3b(0x12b)]);_0x31c3c1=_0x4b139b[_0x56ab3b(0x13b)]??null;const _0x15b082=_0x4b139b[_0x56ab3b(0x12d)]['filter'](_0x1d310f=>_0x1d310f[_0x56ab3b(0x130)]===_0x31c3c1);_0xf99361=_0x15b082['some'](_0xf49bc9=>_0xf49bc9[_0x56ab3b(0x133)]!=='verified'&&_0xf49bc9[_0x56ab3b(0x133)]!==_0x56ab3b(0x134)&&_0xf49bc9['status']!=='closed'&&_0xf49bc9['status']!==_0x56ab3b(0x142)),_0x1a780c=_0x15b082[_0x56ab3b(0x128)](_0x26d860=>_0x26d860['status']==='verification_in_progress');}catch{}if(_0x517776&&_0x31c3c1&&_0xf99361){if(!_0x1a780c&&_0x249111['LKdqw'](shouldShowStopReminder,_0xa3834)){const _0x5c2817={'hookSpecificOutput':{'hookEventName':_0x56ab3b(0x131),'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x5d86fb}};console['log'](JSON['stringify'](_0x5c2817));}}if(_0x249111[_0x56ab3b(0x140)](_0x517776,_0x31c3c1)&&!_0xf99361)try{await _0x249111[_0x56ab3b(0x13e)](concludeSession,_0x281e7c[_0x56ab3b(0x12b)],_0x31c3c1);}catch{}await _0x249111['PMmRp'](trackStop,_0xa3834,!![],_0x5b0d6e);return;}catch{await _0x249111[_0x56ab3b(0x127)](trackStop,_0xa3834,!![],_0x5b0d6e);return;}}async function trackStop(_0x355da1,_0x52ce4f,_0x351285){const _0x2eafe1=_0x4c95;try{const _0x488665=createTelemetryCollector(_0x2eafe1(0x132));await _0x488665[_0x2eafe1(0x12e)]({'sessionId':_0x355da1??undefined,'hooksEnabled':_0x52ce4f,'stopAllowed':_0x351285}),await _0x488665[_0x2eafe1(0x137)](_0x2eafe1(0x12f));}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x318149,_0x59e3e8){var _0xa4edd4=_0x49f2,_0x9c6691=_0x318149();while(!![]){try{var _0xf1d736=-parseInt(_0xa4edd4(0x1d6))/0x1+-parseInt(_0xa4edd4(0x1cf))/0x2*(-parseInt(_0xa4edd4(0x1ce))/0x3)+parseInt(_0xa4edd4(0x1d5))/0x4+parseInt(_0xa4edd4(0x1d2))/0x5+parseInt(_0xa4edd4(0x1d0))/0x6+parseInt(_0xa4edd4(0x1d3))/0x7*(parseInt(_0xa4edd4(0x1d4))/0x8)+-parseInt(_0xa4edd4(0x1cd))/0x9*(parseInt(_0xa4edd4(0x1d1))/0xa);if(_0xf1d736===_0x59e3e8)break;else _0x9c6691['push'](_0x9c6691['shift']());}catch(_0x530250){_0x9c6691['push'](_0x9c6691['shift']());}}}(_0x78e5,0x7555b));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x78e5(){var _0x4d6b48=['974316ervoKS','30EnPyQG','2288395eatkIi','28JzRNWQ','350920YptsAw','1132536FbkoHX','833240mCOkvo','15786jBFvsd','360669pckwPm','4CLAXfA'];_0x78e5=function(){return _0x4d6b48;};return _0x78e5();}export{useEnv}from'./useEnv.js';function _0x49f2(_0x28eb67,_0x9716e9){_0x28eb67=_0x28eb67-0x1cd;var _0x78e504=_0x78e5();var _0x49f226=_0x78e504[_0x28eb67];return _0x49f226;}export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|