@ranger-testing/ranger-cli 3.1.6-alpha.aca5f9c-53 → 3.1.7-alpha.62f152a-54
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/scenarioOriginCheck.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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x17361c=_0xa5d3;(function(_0x25a98b,_0x3acd01){const _0x22a390=_0xa5d3,_0x47ac55=_0x25a98b();while(!![]){try{const _0x23becd=parseInt(_0x22a390(0x139))/0x1*(-parseInt(_0x22a390(0x141))/0x2)+parseInt(_0x22a390(0xd5))/0x3*(parseInt(_0x22a390(0xce))/0x4)+parseInt(_0x22a390(0x124))/0x5*(-parseInt(_0x22a390(0xd6))/0x6)+-parseInt(_0x22a390(0xbf))/0x7*(parseInt(_0x22a390(0x118))/0x8)+parseInt(_0x22a390(0x131))/0x9+-parseInt(_0x22a390(0x101))/0xa+parseInt(_0x22a390(0x117))/0xb;if(_0x23becd===_0x3acd01)break;else _0x47ac55['push'](_0x47ac55['shift']());}catch(_0x52c13c){_0x47ac55['push'](_0x47ac55['shift']());}}}(_0x4ce9,0x260cc));function _0xa5d3(_0x565ce6,_0x5e80b6){_0x565ce6=_0x565ce6-0xa9;const _0x4ce99b=_0x4ce9();let _0xa5d393=_0x4ce99b[_0x565ce6];return _0xa5d393;}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x3ea057 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=_0x16a36c=>_0x17361c(0x133)+_0x16a36c+'\x1b[0m';function getGitRepoUrl(){const _0x5b928e=_0x17361c,_0x10f081={'SgKAw':'git\x20remote\x20get-url\x20origin','pYWiJ':_0x5b928e(0xfc),'ByDZp':'github.com/'};try{const _0x443f1d=execSync(_0x10f081[_0x5b928e(0x128)],{'encoding':_0x10f081[_0x5b928e(0xf4)],'stdio':[_0x5b928e(0xae),_0x5b928e(0xae),'pipe']})[_0x5b928e(0x108)]();return _0x443f1d[_0x5b928e(0x17b)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x10f081['ByDZp'])[_0x5b928e(0x17b)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x1af5ba=_0x17361c,_0x5bdd2d={'jXEqr':function(_0x31c56b,_0x5ff175,_0x279908){return _0x31c56b(_0x5ff175,_0x279908);},'xBPsf':_0x1af5ba(0xfc),'UtjtS':_0x1af5ba(0xae)};try{return _0x5bdd2d[_0x1af5ba(0x114)](execSync,_0x1af5ba(0x16f),{'encoding':_0x5bdd2d['xBPsf'],'stdio':[_0x5bdd2d[_0x1af5ba(0x10f)],_0x5bdd2d['UtjtS'],_0x1af5ba(0xae)]})[_0x1af5ba(0x108)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x492719=_0x17361c,_0x3f9571={'lkoeh':function(_0x32706d,_0x494fcb,_0x5c0dda){return _0x32706d(_0x494fcb,_0x5c0dda);},'afLAu':_0x492719(0xfc)},_0xcca7fc=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xcca7fc))return null;try{const _0x4e533a=await _0x3f9571['lkoeh'](readFile,_0xcca7fc,_0x3f9571['afLAu']);return _0x4e533a['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0xe14dba){const _0x1ddf05=getRangerDir(),_0x100a17=join(_0x1ddf05,ACTIVE_FEATURE_FILE);!existsSync(_0x1ddf05)&&await mkdir(_0x1ddf05,{'recursive':!![]}),await writeFile(_0x100a17,_0xe14dba,'utf-8');}function getProgressDisplay(_0x24b225){const _0x99c606=_0x17361c,_0xa0e579={'fecln':function(_0x4f2c37,_0x2b252a){return _0x4f2c37+_0x2b252a;},'BCLRU':function(_0x16ad46,_0xdd5806){return _0x16ad46*_0xdd5806;},'gASVK':function(_0x297d5d,_0x1e6401){return _0x297d5d-_0x1e6401;},'ZcEZK':function(_0x14849c,_0x3149e4){return _0x14849c>_0x3149e4;}},_0x55e752=_0x24b225['verifiedItems']||0x0,_0x942f65=_0x24b225[_0x99c606(0xe1)]||0x0,_0x5420d9=_0x24b225[_0x99c606(0x13a)]||0x0,_0x2e90d5=_0x24b225['incompleteItems']||0x0,_0x3a4a43=_0x24b225[_0x99c606(0xc4)]||0x0,_0x4940f6=_0xa0e579[_0x99c606(0x151)](_0x55e752+_0x942f65,_0x5420d9)+_0x2e90d5+_0x3a4a43;if(_0x4940f6===0x0)return'-';const _0x42fe04=0xa,_0x4a19fc=Math['round'](_0xa0e579[_0x99c606(0x162)](_0x55e752/_0x4940f6,_0x42fe04)),_0x1c1f46='█'[_0x99c606(0xee)](_0x4a19fc)+'░'['repeat'](_0xa0e579[_0x99c606(0xb3)](_0x42fe04,_0x4a19fc)),_0x2f979d=[];if(_0xa0e579[_0x99c606(0xda)](_0x5420d9,0x0))_0x2f979d[_0x99c606(0xbe)](_0x5420d9+'\x20blocked');if(_0x2e90d5>0x0)_0x2f979d['push'](_0x2e90d5+_0x99c606(0xcd));if(_0x942f65>0x0)_0x2f979d[_0x99c606(0xbe)](_0x942f65+_0x99c606(0x188));const _0x163b13=_0xa0e579['ZcEZK'](_0x2f979d['length'],0x0)?'\x20('+_0x2f979d[_0x99c606(0xab)](',\x20')+')':'';return _0x1c1f46+'\x20'+_0x55e752+'/'+_0x4940f6+_0x99c606(0x158)+_0x163b13;}function getCurrentSessionItems(_0xfac0d0,_0x270368){const _0x6ca77a=_0x17361c;if(!_0xfac0d0[_0x6ca77a(0x15c)])return _0x270368['filter'](_0x16f098=>!_0x16f098['sessionId']);return _0x270368[_0x6ca77a(0xf8)](_0x4dc206=>_0x4dc206[_0x6ca77a(0xd7)]===_0xfac0d0[_0x6ca77a(0x15c)]||!_0x4dc206['sessionId']);}function displayFeature(_0x232bcd,_0x46bddd){const _0x34b553=_0x17361c,_0x1789b1={'xefqu':function(_0x55575,_0x14d18f){return _0x55575<_0x14d18f;},'ukQfy':function(_0x5214d3,_0x3e7814){return _0x5214d3===_0x3e7814;},'FKxfB':function(_0x105a45,_0x2ff4fd){return _0x105a45===_0x2ff4fd;},'ipfEa':'blocked','CBJqt':_0x34b553(0xfb),'vEFJC':function(_0xee6e16,_0x50ce1b){return _0xee6e16===_0x50ce1b;},'Ybukc':_0x34b553(0xb6),'pthZt':function(_0x244c2b,_0x50d5b9){return _0x244c2b>_0x50d5b9;},'iGHLt':function(_0x183644,_0xa49b2f){return _0x183644!==_0xa49b2f;},'eTwBT':_0x34b553(0xbc),'ixDtS':function(_0xe6f2e9,_0x4865e1){return _0xe6f2e9+_0x4865e1;},'tRgQp':function(_0x271630,_0x3e9b0b){return _0x271630===_0x3e9b0b;},'ZrroR':_0x34b553(0x150),'NSCEF':_0x34b553(0xec),'iiJlW':function(_0x1163d6,_0x44cda8){return _0x1163d6===_0x44cda8;}};console['log']('\x0a'+_0x232bcd['name']+'\x20('+_0x232bcd[_0x34b553(0x121)]+')');_0x232bcd[_0x34b553(0x125)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x232bcd[_0x34b553(0x125)]));_0x232bcd[_0x34b553(0x12d)]&&console['log'](_0x34b553(0xde)+_0x232bcd[_0x34b553(0x12d)]);_0x232bcd['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x232bcd[_0x34b553(0x12a)]);_0x232bcd[_0x34b553(0x119)]&&console['log'](_0x34b553(0x11a)+_0x232bcd['gitBranch']);console[_0x34b553(0x16c)](_0x34b553(0xeb)+new Date(_0x232bcd['createdAt'])['toLocaleString']());_0x232bcd['completedAt']&&console[_0x34b553(0x16c)](_0x34b553(0x14b)+new Date(_0x232bcd['completedAt'])[_0x34b553(0xfe)]());if(_0x46bddd&&_0x46bddd[_0x34b553(0x140)]>0x0){console[_0x34b553(0x16c)](_0x34b553(0x122));for(let _0x3dd1fa=0x0;_0x1789b1['xefqu'](_0x3dd1fa,_0x46bddd['length']);_0x3dd1fa++){const _0x13ad6a=_0x46bddd[_0x3dd1fa];let _0x1ee845;if(_0x13ad6a[_0x34b553(0xaa)]===_0x34b553(0xfb)&&_0x1789b1['ukQfy'](_0x13ad6a['terminalReason'],'approved'))_0x1ee845='✅';else{if(_0x1789b1['FKxfB'](_0x13ad6a[_0x34b553(0xaa)],_0x34b553(0x129)))_0x1ee845='🟢';else{if(_0x1789b1[_0x34b553(0x10e)](_0x13ad6a[_0x34b553(0xaa)],_0x34b553(0x150)))_0x1ee845='🟠';else{if(_0x13ad6a['status']===_0x1789b1[_0x34b553(0x175)])_0x1ee845='🛑';else{if(_0x13ad6a[_0x34b553(0xaa)]===_0x1789b1[_0x34b553(0x11c)])_0x1ee845='⛔';else _0x1789b1[_0x34b553(0x15f)](_0x13ad6a[_0x34b553(0xaa)],_0x1789b1[_0x34b553(0x11d)])?_0x1ee845='⏳':_0x1ee845='⬜';}}}}const _0x91d3c6=_0x13ad6a[_0x34b553(0x12b)]>0x1?'\x20(v'+_0x13ad6a[_0x34b553(0x12b)]+')':'',_0x3eaf19=_0x1789b1['pthZt'](_0x13ad6a['version'],0x1)&&_0x13ad6a['parentItemId']&&_0x1789b1[_0x34b553(0xe2)](_0x13ad6a[_0x34b553(0xaa)],_0x1789b1[_0x34b553(0x11c)])&&_0x13ad6a[_0x34b553(0xaa)]!=='verified'?_0x1789b1['eTwBT']:'';console[_0x34b553(0x16c)]('\x20\x20\x20'+_0x1789b1['ixDtS'](_0x3dd1fa,0x1)+'.\x20'+_0x1ee845+'\x20'+_0x13ad6a[_0x34b553(0x12d)]+_0x91d3c6+_0x3eaf19);_0x13ad6a['status']==='blocked'&&_0x13ad6a['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x13ad6a[_0x34b553(0xf3)]);_0x1789b1[_0x34b553(0x17f)](_0x13ad6a[_0x34b553(0xaa)],_0x1789b1['ZrroR'])&&_0x13ad6a[_0x34b553(0x156)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x13ad6a[_0x34b553(0x156)]);if(_0x13ad6a[_0x34b553(0xaa)]==='closed'&&_0x1789b1['vEFJC'](_0x13ad6a[_0x34b553(0x170)],_0x1789b1['NSCEF']))console['log'](_0x34b553(0x15a));else _0x1789b1[_0x34b553(0xe0)](_0x13ad6a[_0x34b553(0xaa)],'closed')&&_0x13ad6a['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x13ad6a[_0x34b553(0x12f)]);}}}export async function featureCreate(_0x4e6789,_0x58b31d){const _0x509a7c=_0x17361c,_0x625fe2={'kcYpi':function(_0x36e09c){return _0x36e09c();},'HXgRE':function(_0x5c653a,_0x3544f4){return _0x5c653a===_0x3544f4;},'aiiJr':function(_0x146090,_0x434406){return _0x146090(_0x434406);},'zPqIV':function(_0x3a2b99,_0x10de4d,_0x5bbaf1){return _0x3a2b99(_0x10de4d,_0x5bbaf1);},'fTRIV':function(_0x3fb2e7,_0x196c26,_0x1f0256){return _0x3fb2e7(_0x196c26,_0x1f0256);}},{envNames:_0x75e01e}=await _0x625fe2['kcYpi'](getEnvNames);if(_0x625fe2[_0x509a7c(0x168)](_0x75e01e['length'],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x3f0245=0x0;try{_0x3f0245=(await _0x625fe2[_0x509a7c(0x111)](listCloudProfiles))['length'];}catch{_0x3f0245=0x1;}_0x3f0245===0x0&&console['warn']('\x0a'+_0x625fe2['aiiJr'](formatProfileRequiredMessage,_0x50b69d=>bold(_0x50b69d)));}const _0x3a1270=_0x58b31d['scenarios']?_0x58b31d[_0x509a7c(0x187)][_0x509a7c(0x143)](_0x795446=>_0x795446[_0x509a7c(0x108)]()):[],_0x19ecb1=_0x625fe2[_0x509a7c(0x111)](getGitRepoUrl),_0x492a7d=_0x625fe2['kcYpi'](getGitBranch);console[_0x509a7c(0x16c)]('\x0aCreating\x20feature\x20review...');const _0x564d29=await _0x625fe2['aiiJr'](createFeature,{'name':_0x4e6789,'description':_0x58b31d[_0x509a7c(0x12d)],'checklist':_0x3a1270,'gitRepoUrl':_0x19ecb1,'gitBranch':_0x492a7d});await _0x625fe2[_0x509a7c(0x11b)](setActiveFeatureId,_0x564d29['id']),await tryStartCurrentSession(_0x564d29['id']);const _0x57bf0d=process['env']['CLAUDE_SESSION_ID'];_0x57bf0d&&_0x625fe2[_0x509a7c(0x138)](registerSession,_0x57bf0d,_0x564d29['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x564d29['id']),_0x625fe2['fTRIV'](displayFeature,_0x564d29,_0x564d29['checklistItems']),console['log'](_0x509a7c(0x159));}export async function featureList(_0x78afff){const _0x33a8d4=_0x17361c,_0x5cc9c5={'SjWhm':function(_0x1813f1,_0x177200){return _0x1813f1>_0x177200;},'gVGCc':function(_0x5b4d57,_0x4a3ccf){return _0x5b4d57(_0x4a3ccf);}},_0x1a6233={'limit':_0x78afff[_0x33a8d4(0xc2)]??0xa,'offset':_0x78afff[_0x33a8d4(0xb9)]??0x0,'includeDeleted':_0x78afff[_0x33a8d4(0xd8)]};_0x78afff['currentBranch']&&(_0x1a6233['gitRepoUrl']=getGitRepoUrl(),_0x1a6233[_0x33a8d4(0x119)]=getGitBranch());const _0x3aee20=await listFeatures(_0x1a6233);if(_0x3aee20[_0x33a8d4(0x126)]['length']===0x0){console['log'](_0x33a8d4(0x181));return;}const _0x3c06f1=_0x5cc9c5['SjWhm'](_0x3aee20[_0x33a8d4(0xe8)],_0x3aee20['items'][_0x33a8d4(0x140)])?'Showing\x20'+_0x3aee20[_0x33a8d4(0x126)]['length']+_0x33a8d4(0x165)+_0x3aee20[_0x33a8d4(0xe8)]:_0x3aee20['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x33a8d4(0x16c)]('\x0a'+_0x3c06f1+':\x0a');for(const _0xecf95c of _0x3aee20['items']){console[_0x33a8d4(0x16c)](''+_0xecf95c[_0x33a8d4(0xcb)]),console[_0x33a8d4(0x16c)](_0x33a8d4(0x103)+_0xecf95c['id']),_0xecf95c[_0x33a8d4(0x125)]&&console['log'](_0x33a8d4(0xc6)+_0x5cc9c5[_0x33a8d4(0x107)](getProgressDisplay,_0xecf95c['stats'])),_0xecf95c[_0x33a8d4(0x119)]&&console[_0x33a8d4(0x16c)](_0x33a8d4(0x11a)+_0xecf95c[_0x33a8d4(0x119)]),console[_0x33a8d4(0x16c)](_0x33a8d4(0xeb)+new Date(_0xecf95c['createdAt'])[_0x33a8d4(0xb5)]()),console['log']('');}const _0x3bc7d3=_0x1a6233[_0x33a8d4(0xc2)]??0xa,_0x49ef16=(_0x1a6233['offset']??0x0)+_0x3aee20['items'][_0x33a8d4(0x140)];if(_0x49ef16<_0x3aee20[_0x33a8d4(0xe8)]){const _0x10b341=_0x3bc7d3!==0xa?'\x20--limit\x20'+_0x3bc7d3:'',_0x55e93d=_0x78afff[_0x33a8d4(0x120)]?_0x33a8d4(0xd0):'',_0x773c75=_0x78afff[_0x33a8d4(0xd8)]?_0x33a8d4(0x10c):'';console[_0x33a8d4(0x16c)](_0x33a8d4(0x176)+_0x49ef16+_0x10b341+_0x55e93d+_0x773c75);}}export async function featureShow(_0x379dcb){const _0x20be30=_0x17361c,_0x3a3ccb={'MaGwx':_0x20be30(0x157),'RvPdT':function(_0x233bd3,_0x57588a,_0x566fb9){return _0x233bd3(_0x57588a,_0x566fb9);}},_0x5574e0=_0x379dcb||await getActiveFeatureId();if(!_0x5574e0)throw new Error(_0x3a3ccb['MaGwx']);const _0x5c311d=await getFeature(_0x5574e0);_0x3a3ccb['RvPdT'](displayFeature,_0x5c311d,_0x5c311d['checklistItems']);}export async function featureResume(_0x31fc3d){const _0x27d38e=_0x17361c,_0x2b256f={'fyRpo':function(_0x33f2c5,_0x34832f){return _0x33f2c5(_0x34832f);},'MDuLu':function(_0x55423d){return _0x55423d();},'UrQLQ':function(_0x4faa90,_0x1439e5,_0x302202){return _0x4faa90(_0x1439e5,_0x302202);},'AOEOc':function(_0x3cdb96,_0x55c9eb){return _0x3cdb96(_0x55c9eb);},'iEpxU':function(_0x282bcd,_0x375e1b,_0x4246ce){return _0x282bcd(_0x375e1b,_0x4246ce);},'XmdDN':function(_0x33152a){return _0x33152a();},'QRlIZ':'Not\x20in\x20a\x20git\x20repository.','cRnzS':function(_0x176b0c,_0x5c91df){return _0x176b0c||_0x5c91df;},'GnCBH':'any','OYLbM':function(_0x347cb0,_0x23139c){return _0x347cb0===_0x23139c;},'ElYYc':_0x27d38e(0xf9),'bccLn':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','nZqFK':_0x27d38e(0x12e),'laisT':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','AmcOj':function(_0x184a14,_0x2ac0d3){return _0x184a14(_0x2ac0d3);},'qtyvV':function(_0x49aa53,_0x922962){return _0x49aa53(_0x922962);},'YZuXS':function(_0x12882a,_0x3727dd,_0x24399c){return _0x12882a(_0x3727dd,_0x24399c);}};if(_0x31fc3d){const _0x3d461e=await getFeature(_0x31fc3d);await _0x2b256f['fyRpo'](setActiveFeatureId,_0x3d461e['id']);const _0x41c992=_0x2b256f['MDuLu'](getGitBranch);_0x41c992&&_0x41c992!==_0x3d461e['gitBranch']&&(await _0x2b256f[_0x27d38e(0x177)](updateFeature,_0x3d461e['id'],{'gitBranch':_0x41c992}),console[_0x27d38e(0x16c)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x41c992));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3d461e[_0x27d38e(0xcb)]+'\x20('+_0x3d461e['id']+')'),await _0x2b256f[_0x27d38e(0x148)](tryStartCurrentSession,_0x3d461e['id']);const _0x3ceadd=process[_0x27d38e(0xbb)]['CLAUDE_SESSION_ID'];_0x3ceadd&®isterSession(_0x3ceadd,_0x3d461e['id']);_0x2b256f[_0x27d38e(0x183)](displayFeature,_0x3d461e,_0x3d461e['checklistItems']),await _0x2b256f['fyRpo'](printFeedbackNudge,_0x3d461e['id']);return;}const _0x3a281f=_0x2b256f['MDuLu'](getGitRepoUrl),_0x1a9553=_0x2b256f['XmdDN'](getGitBranch);if(!_0x3a281f&&!_0x1a9553)throw new Error(_0x2b256f['QRlIZ']);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x2b256f[_0x27d38e(0xaf)](_0x3a281f,_0x2b256f[_0x27d38e(0x14d)])+_0x27d38e(0x173)+(_0x1a9553||_0x27d38e(0xa9))+_0x27d38e(0x152));const _0x12e199=await _0x2b256f['AOEOc'](listFeatures,{'gitRepoUrl':_0x3a281f,'gitBranch':_0x1a9553}),_0x26a3bc=_0x12e199[_0x27d38e(0x126)]['filter'](_0x58dcfb=>_0x58dcfb['status']?_0x58dcfb['status']!==_0x27d38e(0x129):!_0x58dcfb['completedAt']);if(_0x2b256f[_0x27d38e(0xf5)](_0x26a3bc['length'],0x0)){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x27d38e(0x16c)](_0x2b256f['ElYYc']);return;}let _0x32d97f;if(_0x2b256f[_0x27d38e(0xf5)](_0x26a3bc[_0x27d38e(0x140)],0x1))_0x32d97f=_0x26a3bc[0x0];else{const _0x1227e3=process[_0x27d38e(0xb0)]['isTTY']&&process['stdout']['isTTY'];if(!_0x1227e3){console[_0x27d38e(0x16c)](_0x2b256f[_0x27d38e(0x102)]);for(const _0x3b6fab of _0x26a3bc){console['log']('\x20\x20'+_0x3b6fab['name']),console[_0x27d38e(0x16c)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3b6fab['id']),_0x3b6fab['stats']&&console[_0x27d38e(0x16c)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x2b256f[_0x27d38e(0x149)](getProgressDisplay,_0x3b6fab['stats'])),_0x3b6fab[_0x27d38e(0x119)]&&console['log'](_0x27d38e(0xad)+_0x3b6fab['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x56a86b}=await _0x3ea057['prompt']([{'type':_0x2b256f[_0x27d38e(0xdd)],'name':'selected','message':_0x2b256f['laisT'],'choices':_0x26a3bc[_0x27d38e(0x143)](_0x16a9f4=>({'name':_0x16a9f4['name']+'\x20('+_0x16a9f4['id']+')','value':_0x16a9f4['id']}))}]);_0x32d97f=_0x26a3bc['find'](_0x37157d=>_0x37157d['id']===_0x56a86b);}await _0x2b256f['AmcOj'](setActiveFeatureId,_0x32d97f['id']);_0x1a9553&&_0x1a9553!==_0x32d97f['gitBranch']&&(await _0x2b256f['UrQLQ'](updateFeature,_0x32d97f['id'],{'gitBranch':_0x1a9553}),console['log'](_0x27d38e(0xfa)+_0x1a9553));console['log'](_0x27d38e(0xf6)+_0x32d97f[_0x27d38e(0xcb)]+'\x20('+_0x32d97f['id']+')'),await tryStartCurrentSession(_0x32d97f['id']);const _0x4e6360=await _0x2b256f[_0x27d38e(0x186)](getFeature,_0x32d97f['id']),_0x15bc37=process[_0x27d38e(0xbb)]['CLAUDE_SESSION_ID'];_0x15bc37&&_0x2b256f['YZuXS'](registerSession,_0x15bc37,_0x4e6360['id']),_0x2b256f['UrQLQ'](displayFeature,_0x4e6360,_0x4e6360[_0x27d38e(0x16d)]),await printFeedbackNudge(_0x4e6360['id']);}async function printFeedbackNudge(_0x580a15){const _0x5b1f26=_0x17361c,_0x1f6468={'vvADo':function(_0x917270,_0x42f970){return _0x917270>_0x42f970;},'HGEgM':_0x5b1f26(0x135)};try{const {items:_0x32bbc5}=await getActionItems(_0x580a15);let _0x2c8508=0x0,_0x18aab1=0x0;for(const _0x5b14a9 of _0x32bbc5){const _0x408e76=await getItemFeedback(_0x580a15,_0x5b14a9['id']);_0x408e76['unaddressedComments'][_0x5b1f26(0x140)]>0x0&&(_0x2c8508+=_0x408e76['unaddressedComments']['length'],_0x18aab1++);}_0x1f6468[_0x5b1f26(0x144)](_0x2c8508,0x0)&&(console['log']('\x0a⚠️\x20\x20'+_0x2c8508+_0x5b1f26(0x14f)+_0x18aab1+'\x20scenario(s).'),console[_0x5b1f26(0x16c)](_0x1f6468[_0x5b1f26(0x164)]));}catch{}}async function tryStartCurrentSession(_0x59908f){const _0x2724f7=_0x17361c,_0x509cae={'TDZeV':function(_0x3d98d3,_0xd1bd67){return _0x3d98d3(_0xd1bd67);}};try{const {sessions:_0x13cbe2}=await _0x509cae[_0x2724f7(0x110)](listFeatureSessions,_0x59908f),_0x3aecd6=_0x13cbe2['find'](_0x30b53c=>_0x30b53c['status']===_0x2724f7(0xe3));_0x3aecd6&&(await startSession(_0x59908f,_0x3aecd6['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x3aecd6[_0x2724f7(0x146)]));}catch{}}export async function featureReport(_0x3a1df2,_0x1ad8f8){const _0x52a94b=_0x17361c,_0x97e0e5={'Libsi':_0x52a94b(0x136),'IBzHP':function(_0x2c7547,_0x332579,_0x140adc,_0xc4b8e0){return _0x2c7547(_0x332579,_0x140adc,_0xc4b8e0);},'fdtaH':function(_0x2dec7d){return _0x2dec7d();},'KjvZE':_0x52a94b(0x132),'yvSTY':function(_0x34ceec,_0x5ad612,_0x2dd59e){return _0x34ceec(_0x5ad612,_0x2dd59e);},'QHFeM':function(_0x117880,_0x6254ab,_0x348deb,_0x4e7b9f){return _0x117880(_0x6254ab,_0x348deb,_0x4e7b9f);}},_0x28fa41=_0x3a1df2||await getActiveFeatureId();if(!_0x28fa41)throw new Error(_0x97e0e5['Libsi']);console[_0x52a94b(0x16c)]('\x0aGenerating\x20report...');const _0x52815a=await getFeatureReportMarkdown(_0x28fa41,{'style':_0x1ad8f8['style']}),_0x16a047=_0x1ad8f8['output']||_0x97e0e5[_0x52a94b(0x166)](join,_0x97e0e5[_0x52a94b(0x174)](getRangerDir),_0x97e0e5['KjvZE'],_0x28fa41+_0x52a94b(0xdc)),_0x1d9e6d=_0x97e0e5['yvSTY'](join,_0x16a047,'..');!existsSync(_0x1d9e6d)&&await mkdir(_0x1d9e6d,{'recursive':!![]}),await _0x97e0e5[_0x52a94b(0x172)](writeFile,_0x16a047,_0x52815a,_0x52a94b(0xfc)),console[_0x52a94b(0x16c)]('\x0a✅\x20Report\x20generated:\x20'+_0x16a047);}function getScenarioResult(_0x2230bb){const _0x4ee103=_0x17361c,_0x5e3d2f={'ZkYlU':function(_0x3b689b,_0x5930f9){return _0x3b689b===_0x5930f9;},'XsxVy':'closed'};if(_0x5e3d2f[_0x4ee103(0xba)](_0x2230bb['status'],_0x5e3d2f[_0x4ee103(0x147)]))return _0x2230bb[_0x4ee103(0x170)]??_0x4ee103(0xfb);if(_0x5e3d2f[_0x4ee103(0xba)](_0x2230bb['status'],_0x4ee103(0xb6)))return _0x4ee103(0xc7);return _0x2230bb[_0x4ee103(0xaa)];}function getScenarioRationale(_0x3fdf04,_0x13cc01){const _0x185efd=_0x17361c;if(_0x13cc01)return _0x13cc01;if(_0x3fdf04['blockedReason'])return _0x3fdf04[_0x185efd(0xf3)];if(_0x3fdf04['incompleteReason'])return _0x3fdf04['incompleteReason'];if(_0x3fdf04['canceledReason'])return _0x3fdf04[_0x185efd(0x12f)];if(_0x3fdf04[_0x185efd(0x16b)])return _0x3fdf04['notes'];return null;}export async function featureReportPrDescription(_0x21cd7a,_0x16165b){const _0x415704=_0x17361c,_0x3dff2c={'QxhFM':function(_0x1dd6a2){return _0x1dd6a2();},'sKBxC':function(_0x54a9ef,_0x7cd0dc){return _0x54a9ef(_0x7cd0dc);},'FxEuc':function(_0x1bb825,_0x4e080f,_0x4751ca){return _0x1bb825(_0x4e080f,_0x4751ca);},'yGkUx':'\x0aAvailable\x20scenarios:','ZmSOz':function(_0x44df67,_0x1b4f0b){return _0x44df67===_0x1b4f0b;},'lBhXJ':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','Wzgqa':function(_0x551499,_0x380749,_0x5d54c3,_0x29cc01){return _0x551499(_0x380749,_0x5d54c3,_0x29cc01);}},_0x2d2d66=_0x21cd7a||await _0x3dff2c[_0x415704(0xc9)](getActiveFeatureId);if(!_0x2d2d66)throw new Error(_0x415704(0x136));const _0x4cbc14=await _0x3dff2c[_0x415704(0xd1)](getFeature,_0x2d2d66),_0x2e5d2f=_0x4cbc14['checklistItems']||[],_0x24305f=_0x3dff2c[_0x415704(0xb1)](getCurrentSessionItems,_0x4cbc14,_0x2e5d2f);_0x24305f['length']===0x0&&(console[_0x415704(0x14e)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0x415704(0xf7)](0x1));const _0x4d2d04=_0x16165b['excludeScenarios']??[],_0x168106=_0x4d2d04['filter'](_0x74bd6e=>!Number[_0x415704(0x10d)](_0x74bd6e)||_0x74bd6e<0x1||_0x74bd6e>_0x24305f['length']);if(_0x168106['length']>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x168106['join'](',\x20')),console[_0x415704(0x16c)](_0x3dff2c[_0x415704(0x13b)]);for(let _0x420100=0x0;_0x420100<_0x24305f['length'];_0x420100++){console[_0x415704(0x16c)]('\x20\x20'+(_0x420100+0x1)+'.\x20'+_0x24305f[_0x420100]['description']);}process['exit'](0x1);}const _0x2fed91=new Set(_0x4d2d04[_0x415704(0x143)](_0x1eaba7=>_0x1eaba7-0x1)),_0xf84273=_0x24305f['filter']((_0x4a773e,_0x39ab65)=>!_0x2fed91['has'](_0x39ab65));_0x3dff2c[_0x415704(0x105)](_0xf84273['length'],0x0)&&(console[_0x415704(0x14e)](_0x3dff2c['lBhXJ']),process['exit'](0x1));if(_0x16165b[_0x415704(0x130)])await _0x3dff2c[_0x415704(0x137)](outputJsonReport,_0x2d2d66,_0x4cbc14,_0xf84273);else{const _0xf46ce=await _0x3dff2c[_0x415704(0xb1)](getFeatureReportMarkdown,_0x2d2d66,{'itemIds':_0xf84273[_0x415704(0x143)](_0x1baa34=>_0x1baa34['id'])});process['stdout']['write'](_0xf46ce['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x18bb41,_0x2dfade,_0x466b6f){const _0x420dbe=_0x17361c,_0x52f2ca={'fKnRX':function(_0x3cc931,_0x24b787){return _0x3cc931(_0x24b787);},'pxFrV':function(_0x4a99d4,_0x1f8562,_0x2277d2){return _0x4a99d4(_0x1f8562,_0x2277d2);},'OHHkZ':function(_0x119fda){return _0x119fda();},'UFxNO':function(_0x593c30,_0x1c6e35){return _0x593c30+_0x1c6e35;}},_0x434d6c=_0x52f2ca[_0x420dbe(0xe7)](getApiBaseUrl),_0x5e8ec7=await getFeatureReport(_0x18bb41),_0x5b652e=new Map(_0x5e8ec7['checklistItems']['map'](_0x424ec2=>[_0x424ec2['id'],_0x424ec2])),_0x4547a5=await Promise[_0x420dbe(0x12c)](_0x466b6f['map'](async _0x393089=>{const _0x38585b=_0x420dbe,_0x31754e=_0x5b652e[_0x38585b(0x15e)](_0x393089['id']),_0x1d986a=_0x31754e?.[_0x38585b(0xe4)]??null;let _0x655c42=[];if(_0x393089['browserSessionId'])try{const {steps:_0x581239}=await getBrowserSessionSteps(_0x393089[_0x38585b(0x10a)]);_0x581239[_0x38585b(0x140)]>0x0&&(_0x655c42=_0x581239[_0x38585b(0x143)](_0x13202d=>{const _0x4df584=_0x38585b,_0xb93ac0=_0x13202d[_0x4df584(0xd2)]['find'](_0x5dee1b=>_0x5dee1b[_0x4df584(0x178)]===_0x4df584(0x11e)&&_0x5dee1b[_0x4df584(0xdb)]===_0x4df584(0x161))??_0x13202d['assets']['find'](_0x792d2a=>_0x792d2a[_0x4df584(0x178)]===_0x4df584(0x11e));let _0x84afed=null,_0x17e08b=null;if(_0xb93ac0){const _0x29dab3=_0xb93ac0[_0x4df584(0x180)][_0x4df584(0xc3)][_0x4df584(0x17a)]('/')[_0x4df584(0x106)]();_0x84afed=_0x434d6c+_0x4df584(0xfd)+_0x393089[_0x4df584(0x10a)]+_0x4df584(0x112)+_0x29dab3,_0x29dab3&&(_0x17e08b=_0x29dab3['replace'](/\.\w+$/,'')[_0x4df584(0x17b)](/^(key_)?\d+_/,'')[_0x4df584(0x17b)](/[-_]/g,'\x20'));}return{'description':_0x17e08b||_0x13202d[_0x4df584(0x12d)]||_0x13202d[_0x4df584(0xca)]||_0x4df584(0x14c)+_0x13202d[_0x4df584(0x17e)],'screenshot':_0x84afed,'is_key_step':_0x13202d['isKeyStep']};}));}catch{}return _0x655c42['length']===0x0&&_0x1d986a?.['screenshotUrls']&&(_0x655c42=_0x1d986a[_0x38585b(0x17c)][_0x38585b(0x143)]((_0x580650,_0x49b26f)=>({'description':_0x38585b(0x13e)+(_0x49b26f+0x1),'screenshot':_0x580650,'is_key_step':![]}))),{'description':_0x393089['description'],'result':_0x52f2ca['fKnRX'](getScenarioResult,_0x393089),'rationale':_0x52f2ca[_0x38585b(0x13f)](getScenarioRationale,_0x393089,_0x1d986a?.['agentResponse']),'steps':_0x655c42};})),_0x105c5a={'url':_0x2dfade['dashboardUrl'],'scenarios':_0x4547a5};process['stdout']['write'](_0x52f2ca[_0x420dbe(0xf0)](JSON['stringify'](_0x105c5a,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x30490b){const _0x4cfd9a=_0x17361c,_0x24ee3b={'BEVEQ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','lIsnD':function(_0x45a800,_0x52d459){return _0x45a800(_0x52d459);},'uRsrW':function(_0x884e35,_0x49f95b){return _0x884e35(_0x49f95b);},'vjfvO':_0x4cfd9a(0xc5),'oNzkj':'completed','oPnOC':function(_0x58adb9,_0xbf53e7){return _0x58adb9!==_0xbf53e7;},'IFnCk':function(_0x222742,_0x7bfed5,_0x65fcab){return _0x222742(_0x7bfed5,_0x65fcab);}},_0x164073=_0x30490b||await getActiveFeatureId();if(!_0x164073)throw new Error(_0x24ee3b[_0x4cfd9a(0xb8)]);const _0x543635=await _0x24ee3b['lIsnD'](getFeature,_0x164073);if(!_0x543635[_0x4cfd9a(0x15c)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x218202}=await _0x24ee3b['uRsrW'](listFeatureSessions,_0x164073),_0x527d13=_0x218202[_0x4cfd9a(0x13d)](_0x2efd91=>_0x2efd91['id']===_0x543635['currentSessionId']);if(!_0x527d13)throw new Error(_0x24ee3b['vjfvO']);if(_0x527d13[_0x4cfd9a(0xaa)]===_0x24ee3b[_0x4cfd9a(0x17d)]){console[_0x4cfd9a(0x16c)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x24ee3b['oPnOC'](_0x527d13[_0x4cfd9a(0xaa)],_0x4cfd9a(0xc7)))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x527d13['status']);console['log']('\x0aConcluding\x20session...'),await _0x24ee3b['IFnCk'](concludeSession,_0x164073,_0x543635[_0x4cfd9a(0x15c)]),console['log']('\x0a✅\x20Session\x20'+_0x527d13['iteration']+'\x20concluded.'),console[_0x4cfd9a(0x16c)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}function _0x4ce9(){const _0x56726a=['\x20\x20\x20Progress:\x20','in_progress','\x20—\x20no\x20comments','QxhFM','stepName','name','point','\x20incomplete','31144oafOEz','oACCv','\x20--current-branch','sKBxC','assets','unaddressedComments','authorName','3vyiYHm','189102QfpEFx','sessionId','includeDeleted','No\x20scenarios\x20found.','ZcEZK','timing','.md','nZqFK','\x20\x20\x20Description:\x20','content','iiJlW','verificationInProgressItems','iGHLt','ready','linkedSession','domRef','WMmBO','OHHkZ','totalCount','.png','NzCKF','\x20\x20\x20Created:\x20','approved','\x20scenarios.','repeat','scenario','UFxNO','coordinates','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','blockedReason','pYWiJ','OYLbM','\x0a✅\x20Resumed\x20feature\x20review:\x20','exit','filter','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20\x20\x20Updated\x20branch\x20to:\x20','closed','utf-8','/api/v1/mcp/browser-sessions/','toLocaleString','qeOCB','latestReview','2904820wYntnq','bccLn','\x20\x20\x20ID:\x20','lxvEG','ZmSOz','pop','gVGCc','trim','):\x20\x22','browserSessionId','\x20\x20✅\x20No\x20feedback\x20to\x20address','\x20--include-deleted','isInteger','ukQfy','UtjtS','TDZeV','kcYpi','/artifacts/','submittedAt','jXEqr','\x20(v','selector','8949325LNfWXE','456nZYjDU','gitBranch','\x20\x20\x20Branch:\x20','aiiJr','CBJqt','Ybukc','screenshot','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','currentBranch','dashboardUrl','\x0a\x20\x20\x20Scenarios:','toFixed','10qOAnIn','stats','items','TGikW','SgKAw','verified','gitRepoUrl','version','all','description','list','canceledReason','json','1485981HGUcMx','reports','\x1b[1m','.\x20Feature\x20review\x20has\x20','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Wzgqa','zPqIV','8692mhLQCo','blockedItems','yGkUx','comment_','find','Screenshot\x20','pxFrV','length','66QHaqGp','atTnm','map','vvADo','Please\x20finish\x20your\x20review\x20first:','iteration','XsxVy','AOEOc','fyRpo','UCHKd','\x20\x20\x20Completed:\x20','Step\x20','GnCBH','error','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','incomplete','fecln','...','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','type','feedback-images','incompleteReason','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20verified','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20\x20\x20\x20Approved','WLOqH','currentSessionId','completedAt','get','vEFJC','\x20Session\x20','after','BCLRU','\x20\x20💬\x20','HGEgM','\x20of\x20','IBzHP','\x20\x20Expected\x20flow:','HXgRE','slice','WYuZW','notes','log','checklistItems','BEFDi','git\x20rev-parse\x20--abbrev-ref\x20HEAD','terminalReason','createdAt','QHFeM','\x20/\x20','fdtaH','ipfEa','Next\x20page:\x20ranger\x20list\x20--offset\x20','UrQLQ','assetType','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','split','replace','screenshotUrls','oNzkj','position','tRgQp','storage','\x0aNo\x20feature\x20reviews\x20found.','\x0a❌\x20Invalid\x20scenario\x20index:\x20','iEpxU','eDYjT','haPUs','qtyvV','scenarios','\x20in\x20progress','any','status','join','element','\x20\x20\x20\x20\x20Branch:\x20','pipe','cRnzS','stdin','FxEuc','completed','gASVK',':\x20\x22','toLocaleDateString','verification_in_progress','DGKHT','BEVEQ','offset','ZkYlU','env','\x20[has\x20reviewer\x20feedback]','HsceL','push','23366BsqRvm','spatial','assetUrl','limit','location','pendingItems','Current\x20session\x20not\x20found.'];_0x4ce9=function(){return _0x56726a;};return _0x4ce9();}export async function featureSessions(_0x36929e){const _0x1e5f19=_0x17361c,_0x338567={'TGikW':function(_0x33c861){return _0x33c861();},'WMmBO':_0x1e5f19(0x136),'HKDPQ':function(_0xa3bbd3,_0xc8a557){return _0xa3bbd3===_0xc8a557;},'BEFDi':'No\x20sessions\x20found.','oACCv':_0x1e5f19(0xc7)},_0x6986d4=_0x36929e||await _0x338567[_0x1e5f19(0x127)](getActiveFeatureId);if(!_0x6986d4)throw new Error(_0x338567[_0x1e5f19(0xe6)]);const _0x4bdddd=await getFeature(_0x6986d4);console['log'](_0x1e5f19(0xf2)+_0x4bdddd['name']+'\x0a');const {sessions:_0x5e05f8}=await listFeatureSessions(_0x6986d4);if(_0x338567['HKDPQ'](_0x5e05f8['length'],0x0)){console[_0x1e5f19(0x16c)](_0x338567[_0x1e5f19(0x16e)]);return;}for(const _0xff6871 of _0x5e05f8){const _0x10b321=_0xff6871[_0x1e5f19(0xaa)]===_0x1e5f19(0xb2)?'✅':_0xff6871['status']===_0x338567[_0x1e5f19(0xcf)]?'🔄':'▶️';console['log'](_0x10b321+_0x1e5f19(0x160)+_0xff6871[_0x1e5f19(0x146)]+'\x20('+_0xff6871['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0xff6871[_0x1e5f19(0xaa)]),console['log'](_0x1e5f19(0xeb)+new Date(_0xff6871[_0x1e5f19(0x171)])[_0x1e5f19(0xfe)]()),_0xff6871[_0x1e5f19(0x15d)]&&console['log'](_0x1e5f19(0x14b)+new Date(_0xff6871['completedAt'])['toLocaleString']()),console[_0x1e5f19(0x16c)]('');}}export async function featureAddScenario(_0x1ccd48,_0x2daf4c){const _0x3c6d81=_0x17361c,_0x5edd67={'EMzdp':function(_0x22b4fe){return _0x22b4fe();},'lhMiN':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','gbeue':function(_0xfec47,_0x538b6e,_0x40c464){return _0xfec47(_0x538b6e,_0x40c464);},'lxvEG':function(_0x50da55,_0x569e18,_0x1498bf){return _0x50da55(_0x569e18,_0x1498bf);}},_0x1b1117=_0x2daf4c||await _0x5edd67['EMzdp'](getActiveFeatureId);if(!_0x1b1117)throw new Error(_0x5edd67['lhMiN']);const _0xea61e6=await getFeature(_0x1b1117);if(_0xea61e6['latestReview']&&!_0xea61e6[_0x3c6d81(0x100)][_0x3c6d81(0x113)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0xea61e6['dashboardUrl']);await _0x5edd67['gbeue'](createChecklistItem,_0x1b1117,_0x1ccd48);const _0x2a25cb=await getFeature(_0x1b1117);console['log']('\x0a✅\x20Scenario\x20added'),_0x5edd67[_0x3c6d81(0x104)](displayFeature,_0x2a25cb,_0x2a25cb[_0x3c6d81(0x16d)]);}export async function featureEditScenario(_0x4e4742,_0x2e1629){const _0x38b05b=_0x17361c,_0x56be7c={'aVhsG':_0x38b05b(0x153),'uccEH':function(_0x2316fe,_0x4e4859){return _0x2316fe(_0x4e4859);},'eDYjT':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','wOPkB':_0x38b05b(0x145),'WLOqH':function(_0x14b92a,_0x1a8c08){return _0x14b92a===_0x1a8c08;},'vdaav':_0x38b05b(0x11f),'QYVih':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','Qbavt':function(_0x1df2af,_0x5c4370){return _0x1df2af<_0x5c4370;},'HrYyi':function(_0x5688b4,_0x2925e1){return _0x5688b4<_0x2925e1;},'ruBMZ':function(_0x5c0c20,_0x3b664e){return _0x5c0c20+_0x3b664e;},'qTXdx':function(_0x304392,_0x5947c1){return _0x304392(_0x5947c1);}},_0xbf531b=_0x2e1629['id']||await getActiveFeatureId();!_0xbf531b&&(console['error'](_0x38b05b(0x179)),console['error'](_0x56be7c['aVhsG']),process['exit'](0x1));const _0x136bbb=await _0x56be7c['uccEH'](getFeature,_0xbf531b);_0x136bbb[_0x38b05b(0x100)]&&!_0x136bbb[_0x38b05b(0x100)][_0x38b05b(0x113)]&&(console[_0x38b05b(0x14e)](_0x56be7c[_0x38b05b(0x184)]),console['error'](_0x56be7c['wOPkB']),console[_0x38b05b(0x14e)]('\x20\x20'+_0x136bbb[_0x38b05b(0x121)]),process[_0x38b05b(0xf7)](0x1));const _0x4c6bdf=_0x136bbb[_0x38b05b(0x16d)]||[];_0x56be7c[_0x38b05b(0x15b)](_0x4c6bdf[_0x38b05b(0x140)],0x0)&&(console['error'](_0x56be7c['vdaav']),process[_0x38b05b(0xf7)](0x1));if(_0x2e1629[_0x38b05b(0xef)]===undefined){console[_0x38b05b(0x14e)](_0x56be7c['QYVih']),console[_0x38b05b(0x16c)]('\x0aAvailable\x20scenarios:');for(let _0x4cc497=0x0;_0x56be7c['Qbavt'](_0x4cc497,_0x4c6bdf[_0x38b05b(0x140)]);_0x4cc497++){console['log']('\x20\x20'+(_0x4cc497+0x1)+'.\x20'+_0x4c6bdf[_0x4cc497]['description']);}process[_0x38b05b(0xf7)](0x1);}const _0x23c010=_0x2e1629['scenario']-0x1;if(_0x56be7c['HrYyi'](_0x23c010,0x0)||_0x23c010>=_0x4c6bdf['length']){console[_0x38b05b(0x14e)](_0x38b05b(0x182)+_0x2e1629[_0x38b05b(0xef)]+_0x38b05b(0x134)+_0x4c6bdf['length']+_0x38b05b(0xed)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x1c70fe=0x0;_0x56be7c['HrYyi'](_0x1c70fe,_0x4c6bdf[_0x38b05b(0x140)]);_0x1c70fe++){console['log']('\x20\x20'+_0x56be7c['ruBMZ'](_0x1c70fe,0x1)+'.\x20'+_0x4c6bdf[_0x1c70fe]['description']);}process['exit'](0x1);}const _0x178fd6=_0x4c6bdf[_0x23c010];await updateChecklistItem(_0xbf531b,_0x178fd6['id'],{'description':_0x4e4742});const _0x3224f6=await _0x56be7c['qTXdx'](getFeature,_0xbf531b);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x3224f6,_0x3224f6[_0x38b05b(0x16d)]);}async function downloadFeedbackImage(_0x3eb193,_0x2e6640){const _0x531de6=_0x17361c,_0x4c8866={'lAboo':function(_0x557ae8){return _0x557ae8();},'LThaF':_0x531de6(0x155),'qeOCB':function(_0x47d952,_0x196fbd,_0x4cd8f6){return _0x47d952(_0x196fbd,_0x4cd8f6);}};try{const _0x685fe=join(_0x4c8866['lAboo'](getRangerDir),_0x4c8866['LThaF']);await _0x4c8866[_0x531de6(0xff)](mkdir,_0x685fe,{'recursive':!![]});const _0x273824=join(_0x685fe,_0x531de6(0x13c)+_0x2e6640+_0x531de6(0xe9)),_0x15317f=await fetch(_0x3eb193);if(!_0x15317f['ok'])return null;const _0x3b2796=Buffer['from'](await _0x15317f['arrayBuffer']());return await _0x4c8866['qeOCB'](writeFile,_0x273824,_0x3b2796),_0x273824;}catch{return null;}}export async function featureGetReview(_0x5819b3){const _0x5f3f2e=_0x17361c,_0x457842={'haPUs':function(_0x47f8fc){return _0x47f8fc();},'KFBHA':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HsceL':function(_0x3a8753,_0x2a2464){return _0x3a8753===_0x2a2464;},'aKgOG':_0x5f3f2e(0xd9),'raFJy':function(_0x433e4a,_0x13bdae){return _0x433e4a>_0x13bdae;},'DGKHT':'en-US','fsngP':'short','UCHKd':'\x20>\x20','UFqqb':_0x5f3f2e(0xac),'atTnm':function(_0x41f386,_0x2ec6b5){return _0x41f386>=_0x2ec6b5;}},_0xa3f7c9=_0x5819b3||await _0x457842[_0x5f3f2e(0x185)](getActiveFeatureId);if(!_0xa3f7c9)throw new Error(_0x457842['KFBHA']);const _0x4b672c=await getFeature(_0xa3f7c9),{items:_0x48441b}=await getActionItems(_0xa3f7c9);console[_0x5f3f2e(0x16c)]('\x0a📋\x20Feedback\x20for:\x20'+_0x4b672c['name']+'\x20('+_0x4b672c['id']+')\x0a');if(_0x457842[_0x5f3f2e(0xbd)](_0x48441b['length'],0x0)){console['log'](_0x457842['aKgOG']);return;}for(let _0x51d9ae=0x0;_0x51d9ae<_0x48441b['length'];_0x51d9ae++){const _0x1e4039=_0x48441b[_0x51d9ae],_0x2ccfe6=_0x1e4039[_0x5f3f2e(0x12b)]>0x1?_0x5f3f2e(0x115)+_0x1e4039[_0x5f3f2e(0x12b)]+')':'',_0xd556a8=await getItemFeedback(_0xa3f7c9,_0x1e4039['id']);if(_0x457842['raFJy'](_0xd556a8['unaddressedComments'][_0x5f3f2e(0x140)],0x0)){console['log']('Scenario\x20'+(_0x51d9ae+0x1)+_0x5f3f2e(0xb4)+_0x1e4039['description']+'\x22'+_0x2ccfe6+'\x20—\x20'+_0xd556a8['unaddressedComments']['length']+'\x20unaddressed\x20comment(s)');for(const _0xbfa419 of _0xd556a8[_0x5f3f2e(0xd3)]){const _0x42cff0=new Date(_0xbfa419['createdAt'])['toLocaleDateString'](_0x457842[_0x5f3f2e(0xb7)],{'month':_0x457842['fsngP'],'day':'numeric'}),_0x582565=_0xbfa419[_0x5f3f2e(0xd4)]||_0xbfa419['authorEmail']||'Unknown';console[_0x5f3f2e(0x16c)](_0x5f3f2e(0x163)+_0x582565+'\x20('+_0x42cff0+_0x5f3f2e(0x109)+_0xbfa419[_0x5f3f2e(0xdf)]+'\x22');if(_0xbfa419['assetUrl']){const _0x2f9031=await downloadFeedbackImage(_0xbfa419[_0x5f3f2e(0xc1)],_0xbfa419['id']);_0x2f9031&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x2f9031);}if(_0xbfa419['domRef']){const _0x48da60=_0xbfa419[_0x5f3f2e(0xe5)][_0x5f3f2e(0x116)][_0x5f3f2e(0x17a)](_0x457842[_0x5f3f2e(0x14a)])[_0x5f3f2e(0x106)]()?.[_0x5f3f2e(0x17a)](':')[0x0]||_0x457842['UFqqb'],_0x33a916=_0xbfa419[_0x5f3f2e(0xe5)]['textContent']?'\x20\x22'+_0xbfa419[_0x5f3f2e(0xe5)]['textContent'][_0x5f3f2e(0x169)](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x48da60+'>'+_0x33a916),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0xbfa419['domRef'][_0x5f3f2e(0x116)]);}else{if(_0xbfa419['spatial']){const _0x3b112b=_0xbfa419[_0x5f3f2e(0xc0)][_0x5f3f2e(0xf1)];_0xbfa419['spatial'][_0x5f3f2e(0x154)]===_0x5f3f2e(0xcc)&&_0x457842[_0x5f3f2e(0x142)](_0x3b112b['length'],0x2)?console[_0x5f3f2e(0x16c)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x3b112b[0x0][_0x5f3f2e(0x123)](0x2)+',\x20'+_0x3b112b[0x1][_0x5f3f2e(0x123)](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0xbfa419['spatial']['type']+'\x20at\x20['+_0x3b112b['map'](_0x37b1e2=>_0x37b1e2['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0xd556a8['canonicalFlow']){console[_0x5f3f2e(0x16c)](_0x5f3f2e(0x167));for(const _0x5e8b9c of _0xd556a8['canonicalFlow']['split']('\x0a')){console[_0x5f3f2e(0x16c)]('\x20\x20\x20\x20'+_0x5e8b9c);}}}else console['log']('Scenario\x20'+(_0x51d9ae+0x1)+':\x20\x22'+_0x1e4039[_0x5f3f2e(0x12d)]+'\x22'+_0x2ccfe6+_0x5f3f2e(0xc8)),console[_0x5f3f2e(0x16c)](_0x5f3f2e(0x10b));console[_0x5f3f2e(0x16c)]('');}}export async function featureDelete(_0x4e5c51){const _0x28fe11=_0x17361c,_0x3ce234={'UVfwI':function(_0x19b6f3){return _0x19b6f3();},'cdgYW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HTGID':function(_0x4e5750,_0x2f0236){return _0x4e5750(_0x2f0236);},'hKaPp':function(_0x17bae6,_0x22b35a){return _0x17bae6+_0x22b35a;},'WYuZW':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0xc2c5b7=_0x4e5c51||await _0x3ce234['UVfwI'](getActiveFeatureId);if(!_0xc2c5b7)throw new Error(_0x3ce234['cdgYW']);const _0x1360ba=await getFeature(_0xc2c5b7);await _0x3ce234['HTGID'](softDeleteFeature,_0xc2c5b7),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x1360ba[_0x28fe11(0xcb)]+'\x20('+_0xc2c5b7+')'),console[_0x28fe11(0x16c)](_0x3ce234['hKaPp'](_0x3ce234[_0x28fe11(0x16a)],_0xc2c5b7));}export async function featureRestore(_0x288b3f){const _0x3712b7=_0x17361c,_0xb9fcd3={'NzCKF':function(_0x1d834c,_0x499c88){return _0x1d834c(_0x499c88);}};await _0xb9fcd3[_0x3712b7(0xea)](restoreFeature,_0x288b3f);const _0x4d562b=await _0xb9fcd3['NzCKF'](getFeature,_0x288b3f);console[_0x3712b7(0x16c)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4d562b['name']+'\x20('+_0x288b3f+')'),displayFeature(_0x4d562b,_0x4d562b[_0x3712b7(0x16d)]);}
|
|
1
|
+
const _0x5d5956=_0x5e92;(function(_0x35c68a,_0x55dbe6){const _0x1e0a2e=_0x5e92,_0x18397e=_0x35c68a();while(!![]){try{const _0x4f7c2c=parseInt(_0x1e0a2e(0x148))/0x1+-parseInt(_0x1e0a2e(0x191))/0x2+-parseInt(_0x1e0a2e(0x141))/0x3*(parseInt(_0x1e0a2e(0x18b))/0x4)+parseInt(_0x1e0a2e(0xcb))/0x5*(-parseInt(_0x1e0a2e(0xc6))/0x6)+-parseInt(_0x1e0a2e(0x16e))/0x7*(parseInt(_0x1e0a2e(0x14c))/0x8)+-parseInt(_0x1e0a2e(0xe8))/0x9+-parseInt(_0x1e0a2e(0x154))/0xa*(-parseInt(_0x1e0a2e(0x129))/0xb);if(_0x4f7c2c===_0x55dbe6)break;else _0x18397e['push'](_0x18397e['shift']());}catch(_0x1a6ee5){_0x18397e['push'](_0x18397e['shift']());}}}(_0x29cf,0xad206));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x248dba 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';function _0x5e92(_0xba33dd,_0x372c7e){_0xba33dd=_0xba33dd-0xb2;const _0x29cf92=_0x29cf();let _0x5e929c=_0x29cf92[_0xba33dd];return _0x5e929c;}import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x5d5956(0x140),bold=_0x8e41ba=>'\x1b[1m'+_0x8e41ba+_0x5d5956(0xed);function getGitRepoUrl(){const _0x5b3a24=_0x5d5956,_0x36baf4={'fafMu':_0x5b3a24(0x104),'SRHHt':'pipe','lYFHQ':_0x5b3a24(0x195)};try{const _0x34f3ed=execSync('git\x20remote\x20get-url\x20origin',{'encoding':_0x36baf4[_0x5b3a24(0x168)],'stdio':[_0x36baf4['SRHHt'],_0x5b3a24(0x11d),_0x36baf4[_0x5b3a24(0xda)]]})['trim']();return _0x34f3ed['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x36baf4[_0x5b3a24(0xf1)])[_0x5b3a24(0x10a)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5cea38=_0x5d5956,_0x9f1802={'bQtkK':_0x5cea38(0x11d)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x5cea38(0x104),'stdio':[_0x5cea38(0x11d),_0x9f1802['bQtkK'],'pipe']})['trim']();}catch{return undefined;}}function _0x29cf(){const _0x1cb61e=['\x20\x20\x20\x20','notes','map','7772310IDVLVm','screenshotUrls','ZpZIZ','iXyWW','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x1b[0m','write','faBXx','trim','lYFHQ','textContent','timing','.md','latestReview','exit','QiUxX','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','KSGUP','gpzko','vPoPk','\x20unaddressed\x20comment(s)','\x0aAvailable\x20scenarios:','\x0aCreating\x20feature\x20review...','MNPQO','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','dashboardUrl','mhGHI','utf-8','WRrSn','Rvkuz','\x20[has\x20reviewer\x20feedback]','sfOVy','\x20\x20\x20\x20\x20\x20Cancelled:\x20','replace','gitBranch','\x20--current-branch','Scenario\x20','\x20\x20\x20Branch:\x20','exdef','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','incompleteReason','type','submittedAt','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','\x20of\x20','.png','\x0a✅\x20Scenario\x20added','warn','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','isKeyStep','completed','toLocaleString','pipe','hcIME','NHimL','version','wrfsh','iteration','Step\x20','scenarios','VmMeM','\x0a✅\x20Feature\x20review\x20created:\x20','IVRqN','NCZwt','198kvOEUP','tutNj',':\x20\x22','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ArsYX','in_progress','Next\x20page:\x20ranger\x20list\x20--offset\x20','GpBzC','comment_','toLocaleDateString','verified','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x20\x20💬\x20','assetUrl','Current\x20session\x20not\x20found.','canceledReason','LJLGm','screenshot','checklistItems','numeric','uFSiB','Screenshot\x20','CLAUDE_SESSION_ID','active-feature.txt','1959osNPmN','NXkOD','blockedReason','\x20\x20\x20▶️\x20Started\x20session\x20','totalCount','browserSessionId','\x20at\x20[','1071177iqYrmO','stats','join','split','37216PRDyqj','description','\x20\x20\x20Status:\x20','terminalReason','currentBranch','jIEqb','\x20in\x20progress','\x0a📋\x20Feedback\x20for:\x20','1531330UhljOZ','verificationInProgressItems','/artifacts/','EzeLW','env','iuwhg','CbcTR','aHWAJ','gitRepoUrl','blockedItems','nMstv','incomplete','error','parentItemId','TvWFh','assetType','nBuyR','closed','items','\x20\x20\x20Completed:\x20','fafMu','prompt','DYmVG','yXwYF','push','ISYio','1099ekjgvn','scenario','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20incomplete','xGwwJ','point','zbgmP','DoDhT','AvbHz','\x20\x20\x20Created:\x20','UJrDs','cDUPJ','TsBgt','unaddressedComments','JrZNV','EpJEh','spatial','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','excludeScenarios','aGvWy','\x20\x20\x20\x20\x20\x20Blocked:\x20','toFixed','length','HUepx','createdAt','\x20\x20Expected\x20flow:','canonicalFlow','\x20>\x20','1224CHJtns','...','\x0aGenerating\x20report...','sessionId','\x20\x20\x20\x20\x20ID:\x20','No\x20sessions\x20found.','172646YGCDJs','mnBVC','HCBQs','\x20\x20\x20Updated\x20branch\x20to:\x20','github.com/','authorEmail','coordinates','\x20/\x20','\x20(v','\x0a❌\x20Invalid\x20scenario\x20index:\x20','pop','\x20\x20\x20','Obfgh','isInteger','authorName','BdFgo','style','cQqpz','FzLwS','\x20scenarios.','\x20scenario(s).','NkZwQ','content','completedAt','stdout','TtLzY','filter','pTaEv','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','JpzxA','offset','fUYLu','isTTY','Showing\x20','has','domRef','jzdWI','name','\x20\x20\x20\x20\x20\x20Incomplete:\x20','json','\x20\x20✅\x20No\x20feedback\x20to\x20address','60yyEmxz','No\x20scenarios\x20found.','ijPxE','en-US','NmVVj','619175eQyKiz','MRObw','PKWtL','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','ZVRjK','limit','currentSessionId','verification_in_progress','lzYDe','log','selector','reports','YDspR','includeDeleted','XGFMH','SRHHt','short','\x20\x20\x20Description:\x20','\x20verified','find','NGuMl','status','JIlBo','RaDCe','Unknown','list'];_0x29cf=function(){return _0x1cb61e;};return _0x29cf();}export async function getActiveFeatureId(){const _0x366412=_0x5d5956,_0x435214=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x435214))return null;try{const _0x480407=await readFile(_0x435214,_0x366412(0x104));return _0x480407['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x56a2b9){const _0x16beee=_0x5d5956,_0x264428={'SYpeM':function(_0x340867){return _0x340867();},'nMstv':function(_0x43edd5,_0xd5c092,_0x50b289){return _0x43edd5(_0xd5c092,_0x50b289);},'faBXx':function(_0x50c964,_0x5ae57a,_0x165856){return _0x50c964(_0x5ae57a,_0x165856);},'iXyWW':function(_0x347187,_0x332af7,_0x3d5a91,_0x172e53){return _0x347187(_0x332af7,_0x3d5a91,_0x172e53);},'iBbrC':'utf-8'},_0x31bc88=_0x264428['SYpeM'](getRangerDir),_0x12fa65=_0x264428[_0x16beee(0x15e)](join,_0x31bc88,ACTIVE_FEATURE_FILE);!existsSync(_0x31bc88)&&await _0x264428[_0x16beee(0xef)](mkdir,_0x31bc88,{'recursive':!![]}),await _0x264428[_0x16beee(0xeb)](writeFile,_0x12fa65,_0x56a2b9,_0x264428['iBbrC']);}function getProgressDisplay(_0x1722c0){const _0x12ba01=_0x5d5956,_0x1408ad={'GpBzC':function(_0x4a7897,_0x151f94){return _0x4a7897+_0x151f94;},'NmVVj':function(_0x4e7e24,_0x43fdeb){return _0x4e7e24+_0x43fdeb;},'Obfgh':function(_0x542f5b,_0xb04e06){return _0x542f5b/_0xb04e06;},'xGwwJ':function(_0x57176c,_0x1b5b18){return _0x57176c>_0x1b5b18;}},_0x10bd0b=_0x1722c0['verifiedItems']||0x0,_0x536dfe=_0x1722c0[_0x12ba01(0x155)]||0x0,_0x52f4d2=_0x1722c0[_0x12ba01(0x15d)]||0x0,_0x4784c7=_0x1722c0['incompleteItems']||0x0,_0xd5d87a=_0x1722c0['pendingItems']||0x0,_0x1e0dd1=_0x1408ad[_0x12ba01(0x130)](_0x1408ad['GpBzC'](_0x1408ad[_0x12ba01(0x130)](_0x1408ad[_0x12ba01(0xca)](_0x10bd0b,_0x536dfe),_0x52f4d2),_0x4784c7),_0xd5d87a);if(_0x1e0dd1===0x0)return'-';const _0x53ea15=0xa,_0x41dcaa=Math['round'](_0x1408ad[_0x12ba01(0x19d)](_0x10bd0b,_0x1e0dd1)*_0x53ea15),_0xd5892b='█'['repeat'](_0x41dcaa)+'░'['repeat'](_0x53ea15-_0x41dcaa),_0x3bf25a=[];if(_0x1408ad[_0x12ba01(0x173)](_0x52f4d2,0x0))_0x3bf25a[_0x12ba01(0x16c)](_0x52f4d2+'\x20blocked');if(_0x4784c7>0x0)_0x3bf25a['push'](_0x4784c7+_0x12ba01(0x172));if(_0x536dfe>0x0)_0x3bf25a['push'](_0x536dfe+_0x12ba01(0x152));const _0x161c30=_0x3bf25a['length']>0x0?'\x20('+_0x3bf25a['join'](',\x20')+')':'';return _0xd5892b+'\x20'+_0x10bd0b+'/'+_0x1e0dd1+_0x12ba01(0xdd)+_0x161c30;}function getCurrentSessionItems(_0x5f57e2,_0x336917){const _0x525d5d=_0x5d5956;if(!_0x5f57e2['currentSessionId'])return _0x336917[_0x525d5d(0xb5)](_0xa30083=>!_0xa30083[_0x525d5d(0x18e)]);return _0x336917['filter'](_0x34228a=>_0x34228a['sessionId']===_0x5f57e2[_0x525d5d(0xd1)]||!_0x34228a[_0x525d5d(0x18e)]);}function displayFeature(_0x1a5e21,_0x1e2cfc){const _0x1c7a47=_0x5d5956,_0x26a354={'ijPxE':'\x0a\x20\x20\x20Scenarios:','tSsHA':function(_0xfa9ea7,_0x184f0b){return _0xfa9ea7<_0x184f0b;},'hcIME':function(_0x4aaeea,_0xbbc5d9){return _0x4aaeea===_0xbbc5d9;},'AiwmK':'approved','NHimL':_0x1c7a47(0x133),'exdef':_0x1c7a47(0x15f),'FzLwS':function(_0x2398e9,_0x2da7cd){return _0x2398e9===_0x2da7cd;},'ZxsOn':_0x1c7a47(0x165),'JtVjl':function(_0x43157b,_0x484b6c){return _0x43157b>_0x484b6c;},'jIEqb':function(_0x5166d8,_0x1b74ab){return _0x5166d8>_0x1b74ab;},'juhHY':function(_0x4bacdc,_0x3c5006){return _0x4bacdc!==_0x3c5006;},'FnnoI':function(_0x1fb265,_0x9f553c){return _0x1fb265!==_0x9f553c;},'pTaEv':function(_0x22a9cc,_0x624e69){return _0x22a9cc+_0x624e69;},'LJLGm':function(_0x1f0db6,_0x35c697){return _0x1f0db6===_0x35c697;}};console[_0x1c7a47(0xd4)]('\x0a'+_0x1a5e21[_0x1c7a47(0xc2)]+'\x20('+_0x1a5e21[_0x1c7a47(0x102)]+')');_0x1a5e21[_0x1c7a47(0x149)]&&console[_0x1c7a47(0xd4)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1a5e21['stats']));_0x1a5e21['description']&&console[_0x1c7a47(0xd4)](_0x1c7a47(0xdc)+_0x1a5e21['description']);_0x1a5e21[_0x1c7a47(0x15c)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x1a5e21[_0x1c7a47(0x15c)]);_0x1a5e21[_0x1c7a47(0x10b)]&&console[_0x1c7a47(0xd4)]('\x20\x20\x20Branch:\x20'+_0x1a5e21['gitBranch']);console[_0x1c7a47(0xd4)](_0x1c7a47(0x178)+new Date(_0x1a5e21['createdAt'])[_0x1c7a47(0x11c)]());_0x1a5e21[_0x1c7a47(0xb2)]&&console[_0x1c7a47(0xd4)]('\x20\x20\x20Completed:\x20'+new Date(_0x1a5e21[_0x1c7a47(0xb2)])['toLocaleString']());if(_0x1e2cfc&&_0x1e2cfc[_0x1c7a47(0x185)]>0x0){console[_0x1c7a47(0xd4)](_0x26a354[_0x1c7a47(0xc8)]);for(let _0x2faff3=0x0;_0x26a354['tSsHA'](_0x2faff3,_0x1e2cfc['length']);_0x2faff3++){const _0x599223=_0x1e2cfc[_0x2faff3];let _0x389755;if(_0x26a354[_0x1c7a47(0x11e)](_0x599223['status'],_0x1c7a47(0x165))&&_0x26a354[_0x1c7a47(0x11e)](_0x599223['terminalReason'],_0x26a354['AiwmK']))_0x389755='✅';else{if(_0x599223[_0x1c7a47(0xe0)]===_0x26a354[_0x1c7a47(0x11f)])_0x389755='🟢';else{if(_0x599223['status']===_0x26a354[_0x1c7a47(0x10f)])_0x389755='🟠';else{if(_0x599223[_0x1c7a47(0xe0)]==='blocked')_0x389755='🛑';else{if(_0x26a354[_0x1c7a47(0x1a3)](_0x599223[_0x1c7a47(0xe0)],_0x26a354['ZxsOn']))_0x389755='⛔';else _0x599223[_0x1c7a47(0xe0)]==='verification_in_progress'?_0x389755='⏳':_0x389755='⬜';}}}}const _0x5e520c=_0x26a354['JtVjl'](_0x599223['version'],0x1)?'\x20(v'+_0x599223[_0x1c7a47(0x120)]+')':'',_0x49da2c=_0x26a354[_0x1c7a47(0x151)](_0x599223[_0x1c7a47(0x120)],0x1)&&_0x599223[_0x1c7a47(0x161)]&&_0x26a354['juhHY'](_0x599223['status'],_0x1c7a47(0x165))&&_0x26a354['FnnoI'](_0x599223[_0x1c7a47(0xe0)],_0x1c7a47(0x133))?_0x1c7a47(0x107):'';console[_0x1c7a47(0xd4)](_0x1c7a47(0x19c)+_0x26a354[_0x1c7a47(0xb6)](_0x2faff3,0x1)+'.\x20'+_0x389755+'\x20'+_0x599223[_0x1c7a47(0x14d)]+_0x5e520c+_0x49da2c);_0x599223['status']==='blocked'&&_0x599223[_0x1c7a47(0x143)]&&console[_0x1c7a47(0xd4)](_0x1c7a47(0x183)+_0x599223[_0x1c7a47(0x143)]);_0x599223[_0x1c7a47(0xe0)]===_0x1c7a47(0x15f)&&_0x599223['incompleteReason']&&console[_0x1c7a47(0xd4)](_0x1c7a47(0xc3)+_0x599223[_0x1c7a47(0x111)]);if(_0x599223['status']===_0x1c7a47(0x165)&&_0x599223['terminalReason']===_0x26a354['AiwmK'])console[_0x1c7a47(0xd4)]('\x20\x20\x20\x20\x20\x20Approved');else _0x26a354[_0x1c7a47(0x139)](_0x599223[_0x1c7a47(0xe0)],'closed')&&_0x599223['canceledReason']&&console[_0x1c7a47(0xd4)](_0x1c7a47(0x109)+_0x599223[_0x1c7a47(0x138)]);}}}export async function featureCreate(_0x2f8af0,_0x365c25){const _0x2c17d6=_0x5d5956,_0x1c88cf={'uFSiB':function(_0x2391d2,_0x31f7c5){return _0x2391d2===_0x31f7c5;},'IyqyF':function(_0x471389,_0x54623a){return _0x471389===_0x54623a;},'ZVRjK':function(_0x37cbe3,_0x4baa70){return _0x37cbe3(_0x4baa70);},'KSGUP':function(_0x3fbf05){return _0x3fbf05();},'TvWFh':function(_0x47fe1f){return _0x47fe1f();},'fUYLu':_0x2c17d6(0xfe),'Rvkuz':function(_0x5c1393,_0xd15c4d){return _0x5c1393(_0xd15c4d);},'doBvE':function(_0x1c94d0,_0x41dcc5,_0x4a1ce9){return _0x1c94d0(_0x41dcc5,_0x4a1ce9);}},{envNames:_0x9ef060}=await getEnvNames();if(_0x1c88cf[_0x2c17d6(0x13d)](_0x9ef060[_0x2c17d6(0x185)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x569c8c=0x0;try{_0x569c8c=(await listCloudProfiles())[_0x2c17d6(0x185)];}catch{_0x569c8c=0x1;}_0x1c88cf['IyqyF'](_0x569c8c,0x0)&&console[_0x2c17d6(0x118)]('\x0a'+_0x1c88cf[_0x2c17d6(0xcf)](formatProfileRequiredMessage,_0x3b759e=>bold(_0x3b759e)));}const _0x22d0a1=_0x365c25[_0x2c17d6(0x124)]?_0x365c25[_0x2c17d6(0x124)][_0x2c17d6(0xe7)](_0x4b58a2=>_0x4b58a2[_0x2c17d6(0xf0)]()):[],_0x4a8eeb=_0x1c88cf[_0x2c17d6(0xf9)](getGitRepoUrl),_0x3bc57f=_0x1c88cf[_0x2c17d6(0x162)](getGitBranch);console['log'](_0x1c88cf[_0x2c17d6(0xbc)]);const _0x17c5a5=await _0x1c88cf[_0x2c17d6(0x106)](createFeature,{'name':_0x2f8af0,'description':_0x365c25['description'],'checklist':_0x22d0a1,'gitRepoUrl':_0x4a8eeb,'gitBranch':_0x3bc57f});await setActiveFeatureId(_0x17c5a5['id']),await tryStartCurrentSession(_0x17c5a5['id']);const _0x48ab28=process['env'][_0x2c17d6(0x13f)];_0x48ab28&®isterSession(_0x48ab28,_0x17c5a5['id']),console['log'](_0x2c17d6(0x126)+_0x17c5a5['id']),_0x1c88cf['doBvE'](displayFeature,_0x17c5a5,_0x17c5a5[_0x2c17d6(0x13b)]),console[_0x2c17d6(0xd4)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x10c2c9){const _0x5e6fdd=_0x5d5956,_0x2c5388={'zbgmP':function(_0x57ab69,_0x37558f){return _0x57ab69(_0x37558f);},'DoDhT':function(_0x10c798,_0x39faa1){return _0x10c798>_0x39faa1;},'UdJlZ':function(_0x5c1a8a,_0x44ad5c){return _0x5c1a8a+_0x44ad5c;},'PExKk':_0x5e6fdd(0x10c)},_0x489eee={'limit':_0x10c2c9['limit']??0xa,'offset':_0x10c2c9['offset']??0x0,'includeDeleted':_0x10c2c9[_0x5e6fdd(0xd8)]};_0x10c2c9['currentBranch']&&(_0x489eee['gitRepoUrl']=getGitRepoUrl(),_0x489eee['gitBranch']=getGitBranch());const _0x56183a=await _0x2c5388[_0x5e6fdd(0x175)](listFeatures,_0x489eee);if(_0x56183a['items'][_0x5e6fdd(0x185)]===0x0){console[_0x5e6fdd(0xd4)](_0x5e6fdd(0xb7));return;}const _0x3c54e9=_0x2c5388[_0x5e6fdd(0x176)](_0x56183a[_0x5e6fdd(0x145)],_0x56183a[_0x5e6fdd(0x166)][_0x5e6fdd(0x185)])?_0x5e6fdd(0xbe)+_0x56183a[_0x5e6fdd(0x166)][_0x5e6fdd(0x185)]+_0x5e6fdd(0x115)+_0x56183a['totalCount']:_0x56183a['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x5e6fdd(0xd4)]('\x0a'+_0x3c54e9+':\x0a');for(const _0x50532e of _0x56183a['items']){console['log'](''+_0x50532e['name']),console['log']('\x20\x20\x20ID:\x20'+_0x50532e['id']),_0x50532e['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x50532e['stats'])),_0x50532e['gitBranch']&&console['log'](_0x5e6fdd(0x10e)+_0x50532e[_0x5e6fdd(0x10b)]),console[_0x5e6fdd(0xd4)]('\x20\x20\x20Created:\x20'+new Date(_0x50532e[_0x5e6fdd(0x187)])['toLocaleDateString']()),console['log']('');}const _0x159702=_0x489eee[_0x5e6fdd(0xd0)]??0xa,_0x7963ff=_0x2c5388['UdJlZ'](_0x489eee[_0x5e6fdd(0xbb)]??0x0,_0x56183a['items'][_0x5e6fdd(0x185)]);if(_0x7963ff<_0x56183a['totalCount']){const _0x41c23f=_0x159702!==0xa?'\x20--limit\x20'+_0x159702:'',_0x417083=_0x10c2c9[_0x5e6fdd(0x150)]?_0x2c5388['PExKk']:'',_0x5ab939=_0x10c2c9[_0x5e6fdd(0xd8)]?'\x20--include-deleted':'';console['log'](_0x5e6fdd(0x12f)+_0x7963ff+_0x41c23f+_0x417083+_0x5ab939);}}export async function featureShow(_0xc4b611){const _0x4f103f=_0x5d5956,_0x1dcfea={'mhGHI':function(_0xc09ed5){return _0xc09ed5();}},_0x5d5368=_0xc4b611||await _0x1dcfea[_0x4f103f(0x103)](getActiveFeatureId);if(!_0x5d5368)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x26f1b2=await getFeature(_0x5d5368);displayFeature(_0x26f1b2,_0x26f1b2['checklistItems']);}export async function featureResume(_0xb2358d){const _0x179007=_0x5d5956,_0x3760a0={'UJrDs':function(_0x170884,_0x39fe49){return _0x170884(_0x39fe49);},'wrfsh':function(_0xa2dd8c,_0x58c35c,_0x2f3ce7){return _0xa2dd8c(_0x58c35c,_0x2f3ce7);},'XqOfh':function(_0x17b23c){return _0x17b23c();},'uHjdL':'Not\x20in\x20a\x20git\x20repository.','HUepx':function(_0x210920,_0x509588){return _0x210920||_0x509588;},'RaDCe':'any','OOeRH':function(_0x476f45,_0x413621){return _0x476f45(_0x413621);},'byEvO':_0x179007(0x170),'ArsYX':function(_0x2d2d7a,_0x51d977){return _0x2d2d7a(_0x51d977);},'RFAoG':function(_0x5a28a5,_0x1097bb){return _0x5a28a5!==_0x1097bb;},'NGuMl':function(_0x256f69,_0x499556){return _0x256f69(_0x499556);},'RPswZ':function(_0x412e8e,_0x14d6ac){return _0x412e8e(_0x14d6ac);}};if(_0xb2358d){const _0x3ea45a=await getFeature(_0xb2358d);await setActiveFeatureId(_0x3ea45a['id']);const _0x54c7db=getGitBranch();_0x54c7db&&_0x54c7db!==_0x3ea45a[_0x179007(0x10b)]&&(await updateFeature(_0x3ea45a['id'],{'gitBranch':_0x54c7db}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x54c7db));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3ea45a[_0x179007(0xc2)]+'\x20('+_0x3ea45a['id']+')'),await _0x3760a0[_0x179007(0x179)](tryStartCurrentSession,_0x3ea45a['id']);const _0x237562=process[_0x179007(0x158)]['CLAUDE_SESSION_ID'];_0x237562&®isterSession(_0x237562,_0x3ea45a['id']);_0x3760a0['wrfsh'](displayFeature,_0x3ea45a,_0x3ea45a['checklistItems']),await printFeedbackNudge(_0x3ea45a['id']);return;}const _0x489624=getGitRepoUrl(),_0x52b10f=_0x3760a0['XqOfh'](getGitBranch);if(!_0x489624&&!_0x52b10f)throw new Error(_0x3760a0['uHjdL']);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x3760a0[_0x179007(0x186)](_0x489624,'any')+_0x179007(0x198)+_0x3760a0['HUepx'](_0x52b10f,_0x3760a0[_0x179007(0xe2)])+_0x179007(0x18c));const _0x49dab3=await listFeatures({'gitRepoUrl':_0x489624,'gitBranch':_0x52b10f}),_0x4e1e28=_0x49dab3['items'][_0x179007(0xb5)](_0x246997=>_0x246997['status']?_0x246997['status']!=='verified':!_0x246997['completedAt']);if(_0x4e1e28['length']===0x0){console[_0x179007(0xd4)](_0x179007(0x110)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x2a3a22;if(_0x4e1e28['length']===0x1)_0x2a3a22=_0x4e1e28[0x0];else{const _0x1b92f4=process['stdin']['isTTY']&&process[_0x179007(0xb3)][_0x179007(0xbd)];if(!_0x1b92f4){console['log'](_0x179007(0xce));for(const _0x286a80 of _0x4e1e28){console[_0x179007(0xd4)]('\x20\x20'+_0x286a80['name']),console[_0x179007(0xd4)](_0x179007(0x18f)+_0x286a80['id']),_0x286a80[_0x179007(0x149)]&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x3760a0['OOeRH'](getProgressDisplay,_0x286a80[_0x179007(0x149)])),_0x286a80['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x286a80[_0x179007(0x10b)]);}throw new Error(_0x179007(0x114));}const {selected:_0x53054a}=await _0x248dba[_0x179007(0x169)]([{'type':_0x179007(0xe4),'name':'selected','message':_0x3760a0['byEvO'],'choices':_0x4e1e28['map'](_0x20e0a8=>({'name':_0x20e0a8['name']+'\x20('+_0x20e0a8['id']+')','value':_0x20e0a8['id']}))}]);_0x2a3a22=_0x4e1e28[_0x179007(0xde)](_0x282b9f=>_0x282b9f['id']===_0x53054a);}await _0x3760a0[_0x179007(0x12d)](setActiveFeatureId,_0x2a3a22['id']);_0x52b10f&&_0x3760a0['RFAoG'](_0x52b10f,_0x2a3a22[_0x179007(0x10b)])&&(await _0x3760a0[_0x179007(0x121)](updateFeature,_0x2a3a22['id'],{'gitBranch':_0x52b10f}),console[_0x179007(0xd4)](_0x179007(0x194)+_0x52b10f));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x2a3a22['name']+'\x20('+_0x2a3a22['id']+')'),await tryStartCurrentSession(_0x2a3a22['id']);const _0x1f5290=await _0x3760a0[_0x179007(0xdf)](getFeature,_0x2a3a22['id']),_0x2d3668=process['env'][_0x179007(0x13f)];_0x2d3668&&_0x3760a0[_0x179007(0x121)](registerSession,_0x2d3668,_0x1f5290['id']),_0x3760a0['wrfsh'](displayFeature,_0x1f5290,_0x1f5290['checklistItems']),await _0x3760a0['RPswZ'](printFeedbackNudge,_0x1f5290['id']);}async function printFeedbackNudge(_0x5d5f9b){const _0x121d48=_0x5d5956,_0x475518={'QiUxX':function(_0x2e93b9,_0x19a037){return _0x2e93b9(_0x19a037);},'ISYio':function(_0x1ea101,_0x353886,_0x532f7c){return _0x1ea101(_0x353886,_0x532f7c);},'NILYU':_0x121d48(0xf8)};try{const {items:_0x7ab318}=await _0x475518[_0x121d48(0xf7)](getActionItems,_0x5d5f9b);let _0x52ae2c=0x0,_0x51e5df=0x0;for(const _0x2f59a5 of _0x7ab318){const _0x1316f7=await _0x475518[_0x121d48(0x16d)](getItemFeedback,_0x5d5f9b,_0x2f59a5['id']);_0x1316f7['unaddressedComments'][_0x121d48(0x185)]>0x0&&(_0x52ae2c+=_0x1316f7[_0x121d48(0x17c)]['length'],_0x51e5df++);}_0x52ae2c>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x52ae2c+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x51e5df+_0x121d48(0x1a5)),console['log'](_0x475518['NILYU']));}catch{}}async function tryStartCurrentSession(_0x459198){const _0x49e57a=_0x5d5956;try{const {sessions:_0x383828}=await listFeatureSessions(_0x459198),_0x59109a=_0x383828[_0x49e57a(0xde)](_0x5b4d66=>_0x5b4d66[_0x49e57a(0xe0)]==='ready');_0x59109a&&(await startSession(_0x459198,_0x59109a['id']),console[_0x49e57a(0xd4)](_0x49e57a(0x144)+_0x59109a[_0x49e57a(0x122)]));}catch{}}export async function featureReport(_0x5dbc38,_0xa12328){const _0x3b01e4=_0x5d5956,_0x2f50c8={'TsBgt':function(_0x186b7e){return _0x186b7e();},'NHTEL':_0x3b01e4(0xb9),'SRSVM':_0x3b01e4(0x18d),'sfOVy':function(_0x4d3890,_0x4b0a32,_0x10a247,_0x319264){return _0x4d3890(_0x4b0a32,_0x10a247,_0x319264);},'NXkOD':_0x3b01e4(0xd6),'vPoPk':function(_0x52d4f0,_0x399fed,_0x4fb263){return _0x52d4f0(_0x399fed,_0x4fb263);},'mnBVC':function(_0x5ccc7a,_0x458d89,_0x3a17b1,_0x362943){return _0x5ccc7a(_0x458d89,_0x3a17b1,_0x362943);}},_0x3960fe=_0x5dbc38||await _0x2f50c8[_0x3b01e4(0x17b)](getActiveFeatureId);if(!_0x3960fe)throw new Error(_0x2f50c8['NHTEL']);console['log'](_0x2f50c8['SRSVM']);const _0x132f8a=await getFeatureReportMarkdown(_0x3960fe,{'style':_0xa12328[_0x3b01e4(0x1a1)]}),_0x17bcc3=_0xa12328['output']||_0x2f50c8[_0x3b01e4(0x108)](join,_0x2f50c8['TsBgt'](getRangerDir),_0x2f50c8[_0x3b01e4(0x142)],_0x3960fe+_0x3b01e4(0xf4)),_0x514800=join(_0x17bcc3,'..');!existsSync(_0x514800)&&await _0x2f50c8[_0x3b01e4(0xfb)](mkdir,_0x514800,{'recursive':!![]}),await _0x2f50c8[_0x3b01e4(0x192)](writeFile,_0x17bcc3,_0x132f8a,_0x3b01e4(0x104)),console[_0x3b01e4(0xd4)]('\x0a✅\x20Report\x20generated:\x20'+_0x17bcc3);}function getScenarioResult(_0x2a7d20){const _0x296af0=_0x5d5956,_0x1f50e7={'Kefmo':function(_0x32dd61,_0x25600e){return _0x32dd61===_0x25600e;},'ZpZIZ':_0x296af0(0x165),'gGgPw':_0x296af0(0xd2),'cDUPJ':_0x296af0(0x12e)};if(_0x1f50e7['Kefmo'](_0x2a7d20['status'],_0x1f50e7[_0x296af0(0xea)]))return _0x2a7d20[_0x296af0(0x14f)]??_0x1f50e7['ZpZIZ'];if(_0x2a7d20['status']===_0x1f50e7['gGgPw'])return _0x1f50e7[_0x296af0(0x17a)];return _0x2a7d20['status'];}function getScenarioRationale(_0x4706bb,_0x21803a){const _0x15df80=_0x5d5956,_0x370753='0|3|4|1|5|2'[_0x15df80(0x14b)]('|');let _0x5d8165=0x0;while(!![]){switch(_0x370753[_0x5d8165++]){case'0':if(_0x21803a)return _0x21803a;continue;case'1':if(_0x4706bb[_0x15df80(0x138)])return _0x4706bb['canceledReason'];continue;case'2':return null;case'3':if(_0x4706bb[_0x15df80(0x143)])return _0x4706bb[_0x15df80(0x143)];continue;case'4':if(_0x4706bb[_0x15df80(0x111)])return _0x4706bb[_0x15df80(0x111)];continue;case'5':if(_0x4706bb[_0x15df80(0xe6)])return _0x4706bb[_0x15df80(0xe6)];continue;}break;}}export async function featureReportPrDescription(_0x1d13fc,_0x539a82){const _0x4dc279=_0x5d5956,_0x12bdac={'XGFMH':_0x4dc279(0xb9),'uKDyG':function(_0x519265,_0x4e02f5,_0x469f88){return _0x519265(_0x4e02f5,_0x469f88);},'JrZNV':function(_0x217694,_0x34ed73){return _0x217694===_0x34ed73;},'sPEXI':function(_0x2572f1,_0x58f823){return _0x2572f1>_0x58f823;},'DYmVG':_0x4dc279(0xfd),'bqNiX':_0x4dc279(0x180),'YDspR':function(_0x5965c5,_0x6db81d,_0x44ce9d,_0x438ed9){return _0x5965c5(_0x6db81d,_0x44ce9d,_0x438ed9);},'BWuzs':function(_0xfc8a0,_0x10de22,_0x51cb09){return _0xfc8a0(_0x10de22,_0x51cb09);}},_0x5dc3fb=_0x1d13fc||await getActiveFeatureId();if(!_0x5dc3fb)throw new Error(_0x12bdac[_0x4dc279(0xd9)]);const _0x340a9d=await getFeature(_0x5dc3fb),_0x31ddcf=_0x340a9d[_0x4dc279(0x13b)]||[],_0x321e29=_0x12bdac['uKDyG'](getCurrentSessionItems,_0x340a9d,_0x31ddcf);_0x12bdac[_0x4dc279(0x17d)](_0x321e29['length'],0x0)&&(console['error'](_0x4dc279(0x134)),process['exit'](0x1));const _0x262c28=_0x539a82[_0x4dc279(0x181)]??[],_0x3517d5=_0x262c28[_0x4dc279(0xb5)](_0x36c774=>!Number[_0x4dc279(0x19e)](_0x36c774)||_0x36c774<0x1||_0x36c774>_0x321e29['length']);if(_0x12bdac['sPEXI'](_0x3517d5['length'],0x0)){console[_0x4dc279(0x160)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x3517d5[_0x4dc279(0x14a)](',\x20')),console['log'](_0x12bdac[_0x4dc279(0x16a)]);for(let _0x428712=0x0;_0x428712<_0x321e29['length'];_0x428712++){console['log']('\x20\x20'+(_0x428712+0x1)+'.\x20'+_0x321e29[_0x428712][_0x4dc279(0x14d)]);}process[_0x4dc279(0xf6)](0x1);}const _0x18a4e3=new Set(_0x262c28[_0x4dc279(0xe7)](_0x53abc7=>_0x53abc7-0x1)),_0x3eebf1=_0x321e29['filter']((_0x504211,_0x23827b)=>!_0x18a4e3[_0x4dc279(0xbf)](_0x23827b));_0x3eebf1[_0x4dc279(0x185)]===0x0&&(console['error'](_0x12bdac['bqNiX']),process[_0x4dc279(0xf6)](0x1));if(_0x539a82[_0x4dc279(0xc4)])await _0x12bdac[_0x4dc279(0xd7)](outputJsonReport,_0x5dc3fb,_0x340a9d,_0x3eebf1);else{const _0x3b5e57=await _0x12bdac['BWuzs'](getFeatureReportMarkdown,_0x5dc3fb,{'itemIds':_0x3eebf1[_0x4dc279(0xe7)](_0x3adb89=>_0x3adb89['id'])});process[_0x4dc279(0xb3)]['write'](_0x3b5e57['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x55f494,_0x565d0f,_0x151ccf){const _0x14b476=_0x5d5956,_0x314d8b={'HCBQs':function(_0x39e318,_0x3805ca){return _0x39e318>_0x3805ca;},'AvbHz':function(_0x279ff6){return _0x279ff6();},'JpzxA':function(_0xdde353,_0xf59b5a){return _0xdde353+_0xf59b5a;}},_0x3f13d5=_0x314d8b[_0x14b476(0x177)](getApiBaseUrl),_0x45eeae=await getFeatureReport(_0x55f494),_0x1c7886=new Map(_0x45eeae[_0x14b476(0x13b)]['map'](_0x14a245=>[_0x14a245['id'],_0x14a245])),_0xecca0e=await Promise['all'](_0x151ccf[_0x14b476(0xe7)](async _0x3d72ed=>{const _0x4540a4=_0x14b476,_0x469260=_0x1c7886['get'](_0x3d72ed['id']),_0x1324ff=_0x469260?.['linkedSession']??null;let _0x515a3e=[];if(_0x3d72ed['browserSessionId'])try{const {steps:_0x3e03ae}=await getBrowserSessionSteps(_0x3d72ed[_0x4540a4(0x146)]);_0x314d8b[_0x4540a4(0x193)](_0x3e03ae['length'],0x0)&&(_0x515a3e=_0x3e03ae['map'](_0x420195=>{const _0x21681a=_0x4540a4,_0x57ce24=_0x420195['assets']['find'](_0x3d9991=>_0x3d9991[_0x21681a(0x163)]==='screenshot'&&_0x3d9991[_0x21681a(0xf3)]==='after')??_0x420195['assets']['find'](_0x3fd2ac=>_0x3fd2ac['assetType']===_0x21681a(0x13a));let _0x292403=null,_0x212de0=null;if(_0x57ce24){const _0x5ecd2c=_0x57ce24['storage']['location']['split']('/')[_0x21681a(0x19b)]();_0x292403=_0x3f13d5+'/api/v1/mcp/browser-sessions/'+_0x3d72ed[_0x21681a(0x146)]+_0x21681a(0x156)+_0x5ecd2c,_0x5ecd2c&&(_0x212de0=_0x5ecd2c['replace'](/\.\w+$/,'')[_0x21681a(0x10a)](/^(key_)?\d+_/,'')[_0x21681a(0x10a)](/[-_]/g,'\x20'));}return{'description':_0x212de0||_0x420195[_0x21681a(0x14d)]||_0x420195['stepName']||_0x21681a(0x123)+_0x420195['position'],'screenshot':_0x292403,'is_key_step':_0x420195[_0x21681a(0x11a)]};}));}catch{}return _0x515a3e[_0x4540a4(0x185)]===0x0&&_0x1324ff?.[_0x4540a4(0xe9)]&&(_0x515a3e=_0x1324ff['screenshotUrls']['map']((_0x5d4770,_0x48f6dd)=>({'description':_0x4540a4(0x13e)+(_0x48f6dd+0x1),'screenshot':_0x5d4770,'is_key_step':![]}))),{'description':_0x3d72ed[_0x4540a4(0x14d)],'result':getScenarioResult(_0x3d72ed),'rationale':getScenarioRationale(_0x3d72ed,_0x1324ff?.['agentResponse']),'steps':_0x515a3e};})),_0x852c89={'url':_0x565d0f['dashboardUrl'],'scenarios':_0xecca0e};process[_0x14b476(0xb3)][_0x14b476(0xee)](_0x314d8b[_0x14b476(0xba)](JSON['stringify'](_0x852c89,null,0x2),'\x0a'));}export async function featureConcludeSession(_0xec255c){const _0xdacafd=_0x5d5956,_0x9cb1c7={'BdFgo':_0xdacafd(0x171),'JIlBo':function(_0x51547d,_0x3c4982){return _0x51547d(_0x3c4982);},'NCZwt':_0xdacafd(0x137),'TkKQB':'\x0a✅\x20Session\x20is\x20already\x20completed.','HmLmv':function(_0xee4921,_0x599a79){return _0xee4921!==_0x599a79;},'cQqpz':'in_progress','slanv':'\x0aConcluding\x20session...'},_0x2d73bb=_0xec255c||await getActiveFeatureId();if(!_0x2d73bb)throw new Error(_0x9cb1c7[_0xdacafd(0x1a0)]);const _0x4e64e2=await _0x9cb1c7[_0xdacafd(0xe1)](getFeature,_0x2d73bb);if(!_0x4e64e2[_0xdacafd(0xd1)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0xcf1d58}=await listFeatureSessions(_0x2d73bb),_0x2ace0c=_0xcf1d58['find'](_0x1c8513=>_0x1c8513['id']===_0x4e64e2[_0xdacafd(0xd1)]);if(!_0x2ace0c)throw new Error(_0x9cb1c7[_0xdacafd(0x128)]);if(_0x2ace0c['status']===_0xdacafd(0x11b)){console[_0xdacafd(0xd4)](_0x9cb1c7['TkKQB']);return;}if(_0x9cb1c7['HmLmv'](_0x2ace0c['status'],_0x9cb1c7[_0xdacafd(0x1a2)]))throw new Error(_0xdacafd(0x100)+_0x2ace0c['status']);console[_0xdacafd(0xd4)](_0x9cb1c7['slanv']),await concludeSession(_0x2d73bb,_0x4e64e2['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x2ace0c['iteration']+'\x20concluded.'),console[_0xdacafd(0xd4)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5994b5){const _0x3cdc82=_0x5d5956,_0x1fa361={'aGvWy':function(_0x3a1b40,_0x1e48d0){return _0x3a1b40(_0x1e48d0);},'MNPQO':_0x3cdc82(0x11b),'MRObw':'in_progress'},_0x480c79=_0x5994b5||await getActiveFeatureId();if(!_0x480c79)throw new Error(_0x3cdc82(0xb9));const _0x3d9ef2=await _0x1fa361[_0x3cdc82(0x182)](getFeature,_0x480c79);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x3d9ef2['name']+'\x0a');const {sessions:_0x579d72}=await listFeatureSessions(_0x480c79);if(_0x579d72[_0x3cdc82(0x185)]===0x0){console['log'](_0x3cdc82(0x190));return;}for(const _0x12798d of _0x579d72){const _0x172398=_0x12798d['status']===_0x1fa361[_0x3cdc82(0xff)]?'✅':_0x12798d['status']===_0x1fa361[_0x3cdc82(0xcc)]?'🔄':'▶️';console[_0x3cdc82(0xd4)](_0x172398+'\x20Session\x20'+_0x12798d[_0x3cdc82(0x122)]+'\x20('+_0x12798d['id']+')'),console['log'](_0x3cdc82(0x14e)+_0x12798d[_0x3cdc82(0xe0)]),console['log'](_0x3cdc82(0x178)+new Date(_0x12798d['createdAt'])[_0x3cdc82(0x11c)]()),_0x12798d['completedAt']&&console[_0x3cdc82(0xd4)](_0x3cdc82(0x167)+new Date(_0x12798d[_0x3cdc82(0xb2)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x1704c6,_0x1c319e){const _0x51f6b2=_0x5d5956,_0x2472d2={'cSRQE':function(_0x50a672,_0x48c418){return _0x50a672(_0x48c418);},'jzdWI':function(_0xcd6312,_0x1e5e61,_0x184dec){return _0xcd6312(_0x1e5e61,_0x184dec);},'syGsj':function(_0x194346,_0x4af2ee,_0x43c827){return _0x194346(_0x4af2ee,_0x43c827);}},_0x38b4fa=_0x1c319e||await getActiveFeatureId();if(!_0x38b4fa)throw new Error(_0x51f6b2(0x171));const _0x50b13d=await _0x2472d2['cSRQE'](getFeature,_0x38b4fa);if(_0x50b13d['latestReview']&&!_0x50b13d[_0x51f6b2(0xf5)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x50b13d[_0x51f6b2(0x102)]);await _0x2472d2[_0x51f6b2(0xc1)](createChecklistItem,_0x38b4fa,_0x1704c6);const _0x3e95a6=await getFeature(_0x38b4fa);console['log'](_0x51f6b2(0x117)),_0x2472d2['syGsj'](displayFeature,_0x3e95a6,_0x3e95a6[_0x51f6b2(0x13b)]);}export async function featureEditScenario(_0x2bfa67,_0x350341){const _0x136199=_0x5d5956,_0x2e26de={'aHWAJ':_0x136199(0x119),'Cixjr':function(_0x15af54,_0x4526ad){return _0x15af54(_0x4526ad);},'NkZwQ':'Please\x20finish\x20your\x20review\x20first:','nBuyR':function(_0x5dbc8b,_0x2390fc){return _0x5dbc8b===_0x2390fc;},'yXwYF':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','CbcTR':_0x136199(0xfd),'gpzko':function(_0x16ff05,_0x270202){return _0x16ff05+_0x270202;},'VmMeM':function(_0x9d386f,_0x46c62e){return _0x9d386f-_0x46c62e;},'WRrSn':function(_0x9b7e7d,_0x4e411a){return _0x9b7e7d>=_0x4e411a;},'csTGG':function(_0x17f02a,_0x4b24a7){return _0x17f02a<_0x4b24a7;},'sLwVw':function(_0x4cd70d,_0x464008){return _0x4cd70d(_0x464008);},'EpJEh':function(_0xae8544,_0x1592d3,_0x574bd9){return _0xae8544(_0x1592d3,_0x574bd9);}},_0x3ac923=_0x350341['id']||await getActiveFeatureId();!_0x3ac923&&(console['error'](_0x2e26de[_0x136199(0x15b)]),console[_0x136199(0x160)](_0x136199(0x12c)),process[_0x136199(0xf6)](0x1));const _0x29ce53=await _0x2e26de['Cixjr'](getFeature,_0x3ac923);_0x29ce53['latestReview']&&!_0x29ce53['latestReview'][_0x136199(0x113)]&&(console[_0x136199(0x160)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error'](_0x2e26de[_0x136199(0x1a6)]),console[_0x136199(0x160)]('\x20\x20'+_0x29ce53['dashboardUrl']),process[_0x136199(0xf6)](0x1));const _0x4ea700=_0x29ce53['checklistItems']||[];_0x2e26de[_0x136199(0x164)](_0x4ea700['length'],0x0)&&(console['error'](_0x2e26de[_0x136199(0x16b)]),process[_0x136199(0xf6)](0x1));if(_0x350341['scenario']===undefined){console['error'](_0x136199(0x101)),console['log'](_0x2e26de[_0x136199(0x15a)]);for(let _0x5ea496=0x0;_0x5ea496<_0x4ea700[_0x136199(0x185)];_0x5ea496++){console['log']('\x20\x20'+_0x2e26de[_0x136199(0xfa)](_0x5ea496,0x1)+'.\x20'+_0x4ea700[_0x5ea496]['description']);}process['exit'](0x1);}const _0x593a8c=_0x2e26de[_0x136199(0x125)](_0x350341[_0x136199(0x16f)],0x1);if(_0x593a8c<0x0||_0x2e26de[_0x136199(0x105)](_0x593a8c,_0x4ea700[_0x136199(0x185)])){console[_0x136199(0x160)](_0x136199(0x19a)+_0x350341[_0x136199(0x16f)]+'.\x20Feature\x20review\x20has\x20'+_0x4ea700[_0x136199(0x185)]+_0x136199(0x1a4)),console[_0x136199(0xd4)]('\x0aAvailable\x20scenarios:');for(let _0x1069cb=0x0;_0x2e26de['csTGG'](_0x1069cb,_0x4ea700['length']);_0x1069cb++){console[_0x136199(0xd4)]('\x20\x20'+_0x2e26de[_0x136199(0xfa)](_0x1069cb,0x1)+'.\x20'+_0x4ea700[_0x1069cb][_0x136199(0x14d)]);}process[_0x136199(0xf6)](0x1);}const _0x1130da=_0x4ea700[_0x593a8c];await updateChecklistItem(_0x3ac923,_0x1130da['id'],{'description':_0x2bfa67});const _0x4522b3=await _0x2e26de['sLwVw'](getFeature,_0x3ac923);console[_0x136199(0xd4)]('\x0a✅\x20Scenario\x20updated'),_0x2e26de[_0x136199(0x17e)](displayFeature,_0x4522b3,_0x4522b3[_0x136199(0x13b)]);}async function downloadFeedbackImage(_0x2f9eb1,_0x2d928f){const _0x15e434=_0x5d5956,_0x48eac0={'TTuyw':'feedback-images','SfufA':function(_0x4e9588,_0x4a1b25,_0x3e2f02){return _0x4e9588(_0x4a1b25,_0x3e2f02);},'OvHpV':function(_0x346fe9,_0x355e9b){return _0x346fe9(_0x355e9b);}};try{const _0x3028b2=join(getRangerDir(),_0x48eac0['TTuyw']);await mkdir(_0x3028b2,{'recursive':!![]});const _0xbabb13=_0x48eac0['SfufA'](join,_0x3028b2,_0x15e434(0x131)+_0x2d928f+_0x15e434(0x116)),_0x4330b9=await _0x48eac0['OvHpV'](fetch,_0x2f9eb1);if(!_0x4330b9['ok'])return null;const _0x4436bf=Buffer['from'](await _0x4330b9['arrayBuffer']());return await writeFile(_0xbabb13,_0x4436bf),_0xbabb13;}catch{return null;}}export async function featureGetReview(_0x53c2a4){const _0x43a207=_0x5d5956,_0x24cd06={'IVRqN':function(_0x515bcd){return _0x515bcd();},'iuwhg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','tutNj':function(_0x20649b,_0x1c5c22){return _0x20649b(_0x1c5c22);},'EzeLW':function(_0x3138d0,_0x40f40e){return _0x3138d0===_0x40f40e;},'iCdZZ':_0x43a207(0xc7),'ShgdV':function(_0x209a7a,_0x48fed4){return _0x209a7a<_0x48fed4;},'QBuHX':function(_0x36ae8f,_0x4e82b4){return _0x36ae8f>_0x4e82b4;},'TtLzY':function(_0x316095,_0x289869,_0x4541ca){return _0x316095(_0x289869,_0x4541ca);},'lzYDe':function(_0x46ad82,_0x3edd80){return _0x46ad82+_0x3edd80;},'RTxYo':_0x43a207(0xdb),'LdNsD':function(_0x8ebb22,_0x5c525e){return _0x8ebb22+_0x5c525e;}},_0x1a1ff4=_0x53c2a4||await _0x24cd06[_0x43a207(0x127)](getActiveFeatureId);if(!_0x1a1ff4)throw new Error(_0x24cd06[_0x43a207(0x159)]);const _0xa55bb3=await _0x24cd06[_0x43a207(0x12a)](getFeature,_0x1a1ff4),{items:_0x43d673}=await getActionItems(_0x1a1ff4);console[_0x43a207(0xd4)](_0x43a207(0x153)+_0xa55bb3[_0x43a207(0xc2)]+'\x20('+_0xa55bb3['id']+')\x0a');if(_0x24cd06[_0x43a207(0x157)](_0x43d673[_0x43a207(0x185)],0x0)){console[_0x43a207(0xd4)](_0x24cd06['iCdZZ']);return;}for(let _0x2e16e3=0x0;_0x24cd06['ShgdV'](_0x2e16e3,_0x43d673['length']);_0x2e16e3++){const _0x180c23=_0x43d673[_0x2e16e3],_0xfda70d=_0x24cd06['QBuHX'](_0x180c23['version'],0x1)?_0x43a207(0x199)+_0x180c23['version']+')':'',_0x33a977=await _0x24cd06[_0x43a207(0xb4)](getItemFeedback,_0x1a1ff4,_0x180c23['id']);if(_0x33a977['unaddressedComments']['length']>0x0){console['log'](_0x43a207(0x10d)+_0x24cd06[_0x43a207(0xd3)](_0x2e16e3,0x1)+_0x43a207(0x12b)+_0x180c23['description']+'\x22'+_0xfda70d+'\x20—\x20'+_0x33a977['unaddressedComments'][_0x43a207(0x185)]+_0x43a207(0xfc));for(const _0x54d387 of _0x33a977[_0x43a207(0x17c)]){const _0x55e566=new Date(_0x54d387['createdAt'])[_0x43a207(0x132)](_0x43a207(0xc9),{'month':_0x24cd06['RTxYo'],'day':_0x43a207(0x13c)}),_0x4a8d98=_0x54d387[_0x43a207(0x19f)]||_0x54d387[_0x43a207(0x196)]||_0x43a207(0xe3);console['log'](_0x43a207(0x135)+_0x4a8d98+'\x20('+_0x55e566+'):\x20\x22'+_0x54d387[_0x43a207(0x1a7)]+'\x22');if(_0x54d387[_0x43a207(0x136)]){const _0x565090=await downloadFeedbackImage(_0x54d387['assetUrl'],_0x54d387['id']);_0x565090&&console[_0x43a207(0xd4)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x565090);}if(_0x54d387['domRef']){const _0x2ac355=_0x54d387[_0x43a207(0xc0)][_0x43a207(0xd5)]['split'](_0x43a207(0x18a))[_0x43a207(0x19b)]()?.[_0x43a207(0x14b)](':')[0x0]||'element',_0x8fdb5=_0x54d387['domRef'][_0x43a207(0xf2)]?'\x20\x22'+_0x54d387[_0x43a207(0xc0)][_0x43a207(0xf2)]['slice'](0x0,0x3c)+'\x22':'';console[_0x43a207(0xd4)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x2ac355+'>'+_0x8fdb5),console[_0x43a207(0xd4)](_0x43a207(0xec)+_0x54d387['domRef']['selector']);}else{if(_0x54d387[_0x43a207(0x17f)]){const _0x4c657d=_0x54d387['spatial'][_0x43a207(0x197)];_0x24cd06[_0x43a207(0x157)](_0x54d387[_0x43a207(0x17f)][_0x43a207(0x112)],_0x43a207(0x174))&&_0x4c657d[_0x43a207(0x185)]>=0x2?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4c657d[0x0][_0x43a207(0x184)](0x2)+',\x20'+_0x4c657d[0x1][_0x43a207(0x184)](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x54d387[_0x43a207(0x17f)][_0x43a207(0x112)]+_0x43a207(0x147)+_0x4c657d[_0x43a207(0xe7)](_0x4931fe=>_0x4931fe[_0x43a207(0x184)](0x2))[_0x43a207(0x14a)](',\x20')+']');}}}if(_0x33a977[_0x43a207(0x189)]){console['log'](_0x43a207(0x188));for(const _0x1f3f86 of _0x33a977[_0x43a207(0x189)][_0x43a207(0x14b)]('\x0a')){console[_0x43a207(0xd4)](_0x43a207(0xe5)+_0x1f3f86);}}}else console[_0x43a207(0xd4)]('Scenario\x20'+_0x24cd06['LdNsD'](_0x2e16e3,0x1)+':\x20\x22'+_0x180c23['description']+'\x22'+_0xfda70d+'\x20—\x20no\x20comments'),console[_0x43a207(0xd4)](_0x43a207(0xc5));console[_0x43a207(0xd4)]('');}}export async function featureDelete(_0x744bfd){const _0x5be361=_0x5d5956,_0x4364bb={'zZXvm':_0x5be361(0x171),'RprKc':function(_0x821403,_0x33b91d){return _0x821403(_0x33b91d);},'PKWtL':_0x5be361(0xb8)},_0x90ac8f=_0x744bfd||await getActiveFeatureId();if(!_0x90ac8f)throw new Error(_0x4364bb['zZXvm']);const _0x427f95=await _0x4364bb['RprKc'](getFeature,_0x90ac8f);await softDeleteFeature(_0x90ac8f),console[_0x5be361(0xd4)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x427f95[_0x5be361(0xc2)]+'\x20('+_0x90ac8f+')'),console[_0x5be361(0xd4)](_0x4364bb[_0x5be361(0xcd)]+_0x90ac8f);}export async function featureRestore(_0x14dbf5){const _0x3b6134=_0x5d5956,_0x3c35f9={'jNOeU':function(_0x429246,_0x15ee57){return _0x429246(_0x15ee57);}};await _0x3c35f9['jNOeU'](restoreFeature,_0x14dbf5);const _0x539fb4=await getFeature(_0x14dbf5);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x539fb4['name']+'\x20('+_0x14dbf5+')'),displayFeature(_0x539fb4,_0x539fb4[_0x3b6134(0x13b)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x501fd6,_0x18cbac){const _0x348a1c=_0x5073,_0x55a98b=_0x501fd6();while(!![]){try{const _0x1a19d0=-parseInt(_0x348a1c(0xa3))/0x1*(parseInt(_0x348a1c(0x9e))/0x2)+parseInt(_0x348a1c(0xa1))/0x3+parseInt(_0x348a1c(0xa0))/0x4*(-parseInt(_0x348a1c(0x9f))/0x5)+-parseInt(_0x348a1c(0x9b))/0x6+-parseInt(_0x348a1c(0xa4))/0x7*(parseInt(_0x348a1c(0x9c))/0x8)+-parseInt(_0x348a1c(0x97))/0x9+parseInt(_0x348a1c(0x96))/0xa*(parseInt(_0x348a1c(0x99))/0xb);if(_0x1a19d0===_0x18cbac)break;else _0x55a98b['push'](_0x55a98b['shift']());}catch(_0x3248e0){_0x55a98b['push'](_0x55a98b['shift']());}}}(_0x6dd8,0x1db49));function _0x5073(_0x261361,_0x3cfde0){_0x261361=_0x261361-0x96;const _0x6dd8ab=_0x6dd8();let _0x5073b3=_0x6dd8ab[_0x261361];return _0x5073b3;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x51937d=_0x5073,_0x1cd7c6={'RsDPY':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x3453c6=()=>{process['exit'](0x0);};process[_0x51937d(0x9d)]('SIGINT',_0x3453c6),process['once']('SIGTERM',_0x3453c6),process['once'](_0x1cd7c6['RsDPY'],_0x3453c6),cancellationHandlersInstalled=!![];}export async function hook(_0x546306,_0x2e4783){const _0x434fce=_0x5073;installCancellationHandlers();const _0x32850=HOOKS[_0x546306];if(!_0x32850){const _0x6651b9=Object[_0x434fce(0x98)](HOOKS)[_0x434fce(0xa2)](',\x20');console['error'](_0x434fce(0x9a)+_0x546306),console['error']('Valid\x20hooks:\x20'+_0x6651b9),process['exit'](0x1);}await _0x32850(_0x2e4783);}function _0x6dd8(){const _0x13ec80=['358230Vgdqks','4YbXgsk','660081NYUFiH','join','168394GuvnwK','875GDfIjL','4021430yqmLkS','1735929pBYEGJ','keys','11juBzrS','Unknown\x20hook:\x20','382206aSTQMi','248KmtXFI','once','2dgQoET'];_0x6dd8=function(){return _0x13ec80;};return _0x6dd8();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x34ec(){const _0x5b1ce9=['2682260GeDuYN','session_id','15mdoSfk','104267Giqceo','192330cEuFZS','6OuEAWy','16513970eSeuNV','291426UzNLGn','656KQiqmA','5661908FkcCxj','136qUUEhM','log','11925QlWuDs','Pgpvb'];_0x34ec=function(){return _0x5b1ce9;};return _0x34ec();}(function(_0x58f0fb,_0x52c803){const _0x2198a0=_0x43f6,_0x308ab1=_0x58f0fb();while(!![]){try{const _0x288211=-parseInt(_0x2198a0(0x1cc))/0x1*(parseInt(_0x2198a0(0x1ce))/0x2)+-parseInt(_0x2198a0(0x1c7))/0x3*(parseInt(_0x2198a0(0x1d1))/0x4)+-parseInt(_0x2198a0(0x1cb))/0x5*(parseInt(_0x2198a0(0x1d0))/0x6)+parseInt(_0x2198a0(0x1d2))/0x7+parseInt(_0x2198a0(0x1d3))/0x8*(-parseInt(_0x2198a0(0x1cd))/0x9)+-parseInt(_0x2198a0(0x1c9))/0xa+parseInt(_0x2198a0(0x1cf))/0xb;if(_0x288211===_0x52c803)break;else _0x308ab1['push'](_0x308ab1['shift']());}catch(_0x49b9e7){_0x308ab1['push'](_0x308ab1['shift']());}}}(_0x34ec,0x8ab78));import{readHookInput}from'./output.js';function _0x43f6(_0x233930,_0x36f377){_0x233930=_0x233930-0x1c6;const _0x34ecdb=_0x34ec();let _0x43f668=_0x34ecdb[_0x233930];return _0x43f668;}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 _0x32662d=_0x43f6,_0x1bd220={'Pgpvb':function(_0x26768e){return _0x26768e();},'xEEYp':'off','mUkYT':function(_0x43787a,_0x1a3d44){return _0x43787a(_0x1a3d44);}};if(_0x1bd220[_0x32662d(0x1c8)](resolveHookMode)===_0x1bd220['xEEYp'])return;const _0x4451fe=await readHookInput(),_0x80f97=_0x4451fe?.[_0x32662d(0x1ca)];if(!_0x80f97)return;if(_0x1bd220['mUkYT'](isSessionEnabled,_0x80f97)||_0x1bd220['mUkYT'](hasSessionBeenPrompted,_0x80f97))return;markSessionPrompted(_0x80f97),console[_0x32662d(0x1c6)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x52e1ff,_0x3041ef){const _0x3e67ff=_0x580c,_0x5731e0=_0x52e1ff();while(!![]){try{const _0x401b27=parseInt(_0x3e67ff(0x73))/0x1+parseInt(_0x3e67ff(0x79))/0x2+parseInt(_0x3e67ff(0x71))/0x3*(-parseInt(_0x3e67ff(0x6f))/0x4)+parseInt(_0x3e67ff(0x70))/0x5+-parseInt(_0x3e67ff(0x78))/0x6+parseInt(_0x3e67ff(0x74))/0x7+-parseInt(_0x3e67ff(0x72))/0x8*(-parseInt(_0x3e67ff(0x75))/0x9);if(_0x401b27===_0x3041ef)break;else _0x5731e0['push'](_0x5731e0['shift']());}catch(_0x2392be){_0x5731e0['push'](_0x5731e0['shift']());}}}(_0x595f,0xcbe03));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x595f(){const _0x57b0ba=['.\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`.','5164020VOcxXD','1280366ENvUcy','334644MTXsLE','404025plalKI','15IgsUmG','375992HwOnYX','756402YBRVZu','3469641KxeKXc','27lAIePh','master'];_0x595f=function(){return _0x57b0ba;};return _0x595f();}function _0x580c(_0xb00fed,_0x5bf161){_0xb00fed=_0xb00fed-0x6f;const _0x595f01=_0x595f();let _0x580cc7=_0x595f01[_0xb00fed];return _0x580cc7;}import{printBlock}from'./output.js';export async function disable(_0x47dc8d){const _0x136367=_0x580c,_0x48bb44={'kYsBj':function(_0x2e6da1,_0x416f4e){return _0x2e6da1!==_0x416f4e;},'XeTCJ':_0x136367(0x76),'OGPrs':function(_0x41f5e9,_0x11dc0a){return _0x41f5e9!==_0x11dc0a;}},_0x3483d6=_0x47dc8d||process['env']['CLAUDE_SESSION_ID']||'';_0x3483d6&&disableSession(_0x3483d6);const _0x532ffb=getCurrentBranch();_0x532ffb&&_0x48bb44['kYsBj'](_0x532ffb,'main')&&_0x532ffb!==_0x48bb44['XeTCJ']&&disableBranch(_0x532ffb),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x532ffb&&_0x532ffb!=='main'&&_0x48bb44['OGPrs'](_0x532ffb,_0x136367(0x76))?'\x20and\x20branch\x20\x27'+_0x532ffb+'\x27':'')+_0x136367(0x77));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x12bfa6,_0xfd8e0b){const _0x33b172=_0x1a47,_0x247b76=_0x12bfa6();while(!![]){try{const _0x5d9813=-parseInt(_0x33b172(0x137))/0x1*(parseInt(_0x33b172(0x134))/0x2)+-parseInt(_0x33b172(0x13d))/0x3*(-parseInt(_0x33b172(0x13b))/0x4)+parseInt(_0x33b172(0x13c))/0x5+parseInt(_0x33b172(0x136))/0x6+-parseInt(_0x33b172(0x135))/0x7+parseInt(_0x33b172(0x133))/0x8+-parseInt(_0x33b172(0x138))/0x9;if(_0x5d9813===_0xfd8e0b)break;else _0x247b76['push'](_0x247b76['shift']());}catch(_0x4498be){_0x247b76['push'](_0x247b76['shift']());}}}(_0x5ba1,0x8b65e));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x5ba1(){const _0x359cf6=['5802MQdpdv','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','ranger\x20setup\x20--opencode','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','master','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','main','924216zXUktW','8546KcEogO','1644629fUqGAC','2600844UBBpRG','137HRruxB','11544363eXRYdA','#\x20RANGER\x20ENABLED','VmTOo','2188Iaxnnd','5335650tQuTGl'];_0x5ba1=function(){return _0x359cf6;};return _0x5ba1();}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x1a47(_0x41dcc1,_0x50f055){_0x41dcc1=_0x41dcc1-0x12d;const _0x5ba1eb=_0x5ba1();let _0x1a478b=_0x5ba1eb[_0x41dcc1];return _0x1a478b;}export async function enable(_0x272a06){const _0x3d58c9=_0x1a47,_0x18d7cf={'VmTOo':function(_0x35eb85,_0x49db56){return _0x35eb85(_0x49db56);},'uDSRJ':_0x3d58c9(0x12e),'jQMpu':function(_0x47c67b,_0x30d58d){return _0x47c67b(_0x30d58d);},'LMSNO':function(_0x16a83f,_0x4300d2){return _0x16a83f!==_0x4300d2;},'pPMlE':_0x3d58c9(0x132)},_0x4f1974=_0x272a06||process['env']['CLAUDE_SESSION_ID']||'',_0x1c42c3=_0x18d7cf[_0x3d58c9(0x13a)](Boolean,_0x272a06),_0x9bb647=await getToken();if(!_0x9bb647){const _0xa01b81=_0x1c42c3?_0x18d7cf['uDSRJ']:'ranger\x20setup',_0x19b916=_0x1c42c3?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x3d58c9(0x12d);_0x18d7cf['jQMpu'](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`'+_0xa01b81+_0x3d58c9(0x131)+_0x19b916);return;}try{await update();}catch{}_0x4f1974&&enableSession(_0x4f1974);const _0x5288a9=getCurrentBranch(),_0x59c0e0=_0x5288a9&&_0x18d7cf['LMSNO'](_0x5288a9,_0x18d7cf['pPMlE'])&&_0x18d7cf['LMSNO'](_0x5288a9,_0x3d58c9(0x130))?'\x0a\x0a**Branch\x20\x27'+_0x5288a9+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x16798d=getRangerSkillContent();_0x18d7cf['jQMpu'](printBlock,_0x3d58c9(0x139)+_0x59c0e0+_0x3d58c9(0x12f)+_0x16798d+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x935050,_0x213ffc){const _0x27ef16=_0x229e,_0x38223e=_0x935050();while(!![]){try{const _0x3ea7c9=-parseInt(_0x27ef16(0x170))/0x1*(parseInt(_0x27ef16(0x16d))/0x2)+-parseInt(_0x27ef16(0x175))/0x3*(-parseInt(_0x27ef16(0x174))/0x4)+-parseInt(_0x27ef16(0x178))/0x5+-parseInt(_0x27ef16(0x171))/0x6*(parseInt(_0x27ef16(0x177))/0x7)+parseInt(_0x27ef16(0x173))/0x8*(-parseInt(_0x27ef16(0x16e))/0x9)+parseInt(_0x27ef16(0x16f))/0xa*(-parseInt(_0x27ef16(0x176))/0xb)+parseInt(_0x27ef16(0x172))/0xc;if(_0x3ea7c9===_0x213ffc)break;else _0x38223e['push'](_0x38223e['shift']());}catch(_0xb32fbf){_0x38223e['push'](_0x38223e['shift']());}}}(_0x3ec0,0xa870e));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x55e796){const _0x45372d={'IiWFJ':function(_0x43d443,_0x49344d){return _0x43d443(_0x49344d);},'PkpGb':function(_0xd4f719,_0x4f9089){return _0xd4f719(_0x4f9089);}},_0x1af84a=await _0x45372d['IiWFJ'](getEnabledSessionId,_0x55e796);if(!_0x1af84a)return;_0x45372d['PkpGb'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x229e(_0x2b23b7,_0x4b5dc7){_0x2b23b7=_0x2b23b7-0x16d;const _0x3ec055=_0x3ec0();let _0x229e68=_0x3ec055[_0x2b23b7];return _0x229e68;}function _0x3ec0(){const _0x535ea9=['10588PVsyZi','1542JJLxOt','2493854gpIpyc','7zgStmJ','5014950XgSqgt','1657386AdNTEC','12906DkQmMc','20vQmuXo','1XRtfTP','973314dVMOlC','23832840hAECXw','1168UFlhXi'];_0x3ec0=function(){return _0x535ea9;};return _0x3ec0();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x421324,_0x4ceadf){var _0x36e9c3=_0x25b0,_0xa456f3=_0x421324();while(!![]){try{var _0xa470a=-parseInt(_0x36e9c3(0x1e6))/0x1+-parseInt(_0x36e9c3(0x1e7))/0x2+-parseInt(_0x36e9c3(0x1e9))/0x3+-parseInt(_0x36e9c3(0x1ec))/0x4+-parseInt(_0x36e9c3(0x1ea))/0x5+parseInt(_0x36e9c3(0x1e8))/0x6+parseInt(_0x36e9c3(0x1eb))/0x7;if(_0xa470a===_0x4ceadf)break;else _0xa456f3['push'](_0xa456f3['shift']());}catch(_0x255120){_0xa456f3['push'](_0xa456f3['shift']());}}}(_0x3072,0xa2c0d));function _0x3072(){var _0x5ec6a6=['7361994LlWpNA','166548sgCZsb','4797430Mxvkvq','20781999qbaXyl','3724676XsaTNt','1144031IFmZgl','878034JPHGGy'];_0x3072=function(){return _0x5ec6a6;};return _0x3072();}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';function _0x25b0(_0x52941a,_0x4ba2b5){_0x52941a=_0x52941a-0x1e6;var _0x307243=_0x3072();var _0x25b015=_0x307243[_0x52941a];return _0x25b015;}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x254ad6,_0x4da5f9){const _0x494835=_0x4dab,_0x5b4b3e=_0x254ad6();while(!![]){try{const _0x27c5e1=-parseInt(_0x494835(0xf8))/0x1*(parseInt(_0x494835(0xf5))/0x2)+-parseInt(_0x494835(0xed))/0x3+-parseInt(_0x494835(0xf0))/0x4*(-parseInt(_0x494835(0xf6))/0x5)+-parseInt(_0x494835(0xef))/0x6+parseInt(_0x494835(0xf4))/0x7+-parseInt(_0x494835(0xec))/0x8+-parseInt(_0x494835(0xeb))/0x9*(-parseInt(_0x494835(0xee))/0xa);if(_0x27c5e1===_0x4da5f9)break;else _0x5b4b3e['push'](_0x5b4b3e['shift']());}catch(_0x5368fd){_0x5b4b3e['push'](_0x5b4b3e['shift']());}}}(_0x263b,0xc98cd));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x31f486){console['log'](_0x31f486);}export async function readHookInput(){const _0x53eec3=_0x4dab;let _0x3eb1ce='';try{for await(const _0x1a31a7 of process['stdin']){_0x3eb1ce+=_0x1a31a7;}}catch{return null;}if(!_0x3eb1ce[_0x53eec3(0xf1)]())return null;try{return JSON[_0x53eec3(0xf7)](_0x3eb1ce);}catch{return null;}}function _0x263b(){const _0x2cf5b2=['797176bDUxuZ','trim','XUWSo','ASnBa','10821951sNGFMS','2MvIsix','15FXrXCs','parse','1388447rgoiAz','24350211tCuwYg','9410760xTyyYA','3188025UXjOvU','10dzVOBB','2378628suSWGD'];_0x263b=function(){return _0x2cf5b2;};return _0x263b();}export async function getEnabledSessionId(_0x2dc6e6){const _0x4b108c=_0x4dab,_0x287331={'fHWyk':function(_0x5428a4){return _0x5428a4();},'ASnBa':function(_0x249bd1,_0x4e8255){return _0x249bd1(_0x4e8255);}};if(_0x2dc6e6)return isSessionEnabled(_0x2dc6e6)?_0x2dc6e6:null;const _0x382e49=await _0x287331['fHWyk'](readHookInput),_0x11fc51=_0x382e49?.['session_id'];if(!_0x11fc51||!_0x287331[_0x4b108c(0xf3)](isSessionEnabled,_0x11fc51))return null;return _0x11fc51;}function _0x4dab(_0x7987b0,_0x15ef99){_0x7987b0=_0x7987b0-0xeb;const _0x263b80=_0x263b();let _0x4dab19=_0x263b80[_0x7987b0];return _0x4dab19;}export async function getEnabledHookContext(_0x33e772){const _0xe3d470=_0x4dab,_0x43048b={'XUWSo':function(_0x26b430,_0x473584){return _0x26b430(_0x473584);}};if(_0x33e772){if(!isSessionEnabled(_0x33e772))return null;return{'sessionId':_0x33e772,'input':{'session_id':_0x33e772}};}const _0x1656f4=await readHookInput(),_0x26e52c=_0x1656f4?.['session_id'];if(!_0x26e52c||!_0x43048b[_0xe3d470(0xf2)](isSessionEnabled,_0x26e52c))return null;return{'sessionId':_0x26e52c,'input':_0x1656f4};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x598ccd,_0x1653f2){const _0x354e0c=_0x49ae,_0x3fff4d=_0x598ccd();while(!![]){try{const _0x3bb40d=parseInt(_0x354e0c(0xb8))/0x1*(-parseInt(_0x354e0c(0xba))/0x2)+parseInt(_0x354e0c(0xbc))/0x3+-parseInt(_0x354e0c(0xb5))/0x4*(-parseInt(_0x354e0c(0xbb))/0x5)+parseInt(_0x354e0c(0xb9))/0x6+-parseInt(_0x354e0c(0xbe))/0x7+-parseInt(_0x354e0c(0xb7))/0x8*(-parseInt(_0x354e0c(0xbd))/0x9)+parseInt(_0x354e0c(0xb4))/0xa*(parseInt(_0x354e0c(0xb6))/0xb);if(_0x3bb40d===_0x1653f2)break;else _0x3fff4d['push'](_0x3fff4d['shift']());}catch(_0x1274ae){_0x3fff4d['push'](_0x3fff4d['shift']());}}}(_0x1d02,0x3f4f3));import{printBlock,getEnabledHookContext}from'./output.js';function _0x49ae(_0x28ce5d,_0x1ae140){_0x28ce5d=_0x28ce5d-0xb4;const _0x1d0259=_0x1d02();let _0x49ae5c=_0x1d0259[_0x28ce5d];return _0x49ae5c;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x3b95c4){const _0x29be91={'HATAe':function(_0x53125c,_0x36c111){return _0x53125c(_0x36c111);},'ibYRb':function(_0x3d9322,_0x523f60){return _0x3d9322!==_0x523f60;}},_0x2b2258=await _0x29be91['HATAe'](getEnabledHookContext,_0x3b95c4);if(!_0x2b2258)return;if(_0x29be91['ibYRb'](_0x2b2258['input']['permission_mode'],'plan'))return;if(!shouldShowPlanReminder(_0x2b2258['sessionId']))return;_0x29be91['HATAe'](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===');}function _0x1d02(){const _0x51d3d6=['176rjLkEW','16SKomWF','363587DNQvfe','877656WFIAjD','2JxBbXN','32055TinUWP','949368rUhQlu','144729BuHshF','1489558SWShkd','60740HcdYtr','152rinegk'];_0x1d02=function(){return _0x51d3d6;};return _0x1d02();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x11ab79,_0x12477b){const _0x169e0e=_0x3a0b,_0x42f255=_0x11ab79();while(!![]){try{const _0x403028=-parseInt(_0x169e0e(0x1ac))/0x1+-parseInt(_0x169e0e(0x1b2))/0x2*(-parseInt(_0x169e0e(0x1b1))/0x3)+parseInt(_0x169e0e(0x1b3))/0x4+parseInt(_0x169e0e(0x1b0))/0x5*(parseInt(_0x169e0e(0x1ad))/0x6)+-parseInt(_0x169e0e(0x1a9))/0x7*(-parseInt(_0x169e0e(0x1af))/0x8)+parseInt(_0x169e0e(0x1ae))/0x9*(-parseInt(_0x169e0e(0x1aa))/0xa)+-parseInt(_0x169e0e(0x1a8))/0xb;if(_0x403028===_0x12477b)break;else _0x42f255['push'](_0x42f255['shift']());}catch(_0x13201c){_0x42f255['push'](_0x42f255['shift']());}}}(_0xf93d,0xcc962));function _0xf93d(){const _0x3f9875=['4002901bjGdFm','406930jkJgxY','===\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===','348260qNXoRf','8597862bCBpiQ','9KMmBiK','16vQfFmp','5wdBGPv','4884693GRXHij','2uCdbiK','5764080lXiBun','48608725bWYkCP'];_0xf93d=function(){return _0x3f9875;};return _0xf93d();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x3a0b(_0x57acc7,_0x55e7fb){_0x57acc7=_0x57acc7-0x1a8;const _0xf93da8=_0xf93d();let _0x3a0b00=_0xf93da8[_0x57acc7];return _0x3a0b00;}export async function planStart(_0x485f5b){const _0x44739e=_0x3a0b,_0x3ef60b=await getEnabledSessionId(_0x485f5b);if(!_0x3ef60b)return;printBlock(_0x44739e(0x1ab));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x2c5d(){const _0x1b69bc=['985580Fkruui','695904SHVRaA','63880AXUBci','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.','log','rKhvN','862932phjzsT','208292WytRJG','12swYeqg','PostToolUse','270GkWYAT','stringify','28452NJvJqD','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).','21095nSFIIl','117usiuzY'];_0x2c5d=function(){return _0x1b69bc;};return _0x2c5d();}(function(_0x12fb9c,_0x554cbd){const _0x5c6673=_0x21f7,_0x1bef65=_0x12fb9c();while(!![]){try{const _0x5308a2=parseInt(_0x5c6673(0xaa))/0x1+parseInt(_0x5c6673(0x9f))/0x2*(parseInt(_0x5c6673(0xab))/0x3)+parseInt(_0x5c6673(0xa4))/0x4+parseInt(_0x5c6673(0xa1))/0x5*(-parseInt(_0x5c6673(0xad))/0x6)+-parseInt(_0x5c6673(0xa9))/0x7+parseInt(_0x5c6673(0xa5))/0x8*(parseInt(_0x5c6673(0xa2))/0x9)+-parseInt(_0x5c6673(0xa3))/0xa;if(_0x5308a2===_0x554cbd)break;else _0x1bef65['push'](_0x1bef65['shift']());}catch(_0x37fc88){_0x1bef65['push'](_0x1bef65['shift']());}}}(_0x2c5d,0x200d8));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x21f7(_0x358d84,_0x2046c8){_0x358d84=_0x358d84-0x9f;const _0x2c5dfa=_0x2c5d();let _0x21f72b=_0x2c5dfa[_0x358d84];return _0x21f72b;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x3be904){const _0x533a87=_0x21f7,_0x190e51={'rKhvN':function(_0x6493fb,_0x5cafd3){return _0x6493fb(_0x5cafd3);},'khGEI':function(_0x415e1d){return _0x415e1d();},'HfpVw':_0x533a87(0xac)},_0x3153dc=await _0x190e51[_0x533a87(0xa8)](getEnabledSessionId,_0x3be904);if(!_0x3153dc)return;updateBranchTracking(_0x3153dc);const _0x590d9e=await _0x190e51['khGEI'](getToken);if(!_0x590d9e)return;const _0x156621=getSessionEntry(_0x3153dc);if(_0x156621){const _0x2cbf8d={'hookSpecificOutput':{'hookEventName':_0x190e51['HfpVw'],'additionalContext':_0x533a87(0xa0)}};console[_0x533a87(0xa7)](JSON[_0x533a87(0xae)](_0x2cbf8d));return;}const _0x18718f={'hookSpecificOutput':{'hookEventName':_0x190e51['HfpVw'],'additionalContext':_0x533a87(0xa6)}};console['log'](JSON['stringify'](_0x18718f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2cd945,_0x481a67){const _0x359a03=_0x5473,_0x3cc1b6=_0x2cd945();while(!![]){try{const _0x42ff15=parseInt(_0x359a03(0x18c))/0x1*(parseInt(_0x359a03(0x18b))/0x2)+parseInt(_0x359a03(0x187))/0x3+parseInt(_0x359a03(0x184))/0x4*(parseInt(_0x359a03(0x189))/0x5)+parseInt(_0x359a03(0x183))/0x6*(parseInt(_0x359a03(0x186))/0x7)+-parseInt(_0x359a03(0x18d))/0x8+-parseInt(_0x359a03(0x188))/0x9*(parseInt(_0x359a03(0x185))/0xa)+parseInt(_0x359a03(0x18a))/0xb;if(_0x42ff15===_0x481a67)break;else _0x3cc1b6['push'](_0x3cc1b6['shift']());}catch(_0x2648a6){_0x3cc1b6['push'](_0x3cc1b6['shift']());}}}(_0x1305,0x568ee));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0xc14bb9){const _0x5450f2={'yTAdh':function(_0x548351){return _0x548351();}},_0x4131fc=await getEnabledSessionId(_0xc14bb9);if(!_0x4131fc)return;try{const _0x4e099a=await _0x5450f2['yTAdh'](getToken);if(!_0x4e099a)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{}}function _0x5473(_0x16de16,_0x5dff29){_0x16de16=_0x16de16-0x183;const _0x1305ab=_0x1305();let _0x54730c=_0x1305ab[_0x16de16];return _0x54730c;}function _0x1305(){const _0x50640e=['20JYiGiX','148423fxjeSd','51782VnJcpl','22gSytyW','2383816pEuyoK','2926338LhjpZV','189212ZLVyUo','10pIlboq','7HoThFD','39834xLZFGi','5587101LLJwBs'];_0x1305=function(){return _0x50640e;};return _0x1305();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x45e1(_0x3c2967,_0x3effd4){_0x3c2967=_0x3c2967-0x1cd;const _0x5b09f7=_0x5b09();let _0x45e1fd=_0x5b09f7[_0x3c2967];return _0x45e1fd;}function _0x5b09(){const _0xb92083=['344016Crazel','51355ppHNBL','68049OpkkYK','36QpybYe','938520WZxKbZ','1000835ADdZCd','63bPwZWF','2774868yOyBFB','SGvJR','522DsmaZo','clear','340pVUkSk','reason','209yNSgvP','327736wyRbBb'];_0x5b09=function(){return _0xb92083;};return _0x5b09();}(function(_0x4ad08b,_0x39f7c8){const _0x12004e=_0x45e1,_0xf5c028=_0x4ad08b();while(!![]){try{const _0xa4fb44=-parseInt(_0x12004e(0x1d8))/0x1+-parseInt(_0x12004e(0x1d3))/0x2+-parseInt(_0x12004e(0x1d6))/0x3*(parseInt(_0x12004e(0x1d2))/0x4)+parseInt(_0x12004e(0x1d4))/0x5*(-parseInt(_0x12004e(0x1cd))/0x6)+-parseInt(_0x12004e(0x1d9))/0x7*(parseInt(_0x12004e(0x1d7))/0x8)+-parseInt(_0x12004e(0x1d5))/0x9*(-parseInt(_0x12004e(0x1cf))/0xa)+parseInt(_0x12004e(0x1d1))/0xb*(parseInt(_0x12004e(0x1da))/0xc);if(_0xa4fb44===_0x39f7c8)break;else _0xf5c028['push'](_0xf5c028['shift']());}catch(_0x397a8c){_0xf5c028['push'](_0xf5c028['shift']());}}}(_0x5b09,0x85180));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x3e5a59){const _0x195100=_0x45e1,_0xdb5ccc={'SGvJR':_0x195100(0x1ce)},_0x333245=process['env']['CLAUDE_SESSION_ID'];let _0x50f078=_0x3e5a59,_0x4e47ed;if(!_0x3e5a59){if(_0x333245&&!isSessionEnabled(_0x333245))return;const _0x25c510=await readHookInput();_0x50f078=_0x25c510?.['session_id']||_0x333245,_0x4e47ed=_0x25c510?.[_0x195100(0x1d0)];}if(!_0x50f078)return;_0x4e47ed===_0xdb5ccc[_0x195100(0x1db)]&&recordEnabledSessionCleared(_0x50f078);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x138b54,_0x5953fc){const _0x4b5311=_0x3209,_0x37b6fc=_0x138b54();while(!![]){try{const _0x4db9b1=parseInt(_0x4b5311(0x10a))/0x1*(parseInt(_0x4b5311(0x10d))/0x2)+parseInt(_0x4b5311(0x113))/0x3*(parseInt(_0x4b5311(0x10c))/0x4)+parseInt(_0x4b5311(0x101))/0x5+parseInt(_0x4b5311(0xff))/0x6+-parseInt(_0x4b5311(0xfa))/0x7+parseInt(_0x4b5311(0x112))/0x8+-parseInt(_0x4b5311(0xf9))/0x9;if(_0x4db9b1===_0x5953fc)break;else _0x37b6fc['push'](_0x37b6fc['shift']());}catch(_0x4ea76b){_0x37b6fc['push'](_0x37b6fc['shift']());}}}(_0x441f,0xe2b4d));function _0x441f(){const _0xbc3e1d=['sUWyp','Nqypd','1499348HxNXDh','OVvhl','791860wgelXP','2UzkXLF','nazvC','session_id','log','CLAUDE_ENV_FILE','403392nNralm','3MsRJAO','XOrQt','source','15424209lCStpt','8648878YeaZWs','env','lsmlW','stdin','export\x20CLAUDE_SESSION_ID=\x22','2799066LxUFlW','IYmMw','8318480LILclN','sknqk','trackCommandEnd','main','master','SessionStart','success'];_0x441f=function(){return _0xbc3e1d;};return _0x441f();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x3209(_0x162afc,_0x32a6d4){_0x162afc=_0x162afc-0xf9;const _0x441feb=_0x441f();let _0x32098c=_0x441feb[_0x162afc];return _0x32098c;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0xca9fe){const _0x8ce517=_0x3209,_0x4beb96={'sXmsX':function(_0x2793fc,_0x1e8f66){return _0x2793fc||_0x1e8f66;},'NFRQR':function(_0x668c4a,_0x1f0a1f){return _0x668c4a&&_0x1f0a1f;},'DwWJv':function(_0x6cb7ba,_0x3abff2,_0x24190d){return _0x6cb7ba(_0x3abff2,_0x24190d);},'sUWyp':function(_0x2d2664,_0x132048){return _0x2d2664(_0x132048);},'sknqk':function(_0x5b4793,_0x382e9d){return _0x5b4793(_0x382e9d);},'VWmHB':function(_0x14c55b,_0xbf825f){return _0x14c55b(_0xbf825f);},'Nqypd':function(_0x44920f){return _0x44920f();},'OVvhl':function(_0x2d9ab2,_0x1b9667){return _0x2d9ab2(_0x1b9667);},'IYmMw':function(_0x2a2ba2,_0x2064a6){return _0x2a2ba2(_0x2064a6);},'XOrQt':function(_0x369b55,_0x1aaadf){return _0x369b55!==_0x1aaadf;},'nazvC':_0x8ce517(0x106),'lsmlW':function(_0x5351fd,_0x497e3c){return _0x5351fd+_0x497e3c;}};let _0x2e6d10=_0x4beb96['sXmsX'](_0xca9fe,''),_0x4808f9;if(!_0xca9fe){let _0xc4b5fc='';for await(const _0x25f550 of process[_0x8ce517(0xfd)]){_0xc4b5fc+=_0x25f550;}try{const _0xa5e589=JSON['parse'](_0xc4b5fc);_0x2e6d10=_0xa5e589[_0x8ce517(0x10f)]||'',_0x4808f9=_0xa5e589[_0x8ce517(0x115)];}catch{}const _0xdff244=process[_0x8ce517(0xfb)][_0x8ce517(0x111)];if(_0x4beb96['NFRQR'](_0xdff244,_0x2e6d10))try{await _0x4beb96['DwWJv'](appendFile,_0xdff244,_0x8ce517(0xfe)+_0x2e6d10+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x2e6d10){_0x4beb96[_0x8ce517(0x108)](shouldAutoEnableAfterClear,_0x4808f9)&&_0x4beb96[_0x8ce517(0x102)](autoEnableAfterClear,_0x2e6d10);_0x4beb96['VWmHB'](initBranchTracking,_0x2e6d10);_0x4beb96[_0x8ce517(0x109)](resolveHookMode)==='on'&&_0x4beb96[_0x8ce517(0x10b)](enableSession,_0x2e6d10);const _0x3ec4d7=isSessionEnabled(_0x2e6d10);try{const _0x108f06=_0x4beb96[_0x8ce517(0x100)](createTelemetryCollector,'hook:session-start');await _0x108f06['trackCommandStart']({'sessionId':_0x2e6d10,'hooksEnabled':_0x3ec4d7}),await _0x108f06[_0x8ce517(0x103)](_0x8ce517(0x107));}catch{}if(_0x3ec4d7){const _0x4bdab2=_0x4beb96['Nqypd'](getCurrentBranch),_0x16112f=_0x4bdab2&&_0x4bdab2!==_0x8ce517(0x104)&&_0x4beb96[_0x8ce517(0x114)](_0x4bdab2,_0x8ce517(0x105))?'\x20(Branch:\x20'+_0x4bdab2+')':'',_0x4152b1={'hookSpecificOutput':{'hookEventName':_0x4beb96[_0x8ce517(0x10e)],'additionalContext':_0x4beb96[_0x8ce517(0xfc)](RANGER_AUTO_ENABLED_PROMPT,_0x16112f)}};console[_0x8ce517(0x110)](JSON['stringify'](_0x4152b1));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x4bc6d7,_0x430e83){const _0x3e7dd1=_0x2201,_0x32bd77=_0x4bc6d7();while(!![]){try{const _0x6bc243=-parseInt(_0x3e7dd1(0x1ac))/0x1*(parseInt(_0x3e7dd1(0x1a7))/0x2)+-parseInt(_0x3e7dd1(0x1b1))/0x3+parseInt(_0x3e7dd1(0x1aa))/0x4+parseInt(_0x3e7dd1(0x1a9))/0x5*(parseInt(_0x3e7dd1(0x1af))/0x6)+-parseInt(_0x3e7dd1(0x1b2))/0x7*(-parseInt(_0x3e7dd1(0x1b6))/0x8)+-parseInt(_0x3e7dd1(0x1a8))/0x9+parseInt(_0x3e7dd1(0x1b0))/0xa;if(_0x6bc243===_0x430e83)break;else _0x32bd77['push'](_0x32bd77['shift']());}catch(_0x4f62d6){_0x32bd77['push'](_0x32bd77['shift']());}}}(_0x58ca,0x2ce3a));function _0x2201(_0xb12611,_0x62a339){_0xb12611=_0xb12611-0x1a7;const _0x58ca6e=_0x58ca();let _0x22014f=_0x58ca6e[_0xb12611];return _0x22014f;}import{getToken}from'../utils/keychain.js';function _0x58ca(){const _0x519213=['stringify','status','138yyPiGJ','1256544cgPquG','341345qqxgwE','315376kSSLue','trackCommandEnd','5202wzDIQH','sessionId','HXKyP','6WWbbaz','7070740nCejoL','871860sshbov','7OxtoCK','some','hook:stop','featureId','950824DAjFix','kcMDU','trackCommandStart','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','log','Stop'];_0x58ca=function(){return _0x519213;};return _0x58ca();}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(_0xf94a0e){const _0x2a046a=_0x2201,_0x1cccc4={'kcMDU':function(_0x28a18d,_0x595b78){return _0x28a18d(_0x595b78);},'ElhpB':_0x2a046a(0x1bb),'efrXk':function(_0x2ff2ef,_0x2c88eb,_0x4b746d,_0x71f29e){return _0x2ff2ef(_0x2c88eb,_0x4b746d,_0x71f29e);}},_0x1c23b5=await _0x1cccc4['kcMDU'](getEnabledHookContext,_0xf94a0e),_0x44c403=_0x1c23b5?.[_0x2a046a(0x1ad)]??null;let _0x17d2e8=!![];if(!_0x44c403){await trackStop(_0x44c403,![],_0x17d2e8);return;}try{const _0x59d807=getSessionEntry(_0x44c403);if(!_0x59d807){await trackStop(_0x44c403,!![],_0x17d2e8);return;}const _0x1e9d40=await getToken(),_0x4de82a='https://dashboard.ranger.net/features/'+_0x59d807['featureId'];let _0x10b934=null,_0x3585c0=![],_0x3b7674=![];if(_0x1e9d40)try{const _0x2da885=await getFeature(_0x59d807[_0x2a046a(0x1b5)]);_0x10b934=_0x2da885['currentSessionId']??null;const _0x436c27=_0x2da885['checklistItems']['filter'](_0x519112=>_0x519112['sessionId']===_0x10b934);_0x3585c0=_0x436c27[_0x2a046a(0x1b3)](_0x29fff8=>_0x29fff8['status']!=='verified'&&_0x29fff8[_0x2a046a(0x1bd)]!=='blocked'&&_0x29fff8[_0x2a046a(0x1bd)]!=='closed'&&_0x29fff8[_0x2a046a(0x1bd)]!=='incomplete'),_0x3b7674=_0x436c27[_0x2a046a(0x1b3)](_0x4c318e=>_0x4c318e['status']==='verification_in_progress');}catch{}if(_0x1e9d40&&_0x10b934&&_0x3585c0){if(!_0x3b7674&&_0x1cccc4[_0x2a046a(0x1b7)](shouldShowStopReminder,_0x44c403)){const _0x59b509={'hookSpecificOutput':{'hookEventName':_0x1cccc4['ElhpB'],'additionalContext':_0x2a046a(0x1b9)+_0x4de82a}};console[_0x2a046a(0x1ba)](JSON[_0x2a046a(0x1bc)](_0x59b509));}}if(_0x1e9d40&&_0x10b934&&!_0x3585c0)try{await concludeSession(_0x59d807['featureId'],_0x10b934);}catch{}await _0x1cccc4['efrXk'](trackStop,_0x44c403,!![],_0x17d2e8);return;}catch{await trackStop(_0x44c403,!![],_0x17d2e8);return;}}async function trackStop(_0x2ea343,_0x27bc3b,_0x12effd){const _0x158c0e=_0x2201,_0x4fcd2f={'HXKyP':_0x158c0e(0x1b4),'VNcTq':function(_0x35d786,_0x345b06){return _0x35d786??_0x345b06;}};try{const _0x47128d=createTelemetryCollector(_0x4fcd2f[_0x158c0e(0x1ae)]);await _0x47128d[_0x158c0e(0x1b8)]({'sessionId':_0x4fcd2f['VNcTq'](_0x2ea343,undefined),'hooksEnabled':_0x27bc3b,'stopAllowed':_0x12effd}),await _0x47128d[_0x158c0e(0x1ab)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24fe5b,_0x10b675){var _0x1bbb51=_0x403a,_0x821093=_0x24fe5b();while(!![]){try{var _0x2b34cd=parseInt(_0x1bbb51(0x1d3))/0x1*(-parseInt(_0x1bbb51(0x1cd))/0x2)+parseInt(_0x1bbb51(0x1d2))/0x3+-parseInt(_0x1bbb51(0x1d4))/0x4+-parseInt(_0x1bbb51(0x1d1))/0x5+-parseInt(_0x1bbb51(0x1d5))/0x6*(parseInt(_0x1bbb51(0x1cf))/0x7)+-parseInt(_0x1bbb51(0x1ce))/0x8+parseInt(_0x1bbb51(0x1d0))/0x9;if(_0x2b34cd===_0x10b675)break;else _0x821093['push'](_0x821093['shift']());}catch(_0x5dbf47){_0x821093['push'](_0x821093['shift']());}}}(_0x1ed0,0x6a649));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x1ed0(){var _0x403880=['2989420QzbyAk','1838961qDVNyJ','184udzwcA','443032KQnNVj','6UGbGbK','6118MPYXhc','725056GlKsCz','4160527sYazPC','16013601NrQaQD'];_0x1ed0=function(){return _0x403880;};return _0x1ed0();}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x403a(_0x2e65a6,_0x2fcbf7){_0x2e65a6=_0x2e65a6-0x1cd;var _0x1ed03e=_0x1ed0();var _0x403add=_0x1ed03e[_0x2e65a6];return _0x403add;}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|