@ranger-testing/ranger-cli 3.0.1-alpha.aab0a1c-26 → 3.0.1-alpha.c0b290b-36
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 -0
- 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 -0
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -0
- 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 -0
- package/package.json +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2f2042=_0x6a14;(function(_0xc4e5eb,_0x22a47d){const _0x592e61=_0x6a14,_0x40b25c=_0xc4e5eb();while(!![]){try{const _0x460202=-parseInt(_0x592e61(0x1da))/0x1+parseInt(_0x592e61(0x246))/0x2+-parseInt(_0x592e61(0x1c6))/0x3*(-parseInt(_0x592e61(0x21b))/0x4)+parseInt(_0x592e61(0x1e1))/0x5*(parseInt(_0x592e61(0x1ca))/0x6)+-parseInt(_0x592e61(0x22e))/0x7+parseInt(_0x592e61(0x25d))/0x8*(-parseInt(_0x592e61(0x22b))/0x9)+parseInt(_0x592e61(0x29e))/0xa;if(_0x460202===_0x22a47d)break;else _0x40b25c['push'](_0x40b25c['shift']());}catch(_0x52babf){_0x40b25c['push'](_0x40b25c['shift']());}}}(_0x40fd,0xe41fa));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x37234b 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=_0x2f2042(0x1f0),bold=_0x3ec16a=>'\x1b[1m'+_0x3ec16a+'\x1b[0m';function getGitRepoUrl(){const _0x564f6a=_0x2f2042,_0x503d5a={'lkcQk':'git\x20remote\x20get-url\x20origin','lEyED':'utf-8','rbqEN':_0x564f6a(0x203)};try{const _0xefcc36=execSync(_0x503d5a['lkcQk'],{'encoding':_0x503d5a[_0x564f6a(0x1ea)],'stdio':[_0x503d5a[_0x564f6a(0x1fd)],_0x503d5a['rbqEN'],_0x564f6a(0x203)]})['trim']();return _0xefcc36['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x564f6a(0x289))[_0x564f6a(0x241)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x84c36e=_0x2f2042,_0x50892a={'pHciH':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','GdoQG':'utf-8','cjHFM':_0x84c36e(0x203)};try{return execSync(_0x50892a[_0x84c36e(0x29b)],{'encoding':_0x50892a['GdoQG'],'stdio':[_0x84c36e(0x203),'pipe',_0x50892a[_0x84c36e(0x24a)]]})[_0x84c36e(0x205)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x390570=_0x2f2042,_0x1ceda2={'xqoZa':function(_0x2f4bf0,_0x54febd){return _0x2f4bf0(_0x54febd);},'oWJAt':function(_0x171b28,_0x267324,_0x2aa3b4){return _0x171b28(_0x267324,_0x2aa3b4);},'oaihT':_0x390570(0x202)},_0x294c49=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x1ceda2[_0x390570(0x27c)](existsSync,_0x294c49))return null;try{const _0x283cb4=await _0x1ceda2['oWJAt'](readFile,_0x294c49,_0x1ceda2[_0x390570(0x1ec)]);return _0x283cb4[_0x390570(0x205)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x596425){const _0x1e2add=_0x2f2042,_0x14a815={'TEICN':function(_0x2ed69b,_0x9318c1,_0x135913){return _0x2ed69b(_0x9318c1,_0x135913);},'hbZYT':function(_0x4662c7,_0x36a5b7){return _0x4662c7(_0x36a5b7);}},_0x55d1cd=getRangerDir(),_0x165e4c=_0x14a815[_0x1e2add(0x257)](join,_0x55d1cd,ACTIVE_FEATURE_FILE);!_0x14a815[_0x1e2add(0x236)](existsSync,_0x55d1cd)&&await mkdir(_0x55d1cd,{'recursive':!![]}),await writeFile(_0x165e4c,_0x596425,'utf-8');}function getProgressDisplay(_0x3c7171){const _0x1e1a19=_0x2f2042,_0x13b132={'UQhal':function(_0x5d72f4,_0x51154f){return _0x5d72f4+_0x51154f;},'cFZKH':function(_0x3c3c3b,_0x1ce282){return _0x3c3c3b>_0x1ce282;},'dCrUR':function(_0x12e08d,_0x187288){return _0x12e08d>_0x187288;}},_0x4df873=_0x3c7171['verifiedItems']||0x0,_0x1344d9=_0x3c7171[_0x1e1a19(0x1fa)]||0x0,_0x5570a1=_0x3c7171[_0x1e1a19(0x291)]||0x0,_0x5ba358=_0x3c7171['incompleteItems']||0x0,_0xac3d0b=_0x3c7171['pendingItems']||0x0,_0x29162f=_0x13b132['UQhal'](_0x4df873+_0x1344d9+_0x5570a1,_0x5ba358)+_0xac3d0b;if(_0x29162f===0x0)return'-';const _0x2751e1=0xa,_0x5a169=Math['round'](_0x4df873/_0x29162f*_0x2751e1),_0x2cf8ca=_0x13b132['UQhal']('█'['repeat'](_0x5a169),'░'[_0x1e1a19(0x1fe)](_0x2751e1-_0x5a169)),_0x1d8c0b=[];if(_0x13b132[_0x1e1a19(0x28d)](_0x5570a1,0x0))_0x1d8c0b[_0x1e1a19(0x1dd)](_0x5570a1+'\x20blocked');if(_0x13b132[_0x1e1a19(0x28d)](_0x5ba358,0x0))_0x1d8c0b[_0x1e1a19(0x1dd)](_0x5ba358+_0x1e1a19(0x201));if(_0x1344d9>0x0)_0x1d8c0b[_0x1e1a19(0x1dd)](_0x1344d9+'\x20in\x20progress');const _0x511b8c=_0x13b132['dCrUR'](_0x1d8c0b['length'],0x0)?'\x20('+_0x1d8c0b['join'](',\x20')+')':'';return _0x2cf8ca+'\x20'+_0x4df873+'/'+_0x29162f+'\x20verified'+_0x511b8c;}function getCurrentSessionItems(_0x19af89,_0x1580b6){const _0x389a6f=_0x2f2042;if(!_0x19af89[_0x389a6f(0x26b)])return _0x1580b6['filter'](_0x236153=>!_0x236153[_0x389a6f(0x1ef)]);return _0x1580b6['filter'](_0x24581b=>_0x24581b['sessionId']===_0x19af89['currentSessionId']||!_0x24581b['sessionId']);}function displayFeature(_0x4c3372,_0x5b1480){const _0x1421c0=_0x2f2042,_0x6a15b5={'HCVfv':'\x0a\x20\x20\x20Scenarios:','qqRHh':function(_0x4b1215,_0xe5fe55){return _0x4b1215<_0xe5fe55;},'oREnf':function(_0x971ad8,_0x521b8d){return _0x971ad8===_0x521b8d;},'CkhLS':function(_0x4399ff,_0x31d434){return _0x4399ff===_0x31d434;},'nYbTv':'approved','NCIep':'closed','UxFwT':function(_0xd0821,_0x3b4b9d){return _0xd0821===_0x3b4b9d;},'RFliw':_0x1421c0(0x295),'MNZEu':function(_0x482d5b,_0x400a61){return _0x482d5b>_0x400a61;},'iduzO':function(_0x19c32c,_0x5383b5){return _0x19c32c!==_0x5383b5;},'qxdKn':_0x1421c0(0x232)};console['log']('\x0a'+_0x4c3372['name']+'\x20('+_0x4c3372[_0x1421c0(0x294)]+')');_0x4c3372['stats']&&console[_0x1421c0(0x1e5)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4c3372['stats']));_0x4c3372[_0x1421c0(0x20a)]&&console[_0x1421c0(0x1e5)](_0x1421c0(0x233)+_0x4c3372[_0x1421c0(0x20a)]);_0x4c3372['gitRepoUrl']&&console['log'](_0x1421c0(0x1fc)+_0x4c3372['gitRepoUrl']);_0x4c3372['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x4c3372['gitBranch']);console[_0x1421c0(0x1e5)]('\x20\x20\x20Created:\x20'+new Date(_0x4c3372['createdAt'])[_0x1421c0(0x28f)]());_0x4c3372['completedAt']&&console[_0x1421c0(0x1e5)](_0x1421c0(0x1e7)+new Date(_0x4c3372['completedAt'])['toLocaleString']());if(_0x5b1480&&_0x5b1480['length']>0x0){console[_0x1421c0(0x1e5)](_0x6a15b5[_0x1421c0(0x21a)]);for(let _0x118a3d=0x0;_0x6a15b5[_0x1421c0(0x1c5)](_0x118a3d,_0x5b1480[_0x1421c0(0x1eb)]);_0x118a3d++){const _0x36ffa1=_0x5b1480[_0x118a3d];let _0x42e26f;if(_0x6a15b5[_0x1421c0(0x20b)](_0x36ffa1['status'],'closed')&&_0x6a15b5[_0x1421c0(0x235)](_0x36ffa1[_0x1421c0(0x1e0)],_0x6a15b5[_0x1421c0(0x226)]))_0x42e26f='✅';else{if(_0x36ffa1['status']===_0x1421c0(0x262))_0x42e26f='🟢';else{if(_0x6a15b5['CkhLS'](_0x36ffa1['status'],_0x1421c0(0x232)))_0x42e26f='🟠';else{if(_0x6a15b5['CkhLS'](_0x36ffa1[_0x1421c0(0x250)],'blocked'))_0x42e26f='🛑';else{if(_0x6a15b5[_0x1421c0(0x20b)](_0x36ffa1['status'],_0x6a15b5['NCIep']))_0x42e26f='⛔';else _0x6a15b5[_0x1421c0(0x26f)](_0x36ffa1['status'],_0x6a15b5[_0x1421c0(0x252)])?_0x42e26f='⏳':_0x42e26f='⬜';}}}}const _0x2722a9=_0x36ffa1[_0x1421c0(0x25c)]>0x1?_0x1421c0(0x26d)+_0x36ffa1['version']+')':'',_0x1225a1=_0x6a15b5['MNZEu'](_0x36ffa1[_0x1421c0(0x25c)],0x1)&&_0x36ffa1[_0x1421c0(0x25f)]&&_0x36ffa1['status']!==_0x6a15b5['NCIep']&&_0x6a15b5['iduzO'](_0x36ffa1['status'],_0x1421c0(0x262))?'\x20[has\x20reviewer\x20feedback]':'';console['log'](_0x1421c0(0x229)+(_0x118a3d+0x1)+'.\x20'+_0x42e26f+'\x20'+_0x36ffa1[_0x1421c0(0x20a)]+_0x2722a9+_0x1225a1);_0x6a15b5[_0x1421c0(0x20b)](_0x36ffa1[_0x1421c0(0x250)],'blocked')&&_0x36ffa1[_0x1421c0(0x2a0)]&&console[_0x1421c0(0x1e5)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x36ffa1[_0x1421c0(0x2a0)]);_0x36ffa1[_0x1421c0(0x250)]===_0x6a15b5[_0x1421c0(0x1d4)]&&_0x36ffa1[_0x1421c0(0x1d8)]&&console[_0x1421c0(0x1e5)](_0x1421c0(0x27b)+_0x36ffa1[_0x1421c0(0x1d8)]);if(_0x36ffa1['status']==='closed'&&_0x6a15b5['CkhLS'](_0x36ffa1[_0x1421c0(0x1e0)],_0x1421c0(0x293)))console['log'](_0x1421c0(0x1e8));else _0x36ffa1['status']===_0x6a15b5['NCIep']&&_0x36ffa1['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x36ffa1[_0x1421c0(0x24b)]);}}}function _0x6a14(_0x611223,_0x13b75f){_0x611223=_0x611223-0x1c3;const _0x40fd29=_0x40fd();let _0x6a14d3=_0x40fd29[_0x611223];return _0x6a14d3;}export async function featureCreate(_0x316f20,_0x4c0496){const _0x3abfcf=_0x2f2042,_0x555a66={'Gqaaw':function(_0x3bbd6d,_0x53e62e){return _0x3bbd6d===_0x53e62e;},'YPIKb':function(_0x4d041e){return _0x4d041e();},'yBHZa':function(_0x2aab29,_0x101cdd){return _0x2aab29(_0x101cdd);},'ciecv':_0x3abfcf(0x23d),'dPgoH':function(_0x11f466,_0x6e3c30,_0x516bf6){return _0x11f466(_0x6e3c30,_0x516bf6);}},{envNames:_0x12c7ed}=await getEnvNames();if(_0x555a66[_0x3abfcf(0x268)](_0x12c7ed[_0x3abfcf(0x1eb)],0x0)&&!process['env'][_0x3abfcf(0x23e)]){let _0x41d758=0x0;try{_0x41d758=(await _0x555a66['YPIKb'](listCloudProfiles))[_0x3abfcf(0x1eb)];}catch{_0x41d758=0x1;}_0x41d758===0x0&&console[_0x3abfcf(0x248)]('\x0a'+_0x555a66[_0x3abfcf(0x28e)](formatProfileRequiredMessage,_0x39c232=>bold(_0x39c232)));}const _0x1a284a=_0x4c0496[_0x3abfcf(0x24c)]?_0x4c0496[_0x3abfcf(0x24c)]['map'](_0x2f5dd3=>_0x2f5dd3['trim']()):[],_0x8cb98c=_0x555a66[_0x3abfcf(0x23f)](getGitRepoUrl),_0x3a05c9=getGitBranch();console[_0x3abfcf(0x1e5)](_0x555a66[_0x3abfcf(0x24f)]);const _0x4e11d0=await createFeature({'name':_0x316f20,'description':_0x4c0496['description'],'checklist':_0x1a284a,'gitRepoUrl':_0x8cb98c,'gitBranch':_0x3a05c9});await _0x555a66['yBHZa'](setActiveFeatureId,_0x4e11d0['id']),await tryStartCurrentSession(_0x4e11d0['id']);const _0x1fcd68=process['env'][_0x3abfcf(0x28b)];_0x1fcd68&&_0x555a66['dPgoH'](registerSession,_0x1fcd68,_0x4e11d0['id']),console[_0x3abfcf(0x1e5)](_0x3abfcf(0x1f8)+_0x4e11d0['id']),_0x555a66['dPgoH'](displayFeature,_0x4e11d0,_0x4e11d0[_0x3abfcf(0x297)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0xe50bb1){const _0x4fd439=_0x2f2042,_0x412b58={'CdqKA':function(_0x2b004a){return _0x2b004a();},'oSWox':function(_0x3fa9b0){return _0x3fa9b0();},'PwZcd':function(_0x4b3ad9,_0x9d555c){return _0x4b3ad9(_0x9d555c);},'CUmVd':function(_0x358547,_0x19dfad){return _0x358547>_0x19dfad;},'EgGsC':_0x4fd439(0x207),'UvRCl':_0x4fd439(0x287)},_0x5a0715={'limit':_0xe50bb1[_0x4fd439(0x200)]??0xa,'offset':_0xe50bb1['offset']??0x0,'includeDeleted':_0xe50bb1[_0x4fd439(0x217)]};_0xe50bb1['currentBranch']&&(_0x5a0715['gitRepoUrl']=_0x412b58['CdqKA'](getGitRepoUrl),_0x5a0715[_0x4fd439(0x240)]=_0x412b58['oSWox'](getGitBranch));const _0x1cf700=await _0x412b58['PwZcd'](listFeatures,_0x5a0715);if(_0x1cf700[_0x4fd439(0x214)][_0x4fd439(0x1eb)]===0x0){console['log'](_0x4fd439(0x1f1));return;}const _0x1f2ab3=_0x412b58['CUmVd'](_0x1cf700[_0x4fd439(0x210)],_0x1cf700[_0x4fd439(0x214)][_0x4fd439(0x1eb)])?'Showing\x20'+_0x1cf700['items']['length']+_0x4fd439(0x277)+_0x1cf700[_0x4fd439(0x210)]:_0x1cf700[_0x4fd439(0x210)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1f2ab3+':\x0a');for(const _0x224bfb of _0x1cf700[_0x4fd439(0x214)]){console[_0x4fd439(0x1e5)](''+_0x224bfb[_0x4fd439(0x220)]),console[_0x4fd439(0x1e5)]('\x20\x20\x20ID:\x20'+_0x224bfb['id']),_0x224bfb['stats']&&console[_0x4fd439(0x1e5)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x224bfb[_0x4fd439(0x20e)])),_0x224bfb['gitBranch']&&console[_0x4fd439(0x1e5)](_0x4fd439(0x26c)+_0x224bfb[_0x4fd439(0x240)]),console['log'](_0x4fd439(0x299)+new Date(_0x224bfb[_0x4fd439(0x267)])['toLocaleDateString']()),console[_0x4fd439(0x1e5)]('');}const _0x47decb=_0x5a0715['limit']??0xa,_0x5964c7=(_0x5a0715[_0x4fd439(0x1f7)]??0x0)+_0x1cf700[_0x4fd439(0x214)]['length'];if(_0x5964c7<_0x1cf700['totalCount']){const _0x2f0887=_0x47decb!==0xa?'\x20--limit\x20'+_0x47decb:'',_0x4f3124=_0xe50bb1['currentBranch']?_0x412b58[_0x4fd439(0x28a)]:'',_0x2ad1ff=_0xe50bb1['includeDeleted']?_0x412b58[_0x4fd439(0x269)]:'';console[_0x4fd439(0x1e5)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x5964c7+_0x2f0887+_0x4f3124+_0x2ad1ff);}}export async function featureShow(_0x176f8b){const _0x2cff61=_0x2f2042,_0x38727e={'tCneF':function(_0x4076d1){return _0x4076d1();},'qJCCl':function(_0x41ddba,_0x1e40dd){return _0x41ddba(_0x1e40dd);}},_0x114c09=_0x176f8b||await _0x38727e['tCneF'](getActiveFeatureId);if(!_0x114c09)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 _0x57b79d=await _0x38727e[_0x2cff61(0x242)](getFeature,_0x114c09);displayFeature(_0x57b79d,_0x57b79d[_0x2cff61(0x297)]);}export async function featureResume(_0x269c3e){const _0x576092=_0x2f2042,_0x2d05e7={'nZckQ':function(_0xb362c5,_0x3fb7a1){return _0xb362c5(_0x3fb7a1);},'EGtEy':function(_0x1f8035,_0x2bea07){return _0x1f8035(_0x2bea07);},'bhHrt':function(_0xf4924a,_0x5e5de9){return _0xf4924a!==_0x5e5de9;},'Kmoql':function(_0x2adc26,_0x5a6a18,_0x52c0d8){return _0x2adc26(_0x5a6a18,_0x52c0d8);},'ylCDh':function(_0x4501f9){return _0x4501f9();},'PVNAC':_0x576092(0x249),'CWjzC':function(_0x1c538e,_0x4c840e){return _0x1c538e||_0x4c840e;},'DOfIX':_0x576092(0x243),'mUuXg':function(_0x504e55,_0x182570){return _0x504e55||_0x182570;},'KzCUN':function(_0x5456c7,_0x20111d){return _0x5456c7===_0x20111d;},'noGQM':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','PkaNH':function(_0x5c08e6,_0x3ed7d8){return _0x5c08e6(_0x3ed7d8);},'jNKQB':_0x576092(0x238),'fLaSF':_0x576092(0x21e),'GFOzD':function(_0x9157f6,_0x2e97bc,_0xeaae3){return _0x9157f6(_0x2e97bc,_0xeaae3);},'TWAmr':function(_0x112ab1,_0x70879f,_0x14167e){return _0x112ab1(_0x70879f,_0x14167e);},'ComJd':function(_0x288df6,_0x5d6526){return _0x288df6(_0x5d6526);}};if(_0x269c3e){const _0x10da2e=await _0x2d05e7[_0x576092(0x29d)](getFeature,_0x269c3e);await _0x2d05e7[_0x576092(0x1e9)](setActiveFeatureId,_0x10da2e['id']);const _0x2b60e2=getGitBranch();_0x2b60e2&&_0x2d05e7[_0x576092(0x1de)](_0x2b60e2,_0x10da2e['gitBranch'])&&(await updateFeature(_0x10da2e['id'],{'gitBranch':_0x2b60e2}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x2b60e2));console['log'](_0x576092(0x27f)+_0x10da2e['name']+'\x20('+_0x10da2e['id']+')'),await tryStartCurrentSession(_0x10da2e['id']);const _0xc73f4=process['env'][_0x576092(0x28b)];_0xc73f4&®isterSession(_0xc73f4,_0x10da2e['id']);_0x2d05e7['Kmoql'](displayFeature,_0x10da2e,_0x10da2e['checklistItems']),await printFeedbackNudge(_0x10da2e['id']);return;}const _0x2a07dc=_0x2d05e7['ylCDh'](getGitRepoUrl),_0x289d7b=getGitBranch();if(!_0x2a07dc&&!_0x289d7b)throw new Error(_0x2d05e7['PVNAC']);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x2d05e7['CWjzC'](_0x2a07dc,_0x2d05e7['DOfIX'])+'\x20/\x20'+_0x2d05e7['mUuXg'](_0x289d7b,'any')+'...');const _0x3e7509=await listFeatures({'gitRepoUrl':_0x2a07dc,'gitBranch':_0x289d7b}),_0x1d0968=_0x3e7509['items'][_0x576092(0x1fb)](_0x49be7c=>_0x49be7c[_0x576092(0x250)]?_0x49be7c['status']!=='verified':!_0x49be7c[_0x576092(0x1dc)]);if(_0x1d0968[_0x576092(0x1eb)]===0x0){console[_0x576092(0x1e5)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x576092(0x1e5)]('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x4af12b;if(_0x2d05e7[_0x576092(0x239)](_0x1d0968['length'],0x1))_0x4af12b=_0x1d0968[0x0];else{const _0x3e3dd9=process[_0x576092(0x25a)][_0x576092(0x1e6)]&&process['stdout']['isTTY'];if(!_0x3e3dd9){console[_0x576092(0x1e5)](_0x2d05e7[_0x576092(0x270)]);for(const _0x49f0ce of _0x1d0968){console['log']('\x20\x20'+_0x49f0ce[_0x576092(0x220)]),console['log'](_0x576092(0x255)+_0x49f0ce['id']),_0x49f0ce[_0x576092(0x20e)]&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x2d05e7['PkaNH'](getProgressDisplay,_0x49f0ce['stats'])),_0x49f0ce['gitBranch']&&console[_0x576092(0x1e5)](_0x576092(0x24e)+_0x49f0ce[_0x576092(0x240)]);}throw new Error(_0x576092(0x272));}const {selected:_0x171d6b}=await _0x37234b['prompt']([{'type':_0x576092(0x1cd),'name':_0x2d05e7[_0x576092(0x282)],'message':_0x2d05e7[_0x576092(0x261)],'choices':_0x1d0968[_0x576092(0x22c)](_0x1e53f9=>({'name':_0x1e53f9['name']+'\x20('+_0x1e53f9['id']+')','value':_0x1e53f9['id']}))}]);_0x4af12b=_0x1d0968[_0x576092(0x27d)](_0x49b0b5=>_0x49b0b5['id']===_0x171d6b);}await setActiveFeatureId(_0x4af12b['id']);_0x289d7b&&_0x289d7b!==_0x4af12b['gitBranch']&&(await _0x2d05e7['GFOzD'](updateFeature,_0x4af12b['id'],{'gitBranch':_0x289d7b}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x289d7b));console[_0x576092(0x1e5)](_0x576092(0x27f)+_0x4af12b['name']+'\x20('+_0x4af12b['id']+')'),await _0x2d05e7[_0x576092(0x21d)](tryStartCurrentSession,_0x4af12b['id']);const _0x380ac4=await getFeature(_0x4af12b['id']),_0x2a17e0=process[_0x576092(0x234)]['CLAUDE_SESSION_ID'];_0x2a17e0&®isterSession(_0x2a17e0,_0x380ac4['id']),_0x2d05e7['TWAmr'](displayFeature,_0x380ac4,_0x380ac4['checklistItems']),await _0x2d05e7['ComJd'](printFeedbackNudge,_0x380ac4['id']);}async function printFeedbackNudge(_0x428961){const _0x256890=_0x2f2042,_0xd62f80={'rgVtw':function(_0xdd5337,_0x32bc44){return _0xdd5337(_0x32bc44);},'SOHDq':_0x256890(0x227)};try{const {items:_0x580f8c}=await _0xd62f80[_0x256890(0x298)](getActionItems,_0x428961);let _0x5a978e=0x0,_0x33bdf4=0x0;for(const _0x5575d0 of _0x580f8c){const _0x5b517a=await getItemFeedback(_0x428961,_0x5575d0['id']);_0x5b517a['unaddressedComments'][_0x256890(0x1eb)]>0x0&&(_0x5a978e+=_0x5b517a[_0x256890(0x21f)][_0x256890(0x1eb)],_0x33bdf4++);}_0x5a978e>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x5a978e+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x33bdf4+'\x20scenario(s).'),console['log'](_0xd62f80[_0x256890(0x29f)]));}catch{}}async function tryStartCurrentSession(_0x569955){const _0x5bc043=_0x2f2042;try{const {sessions:_0x116bbc}=await listFeatureSessions(_0x569955),_0x3d49df=_0x116bbc['find'](_0x3a05aa=>_0x3a05aa['status']==='ready');_0x3d49df&&(await startSession(_0x569955,_0x3d49df['id']),console[_0x5bc043(0x1e5)](_0x5bc043(0x1db)+_0x3d49df[_0x5bc043(0x1c8)]));}catch{}}export async function featureReport(_0x5894e8,_0x24e8b0){const _0x5db5bb=_0x2f2042,_0x527784={'khbXp':'\x0aGenerating\x20report...','vTrYn':function(_0x176ff6,_0x1e417b,_0x2d9104,_0xf0f757){return _0x176ff6(_0x1e417b,_0x2d9104,_0xf0f757);},'kKkep':function(_0x4ede7d,_0x24f5f6,_0x127914){return _0x4ede7d(_0x24f5f6,_0x127914);},'sFzRw':function(_0x58c66e,_0xd69020){return _0x58c66e(_0xd69020);},'OxsmU':'utf-8'},_0x8a0265=_0x5894e8||await getActiveFeatureId();if(!_0x8a0265)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x527784[_0x5db5bb(0x1ee)]);const _0x5ecccf=await getFeatureReportMarkdown(_0x8a0265,{'style':_0x24e8b0['style']}),_0x4ff59e=_0x24e8b0['output']||_0x527784['vTrYn'](join,getRangerDir(),_0x5db5bb(0x1f5),_0x8a0265+'.md'),_0x24aba4=_0x527784['kKkep'](join,_0x4ff59e,'..');!_0x527784[_0x5db5bb(0x256)](existsSync,_0x24aba4)&&await _0x527784['kKkep'](mkdir,_0x24aba4,{'recursive':!![]}),await writeFile(_0x4ff59e,_0x5ecccf,_0x527784[_0x5db5bb(0x219)]),console[_0x5db5bb(0x1e5)]('\x0a✅\x20Report\x20generated:\x20'+_0x4ff59e);}function getScenarioResult(_0x48c48a){const _0x2fb28e=_0x2f2042,_0x4c8434={'WrOMC':'closed','ZnjhY':_0x2fb28e(0x295),'usWoy':_0x2fb28e(0x21c)};if(_0x48c48a['status']===_0x4c8434['WrOMC'])return _0x48c48a['terminalReason']??_0x4c8434[_0x2fb28e(0x265)];if(_0x48c48a['status']===_0x4c8434['ZnjhY'])return _0x4c8434[_0x2fb28e(0x224)];return _0x48c48a[_0x2fb28e(0x250)];}function getScenarioRationale(_0x3ec833,_0xe268a2){const _0x5bd478=_0x2f2042,_0x85c7d2={'ErcFi':_0x5bd478(0x275)},_0x3495ce=_0x85c7d2[_0x5bd478(0x286)][_0x5bd478(0x266)]('|');let _0x3f6dba=0x0;while(!![]){switch(_0x3495ce[_0x3f6dba++]){case'0':return null;case'1':if(_0x3ec833[_0x5bd478(0x1d8)])return _0x3ec833['incompleteReason'];continue;case'2':if(_0x3ec833['blockedReason'])return _0x3ec833['blockedReason'];continue;case'3':if(_0x3ec833['notes'])return _0x3ec833[_0x5bd478(0x288)];continue;case'4':if(_0xe268a2)return _0xe268a2;continue;case'5':if(_0x3ec833[_0x5bd478(0x24b)])return _0x3ec833['canceledReason'];continue;}break;}}export async function featureReportPrDescription(_0x520892,_0x36f857){const _0x3344cd=_0x2f2042,_0x476e79={'rChCQ':function(_0x64f221){return _0x64f221();},'ZJEyW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','xaDOi':function(_0x3c4f31,_0x2bfd48){return _0x3c4f31(_0x2bfd48);},'ffhTO':function(_0x9145c3,_0x24a761,_0x5f14f4){return _0x9145c3(_0x24a761,_0x5f14f4);},'fPxmz':function(_0x18d1e2,_0x118d97){return _0x18d1e2===_0x118d97;},'juAZX':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','ShFPS':'\x0aAvailable\x20scenarios:','mgMUM':function(_0x348e42,_0x547905){return _0x348e42<_0x547905;},'OJunG':function(_0x122a24,_0x915619,_0x327cb2,_0x1f6881){return _0x122a24(_0x915619,_0x327cb2,_0x1f6881);}},_0x1bbee4=_0x520892||await _0x476e79['rChCQ'](getActiveFeatureId);if(!_0x1bbee4)throw new Error(_0x476e79['ZJEyW']);const _0x4ea718=await _0x476e79[_0x3344cd(0x20f)](getFeature,_0x1bbee4),_0x341596=_0x4ea718['checklistItems']||[],_0x35710c=_0x476e79['ffhTO'](getCurrentSessionItems,_0x4ea718,_0x341596);_0x476e79[_0x3344cd(0x285)](_0x35710c['length'],0x0)&&(console['error'](_0x476e79['juAZX']),process['exit'](0x1));const _0x147375=_0x36f857['excludeScenarios']??[],_0x8b910a=_0x147375[_0x3344cd(0x1fb)](_0x3fd420=>!Number[_0x3344cd(0x274)](_0x3fd420)||_0x3fd420<0x1||_0x3fd420>_0x35710c[_0x3344cd(0x1eb)]);if(_0x8b910a[_0x3344cd(0x1eb)]>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x8b910a[_0x3344cd(0x258)](',\x20')),console['log'](_0x476e79[_0x3344cd(0x281)]);for(let _0x3aab02=0x0;_0x476e79[_0x3344cd(0x225)](_0x3aab02,_0x35710c[_0x3344cd(0x1eb)]);_0x3aab02++){console[_0x3344cd(0x1e5)]('\x20\x20'+(_0x3aab02+0x1)+'.\x20'+_0x35710c[_0x3aab02][_0x3344cd(0x20a)]);}process['exit'](0x1);}const _0x12cd05=new Set(_0x147375[_0x3344cd(0x22c)](_0x5c373e=>_0x5c373e-0x1)),_0x3b6822=_0x35710c['filter']((_0x548c45,_0x4adde2)=>!_0x12cd05[_0x3344cd(0x25b)](_0x4adde2));_0x3b6822[_0x3344cd(0x1eb)]===0x0&&(console['error'](_0x3344cd(0x283)),process['exit'](0x1));if(_0x36f857[_0x3344cd(0x278)])await _0x476e79['OJunG'](outputJsonReport,_0x1bbee4,_0x4ea718,_0x3b6822);else{const _0x5d3d9c=await _0x476e79[_0x3344cd(0x1d6)](getFeatureReportMarkdown,_0x1bbee4,{'itemIds':_0x3b6822['map'](_0x10859c=>_0x10859c['id'])});process[_0x3344cd(0x260)]['write'](_0x5d3d9c[_0x3344cd(0x29a)]()+'\x0a');}}async function outputJsonReport(_0x787214,_0x13b78e,_0x2bc6e0){const _0x4156e5=_0x2f2042,_0x51b7d7={'FPTxu':function(_0x20491c,_0x1e586a){return _0x20491c(_0x1e586a);},'vLkks':function(_0x264c63){return _0x264c63();},'CigqX':function(_0x4a7df1,_0x2d6152){return _0x4a7df1+_0x2d6152;}},_0x39bf82=_0x51b7d7[_0x4156e5(0x1d9)](getApiBaseUrl),_0x588551=await _0x51b7d7['FPTxu'](getFeatureReport,_0x787214),_0x4f7156=new Map(_0x588551[_0x4156e5(0x297)][_0x4156e5(0x22c)](_0x19795c=>[_0x19795c['id'],_0x19795c])),_0x16bdc5=await Promise['all'](_0x2bc6e0[_0x4156e5(0x22c)](async _0x237205=>{const _0x15a0df=_0x4156e5,_0x5dce3c=_0x4f7156['get'](_0x237205['id']),_0x5d2344=_0x5dce3c?.['linkedSession']??null;let _0x5250ed=[];if(_0x237205['browserSessionId'])try{const {steps:_0x18b1c1}=await _0x51b7d7[_0x15a0df(0x259)](getBrowserSessionSteps,_0x237205['browserSessionId']);_0x18b1c1[_0x15a0df(0x1eb)]>0x0&&(_0x5250ed=_0x18b1c1['map'](_0x12b853=>{const _0x5f06b3=_0x15a0df,_0xd340a3=_0x12b853['assets'][_0x5f06b3(0x27d)](_0x3dc63f=>_0x3dc63f[_0x5f06b3(0x27a)]===_0x5f06b3(0x222)&&_0x3dc63f['timing']===_0x5f06b3(0x245))??_0x12b853['assets']['find'](_0x729fc5=>_0x729fc5[_0x5f06b3(0x27a)]===_0x5f06b3(0x222));let _0x24f760=null,_0x7bac8f=null;if(_0xd340a3){const _0xc76c83=_0xd340a3['storage'][_0x5f06b3(0x254)][_0x5f06b3(0x266)]('/')['pop']();_0x24f760=_0x39bf82+'/api/v1/mcp/browser-sessions/'+_0x237205['browserSessionId']+'/artifacts/'+_0xc76c83,_0xc76c83&&(_0x7bac8f=_0xc76c83[_0x5f06b3(0x241)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x5f06b3(0x241)](/[-_]/g,'\x20'));}return{'description':_0x7bac8f||_0x12b853[_0x5f06b3(0x20a)]||_0x12b853[_0x5f06b3(0x23b)]||'Step\x20'+_0x12b853[_0x5f06b3(0x244)],'screenshot':_0x24f760,'is_key_step':_0x12b853['isKeyStep']};}));}catch{}return _0x5250ed['length']===0x0&&_0x5d2344?.['screenshotUrls']&&(_0x5250ed=_0x5d2344['screenshotUrls']['map']((_0x3fe3fb,_0x5a3f55)=>({'description':_0x15a0df(0x213)+(_0x5a3f55+0x1),'screenshot':_0x3fe3fb,'is_key_step':![]}))),{'description':_0x237205['description'],'result':getScenarioResult(_0x237205),'rationale':getScenarioRationale(_0x237205,_0x5d2344?.['agentResponse']),'steps':_0x5250ed};})),_0x25bc50={'url':_0x13b78e[_0x4156e5(0x294)],'scenarios':_0x16bdc5};process[_0x4156e5(0x260)]['write'](_0x51b7d7['CigqX'](JSON['stringify'](_0x25bc50,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x23cfbe){const _0x59296b=_0x2f2042,_0x3dd3d1={'GLIMS':_0x59296b(0x280),'pgESg':_0x59296b(0x223),'BTbDC':_0x59296b(0x1c7),'fxAXW':'\x0a✅\x20Session\x20is\x20already\x20completed.','EGNYd':function(_0x21dc51,_0x11f6ab){return _0x21dc51!==_0x11f6ab;},'YkPxW':function(_0x40ce60,_0x5e1f2d,_0x4c3890){return _0x40ce60(_0x5e1f2d,_0x4c3890);}},_0x12f1b5=_0x23cfbe||await getActiveFeatureId();if(!_0x12f1b5)throw new Error(_0x3dd3d1['GLIMS']);const _0x50a7cf=await getFeature(_0x12f1b5);if(!_0x50a7cf['currentSessionId'])throw new Error(_0x59296b(0x1e2));const {sessions:_0x1d407b}=await listFeatureSessions(_0x12f1b5),_0x53dd12=_0x1d407b[_0x59296b(0x27d)](_0x1ebf8e=>_0x1ebf8e['id']===_0x50a7cf[_0x59296b(0x26b)]);if(!_0x53dd12)throw new Error(_0x3dd3d1['pgESg']);if(_0x53dd12[_0x59296b(0x250)]===_0x3dd3d1[_0x59296b(0x231)]){console[_0x59296b(0x1e5)](_0x3dd3d1['fxAXW']);return;}if(_0x3dd3d1[_0x59296b(0x206)](_0x53dd12['status'],'in_progress'))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x53dd12['status']);console[_0x59296b(0x1e5)]('\x0aConcluding\x20session...'),await _0x3dd3d1['YkPxW'](concludeSession,_0x12f1b5,_0x50a7cf[_0x59296b(0x26b)]),console['log'](_0x59296b(0x204)+_0x53dd12['iteration']+'\x20concluded.'),console[_0x59296b(0x1e5)](_0x59296b(0x237));}function _0x40fd(){const _0x2d8165=['kQeZp','36dxhlMt','map','\x0a✅\x20Restored\x20feature\x20review:\x20','11560360kVyFCQ','point','error','BTbDC','incomplete','\x20\x20\x20Description:\x20','env','CkhLS','hbZYT','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','selected','KzCUN','exit','stepName','\x20—\x20','\x0aCreating\x20feature\x20review...','RANGER_TEST_USERNAME','YPIKb','gitBranch','replace','qJCCl','any','position','after','549516SoKGGf','\x20>\x20','warn','Not\x20in\x20a\x20git\x20repository.','cjHFM','canceledReason','scenarios','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20\x20\x20\x20\x20Branch:\x20','ciecv','status','\x0a✅\x20Scenario\x20added','RFliw','LdIOo','location','\x20\x20\x20\x20\x20ID:\x20','sFzRw','TEICN','join','FPTxu','stdin','has','version','2844776IvjTMi','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','parentItemId','stdout','fLaSF','verified','canonicalFlow','xXEbE','WrOMC','split','createdAt','Gqaaw','UvRCl','\x0a📋\x20Feedback\x20for:\x20','currentSessionId','\x20\x20\x20Branch:\x20','\x20(v','\x20at\x20[','UxFwT','noGQM','type','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','from','isInteger','4|2|1|5|3|0','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x20of\x20','json','uMjUm','assetType','\x20\x20\x20\x20\x20\x20Incomplete:\x20','xqoZa','find','olNic','\x0a✅\x20Resumed\x20feature\x20review:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ShFPS','jNKQB','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','comment_','fPxmz','ErcFi','\x20--include-deleted','notes','github.com/','EgGsC','CLAUDE_SESSION_ID','\x20\x20\x20\x20','cFZKH','yBHZa','toLocaleString','arrayBuffer','blockedItems','textContent','approved','dashboardUrl','verification_in_progress','\x20\x20✅\x20No\x20feedback\x20to\x20address','checklistItems','rgVtw','\x20\x20\x20Created:\x20','trimEnd','pHciH','BixOW','nZckQ','25691690KFGNWL','SOHDq','blockedReason','\x0aAvailable\x20scenarios:','.\x20Feature\x20review\x20has\x20','qqRHh','1491IGMlbV','completed','iteration','AiYCm','25158tDUPUC','WmtfQ','domRef','list','feedback-images','pnLxJ','ZgdCD','keeIZ',':\x20\x22','):\x20\x22','qxdKn','mkosG','ffhTO','latestReview','incompleteReason','vLkks','265044CRRipN','\x20\x20\x20▶️\x20Started\x20session\x20','completedAt','push','bhHrt','spatial','terminalReason','1340lSzGTi','No\x20active\x20session\x20for\x20this\x20feature\x20review.','slice','mYPkd','log','isTTY','\x20\x20\x20Completed:\x20','\x20\x20\x20\x20\x20\x20Approved','EGtEy','lEyED','length','oaihT','content','khbXp','sessionId','active-feature.txt','\x0aNo\x20feature\x20reviews\x20found.','Unknown','.png','xshXs','reports','APBHj','offset','\x0a✅\x20Feature\x20review\x20created:\x20','toFixed','verificationInProgressItems','filter','\x20\x20\x20Repository:\x20','rbqEN','repeat','\x20Session\x20','limit','\x20incomplete','utf-8','pipe','\x0a✅\x20Session\x20','trim','EGNYd','\x20--current-branch','scenario','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','description','oREnf','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ZEdQJ','stats','xaDOi','totalCount','selector','No\x20sessions\x20found.','Screenshot\x20','items','submittedAt','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','includeDeleted','jDnRY','OxsmU','HCVfv','2460ddyweX','in_progress','PkaNH','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','unaddressedComments','name','assetUrl','screenshot','Current\x20session\x20not\x20found.','usWoy','mgMUM','nYbTv','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20💬\x20','\x20\x20\x20'];_0x40fd=function(){return _0x2d8165;};return _0x40fd();}export async function featureSessions(_0xe65eb1){const _0x34cd07=_0x2f2042,_0x302436={'LdIOo':function(_0x145b37){return _0x145b37();},'YIuDr':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','pnLxJ':function(_0x4a5fbb,_0x60a6ac){return _0x4a5fbb(_0x60a6ac);},'xXEbE':function(_0x1b698a,_0x8f25ca){return _0x1b698a===_0x8f25ca;},'JPJhA':_0x34cd07(0x212),'xzSsQ':function(_0x39eb32,_0xca50bd){return _0x39eb32===_0xca50bd;},'oTxrR':'in_progress'},_0x50c1b1=_0xe65eb1||await _0x302436[_0x34cd07(0x253)](getActiveFeatureId);if(!_0x50c1b1)throw new Error(_0x302436['YIuDr']);const _0x5147dd=await getFeature(_0x50c1b1);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5147dd['name']+'\x0a');const {sessions:_0x1a8a37}=await _0x302436[_0x34cd07(0x1cf)](listFeatureSessions,_0x50c1b1);if(_0x302436[_0x34cd07(0x264)](_0x1a8a37[_0x34cd07(0x1eb)],0x0)){console[_0x34cd07(0x1e5)](_0x302436['JPJhA']);return;}for(const _0x9fadc0 of _0x1a8a37){const _0x1f4613=_0x302436['xXEbE'](_0x9fadc0[_0x34cd07(0x250)],_0x34cd07(0x1c7))?'✅':_0x302436['xzSsQ'](_0x9fadc0[_0x34cd07(0x250)],_0x302436['oTxrR'])?'🔄':'▶️';console['log'](_0x1f4613+_0x34cd07(0x1ff)+_0x9fadc0[_0x34cd07(0x1c8)]+'\x20('+_0x9fadc0['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x9fadc0[_0x34cd07(0x250)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x9fadc0['createdAt'])[_0x34cd07(0x28f)]()),_0x9fadc0[_0x34cd07(0x1dc)]&&console['log'](_0x34cd07(0x1e7)+new Date(_0x9fadc0['completedAt'])[_0x34cd07(0x28f)]()),console['log']('');}}export async function featureAddScenario(_0x5043a6,_0x3cff2a){const _0x587076=_0x2f2042,_0x181f11={'uMjUm':_0x587076(0x280),'FePgo':function(_0x53e0f5,_0x32e073,_0x3b84e0){return _0x53e0f5(_0x32e073,_0x3b84e0);}},_0x1f9178=_0x3cff2a||await getActiveFeatureId();if(!_0x1f9178)throw new Error(_0x181f11[_0x587076(0x279)]);const _0x2d5ade=await getFeature(_0x1f9178);if(_0x2d5ade['latestReview']&&!_0x2d5ade['latestReview'][_0x587076(0x215)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x2d5ade['dashboardUrl']);await createChecklistItem(_0x1f9178,_0x5043a6);const _0x5aeb23=await getFeature(_0x1f9178);console['log'](_0x587076(0x251)),_0x181f11['FePgo'](displayFeature,_0x5aeb23,_0x5aeb23[_0x587076(0x297)]);}export async function featureEditScenario(_0x54e2f0,_0x398719){const _0x32c680=_0x2f2042,_0x415d85={'iumRo':function(_0x2747c8){return _0x2747c8();},'xbfsi':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','taBzs':_0x32c680(0x25e),'qNYWZ':'Please\x20finish\x20your\x20review\x20first:','pqfes':function(_0x39cbec,_0x128e19){return _0x39cbec===_0x128e19;},'JooDX':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','olNic':_0x32c680(0x1c3),'jDnRY':function(_0x8ba882,_0x38098c){return _0x8ba882<_0x38098c;},'fozUT':function(_0x5bd8dd,_0x467691){return _0x5bd8dd-_0x467691;},'hIrkJ':function(_0x156247,_0x129c45){return _0x156247+_0x129c45;},'SwHDC':function(_0x3783de,_0x335a28,_0x2c24f3,_0x6ea654){return _0x3783de(_0x335a28,_0x2c24f3,_0x6ea654);},'keeIZ':function(_0x3902a7,_0xd0e45b){return _0x3902a7(_0xd0e45b);},'WmtfQ':function(_0x576bb3,_0x1bbb7d,_0xf83e25){return _0x576bb3(_0x1bbb7d,_0xf83e25);}},_0x3411d8=_0x398719['id']||await _0x415d85['iumRo'](getActiveFeatureId);!_0x3411d8&&(console[_0x32c680(0x230)](_0x32c680(0x20c)),console[_0x32c680(0x230)](_0x415d85['xbfsi']),process[_0x32c680(0x23a)](0x1));const _0x6448bc=await getFeature(_0x3411d8);_0x6448bc[_0x32c680(0x1d7)]&&!_0x6448bc[_0x32c680(0x1d7)][_0x32c680(0x215)]&&(console[_0x32c680(0x230)](_0x415d85['taBzs']),console['error'](_0x415d85['qNYWZ']),console['error']('\x20\x20'+_0x6448bc[_0x32c680(0x294)]),process[_0x32c680(0x23a)](0x1));const _0xdbaf0c=_0x6448bc[_0x32c680(0x297)]||[];_0x415d85['pqfes'](_0xdbaf0c[_0x32c680(0x1eb)],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x32c680(0x23a)](0x1));if(_0x398719['scenario']===undefined){console['error'](_0x415d85['JooDX']),console['log'](_0x415d85[_0x32c680(0x27e)]);for(let _0x4bc54b=0x0;_0x415d85[_0x32c680(0x218)](_0x4bc54b,_0xdbaf0c[_0x32c680(0x1eb)]);_0x4bc54b++){console[_0x32c680(0x1e5)]('\x20\x20'+(_0x4bc54b+0x1)+'.\x20'+_0xdbaf0c[_0x4bc54b]['description']);}process['exit'](0x1);}const _0x4a3b9b=_0x415d85['fozUT'](_0x398719[_0x32c680(0x208)],0x1);if(_0x4a3b9b<0x0||_0x4a3b9b>=_0xdbaf0c[_0x32c680(0x1eb)]){console[_0x32c680(0x230)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x398719['scenario']+_0x32c680(0x1c4)+_0xdbaf0c[_0x32c680(0x1eb)]+'\x20scenarios.'),console['log'](_0x415d85[_0x32c680(0x27e)]);for(let _0x51fe04=0x0;_0x51fe04<_0xdbaf0c[_0x32c680(0x1eb)];_0x51fe04++){console['log']('\x20\x20'+_0x415d85['hIrkJ'](_0x51fe04,0x1)+'.\x20'+_0xdbaf0c[_0x51fe04]['description']);}process[_0x32c680(0x23a)](0x1);}const _0x565706=_0xdbaf0c[_0x4a3b9b];await _0x415d85['SwHDC'](updateChecklistItem,_0x3411d8,_0x565706['id'],{'description':_0x54e2f0});const _0x3e075b=await _0x415d85[_0x32c680(0x1d1)](getFeature,_0x3411d8);console['log']('\x0a✅\x20Scenario\x20updated'),_0x415d85[_0x32c680(0x1cb)](displayFeature,_0x3e075b,_0x3e075b[_0x32c680(0x297)]);}async function downloadFeedbackImage(_0x509bbe,_0x1a5f6d){const _0x36eb34=_0x2f2042,_0x167bb8={'xshXs':function(_0x1b4f9b,_0x13db83,_0x23eb37){return _0x1b4f9b(_0x13db83,_0x23eb37);},'BixOW':_0x36eb34(0x1ce)};try{const _0x291938=_0x167bb8[_0x36eb34(0x1f4)](join,getRangerDir(),_0x167bb8[_0x36eb34(0x29c)]);await mkdir(_0x291938,{'recursive':!![]});const _0x54a62e=join(_0x291938,_0x36eb34(0x284)+_0x1a5f6d+_0x36eb34(0x1f3)),_0x53dae1=await fetch(_0x509bbe);if(!_0x53dae1['ok'])return null;const _0x36c7cb=Buffer[_0x36eb34(0x273)](await _0x53dae1[_0x36eb34(0x290)]());return await _0x167bb8[_0x36eb34(0x1f4)](writeFile,_0x54a62e,_0x36c7cb),_0x54a62e;}catch{return null;}}export async function featureGetReview(_0x452ea9){const _0x11eca3=_0x2f2042,_0x4c8892={'BwPEC':function(_0x568c95){return _0x568c95();},'APBHj':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hPKbE':'No\x20scenarios\x20found.','VDXzO':function(_0x5171d2,_0x251d3f){return _0x5171d2<_0x251d3f;},'mkosG':function(_0x1110a1,_0x30fcce){return _0x1110a1>_0x30fcce;},'kQeZp':function(_0x631291,_0x298285){return _0x631291+_0x298285;},'DelmW':'short','rXFmT':'numeric','BjSJn':_0x11eca3(0x1f2),'AiYCm':function(_0xdeb3e1,_0x381e55,_0x39f2d8){return _0xdeb3e1(_0x381e55,_0x39f2d8);},'pKZUv':_0x11eca3(0x247),'ZgdCD':function(_0x13cf5c,_0x331751){return _0x13cf5c===_0x331751;},'UiHKx':_0x11eca3(0x22f),'ZEdQJ':function(_0x2ebb4b,_0x164417){return _0x2ebb4b>=_0x164417;}},_0x12edf6=_0x452ea9||await _0x4c8892['BwPEC'](getActiveFeatureId);if(!_0x12edf6)throw new Error(_0x4c8892[_0x11eca3(0x1f6)]);const _0x396aa1=await getFeature(_0x12edf6),{items:_0x2f3459}=await getActionItems(_0x12edf6);console['log'](_0x11eca3(0x26a)+_0x396aa1['name']+'\x20('+_0x396aa1['id']+')\x0a');if(_0x2f3459[_0x11eca3(0x1eb)]===0x0){console['log'](_0x4c8892['hPKbE']);return;}for(let _0x3dab19=0x0;_0x4c8892['VDXzO'](_0x3dab19,_0x2f3459['length']);_0x3dab19++){const _0x263dc6=_0x2f3459[_0x3dab19],_0x320ab2=_0x263dc6['version']>0x1?'\x20(v'+_0x263dc6['version']+')':'',_0xfdd4eb=await getItemFeedback(_0x12edf6,_0x263dc6['id']);if(_0x4c8892[_0x11eca3(0x1d5)](_0xfdd4eb['unaddressedComments']['length'],0x0)){console['log']('Scenario\x20'+_0x4c8892[_0x11eca3(0x22a)](_0x3dab19,0x1)+':\x20\x22'+_0x263dc6['description']+'\x22'+_0x320ab2+_0x11eca3(0x23c)+_0xfdd4eb[_0x11eca3(0x21f)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x1701f3 of _0xfdd4eb[_0x11eca3(0x21f)]){const _0x3dd121=new Date(_0x1701f3['createdAt'])['toLocaleDateString']('en-US',{'month':_0x4c8892['DelmW'],'day':_0x4c8892['rXFmT']}),_0x44e540=_0x1701f3['authorName']||_0x1701f3['authorEmail']||_0x4c8892['BjSJn'];console[_0x11eca3(0x1e5)](_0x11eca3(0x228)+_0x44e540+'\x20('+_0x3dd121+_0x11eca3(0x1d3)+_0x1701f3[_0x11eca3(0x1ed)]+'\x22');if(_0x1701f3['assetUrl']){const _0x2a6cce=await _0x4c8892[_0x11eca3(0x1c9)](downloadFeedbackImage,_0x1701f3[_0x11eca3(0x221)],_0x1701f3['id']);_0x2a6cce&&console['log'](_0x11eca3(0x216)+_0x2a6cce);}if(_0x1701f3['domRef']){const _0x17567e=_0x1701f3['domRef'][_0x11eca3(0x211)]['split'](_0x4c8892['pKZUv'])['pop']()?.['split'](':')[0x0]||'element',_0x5b15f7=_0x1701f3[_0x11eca3(0x1cc)]['textContent']?'\x20\x22'+_0x1701f3['domRef'][_0x11eca3(0x292)][_0x11eca3(0x1e3)](0x0,0x3c)+'\x22':'';console[_0x11eca3(0x1e5)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x17567e+'>'+_0x5b15f7),console[_0x11eca3(0x1e5)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x1701f3[_0x11eca3(0x1cc)][_0x11eca3(0x211)]);}else{if(_0x1701f3[_0x11eca3(0x1df)]){const _0x27f8da=_0x1701f3['spatial']['coordinates'];_0x4c8892[_0x11eca3(0x1d0)](_0x1701f3[_0x11eca3(0x1df)][_0x11eca3(0x271)],_0x4c8892['UiHKx'])&&_0x4c8892[_0x11eca3(0x20d)](_0x27f8da['length'],0x2)?console[_0x11eca3(0x1e5)](_0x11eca3(0x209)+_0x27f8da[0x0][_0x11eca3(0x1f9)](0x2)+',\x20'+_0x27f8da[0x1][_0x11eca3(0x1f9)](0x2)+')'):console['log'](_0x11eca3(0x276)+_0x1701f3[_0x11eca3(0x1df)][_0x11eca3(0x271)]+_0x11eca3(0x26e)+_0x27f8da[_0x11eca3(0x22c)](_0x211163=>_0x211163['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0xfdd4eb[_0x11eca3(0x263)]){console[_0x11eca3(0x1e5)]('\x20\x20Expected\x20flow:');for(const _0x2db73b of _0xfdd4eb[_0x11eca3(0x263)]['split']('\x0a')){console[_0x11eca3(0x1e5)](_0x11eca3(0x28c)+_0x2db73b);}}}else console['log']('Scenario\x20'+(_0x3dab19+0x1)+_0x11eca3(0x1d2)+_0x263dc6[_0x11eca3(0x20a)]+'\x22'+_0x320ab2+'\x20—\x20no\x20comments'),console[_0x11eca3(0x1e5)](_0x11eca3(0x296));console[_0x11eca3(0x1e5)]('');}}export async function featureDelete(_0x543bfb){const _0x16a9a5=_0x2f2042,_0x18db2b={'mYPkd':_0x16a9a5(0x280),'YkcdL':function(_0x58edeb,_0x10cb92){return _0x58edeb(_0x10cb92);},'nWvVx':function(_0x117609,_0x2edf72){return _0x117609(_0x2edf72);},'ccjxa':_0x16a9a5(0x24d)},_0x5457f8=_0x543bfb||await getActiveFeatureId();if(!_0x5457f8)throw new Error(_0x18db2b[_0x16a9a5(0x1e4)]);const _0x1b4186=await _0x18db2b['YkcdL'](getFeature,_0x5457f8);await _0x18db2b['nWvVx'](softDeleteFeature,_0x5457f8),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x1b4186['name']+'\x20('+_0x5457f8+')'),console[_0x16a9a5(0x1e5)](_0x18db2b['ccjxa']+_0x5457f8);}export async function featureRestore(_0x190afd){const _0x374315=_0x2f2042,_0x1ae7c7={'lWvMe':function(_0x371542,_0x56a3df,_0x12e123){return _0x371542(_0x56a3df,_0x12e123);}};await restoreFeature(_0x190afd);const _0x12cd0d=await getFeature(_0x190afd);console[_0x374315(0x1e5)](_0x374315(0x22d)+_0x12cd0d['name']+'\x20('+_0x190afd+')'),_0x1ae7c7['lWvMe'](displayFeature,_0x12cd0d,_0x12cd0d['checklistItems']);}
|
|
1
|
+
const _0x48b567=_0x59f8;(function(_0x38701c,_0x463d9a){const _0x240bf8=_0x59f8,_0x48b3a8=_0x38701c();while(!![]){try{const _0x8b16d9=parseInt(_0x240bf8(0x20e))/0x1+-parseInt(_0x240bf8(0x296))/0x2+-parseInt(_0x240bf8(0x1e6))/0x3*(-parseInt(_0x240bf8(0x1f8))/0x4)+parseInt(_0x240bf8(0x298))/0x5*(-parseInt(_0x240bf8(0x239))/0x6)+parseInt(_0x240bf8(0x2a7))/0x7+parseInt(_0x240bf8(0x211))/0x8+parseInt(_0x240bf8(0x228))/0x9;if(_0x8b16d9===_0x463d9a)break;else _0x48b3a8['push'](_0x48b3a8['shift']());}catch(_0x169fcf){_0x48b3a8['push'](_0x48b3a8['shift']());}}}(_0x23df,0xa117f));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x549fb from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';function _0x59f8(_0x494e81,_0x715aa2){_0x494e81=_0x494e81-0x1d8;const _0x23dfd6=_0x23df();let _0x59f80a=_0x23dfd6[_0x494e81];return _0x59f80a;}import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x23df(){const _0x36b191=['incomplete','selected','\x20—\x20no\x20comments','\x20\x20\x20Created:\x20','oGowI','incompleteReason','KJCpp','\x20Session\x20','RANGER_TEST_USERNAME','IRDIM','zRqqo','verificationInProgressItems','unaddressedComments','assetType','MpByp','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','HlAsQ','notes','TWykT','scenario','\x20\x20\x20Status:\x20','\x20scenarios.','description','LuYjU','CACLv','No\x20sessions\x20found.','stats','status','\x20\x20\x20Updated\x20branch\x20to:\x20','tWxDk','IhlOs','QeluD','\x20\x20\x20\x20\x20📋\x20Selector:\x20','msNpM','\x0a✅\x20Scenario\x20added','checklistItems','uPusG','rXCtR','\x0aNo\x20feature\x20reviews\x20found.','output','blockedReason','terminalReason','NxdUv','\x20\x20\x20\x20\x20\x20Blocked:\x20','join','AooTr','scenarios','completed','AcEUO','ZTsSz','wfKtD','offset','repeat','env','\x20--current-branch','authorEmail','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','items','LXxwG','push','\x20in\x20progress','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','WDitd','gBbLE','\x0aGenerating\x20report...','AViLi','filter','approved','completedAt','github.com/','GleYh','ymMpz','map','USzWs','Not\x20in\x20a\x20git\x20repository.','name','storage','.md','oZlmq','qenJD','ymjMD','):\x20\x22','browserSessionId','totalCount','rhDtl','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x0a✅\x20Resumed\x20feature\x20review:\x20','SbLhZ','version','error','linkedSession','feedback-images','1364420PZxXCl','.\x20Feature\x20review\x20has\x20','5cuknpz','submittedAt','type','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','reports','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x20of\x20','\x20\x20✅\x20No\x20feedback\x20to\x20address','prompt','currentBranch','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','toFixed','find','log','isTTY','3934567KAFZhr','\x20(v','\x20[has\x20reviewer\x20feedback]','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','toLocaleString','element','arrayBuffer','get','\x20\x20\x20▶️\x20Started\x20session\x20','bYjVC','numeric','\x20\x20\x20\x20\x20\x20Approved','AjcMk','verification_in_progress','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','CLAUDE_SESSION_ID','spatial','currentSessionId','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','pendingItems','VQtRH','BhmUC','OoOyh','authorName','exit','ULGgT','\x0a⚠️\x20\x20','\x0a✅\x20Session\x20','length','ynjuq','split','PHBJF','WhLAu','FnzkG','latestReview','stdout','blockedItems','402819qCbaQi','dashboardUrl','canceledReason','pipe','qhAqn',':\x20\x22','pGExp','dVEyJ','jhpZK','round','\x20blocked','assets','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','sessionId','Next\x20page:\x20ranger\x20list\x20--offset\x20','geDrW','selector','4aqvBEQ','\x20incomplete','No\x20scenarios\x20found.','\x20\x20💬\x20','in_progress','\x1b[0m','\x20\x20\x20Progress:\x20','trim','screenshotUrls','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','uMoex','wPCfo','No\x20active\x20session\x20for\x20this\x20feature\x20review.','hoxLk','Scenario\x20','includeDeleted','position','TIJmQ','createdAt','vDcGF','yZIjr','tlypn','966388bhFLBW','verified','nEDBW','2966552Mmzlbx','\x20—\x20','\x0a❌\x20Invalid\x20scenario\x20index:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','domRef','blocked','\x20\x20\x20Branch:\x20','\x20\x20\x20\x20\x20Branch:\x20','utf-8','pop','short','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','NVxDI','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20\x20\x20\x20\x20Progress:\x20','any','toLocaleDateString','\x20\x20Expected\x20flow:','\x20\x20\x20','gjPZr','excludeScenarios','YdgBA','TfuFI','243738DcblCf','write','replace','FdkIQ','style','Harvx','warn','tkHSH','gitBranch','rMTgC','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','timing','iteration','closed','textContent','active-feature.txt','stepName','4311564mdzEjV'];_0x23df=function(){return _0x36b191;};return _0x23df();}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=_0x48b567(0x237),bold=_0x2274d8=>'\x1b[1m'+_0x2274d8+_0x48b567(0x1fd);function getGitRepoUrl(){const _0x2a49fb=_0x48b567,_0x131fd9={'qjxsL':_0x2a49fb(0x1e9),'tkHSH':_0x2a49fb(0x27f)};try{const _0x36f01c=execSync('git\x20remote\x20get-url\x20origin',{'encoding':'utf-8','stdio':[_0x131fd9['qjxsL'],'pipe',_0x2a49fb(0x1e9)]})[_0x2a49fb(0x1ff)]();return _0x36f01c[_0x2a49fb(0x22a)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x131fd9[_0x2a49fb(0x22f)])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x27eed0=_0x48b567,_0x5ad265={'oGowI':_0x27eed0(0x219)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x5ad265[_0x27eed0(0x23e)],'stdio':['pipe','pipe','pipe']})[_0x27eed0(0x1ff)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x2c9ddb=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x2c9ddb))return null;try{const _0x17e201=await readFile(_0x2c9ddb,'utf-8');return _0x17e201['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x48e40b){const _0x6d64f2=_0x48b567,_0x6ceea5={'rhDtl':function(_0x4f9213){return _0x4f9213();},'fhNcb':function(_0x309af2,_0x32f116,_0x555952){return _0x309af2(_0x32f116,_0x555952);},'uANqE':function(_0x3df976,_0x7692ff,_0xf85f92){return _0x3df976(_0x7692ff,_0xf85f92);},'ZnPBt':function(_0x13fc11,_0x44d9c0,_0x1423d6,_0x1e08b6){return _0x13fc11(_0x44d9c0,_0x1423d6,_0x1e08b6);}},_0x1420b4=_0x6ceea5[_0x6d64f2(0x28e)](getRangerDir),_0x3e49bd=_0x6ceea5['fhNcb'](join,_0x1420b4,ACTIVE_FEATURE_FILE);!existsSync(_0x1420b4)&&await _0x6ceea5['uANqE'](mkdir,_0x1420b4,{'recursive':!![]}),await _0x6ceea5['ZnPBt'](writeFile,_0x3e49bd,_0x48e40b,_0x6d64f2(0x219));}function getProgressDisplay(_0x1ae2a6){const _0x48875a=_0x48b567,_0x30a053={'PHBJF':function(_0x2e3d96,_0x5b270c){return _0x2e3d96+_0x5b270c;},'FnzkG':function(_0x91a30b,_0x3e61fb){return _0x91a30b+_0x3e61fb;},'JlTZA':function(_0x32ee5a,_0x23aaed){return _0x32ee5a===_0x23aaed;},'YdgBA':function(_0x4e7f27,_0x31cfeb){return _0x4e7f27+_0x31cfeb;},'jXJSC':function(_0x35bb5b,_0x463c06){return _0x35bb5b-_0x463c06;},'fkImb':function(_0x5bf7e4,_0x434130){return _0x5bf7e4>_0x434130;}},_0x42227e=_0x1ae2a6['verifiedItems']||0x0,_0x22353b=_0x1ae2a6[_0x48875a(0x245)]||0x0,_0x34d0f3=_0x1ae2a6[_0x48875a(0x1e5)]||0x0,_0x61d32d=_0x1ae2a6['incompleteItems']||0x0,_0x1f6fba=_0x1ae2a6[_0x48875a(0x2ba)]||0x0,_0x22e665=_0x30a053[_0x48875a(0x1e0)](_0x30a053[_0x48875a(0x1e2)](_0x30a053[_0x48875a(0x1e0)](_0x42227e,_0x22353b),_0x34d0f3),_0x61d32d)+_0x1f6fba;if(_0x30a053['JlTZA'](_0x22e665,0x0))return'-';const _0x5ab289=0xa,_0x4930f8=Math[_0x48875a(0x1ef)](_0x42227e/_0x22e665*_0x5ab289),_0x4d481d=_0x30a053[_0x48875a(0x226)]('█'['repeat'](_0x4930f8),'░'[_0x48875a(0x26e)](_0x30a053['jXJSC'](_0x5ab289,_0x4930f8))),_0x248c2b=[];if(_0x34d0f3>0x0)_0x248c2b[_0x48875a(0x275)](_0x34d0f3+_0x48875a(0x1f0));if(_0x30a053['fkImb'](_0x61d32d,0x0))_0x248c2b[_0x48875a(0x275)](_0x61d32d+_0x48875a(0x1f9));if(_0x22353b>0x0)_0x248c2b[_0x48875a(0x275)](_0x22353b+_0x48875a(0x276));const _0x16fa06=_0x30a053['fkImb'](_0x248c2b['length'],0x0)?'\x20('+_0x248c2b[_0x48875a(0x266)](',\x20')+')':'';return _0x4d481d+'\x20'+_0x42227e+'/'+_0x22e665+'\x20verified'+_0x16fa06;}function getCurrentSessionItems(_0x3b4d08,_0x486643){const _0x198ff4=_0x48b567;if(!_0x3b4d08['currentSessionId'])return _0x486643[_0x198ff4(0x27c)](_0x5f12fe=>!_0x5f12fe['sessionId']);return _0x486643[_0x198ff4(0x27c)](_0x290439=>_0x290439[_0x198ff4(0x1f4)]===_0x3b4d08['currentSessionId']||!_0x290439['sessionId']);}function displayFeature(_0x20d731,_0x5dbb79){const _0x17c066=_0x48b567,_0x33c611={'IxjvT':'\x0a\x20\x20\x20Scenarios:','NxdUv':function(_0x2be13d,_0x38d437){return _0x2be13d<_0x38d437;},'CuhUn':'closed','IhlOs':function(_0x15f9fc,_0x53ca5b){return _0x15f9fc===_0x53ca5b;},'nHLdD':function(_0x290465,_0x5c7f14){return _0x290465===_0x5c7f14;},'aEbeT':function(_0x497f1e,_0x44af6f){return _0x497f1e===_0x44af6f;},'pGExp':_0x17c066(0x23a),'KJCpp':_0x17c066(0x216),'ZTsSz':_0x17c066(0x2b4),'xhHTj':function(_0x3330e9,_0x1b597c){return _0x3330e9>_0x1b597c;},'QeluD':function(_0x1d23ff,_0x33d1c1){return _0x1d23ff>_0x33d1c1;},'jhpZK':function(_0x14a8eb,_0x144407){return _0x14a8eb!==_0x144407;},'qenJD':_0x17c066(0x2a9),'tcnwg':function(_0x168df0,_0x58ef52){return _0x168df0+_0x58ef52;},'lAwjw':'approved'};console[_0x17c066(0x2a5)]('\x0a'+_0x20d731[_0x17c066(0x285)]+'\x20('+_0x20d731['dashboardUrl']+')');_0x20d731['stats']&&console['log'](_0x17c066(0x1fe)+getProgressDisplay(_0x20d731['stats']));_0x20d731[_0x17c066(0x250)]&&console[_0x17c066(0x2a5)]('\x20\x20\x20Description:\x20'+_0x20d731['description']);_0x20d731['gitRepoUrl']&&console[_0x17c066(0x2a5)]('\x20\x20\x20Repository:\x20'+_0x20d731['gitRepoUrl']);_0x20d731['gitBranch']&&console[_0x17c066(0x2a5)]('\x20\x20\x20Branch:\x20'+_0x20d731[_0x17c066(0x230)]);console[_0x17c066(0x2a5)]('\x20\x20\x20Created:\x20'+new Date(_0x20d731[_0x17c066(0x20a)])['toLocaleString']());_0x20d731['completedAt']&&console[_0x17c066(0x2a5)]('\x20\x20\x20Completed:\x20'+new Date(_0x20d731['completedAt'])[_0x17c066(0x2ab)]());if(_0x5dbb79&&_0x5dbb79['length']>0x0){console['log'](_0x33c611['IxjvT']);for(let _0x504ae1=0x0;_0x33c611[_0x17c066(0x264)](_0x504ae1,_0x5dbb79[_0x17c066(0x1dd)]);_0x504ae1++){const _0x561218=_0x5dbb79[_0x504ae1];let _0x40035b;if(_0x561218['status']===_0x33c611['CuhUn']&&_0x33c611[_0x17c066(0x258)](_0x561218['terminalReason'],_0x17c066(0x27d)))_0x40035b='✅';else{if(_0x33c611['nHLdD'](_0x561218['status'],_0x17c066(0x20f)))_0x40035b='🟢';else{if(_0x33c611['aEbeT'](_0x561218['status'],_0x33c611['pGExp']))_0x40035b='🟠';else{if(_0x561218['status']===_0x33c611[_0x17c066(0x240)])_0x40035b='🛑';else{if(_0x33c611['aEbeT'](_0x561218[_0x17c066(0x255)],_0x17c066(0x235)))_0x40035b='⛔';else _0x561218['status']===_0x33c611[_0x17c066(0x26b)]?_0x40035b='⏳':_0x40035b='⬜';}}}}const _0x68e3ae=_0x33c611['xhHTj'](_0x561218[_0x17c066(0x292)],0x1)?'\x20(v'+_0x561218['version']+')':'',_0x5f443a=_0x33c611[_0x17c066(0x259)](_0x561218[_0x17c066(0x292)],0x1)&&_0x561218['parentItemId']&&_0x561218['status']!=='closed'&&_0x33c611[_0x17c066(0x1ee)](_0x561218['status'],_0x17c066(0x20f))?_0x33c611[_0x17c066(0x289)]:'';console[_0x17c066(0x2a5)](_0x17c066(0x223)+_0x33c611['tcnwg'](_0x504ae1,0x1)+'.\x20'+_0x40035b+'\x20'+_0x561218['description']+_0x68e3ae+_0x5f443a);_0x561218['status']===_0x33c611[_0x17c066(0x240)]&&_0x561218[_0x17c066(0x262)]&&console['log'](_0x17c066(0x265)+_0x561218[_0x17c066(0x262)]);_0x561218['status']===_0x33c611[_0x17c066(0x1ec)]&&_0x561218['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x561218[_0x17c066(0x23f)]);if(_0x33c611['aEbeT'](_0x561218[_0x17c066(0x255)],_0x33c611['CuhUn'])&&_0x561218[_0x17c066(0x263)]===_0x33c611['lAwjw'])console[_0x17c066(0x2a5)](_0x17c066(0x2b2));else _0x561218['status']===_0x33c611['CuhUn']&&_0x561218['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x561218[_0x17c066(0x1e8)]);}}}export async function featureCreate(_0x540009,_0x29dea0){const _0xc07d1d=_0x48b567,_0x23111c={'uPusG':function(_0x1d0c45){return _0x1d0c45();},'prFOh':function(_0x50b777,_0x4460c9){return _0x50b777===_0x4460c9;},'nnRlB':function(_0x18fffd,_0x7d331b){return _0x18fffd===_0x7d331b;},'WDitd':function(_0x5db590,_0x24f0e8){return _0x5db590(_0x24f0e8);},'CneIV':function(_0x14880b){return _0x14880b();},'vDcGF':function(_0x47adea,_0x577109,_0x415549){return _0x47adea(_0x577109,_0x415549);}},{envNames:_0x5e5e34}=await _0x23111c[_0xc07d1d(0x25e)](getEnvNames);if(_0x23111c['prFOh'](_0x5e5e34['length'],0x0)&&!process[_0xc07d1d(0x26f)][_0xc07d1d(0x242)]){let _0x2e7c79=0x0;try{_0x2e7c79=(await listCloudProfiles())[_0xc07d1d(0x1dd)];}catch{_0x2e7c79=0x1;}_0x23111c['nnRlB'](_0x2e7c79,0x0)&&console[_0xc07d1d(0x22e)]('\x0a'+_0x23111c[_0xc07d1d(0x278)](formatProfileRequiredMessage,_0xd0b76b=>bold(_0xd0b76b)));}const _0x5728b8=_0x29dea0[_0xc07d1d(0x268)]?_0x29dea0['scenarios']['map'](_0x362cc4=>_0x362cc4['trim']()):[],_0x36cb7f=getGitRepoUrl(),_0x3a755c=_0x23111c['CneIV'](getGitBranch);console[_0xc07d1d(0x2a5)]('\x0aCreating\x20feature\x20review...');const _0xa8aed3=await createFeature({'name':_0x540009,'description':_0x29dea0['description'],'checklist':_0x5728b8,'gitRepoUrl':_0x36cb7f,'gitBranch':_0x3a755c});await _0x23111c['WDitd'](setActiveFeatureId,_0xa8aed3['id']),await _0x23111c['WDitd'](tryStartCurrentSession,_0xa8aed3['id']);const _0x33ec62=process['env']['CLAUDE_SESSION_ID'];_0x33ec62&&_0x23111c[_0xc07d1d(0x20b)](registerSession,_0x33ec62,_0xa8aed3['id']),console[_0xc07d1d(0x2a5)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0xa8aed3['id']),displayFeature(_0xa8aed3,_0xa8aed3['checklistItems']),console[_0xc07d1d(0x2a5)](_0xc07d1d(0x249));}export async function featureList(_0x5c0335){const _0x1322d5=_0x48b567,_0x556e8c={'SbLhZ':function(_0x5a4937){return _0x5a4937();},'TIJmQ':function(_0x5140a1,_0x31dd43){return _0x5140a1(_0x31dd43);},'TvUIO':_0x1322d5(0x260),'uQIIP':function(_0x678eba,_0x406e90){return _0x678eba(_0x406e90);},'gQIUf':function(_0x4e8731,_0x160843){return _0x4e8731<_0x160843;},'ynjuq':'\x20--include-deleted'},_0x46edd8={'limit':_0x5c0335['limit']??0xa,'offset':_0x5c0335[_0x1322d5(0x26d)]??0x0,'includeDeleted':_0x5c0335[_0x1322d5(0x207)]};_0x5c0335['currentBranch']&&(_0x46edd8['gitRepoUrl']=_0x556e8c[_0x1322d5(0x291)](getGitRepoUrl),_0x46edd8[_0x1322d5(0x230)]=_0x556e8c[_0x1322d5(0x291)](getGitBranch));const _0x4fa647=await _0x556e8c[_0x1322d5(0x209)](listFeatures,_0x46edd8);if(_0x4fa647[_0x1322d5(0x273)][_0x1322d5(0x1dd)]===0x0){console['log'](_0x556e8c['TvUIO']);return;}const _0x2fd92c=_0x4fa647['totalCount']>_0x4fa647['items'][_0x1322d5(0x1dd)]?'Showing\x20'+_0x4fa647[_0x1322d5(0x273)]['length']+_0x1322d5(0x29e)+_0x4fa647[_0x1322d5(0x28d)]:_0x4fa647[_0x1322d5(0x28d)]+'\x20feature\x20review(s)\x20found';console[_0x1322d5(0x2a5)]('\x0a'+_0x2fd92c+':\x0a');for(const _0x48b4ca of _0x4fa647['items']){console['log'](''+_0x48b4ca[_0x1322d5(0x285)]),console[_0x1322d5(0x2a5)]('\x20\x20\x20ID:\x20'+_0x48b4ca['id']),_0x48b4ca[_0x1322d5(0x254)]&&console[_0x1322d5(0x2a5)](_0x1322d5(0x1fe)+_0x556e8c['uQIIP'](getProgressDisplay,_0x48b4ca[_0x1322d5(0x254)])),_0x48b4ca[_0x1322d5(0x230)]&&console[_0x1322d5(0x2a5)](_0x1322d5(0x217)+_0x48b4ca['gitBranch']),console[_0x1322d5(0x2a5)]('\x20\x20\x20Created:\x20'+new Date(_0x48b4ca['createdAt'])['toLocaleDateString']()),console[_0x1322d5(0x2a5)]('');}const _0x3b1698=_0x46edd8['limit']??0xa,_0x8c18=(_0x46edd8['offset']??0x0)+_0x4fa647['items']['length'];if(_0x556e8c['gQIUf'](_0x8c18,_0x4fa647['totalCount'])){const _0x42e251=_0x3b1698!==0xa?'\x20--limit\x20'+_0x3b1698:'',_0x150330=_0x5c0335[_0x1322d5(0x2a1)]?_0x1322d5(0x270):'',_0x5e8b26=_0x5c0335['includeDeleted']?_0x556e8c[_0x1322d5(0x1de)]:'';console[_0x1322d5(0x2a5)](_0x1322d5(0x1f5)+_0x8c18+_0x42e251+_0x150330+_0x5e8b26);}}export async function featureShow(_0xe894ba){const _0x1ab008=_0x48b567,_0x567ce8={'YNjZz':function(_0x15e3e4){return _0x15e3e4();}},_0x22dcab=_0xe894ba||await _0x567ce8['YNjZz'](getActiveFeatureId);if(!_0x22dcab)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 _0x220f4d=await getFeature(_0x22dcab);displayFeature(_0x220f4d,_0x220f4d[_0x1ab008(0x25d)]);}export async function featureResume(_0xb8e9b7){const _0x11f6a6=_0x48b567,_0x41808d={'geDrW':function(_0x3b2b50,_0x5c6d7d){return _0x3b2b50(_0x5c6d7d);},'oZlmq':function(_0x52ee37,_0x143736,_0x429b73){return _0x52ee37(_0x143736,_0x429b73);},'mVnnt':function(_0x32700e){return _0x32700e();},'BfVst':function(_0x4f5433,_0x4a0f8b){return _0x4f5433&&_0x4a0f8b;},'MpByp':_0x11f6a6(0x284),'vsjAm':function(_0x4ba979,_0x298211){return _0x4ba979||_0x298211;},'SBLGq':_0x11f6a6(0x2aa),'uhDrw':'list','wPCfo':_0x11f6a6(0x23b),'rSNfd':_0x11f6a6(0x277),'hpudJ':function(_0x13120b,_0xb0b265){return _0x13120b(_0xb0b265);}};if(_0xb8e9b7){const _0x45ff12=await _0x41808d[_0x11f6a6(0x1f6)](getFeature,_0xb8e9b7);await _0x41808d[_0x11f6a6(0x1f6)](setActiveFeatureId,_0x45ff12['id']);const _0x14ab3b=getGitBranch();_0x14ab3b&&_0x14ab3b!==_0x45ff12[_0x11f6a6(0x230)]&&(await _0x41808d['oZlmq'](updateFeature,_0x45ff12['id'],{'gitBranch':_0x14ab3b}),console['log'](_0x11f6a6(0x256)+_0x14ab3b));console[_0x11f6a6(0x2a5)](_0x11f6a6(0x290)+_0x45ff12['name']+'\x20('+_0x45ff12['id']+')'),await tryStartCurrentSession(_0x45ff12['id']);const _0xe3e45=process['env'][_0x11f6a6(0x2b6)];_0xe3e45&®isterSession(_0xe3e45,_0x45ff12['id']);displayFeature(_0x45ff12,_0x45ff12['checklistItems']),await printFeedbackNudge(_0x45ff12['id']);return;}const _0x7db952=getGitRepoUrl(),_0x4cf036=_0x41808d['mVnnt'](getGitBranch);if(_0x41808d['BfVst'](!_0x7db952,!_0x4cf036))throw new Error(_0x41808d[_0x11f6a6(0x248)]);console[_0x11f6a6(0x2a5)](_0x11f6a6(0x232)+_0x41808d['vsjAm'](_0x7db952,_0x11f6a6(0x220))+'\x20/\x20'+_0x41808d['vsjAm'](_0x4cf036,_0x11f6a6(0x220))+'...');const _0x461853=await listFeatures({'gitRepoUrl':_0x7db952,'gitBranch':_0x4cf036}),_0x57d29a=_0x461853['items'][_0x11f6a6(0x27c)](_0x23935d=>_0x23935d[_0x11f6a6(0x255)]?_0x23935d[_0x11f6a6(0x255)]!=='verified':!_0x23935d[_0x11f6a6(0x27e)]);if(_0x57d29a[_0x11f6a6(0x1dd)]===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x11f6a6(0x2a5)](_0x41808d['SBLGq']);return;}let _0x200370;if(_0x57d29a[_0x11f6a6(0x1dd)]===0x1)_0x200370=_0x57d29a[0x0];else{const _0x15c66d=process['stdin'][_0x11f6a6(0x2a6)]&&process['stdout'][_0x11f6a6(0x2a6)];if(!_0x15c66d){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x583fd0 of _0x57d29a){console['log']('\x20\x20'+_0x583fd0['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0x583fd0['id']),_0x583fd0['stats']&&console[_0x11f6a6(0x2a5)](_0x11f6a6(0x21f)+getProgressDisplay(_0x583fd0['stats'])),_0x583fd0['gitBranch']&&console[_0x11f6a6(0x2a5)](_0x11f6a6(0x218)+_0x583fd0['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x49f92c}=await _0x549fb[_0x11f6a6(0x2a0)]([{'type':_0x41808d['uhDrw'],'name':_0x41808d[_0x11f6a6(0x203)],'message':_0x41808d['rSNfd'],'choices':_0x57d29a['map'](_0x15ee40=>({'name':_0x15ee40['name']+'\x20('+_0x15ee40['id']+')','value':_0x15ee40['id']}))}]);_0x200370=_0x57d29a['find'](_0x247123=>_0x247123['id']===_0x49f92c);}await setActiveFeatureId(_0x200370['id']);_0x4cf036&&_0x4cf036!==_0x200370['gitBranch']&&(await _0x41808d[_0x11f6a6(0x288)](updateFeature,_0x200370['id'],{'gitBranch':_0x4cf036}),console['log'](_0x11f6a6(0x256)+_0x4cf036));console[_0x11f6a6(0x2a5)](_0x11f6a6(0x290)+_0x200370[_0x11f6a6(0x285)]+'\x20('+_0x200370['id']+')'),await _0x41808d['geDrW'](tryStartCurrentSession,_0x200370['id']);const _0x2a8dd8=await _0x41808d['hpudJ'](getFeature,_0x200370['id']),_0x15c40c=process['env']['CLAUDE_SESSION_ID'];_0x15c40c&®isterSession(_0x15c40c,_0x2a8dd8['id']),displayFeature(_0x2a8dd8,_0x2a8dd8['checklistItems']),await _0x41808d['hpudJ'](printFeedbackNudge,_0x2a8dd8['id']);}async function printFeedbackNudge(_0xb2f401){const _0x10fb2e=_0x48b567,_0x278db7={'tlypn':function(_0x8dc27f,_0x9012ec,_0x41d814){return _0x8dc27f(_0x9012ec,_0x41d814);},'tWxDk':function(_0x22c742,_0x22ea49){return _0x22c742>_0x22ea49;},'msNpM':_0x10fb2e(0x272)};try{const {items:_0x2de4b2}=await getActionItems(_0xb2f401);let _0x23396e=0x0,_0x252f14=0x0;for(const _0x45e00a of _0x2de4b2){const _0x19d232=await _0x278db7[_0x10fb2e(0x20d)](getItemFeedback,_0xb2f401,_0x45e00a['id']);_0x278db7[_0x10fb2e(0x257)](_0x19d232[_0x10fb2e(0x246)]['length'],0x0)&&(_0x23396e+=_0x19d232[_0x10fb2e(0x246)]['length'],_0x252f14++);}_0x23396e>0x0&&(console['log'](_0x10fb2e(0x1db)+_0x23396e+_0x10fb2e(0x29b)+_0x252f14+'\x20scenario(s).'),console[_0x10fb2e(0x2a5)](_0x278db7[_0x10fb2e(0x25b)]));}catch{}}async function tryStartCurrentSession(_0x419331){const _0x573af8=_0x48b567;try{const {sessions:_0x234ec3}=await listFeatureSessions(_0x419331),_0x1b7ee8=_0x234ec3['find'](_0x3a7c40=>_0x3a7c40['status']==='ready');_0x1b7ee8&&(await startSession(_0x419331,_0x1b7ee8['id']),console['log'](_0x573af8(0x2af)+_0x1b7ee8[_0x573af8(0x234)]));}catch{}}export async function featureReport(_0x57c51d,_0x2cd307){const _0x4f60f7=_0x48b567,_0xc9b84c={'nEDBW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','zRqqo':_0x4f60f7(0x27a),'qhAqn':function(_0xd827be,_0x548dad,_0x41075d){return _0xd827be(_0x548dad,_0x41075d);},'BhmUC':function(_0xcf8c8f){return _0xcf8c8f();},'MBwht':function(_0x2af30a,_0x18bd17){return _0x2af30a(_0x18bd17);},'yZIjr':function(_0x307032,_0x50e098,_0x459a3f){return _0x307032(_0x50e098,_0x459a3f);},'AjcMk':function(_0x16dd81,_0x31a74f,_0x2676b6,_0x5eaf39){return _0x16dd81(_0x31a74f,_0x2676b6,_0x5eaf39);}},_0x4f6deb=_0x57c51d||await getActiveFeatureId();if(!_0x4f6deb)throw new Error(_0xc9b84c[_0x4f60f7(0x210)]);console[_0x4f60f7(0x2a5)](_0xc9b84c[_0x4f60f7(0x244)]);const _0x3cc236=await _0xc9b84c[_0x4f60f7(0x1ea)](getFeatureReportMarkdown,_0x4f6deb,{'style':_0x2cd307[_0x4f60f7(0x22c)]}),_0x6bbd10=_0x2cd307[_0x4f60f7(0x261)]||join(_0xc9b84c[_0x4f60f7(0x2bc)](getRangerDir),_0x4f60f7(0x29c),_0x4f6deb+_0x4f60f7(0x287)),_0x51cd35=_0xc9b84c['qhAqn'](join,_0x6bbd10,'..');!_0xc9b84c['MBwht'](existsSync,_0x51cd35)&&await _0xc9b84c[_0x4f60f7(0x20c)](mkdir,_0x51cd35,{'recursive':!![]}),await _0xc9b84c[_0x4f60f7(0x2b3)](writeFile,_0x6bbd10,_0x3cc236,_0x4f60f7(0x219)),console[_0x4f60f7(0x2a5)]('\x0a✅\x20Report\x20generated:\x20'+_0x6bbd10);}function getScenarioResult(_0xca513a){const _0x3672ad=_0x48b567,_0x2bac8a={'KwNJG':_0x3672ad(0x2b4),'LHYvM':'in_progress'};if(_0xca513a['status']===_0x3672ad(0x235))return _0xca513a['terminalReason']??'closed';if(_0xca513a['status']===_0x2bac8a['KwNJG'])return _0x2bac8a['LHYvM'];return _0xca513a[_0x3672ad(0x255)];}function getScenarioRationale(_0x5d3e1e,_0x53698a){const _0x173bb8=_0x48b567;if(_0x53698a)return _0x53698a;if(_0x5d3e1e['blockedReason'])return _0x5d3e1e['blockedReason'];if(_0x5d3e1e['incompleteReason'])return _0x5d3e1e['incompleteReason'];if(_0x5d3e1e['canceledReason'])return _0x5d3e1e['canceledReason'];if(_0x5d3e1e['notes'])return _0x5d3e1e[_0x173bb8(0x24b)];return null;}export async function featureReportPrDescription(_0x551fc9,_0x3ae233){const _0x5e9d19=_0x48b567,_0x3a7afb={'AMpQZ':function(_0x2b3aa8){return _0x2b3aa8();},'JMtwj':function(_0x130eb1,_0x5e6562){return _0x130eb1(_0x5e6562);},'TWykT':function(_0xf38ee9,_0x239741,_0x14c4b9){return _0xf38ee9(_0x239741,_0x14c4b9);},'TGDwr':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','NVxDI':function(_0x128aa9,_0x5d0340){return _0x128aa9>_0x5d0340;},'WNVWU':'\x0aAvailable\x20scenarios:','ULGgT':function(_0x14bf15,_0x270e6c){return _0x14bf15<_0x270e6c;},'Harvx':function(_0x4ba411,_0x478433){return _0x4ba411===_0x478433;},'bYjVC':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','jUWKL':function(_0x3e6c40,_0x5cc764,_0x216442,_0x4d89e0){return _0x3e6c40(_0x5cc764,_0x216442,_0x4d89e0);}},_0x1ca5b2=_0x551fc9||await _0x3a7afb['AMpQZ'](getActiveFeatureId);if(!_0x1ca5b2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x2430e4=await _0x3a7afb['JMtwj'](getFeature,_0x1ca5b2),_0x3c2c48=_0x2430e4['checklistItems']||[],_0x40a06d=_0x3a7afb[_0x5e9d19(0x24c)](getCurrentSessionItems,_0x2430e4,_0x3c2c48);_0x40a06d[_0x5e9d19(0x1dd)]===0x0&&(console['error'](_0x3a7afb['TGDwr']),process['exit'](0x1));const _0x516050=_0x3ae233[_0x5e9d19(0x225)]??[],_0xb80617=_0x516050[_0x5e9d19(0x27c)](_0x47772a=>!Number['isInteger'](_0x47772a)||_0x47772a<0x1||_0x47772a>_0x40a06d['length']);if(_0x3a7afb[_0x5e9d19(0x21d)](_0xb80617['length'],0x0)){console[_0x5e9d19(0x293)](_0x5e9d19(0x2b9)+_0xb80617['join'](',\x20')),console['log'](_0x3a7afb['WNVWU']);for(let _0x505ef0=0x0;_0x3a7afb[_0x5e9d19(0x1da)](_0x505ef0,_0x40a06d['length']);_0x505ef0++){console['log']('\x20\x20'+(_0x505ef0+0x1)+'.\x20'+_0x40a06d[_0x505ef0]['description']);}process['exit'](0x1);}const _0x21d042=new Set(_0x516050[_0x5e9d19(0x282)](_0x3a7ed3=>_0x3a7ed3-0x1)),_0x4d50b5=_0x40a06d[_0x5e9d19(0x27c)]((_0x53418c,_0x1f3eba)=>!_0x21d042['has'](_0x1f3eba));_0x3a7afb[_0x5e9d19(0x22d)](_0x4d50b5[_0x5e9d19(0x1dd)],0x0)&&(console[_0x5e9d19(0x293)](_0x3a7afb[_0x5e9d19(0x2b0)]),process['exit'](0x1));if(_0x3ae233['json'])await _0x3a7afb['jUWKL'](outputJsonReport,_0x1ca5b2,_0x2430e4,_0x4d50b5);else{const _0x311826=await getFeatureReportMarkdown(_0x1ca5b2,{'itemIds':_0x4d50b5[_0x5e9d19(0x282)](_0x5a64e6=>_0x5a64e6['id'])});process[_0x5e9d19(0x1e4)][_0x5e9d19(0x229)](_0x311826['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x405d45,_0x4e0228,_0x52161b){const _0x4de308=_0x48b567,_0x106c81={'CACLv':function(_0x4dc3b9,_0x13daa4){return _0x4dc3b9>_0x13daa4;},'KfVuu':function(_0x9ef7f7,_0x336a21,_0x3c79aa){return _0x9ef7f7(_0x336a21,_0x3c79aa);},'AViLi':function(_0x5121f1){return _0x5121f1();},'ekvEe':function(_0x361100,_0x5ec96a){return _0x361100(_0x5ec96a);},'DdNZP':function(_0x2ca3e4,_0x215266){return _0x2ca3e4+_0x215266;}},_0x368274=_0x106c81[_0x4de308(0x27b)](getApiBaseUrl),_0x1f435d=await _0x106c81['ekvEe'](getFeatureReport,_0x405d45),_0x416bd5=new Map(_0x1f435d['checklistItems']['map'](_0x3405cb=>[_0x3405cb['id'],_0x3405cb])),_0x337952=await Promise['all'](_0x52161b['map'](async _0x450b22=>{const _0x11705a=_0x4de308,_0x2abdc7=_0x416bd5[_0x11705a(0x2ae)](_0x450b22['id']),_0x36c568=_0x2abdc7?.[_0x11705a(0x294)]??null;let _0x504a7a=[];if(_0x450b22[_0x11705a(0x28c)])try{const {steps:_0x2a826c}=await getBrowserSessionSteps(_0x450b22[_0x11705a(0x28c)]);_0x106c81[_0x11705a(0x252)](_0x2a826c[_0x11705a(0x1dd)],0x0)&&(_0x504a7a=_0x2a826c[_0x11705a(0x282)](_0x12a0ae=>{const _0x40e765=_0x11705a,_0x497018=_0x12a0ae[_0x40e765(0x1f1)][_0x40e765(0x2a4)](_0x5e6880=>_0x5e6880[_0x40e765(0x247)]==='screenshot'&&_0x5e6880[_0x40e765(0x233)]==='after')??_0x12a0ae['assets'][_0x40e765(0x2a4)](_0xe64768=>_0xe64768[_0x40e765(0x247)]==='screenshot');let _0x383a12=null,_0x51347f=null;if(_0x497018){const _0x1ea6d0=_0x497018[_0x40e765(0x286)]['location'][_0x40e765(0x1df)]('/')[_0x40e765(0x21a)]();_0x383a12=_0x368274+'/api/v1/mcp/browser-sessions/'+_0x450b22['browserSessionId']+'/artifacts/'+_0x1ea6d0,_0x1ea6d0&&(_0x51347f=_0x1ea6d0[_0x40e765(0x22a)](/\.\w+$/,'')[_0x40e765(0x22a)](/^(key_)?\d+_/,'')[_0x40e765(0x22a)](/[-_]/g,'\x20'));}return{'description':_0x51347f||_0x12a0ae[_0x40e765(0x250)]||_0x12a0ae[_0x40e765(0x238)]||'Step\x20'+_0x12a0ae[_0x40e765(0x208)],'screenshot':_0x383a12,'is_key_step':_0x12a0ae['isKeyStep']};}));}catch{}return _0x504a7a['length']===0x0&&_0x36c568?.[_0x11705a(0x200)]&&(_0x504a7a=_0x36c568['screenshotUrls']['map']((_0x5452dd,_0x3d2544)=>({'description':'Screenshot\x20'+(_0x3d2544+0x1),'screenshot':_0x5452dd,'is_key_step':![]}))),{'description':_0x450b22[_0x11705a(0x250)],'result':getScenarioResult(_0x450b22),'rationale':_0x106c81['KfVuu'](getScenarioRationale,_0x450b22,_0x36c568?.['agentResponse']),'steps':_0x504a7a};})),_0x4520e2={'url':_0x4e0228[_0x4de308(0x1e7)],'scenarios':_0x337952};process[_0x4de308(0x1e4)][_0x4de308(0x229)](_0x106c81['DdNZP'](JSON['stringify'](_0x4520e2,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x5bb36c){const _0x5b5d13=_0x48b567,_0x463bef={'LjTbb':_0x5b5d13(0x204),'zxQjG':'Current\x20session\x20not\x20found.','gjPZr':'completed','gBbLE':'\x0a✅\x20Session\x20is\x20already\x20completed.'},_0x188f01=_0x5bb36c||await getActiveFeatureId();if(!_0x188f01)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 _0x25378e=await getFeature(_0x188f01);if(!_0x25378e[_0x5b5d13(0x2b8)])throw new Error(_0x463bef['LjTbb']);const {sessions:_0x5831fb}=await listFeatureSessions(_0x188f01),_0x45d067=_0x5831fb[_0x5b5d13(0x2a4)](_0x1c0dde=>_0x1c0dde['id']===_0x25378e[_0x5b5d13(0x2b8)]);if(!_0x45d067)throw new Error(_0x463bef['zxQjG']);if(_0x45d067[_0x5b5d13(0x255)]===_0x463bef[_0x5b5d13(0x224)]){console[_0x5b5d13(0x2a5)](_0x463bef[_0x5b5d13(0x279)]);return;}if(_0x45d067[_0x5b5d13(0x255)]!==_0x5b5d13(0x1fc))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x45d067[_0x5b5d13(0x255)]);console['log']('\x0aConcluding\x20session...'),await concludeSession(_0x188f01,_0x25378e[_0x5b5d13(0x2b8)]),console['log'](_0x5b5d13(0x1dc)+_0x45d067[_0x5b5d13(0x234)]+'\x20concluded.'),console[_0x5b5d13(0x2a5)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x1f7ed1){const _0x3abda0=_0x48b567,_0x2e24b3={'LuYjU':function(_0x4ba8ff){return _0x4ba8ff();},'ugoQu':_0x3abda0(0x1f2),'USzWs':function(_0x285b1c,_0x779663){return _0x285b1c(_0x779663);},'odhmV':_0x3abda0(0x253),'nxLhR':_0x3abda0(0x269),'ehOPt':function(_0x1558de,_0x2ab9ef){return _0x1558de===_0x2ab9ef;},'ymMpz':_0x3abda0(0x1fc)},_0x26c397=_0x1f7ed1||await _0x2e24b3[_0x3abda0(0x251)](getActiveFeatureId);if(!_0x26c397)throw new Error(_0x2e24b3['ugoQu']);const _0x4e6f8e=await getFeature(_0x26c397);console['log'](_0x3abda0(0x2b5)+_0x4e6f8e['name']+'\x0a');const {sessions:_0xc2c7b0}=await _0x2e24b3[_0x3abda0(0x283)](listFeatureSessions,_0x26c397);if(_0xc2c7b0[_0x3abda0(0x1dd)]===0x0){console['log'](_0x2e24b3['odhmV']);return;}for(const _0x1cb0d0 of _0xc2c7b0){const _0x4d96f3=_0x1cb0d0['status']===_0x2e24b3['nxLhR']?'✅':_0x2e24b3['ehOPt'](_0x1cb0d0[_0x3abda0(0x255)],_0x2e24b3[_0x3abda0(0x281)])?'🔄':'▶️';console['log'](_0x4d96f3+_0x3abda0(0x241)+_0x1cb0d0[_0x3abda0(0x234)]+'\x20('+_0x1cb0d0['id']+')'),console[_0x3abda0(0x2a5)](_0x3abda0(0x24e)+_0x1cb0d0[_0x3abda0(0x255)]),console['log'](_0x3abda0(0x23d)+new Date(_0x1cb0d0['createdAt'])[_0x3abda0(0x2ab)]()),_0x1cb0d0['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x1cb0d0['completedAt'])[_0x3abda0(0x2ab)]()),console['log']('');}}export async function featureAddScenario(_0x1c9516,_0x5a16e5){const _0xc78d37=_0x48b567,_0x5065d4={'AcEUO':function(_0x5bcfc0){return _0x5bcfc0();},'FdkIQ':function(_0x4b5f07,_0x35b2b0,_0xf749af){return _0x4b5f07(_0x35b2b0,_0xf749af);}},_0x33582e=_0x5a16e5||await _0x5065d4[_0xc78d37(0x26a)](getActiveFeatureId);if(!_0x33582e)throw new Error(_0xc78d37(0x214));const _0x48fc8=await getFeature(_0x33582e);if(_0x48fc8['latestReview']&&!_0x48fc8[_0xc78d37(0x1e3)][_0xc78d37(0x299)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x48fc8['dashboardUrl']);await createChecklistItem(_0x33582e,_0x1c9516);const _0x19b05c=await getFeature(_0x33582e);console[_0xc78d37(0x2a5)](_0xc78d37(0x25c)),_0x5065d4[_0xc78d37(0x22b)](displayFeature,_0x19b05c,_0x19b05c[_0xc78d37(0x25d)]);}export async function featureEditScenario(_0x9f5c97,_0x1c7482){const _0x12d75c=_0x48b567,_0x352bad={'GleYh':function(_0x3f7924){return _0x3f7924();},'OoOyh':_0x12d75c(0x201),'IRDIM':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','RzSft':'Please\x20finish\x20your\x20review\x20first:','WhLAu':function(_0x17fc04,_0x4f7679){return _0x17fc04===_0x4f7679;},'hoxLk':function(_0x27871f,_0x272fb7){return _0x27871f<_0x272fb7;},'qbJBV':function(_0x3b4ef1,_0x4e5f46){return _0x3b4ef1-_0x4e5f46;},'yVctR':function(_0x5a23f5,_0x535a2d){return _0x5a23f5>=_0x535a2d;},'HlAsQ':function(_0x57b73f,_0x289384){return _0x57b73f+_0x289384;},'Dvatp':function(_0x48463f,_0x1da240,_0x2fc23a,_0x143bf5){return _0x48463f(_0x1da240,_0x2fc23a,_0x143bf5);},'YWhxj':function(_0x4bfca7,_0x264044,_0x1ca3ee){return _0x4bfca7(_0x264044,_0x1ca3ee);}},_0x587cb4=_0x1c7482['id']||await _0x352bad[_0x12d75c(0x280)](getActiveFeatureId);!_0x587cb4&&(console[_0x12d75c(0x293)](_0x12d75c(0x21c)),console['error'](_0x352bad[_0x12d75c(0x2bd)]),process[_0x12d75c(0x1d9)](0x1));const _0x390e83=await getFeature(_0x587cb4);_0x390e83['latestReview']&&!_0x390e83['latestReview'][_0x12d75c(0x299)]&&(console[_0x12d75c(0x293)](_0x352bad[_0x12d75c(0x243)]),console[_0x12d75c(0x293)](_0x352bad['RzSft']),console['error']('\x20\x20'+_0x390e83[_0x12d75c(0x1e7)]),process[_0x12d75c(0x1d9)](0x1));const _0x19cdcc=_0x390e83['checklistItems']||[];_0x352bad[_0x12d75c(0x1e1)](_0x19cdcc['length'],0x0)&&(console['error'](_0x12d75c(0x2a2)),process[_0x12d75c(0x1d9)](0x1));if(_0x352bad[_0x12d75c(0x1e1)](_0x1c7482[_0x12d75c(0x24d)],undefined)){console['error'](_0x12d75c(0x1f3)),console[_0x12d75c(0x2a5)]('\x0aAvailable\x20scenarios:');for(let _0x4c5d4b=0x0;_0x352bad[_0x12d75c(0x205)](_0x4c5d4b,_0x19cdcc[_0x12d75c(0x1dd)]);_0x4c5d4b++){console[_0x12d75c(0x2a5)]('\x20\x20'+(_0x4c5d4b+0x1)+'.\x20'+_0x19cdcc[_0x4c5d4b]['description']);}process['exit'](0x1);}const _0x29b12c=_0x352bad['qbJBV'](_0x1c7482['scenario'],0x1);if(_0x29b12c<0x0||_0x352bad['yVctR'](_0x29b12c,_0x19cdcc['length'])){console[_0x12d75c(0x293)](_0x12d75c(0x213)+_0x1c7482['scenario']+_0x12d75c(0x297)+_0x19cdcc['length']+_0x12d75c(0x24f)),console[_0x12d75c(0x2a5)]('\x0aAvailable\x20scenarios:');for(let _0x38a6df=0x0;_0x38a6df<_0x19cdcc['length'];_0x38a6df++){console['log']('\x20\x20'+_0x352bad[_0x12d75c(0x24a)](_0x38a6df,0x1)+'.\x20'+_0x19cdcc[_0x38a6df]['description']);}process[_0x12d75c(0x1d9)](0x1);}const _0x447888=_0x19cdcc[_0x29b12c];await _0x352bad['Dvatp'](updateChecklistItem,_0x587cb4,_0x447888['id'],{'description':_0x9f5c97});const _0x3a0b0c=await getFeature(_0x587cb4);console['log']('\x0a✅\x20Scenario\x20updated'),_0x352bad['YWhxj'](displayFeature,_0x3a0b0c,_0x3a0b0c[_0x12d75c(0x25d)]);}async function downloadFeedbackImage(_0x16aefb,_0xa4ff1){const _0x3968bc=_0x48b567,_0x331f9d={'YrqdC':_0x3968bc(0x295),'rMTgC':function(_0x13bdbb,_0x24269a,_0x5ad925){return _0x13bdbb(_0x24269a,_0x5ad925);}};try{const _0x61b04f=join(getRangerDir(),_0x331f9d['YrqdC']);await _0x331f9d['rMTgC'](mkdir,_0x61b04f,{'recursive':!![]});const _0x2c9b47=_0x331f9d[_0x3968bc(0x231)](join,_0x61b04f,'comment_'+_0xa4ff1+'.png'),_0x5ac107=await fetch(_0x16aefb);if(!_0x5ac107['ok'])return null;const _0x5dc57d=Buffer['from'](await _0x5ac107[_0x3968bc(0x2ad)]());return await _0x331f9d[_0x3968bc(0x231)](writeFile,_0x2c9b47,_0x5dc57d),_0x2c9b47;}catch{return null;}}export async function featureGetReview(_0x23ccb9){const _0x1d3e44=_0x48b567,_0x549742={'VQtRH':function(_0x15f991){return _0x15f991();},'tbolJ':_0x1d3e44(0x214),'uMoex':function(_0x54d22c,_0x516ec0){return _0x54d22c(_0x516ec0);},'LXxwG':function(_0x3ec32c,_0x1df9e0){return _0x3ec32c===_0x1df9e0;},'AooTr':function(_0x3bafb5,_0x376687){return _0x3bafb5<_0x376687;},'wfKtD':function(_0x1bc6c7,_0x4ceefc){return _0x1bc6c7>_0x4ceefc;},'wAfQV':function(_0x835855,_0x4f583d){return _0x835855+_0x4f583d;},'OdOcS':'en-US','jYali':function(_0x3e53ea,_0x499131){return _0x3e53ea===_0x499131;},'dVEyJ':'point'},_0x36a6c3=_0x23ccb9||await _0x549742[_0x1d3e44(0x2bb)](getActiveFeatureId);if(!_0x36a6c3)throw new Error(_0x549742['tbolJ']);const _0x2308eb=await _0x549742[_0x1d3e44(0x202)](getFeature,_0x36a6c3),{items:_0xbfbad7}=await getActionItems(_0x36a6c3);console[_0x1d3e44(0x2a5)]('\x0a📋\x20Feedback\x20for:\x20'+_0x2308eb['name']+'\x20('+_0x2308eb['id']+')\x0a');if(_0x549742[_0x1d3e44(0x274)](_0xbfbad7[_0x1d3e44(0x1dd)],0x0)){console[_0x1d3e44(0x2a5)](_0x1d3e44(0x1fa));return;}for(let _0x901073=0x0;_0x549742[_0x1d3e44(0x267)](_0x901073,_0xbfbad7['length']);_0x901073++){const _0x3e6997=_0xbfbad7[_0x901073],_0x5e10b7=_0x3e6997['version']>0x1?_0x1d3e44(0x2a8)+_0x3e6997[_0x1d3e44(0x292)]+')':'',_0x78ab35=await getItemFeedback(_0x36a6c3,_0x3e6997['id']);if(_0x549742[_0x1d3e44(0x26c)](_0x78ab35[_0x1d3e44(0x246)]['length'],0x0)){console['log'](_0x1d3e44(0x206)+_0x549742['wAfQV'](_0x901073,0x1)+_0x1d3e44(0x1eb)+_0x3e6997['description']+'\x22'+_0x5e10b7+_0x1d3e44(0x212)+_0x78ab35[_0x1d3e44(0x246)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x286680 of _0x78ab35['unaddressedComments']){const _0x11e219=new Date(_0x286680[_0x1d3e44(0x20a)])[_0x1d3e44(0x221)](_0x549742['OdOcS'],{'month':_0x1d3e44(0x21b),'day':_0x1d3e44(0x2b1)}),_0x56327b=_0x286680[_0x1d3e44(0x1d8)]||_0x286680[_0x1d3e44(0x271)]||'Unknown';console[_0x1d3e44(0x2a5)](_0x1d3e44(0x1fb)+_0x56327b+'\x20('+_0x11e219+_0x1d3e44(0x28b)+_0x286680['content']+'\x22');if(_0x286680['assetUrl']){const _0x2b5834=await downloadFeedbackImage(_0x286680['assetUrl'],_0x286680['id']);_0x2b5834&&console[_0x1d3e44(0x2a5)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x2b5834);}if(_0x286680[_0x1d3e44(0x215)]){const _0x1680fa=_0x286680['domRef'][_0x1d3e44(0x1f7)]['split']('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x1d3e44(0x2ac),_0x2474d2=_0x286680[_0x1d3e44(0x215)]['textContent']?'\x20\x22'+_0x286680[_0x1d3e44(0x215)][_0x1d3e44(0x236)]['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1680fa+'>'+_0x2474d2),console[_0x1d3e44(0x2a5)](_0x1d3e44(0x25a)+_0x286680['domRef']['selector']);}else{if(_0x286680['spatial']){const _0x54ea77=_0x286680[_0x1d3e44(0x2b7)]['coordinates'];_0x549742['jYali'](_0x286680[_0x1d3e44(0x2b7)]['type'],_0x549742[_0x1d3e44(0x1ed)])&&_0x54ea77['length']>=0x2?console['log'](_0x1d3e44(0x28f)+_0x54ea77[0x0][_0x1d3e44(0x2a3)](0x2)+',\x20'+_0x54ea77[0x1]['toFixed'](0x2)+')'):console[_0x1d3e44(0x2a5)](_0x1d3e44(0x29d)+_0x286680['spatial'][_0x1d3e44(0x29a)]+'\x20at\x20['+_0x54ea77[_0x1d3e44(0x282)](_0x2ac0a7=>_0x2ac0a7[_0x1d3e44(0x2a3)](0x2))['join'](',\x20')+']');}}}if(_0x78ab35['canonicalFlow']){console[_0x1d3e44(0x2a5)](_0x1d3e44(0x222));for(const _0x343969 of _0x78ab35['canonicalFlow']['split']('\x0a')){console[_0x1d3e44(0x2a5)]('\x20\x20\x20\x20'+_0x343969);}}}else console['log'](_0x1d3e44(0x206)+(_0x901073+0x1)+_0x1d3e44(0x1eb)+_0x3e6997['description']+'\x22'+_0x5e10b7+_0x1d3e44(0x23c)),console['log'](_0x1d3e44(0x29f));console['log']('');}}export async function featureDelete(_0x138382){const _0x5b599a=_0x48b567,_0x3f79a3={'TfuFI':function(_0x2faa62){return _0x2faa62();},'ymjMD':function(_0x396d43,_0x1703af){return _0x396d43(_0x1703af);},'WQVxD':function(_0x12dea9,_0x1e8e84){return _0x12dea9+_0x1e8e84;}},_0x108657=_0x138382||await _0x3f79a3[_0x5b599a(0x227)](getActiveFeatureId);if(!_0x108657)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 _0x36ee3f=await getFeature(_0x108657);await _0x3f79a3[_0x5b599a(0x28a)](softDeleteFeature,_0x108657),console[_0x5b599a(0x2a5)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x36ee3f['name']+'\x20('+_0x108657+')'),console['log'](_0x3f79a3['WQVxD'](_0x5b599a(0x21e),_0x108657));}export async function featureRestore(_0xc647e){const _0x3f6b57=_0x48b567,_0x247ab4={'rXCtR':function(_0x39c5e1,_0x5a7231){return _0x39c5e1(_0x5a7231);}};await _0x247ab4[_0x3f6b57(0x25f)](restoreFeature,_0xc647e);const _0x330340=await _0x247ab4['rXCtR'](getFeature,_0xc647e);console[_0x3f6b57(0x2a5)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x330340[_0x3f6b57(0x285)]+'\x20('+_0xc647e+')'),displayFeature(_0x330340,_0x330340['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5800b1,_0x148922){const _0x3f6794=_0x1d3d,_0xeecd00=_0x5800b1();while(!![]){try{const _0x146209=parseInt(_0x3f6794(0x75))/0x1*(-parseInt(_0x3f6794(0x78))/0x2)+-parseInt(_0x3f6794(0x74))/0x3*(parseInt(_0x3f6794(0x6e))/0x4)+parseInt(_0x3f6794(0x80))/0x5+parseInt(_0x3f6794(0x7c))/0x6*(-parseInt(_0x3f6794(0x7b))/0x7)+parseInt(_0x3f6794(0x7e))/0x8+parseInt(_0x3f6794(0x72))/0x9*(-parseInt(_0x3f6794(0x77))/0xa)+-parseInt(_0x3f6794(0x7f))/0xb*(-parseInt(_0x3f6794(0x7a))/0xc);if(_0x146209===_0x148922)break;else _0xeecd00['push'](_0xeecd00['shift']());}catch(_0x20a77d){_0xeecd00['push'](_0xeecd00['shift']());}}}(_0x3303,0xdc53a));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x3303(){const _0x126c35=['1120394Ysucak','7709130tGvYmu','whiFz','9076ozcYMd','uFDCW','once','SIGTERM','9CYpVhm','Unknown\x20hook:\x20','669YLuePp','4540JrGoRR','error','10084150pdwbJX','44qYvzRT','keys','144TdAdfh','7xJFpgL','7453860WFcHCG','exit','7959808HpULTg'];_0x3303=function(){return _0x126c35;};return _0x3303();}function _0x1d3d(_0x38eaf8,_0x90c5fa){_0x38eaf8=_0x38eaf8-0x6d;const _0x33037c=_0x3303();let _0x1d3d45=_0x33037c[_0x38eaf8];return _0x1d3d45;}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 _0x43e85a=_0x1d3d,_0x1e7fb3={'SVurh':'SIGINT','uFDCW':_0x43e85a(0x71),'whiFz':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x4bf6ef=()=>{process['exit'](0x0);};process['once'](_0x1e7fb3['SVurh'],_0x4bf6ef),process[_0x43e85a(0x70)](_0x1e7fb3[_0x43e85a(0x6f)],_0x4bf6ef),process[_0x43e85a(0x70)](_0x1e7fb3[_0x43e85a(0x6d)],_0x4bf6ef),cancellationHandlersInstalled=!![];}export async function hook(_0x21979c,_0x8be672){const _0x1fb4b8=_0x1d3d,_0x2d2222={'sCUFp':function(_0x1dca53,_0x47c4c0){return _0x1dca53(_0x47c4c0);}};installCancellationHandlers();const _0x38c6a8=HOOKS[_0x21979c];if(!_0x38c6a8){const _0x1e5b43=Object[_0x1fb4b8(0x79)](HOOKS)['join'](',\x20');console[_0x1fb4b8(0x76)](_0x1fb4b8(0x73)+_0x21979c),console[_0x1fb4b8(0x76)]('Valid\x20hooks:\x20'+_0x1e5b43),process[_0x1fb4b8(0x7d)](0x1);}await _0x2d2222['sCUFp'](_0x38c6a8,_0x8be672);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2d391b,_0x5b033f){const _0x3066e9=_0x2ea2,_0x3ad447=_0x2d391b();while(!![]){try{const _0x37ac06=-parseInt(_0x3066e9(0x151))/0x1*(-parseInt(_0x3066e9(0x14f))/0x2)+parseInt(_0x3066e9(0x14a))/0x3*(parseInt(_0x3066e9(0x146))/0x4)+parseInt(_0x3066e9(0x14d))/0x5+-parseInt(_0x3066e9(0x149))/0x6*(-parseInt(_0x3066e9(0x150))/0x7)+-parseInt(_0x3066e9(0x14b))/0x8*(-parseInt(_0x3066e9(0x14c))/0x9)+parseInt(_0x3066e9(0x152))/0xa*(parseInt(_0x3066e9(0x147))/0xb)+parseInt(_0x3066e9(0x14e))/0xc*(-parseInt(_0x3066e9(0x148))/0xd);if(_0x37ac06===_0x5b033f)break;else _0x3ad447['push'](_0x3ad447['shift']());}catch(_0x2a0c7b){_0x3ad447['push'](_0x3ad447['shift']());}}}(_0x42bb,0xe7bb1));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';function _0x2ea2(_0x14a9b0,_0x55a75e){_0x14a9b0=_0x14a9b0-0x145;const _0x42bb40=_0x42bb();let _0x2ea201=_0x42bb40[_0x14a9b0];return _0x2ea201;}function _0x42bb(){const _0x106998=['KxxSb','eSvRC','7768lcqMdQ','20558197gSTJlZ','49957804AVUlti','6dfavCn','660FLogEo','4286512GzOmJU','9AmKSHk','1518975NmdnRV','12vPHFkl','12064ITtsyb','1924811FHgYgF','229ZpqLXa','10olzeKP','session_id'];_0x42bb=function(){return _0x106998;};return _0x42bb();}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 _0x70c065=_0x2ea2,_0x22a5d3={'KxxSb':function(_0x889e72){return _0x889e72();},'eSvRC':function(_0x137ce8,_0x277394){return _0x137ce8(_0x277394);}};if(resolveHookMode()==='off')return;const _0x2a45d0=await _0x22a5d3[_0x70c065(0x154)](readHookInput),_0x5788ea=_0x2a45d0?.[_0x70c065(0x153)];if(!_0x5788ea)return;if(_0x22a5d3[_0x70c065(0x145)](isSessionEnabled,_0x5788ea)||_0x22a5d3['eSvRC'](hasSessionBeenPrompted,_0x5788ea))return;markSessionPrompted(_0x5788ea),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x448fe4,_0x13dd92){const _0x385d42=_0x2cfc,_0x27a52d=_0x448fe4();while(!![]){try{const _0x498203=parseInt(_0x385d42(0x6e))/0x1*(-parseInt(_0x385d42(0x75))/0x2)+parseInt(_0x385d42(0x71))/0x3+parseInt(_0x385d42(0x76))/0x4+-parseInt(_0x385d42(0x6c))/0x5+-parseInt(_0x385d42(0x6b))/0x6*(parseInt(_0x385d42(0x79))/0x7)+parseInt(_0x385d42(0x72))/0x8+parseInt(_0x385d42(0x6f))/0x9*(-parseInt(_0x385d42(0x6a))/0xa);if(_0x498203===_0x13dd92)break;else _0x27a52d['push'](_0x27a52d['shift']());}catch(_0x5e212f){_0x27a52d['push'](_0x27a52d['shift']());}}}(_0x243d,0xb0db2));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x243d(){const _0x1cb67d=['333Gxxiny','18DgSlFR','env','2746890YxBZMb','9149048zUQtNB','master','XujxM','1434HdlxRG','3790980epDLoC','HqAMr','vXRFw','77pmPSbB','NRYIS','CLAUDE_SESSION_ID','5844290jbNxnP','406092fehgGY','652415WkwIeG','.\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`.'];_0x243d=function(){return _0x1cb67d;};return _0x243d();}function _0x2cfc(_0x207d15,_0x19ca29){_0x207d15=_0x207d15-0x6a;const _0x243d55=_0x243d();let _0x2cfc6f=_0x243d55[_0x207d15];return _0x2cfc6f;}import{printBlock}from'./output.js';export async function disable(_0x5d7b2f){const _0x4a7500=_0x2cfc,_0x1c070b={'XujxM':function(_0x556a2c,_0x1ad310){return _0x556a2c(_0x1ad310);},'vXRFw':function(_0x4e6929){return _0x4e6929();},'NRYIS':'main','HqAMr':function(_0x3094d3,_0x127bd1){return _0x3094d3!==_0x127bd1;},'xBDKp':'master','rkddT':function(_0x13eb40,_0x2e0e5b){return _0x13eb40!==_0x2e0e5b;}},_0x54061e=_0x5d7b2f||process[_0x4a7500(0x70)][_0x4a7500(0x7b)]||'';_0x54061e&&_0x1c070b[_0x4a7500(0x74)](disableSession,_0x54061e);const _0x1250df=_0x1c070b[_0x4a7500(0x78)](getCurrentBranch);_0x1250df&&_0x1250df!==_0x1c070b[_0x4a7500(0x7a)]&&_0x1c070b['HqAMr'](_0x1250df,_0x1c070b['xBDKp'])&&disableBranch(_0x1250df),_0x1c070b[_0x4a7500(0x74)](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x1250df&&_0x1c070b['rkddT'](_0x1250df,_0x1c070b[_0x4a7500(0x7a)])&&_0x1c070b[_0x4a7500(0x77)](_0x1250df,_0x4a7500(0x73))?'\x20and\x20branch\x20\x27'+_0x1250df+'\x27':'')+_0x4a7500(0x6d));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x27932f,_0x169cb6){const _0x46720d=_0x52be,_0x1c5ac0=_0x27932f();while(!![]){try{const _0x462511=-parseInt(_0x46720d(0x1c2))/0x1*(parseInt(_0x46720d(0x1bb))/0x2)+-parseInt(_0x46720d(0x1c5))/0x3+parseInt(_0x46720d(0x1cc))/0x4+parseInt(_0x46720d(0x1c1))/0x5*(parseInt(_0x46720d(0x1c8))/0x6)+parseInt(_0x46720d(0x1b7))/0x7+parseInt(_0x46720d(0x1c6))/0x8*(parseInt(_0x46720d(0x1c3))/0x9)+parseInt(_0x46720d(0x1cb))/0xa*(-parseInt(_0x46720d(0x1be))/0xb);if(_0x462511===_0x169cb6)break;else _0x1c5ac0['push'](_0x1c5ac0['shift']());}catch(_0x4f2bbe){_0x1c5ac0['push'](_0x1c5ac0['shift']());}}}(_0xd8df,0xf0eef));function _0x52be(_0x429406,_0x3f79cd){_0x429406=_0x429406-0x1b6;const _0xd8df54=_0xd8df();let _0x52be6c=_0xd8df54[_0x429406];return _0x52be6c;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0xd8df(){const _0x454bc3=['6579588crQiNA','aWDiD','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','\x0a\x0a**Branch\x20\x27','CLAUDE_SESSION_ID','6349042GMJvxL','BmffU','ranger\x20setup\x20--opencode','master','4yoDHEA','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','env','5093gAgDgn','TwFaB','\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`.','560915tBRVdw','821053qutojn','7893xEJTsL','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','1015698kErQoR','2176OVxwHt','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','30zSOzNn','FLfCw','ranger\x20setup','8290bjuQWG'];_0xd8df=function(){return _0x454bc3;};return _0xd8df();}import{update}from'../update.js';export async function enable(_0x1a391a){const _0x6cfba2=_0x52be,_0x165cc1={'VYNvR':_0x6cfba2(0x1ca),'hQYmA':_0x6cfba2(0x1c4),'kzrLC':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','laUra':function(_0x34fcdc,_0x15169c){return _0x34fcdc(_0x15169c);},'sWnjz':function(_0x4cea9b){return _0x4cea9b();},'aWDiD':function(_0x59e3c6,_0x27aa2e){return _0x59e3c6(_0x27aa2e);},'FLfCw':function(_0x555613){return _0x555613();},'BmffU':'main','TwFaB':_0x6cfba2(0x1ba),'aFmnk':function(_0x528f3f){return _0x528f3f();}},_0x466ba3=_0x1a391a||process[_0x6cfba2(0x1bd)][_0x6cfba2(0x1b6)]||'',_0x1b1a21=Boolean(_0x1a391a),_0x3040b5=await getToken();if(!_0x3040b5){const _0x4561c0=_0x1b1a21?_0x6cfba2(0x1b9):_0x165cc1['VYNvR'],_0x2bce14=_0x1b1a21?_0x165cc1['hQYmA']:_0x165cc1['kzrLC'];_0x165cc1['laUra'](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`'+_0x4561c0+_0x6cfba2(0x1ce)+_0x2bce14);return;}try{await _0x165cc1['sWnjz'](update);}catch{}_0x466ba3&&_0x165cc1[_0x6cfba2(0x1cd)](enableSession,_0x466ba3);const _0x643b9a=_0x165cc1[_0x6cfba2(0x1c9)](getCurrentBranch),_0x361565=_0x643b9a&&_0x643b9a!==_0x165cc1[_0x6cfba2(0x1b8)]&&_0x643b9a!==_0x165cc1[_0x6cfba2(0x1bf)]?_0x6cfba2(0x1cf)+_0x643b9a+_0x6cfba2(0x1c7):'',_0x5c6f23=_0x165cc1['aFmnk'](getRangerSkillContent);_0x165cc1['aWDiD'](printBlock,'#\x20RANGER\x20ENABLED'+_0x361565+_0x6cfba2(0x1bc)+_0x5c6f23+_0x6cfba2(0x1c0));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x91e771,_0x57f6f4){const _0x4dac1b=_0x484b,_0x5327b9=_0x91e771();while(!![]){try{const _0xacb7b8=parseInt(_0x4dac1b(0x11b))/0x1+parseInt(_0x4dac1b(0x125))/0x2*(parseInt(_0x4dac1b(0x120))/0x3)+parseInt(_0x4dac1b(0x11d))/0x4+-parseInt(_0x4dac1b(0x124))/0x5*(parseInt(_0x4dac1b(0x11f))/0x6)+parseInt(_0x4dac1b(0x126))/0x7*(parseInt(_0x4dac1b(0x123))/0x8)+-parseInt(_0x4dac1b(0x121))/0x9*(-parseInt(_0x4dac1b(0x11c))/0xa)+-parseInt(_0x4dac1b(0x11e))/0xb;if(_0xacb7b8===_0x57f6f4)break;else _0x5327b9['push'](_0x5327b9['shift']());}catch(_0x40eae6){_0x5327b9['push'](_0x5327b9['shift']());}}}(_0x2498,0x49312));function _0x484b(_0x3bc35c,_0x495470){_0x3bc35c=_0x3bc35c-0x11b;const _0x249854=_0x2498();let _0x484bd4=_0x249854[_0x3bc35c];return _0x484bd4;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x2498(){const _0x2b20b2=['8336qiHtGA','5KXQQhy','441922HGyNlM','238clKIQp','425674MmAPlc','1674070nbrlRK','1555392PvTjTc','5086312vQwrkL','2856792hHUgJP','3ZqEGBv','9dnMIsm','===\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==='];_0x2498=function(){return _0x2b20b2;};return _0x2498();}export async function exitPlanMode(_0x4d021f){const _0x54c34d=_0x484b,_0x3841e3=await getEnabledSessionId(_0x4d021f);if(!_0x3841e3)return;printBlock(_0x54c34d(0x122));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x394661,_0x46832a){var _0x45149f=_0x1686,_0x440050=_0x394661();while(!![]){try{var _0x1915dc=parseInt(_0x45149f(0x1ee))/0x1*(-parseInt(_0x45149f(0x1e6))/0x2)+parseInt(_0x45149f(0x1ef))/0x3*(parseInt(_0x45149f(0x1ec))/0x4)+parseInt(_0x45149f(0x1e9))/0x5+parseInt(_0x45149f(0x1ea))/0x6+parseInt(_0x45149f(0x1e8))/0x7*(parseInt(_0x45149f(0x1e7))/0x8)+parseInt(_0x45149f(0x1eb))/0x9+-parseInt(_0x45149f(0x1ed))/0xa;if(_0x1915dc===_0x46832a)break;else _0x440050['push'](_0x440050['shift']());}catch(_0x4eff8e){_0x440050['push'](_0x440050['shift']());}}}(_0x4302,0xadf92));function _0x1686(_0x30874d,_0x5d9c9d){_0x30874d=_0x30874d-0x1e6;var _0x4302cb=_0x4302();var _0x16866f=_0x4302cb[_0x30874d];return _0x16866f;}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x4302(){var _0x34c8f3=['5325061bGdZmJ','6268545jkcjkT','974130whqrkG','2600991puAZVp','508132EzUoLz','18952470HbcwhM','37337hfAAKT','6OAoyZo','6flSxKG','8DvxCFP'];_0x4302=function(){return _0x34c8f3;};return _0x4302();}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x580937,_0x3d4bf4){const _0x382561=_0x596f,_0x36ac01=_0x580937();while(!![]){try{const _0x166b96=-parseInt(_0x382561(0x199))/0x1*(-parseInt(_0x382561(0x19d))/0x2)+parseInt(_0x382561(0x197))/0x3+-parseInt(_0x382561(0x1a0))/0x4+-parseInt(_0x382561(0x196))/0x5+parseInt(_0x382561(0x19a))/0x6+parseInt(_0x382561(0x19f))/0x7*(parseInt(_0x382561(0x195))/0x8)+parseInt(_0x382561(0x19e))/0x9*(-parseInt(_0x382561(0x1a1))/0xa);if(_0x166b96===_0x3d4bf4)break;else _0x36ac01['push'](_0x36ac01['shift']());}catch(_0x594851){_0x36ac01['push'](_0x36ac01['shift']());}}}(_0x127c,0x79fc1));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1c5856){console['log'](_0x1c5856);}function _0x596f(_0x2b8401,_0x37611b){_0x2b8401=_0x2b8401-0x195;const _0x127c21=_0x127c();let _0x596f16=_0x127c21[_0x2b8401];return _0x596f16;}export async function readHookInput(){const _0x2c5c39=_0x596f;let _0x18399c='';try{for await(const _0x57ac64 of process['stdin']){_0x18399c+=_0x57ac64;}}catch{return null;}if(!_0x18399c[_0x2c5c39(0x198)]())return null;try{return JSON['parse'](_0x18399c);}catch{return null;}}function _0x127c(){const _0x1c5146=['70tCnJvL','8VnpiMq','371525IIjqIx','78282KHspmE','trim','329107FPLjFF','1928160wskXfT','session_id','xKHnP','2cKXsyx','97119sldydA','2749159auARUf','1679228FxcrrC'];_0x127c=function(){return _0x1c5146;};return _0x127c();}export async function getEnabledSessionId(_0x2859ef){const _0x1c0873=_0x596f,_0x1754c8={'XijLJ':function(_0x538cb6,_0x46073a){return _0x538cb6(_0x46073a);},'SUJqS':function(_0x43166b){return _0x43166b();}};if(_0x2859ef)return _0x1754c8['XijLJ'](isSessionEnabled,_0x2859ef)?_0x2859ef:null;const _0x373a7f=await _0x1754c8['SUJqS'](readHookInput),_0x5a66c6=_0x373a7f?.[_0x1c0873(0x19b)];if(!_0x5a66c6||!isSessionEnabled(_0x5a66c6))return null;return _0x5a66c6;}export async function getEnabledHookContext(_0x4e3c79){const _0x330d2b=_0x596f,_0x15aac6={'aVCSc':function(_0x6fb933,_0x2900bf){return _0x6fb933(_0x2900bf);},'xKHnP':function(_0x18bc93){return _0x18bc93();}};if(_0x4e3c79){if(!_0x15aac6['aVCSc'](isSessionEnabled,_0x4e3c79))return null;return{'sessionId':_0x4e3c79,'input':{'session_id':_0x4e3c79}};}const _0x58e886=await _0x15aac6[_0x330d2b(0x19c)](readHookInput),_0x5c978c=_0x58e886?.['session_id'];if(!_0x5c978c||!isSessionEnabled(_0x5c978c))return null;return{'sessionId':_0x5c978c,'input':_0x58e886};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2dd2(){const _0x2c70b3=['99odrKvm','14364ziaxkx','896276tnUxAy','100wNapci','231fLBSps','14224Qrfvyo','603SjClqY','81110JYdnxq','GDWpp','225980KBYrzR','4966206PQflxE','sessionId','===\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===','8045611NnPvoU'];_0x2dd2=function(){return _0x2c70b3;};return _0x2dd2();}(function(_0x4367c3,_0x12eb5d){const _0x4b4e0e=_0x3c83,_0x20bbd2=_0x4367c3();while(!![]){try{const _0x1280a0=parseInt(_0x4b4e0e(0x10d))/0x1+-parseInt(_0x4b4e0e(0x10c))/0x2*(-parseInt(_0x4b4e0e(0x101))/0x3)+parseInt(_0x4b4e0e(0x100))/0x4*(-parseInt(_0x4b4e0e(0x106))/0x5)+-parseInt(_0x4b4e0e(0x107))/0x6+parseInt(_0x4b4e0e(0x10a))/0x7+parseInt(_0x4b4e0e(0x102))/0x8*(-parseInt(_0x4b4e0e(0x103))/0x9)+parseInt(_0x4b4e0e(0x104))/0xa*(parseInt(_0x4b4e0e(0x10b))/0xb);if(_0x1280a0===_0x12eb5d)break;else _0x20bbd2['push'](_0x20bbd2['shift']());}catch(_0x472de5){_0x20bbd2['push'](_0x20bbd2['shift']());}}}(_0x2dd2,0x913f7));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x3c83(_0x59b557,_0x35ae14){_0x59b557=_0x59b557-0x100;const _0x2dd2e8=_0x2dd2();let _0x3c83c7=_0x2dd2e8[_0x59b557];return _0x3c83c7;}export async function planReminder(_0x12b0a3){const _0x48a6e0=_0x3c83,_0x212aee={'GDWpp':function(_0x5f3df0,_0x401c90){return _0x5f3df0(_0x401c90);}},_0x3f464c=await _0x212aee['GDWpp'](getEnabledHookContext,_0x12b0a3);if(!_0x3f464c)return;if(_0x3f464c['input']['permission_mode']!=='plan')return;if(!shouldShowPlanReminder(_0x3f464c[_0x48a6e0(0x108)]))return;_0x212aee[_0x48a6e0(0x105)](printBlock,_0x48a6e0(0x109));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3e8a4b,_0x4e138e){const _0xf68415=_0xe378,_0x3c4c84=_0x3e8a4b();while(!![]){try{const _0x4c3a63=-parseInt(_0xf68415(0x73))/0x1+-parseInt(_0xf68415(0x78))/0x2*(-parseInt(_0xf68415(0x7b))/0x3)+-parseInt(_0xf68415(0x77))/0x4*(-parseInt(_0xf68415(0x74))/0x5)+-parseInt(_0xf68415(0x79))/0x6+-parseInt(_0xf68415(0x76))/0x7+-parseInt(_0xf68415(0x7a))/0x8+-parseInt(_0xf68415(0x75))/0x9;if(_0x4c3a63===_0x4e138e)break;else _0x3c4c84['push'](_0x3c4c84['shift']());}catch(_0x458e87){_0x3c4c84['push'](_0x3c4c84['shift']());}}}(_0x97b8,0xf0eef));import{printBlock,getEnabledSessionId}from'./output.js';function _0x97b8(){const _0xe6ec69=['2742236WBwpED','4oBDyyT','1813080lVWLxx','5861352qadUGO','5003344rlbpgT','6rhJlpN','74952zyzuLQ','6836915EDqjqw','1121310fdxvgf'];_0x97b8=function(){return _0xe6ec69;};return _0x97b8();}function _0xe378(_0x16a5e2,_0x435a75){_0x16a5e2=_0x16a5e2-0x73;const _0x97b8b5=_0x97b8();let _0xe378ee=_0x97b8b5[_0x16a5e2];return _0xe378ee;}export async function planStart(_0x25656a){const _0x2667a5={'iQeCc':function(_0x113a51,_0x50170a){return _0x113a51(_0x50170a);}},_0x16ca46=await getEnabledSessionId(_0x25656a);if(!_0x16ca46)return;_0x2667a5['iQeCc'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4b638f,_0xc7ce9f){const _0x457487=_0x4e5d,_0x3a7697=_0x4b638f();while(!![]){try{const _0x9680ca=parseInt(_0x457487(0x1e9))/0x1+-parseInt(_0x457487(0x1dd))/0x2+parseInt(_0x457487(0x1df))/0x3*(-parseInt(_0x457487(0x1de))/0x4)+parseInt(_0x457487(0x1e3))/0x5+parseInt(_0x457487(0x1e2))/0x6+parseInt(_0x457487(0x1e1))/0x7*(parseInt(_0x457487(0x1e6))/0x8)+-parseInt(_0x457487(0x1e4))/0x9;if(_0x9680ca===_0xc7ce9f)break;else _0x3a7697['push'](_0x3a7697['shift']());}catch(_0xc0e3c0){_0x3a7697['push'](_0x3a7697['shift']());}}}(_0x2800,0x2b315));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x4e5d(_0x4c8e12,_0x21c1d3){_0x4c8e12=_0x4c8e12-0x1dd;const _0x2800fa=_0x2800();let _0x4e5de7=_0x2800fa[_0x4c8e12];return _0x4e5de7;}function _0x2800(){const _0x2977ca=['234312VLlvgx','28WSFdVt','83208hyvSos','PostToolUse','1226519MmcuLu','1238550ebuetY','1323870CQfSrP','3930057aeFQmO','stringify','8JQMgMZ','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).','log','278482LalKem'];_0x2800=function(){return _0x2977ca;};return _0x2800();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x4fca58){const _0x14a337=_0x4e5d,_0x5271f6={'nUeoc':function(_0x2b1a4c,_0x18dc90){return _0x2b1a4c(_0x18dc90);},'RUHWT':_0x14a337(0x1e0)},_0x493aac=await getEnabledSessionId(_0x4fca58);if(!_0x493aac)return;updateBranchTracking(_0x493aac);const _0x136bbc=await getToken();if(!_0x136bbc)return;const _0x5697f7=_0x5271f6['nUeoc'](getSessionEntry,_0x493aac);if(_0x5697f7){const _0x522fcd={'hookSpecificOutput':{'hookEventName':_0x5271f6['RUHWT'],'additionalContext':_0x14a337(0x1e7)}};console[_0x14a337(0x1e8)](JSON['stringify'](_0x522fcd));return;}const _0x3cf0f1={'hookSpecificOutput':{'hookEventName':_0x14a337(0x1e0),'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console[_0x14a337(0x1e8)](JSON[_0x14a337(0x1e5)](_0x3cf0f1));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x27b7cb,_0x6e7be2){const _0x3dab8b=_0x5543,_0x36a24d=_0x27b7cb();while(!![]){try{const _0x8094c4=-parseInt(_0x3dab8b(0x8c))/0x1+parseInt(_0x3dab8b(0x83))/0x2+parseInt(_0x3dab8b(0x8a))/0x3+parseInt(_0x3dab8b(0x8b))/0x4*(-parseInt(_0x3dab8b(0x86))/0x5)+parseInt(_0x3dab8b(0x88))/0x6*(-parseInt(_0x3dab8b(0x84))/0x7)+-parseInt(_0x3dab8b(0x87))/0x8*(parseInt(_0x3dab8b(0x85))/0x9)+parseInt(_0x3dab8b(0x89))/0xa;if(_0x8094c4===_0x6e7be2)break;else _0x36a24d['push'](_0x36a24d['shift']());}catch(_0x5718fe){_0x36a24d['push'](_0x36a24d['shift']());}}}(_0x4597,0x4f9fb));function _0x5543(_0x173626,_0x1b4857){_0x173626=_0x173626-0x83;const _0x459719=_0x4597();let _0x554381=_0x459719[_0x173626];return _0x554381;}import{getToken}from'../utils/keychain.js';function _0x4597(){const _0x5282ec=['133609yNcMoP','763083BJBwLY','1765065gEzOCN','24hXArQK','180iYRvat','8897420cUMfZD','1853589rZtYPT','4xdccWm','58342bhcXje','113720WpjqwE'];_0x4597=function(){return _0x5282ec;};return _0x4597();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x46e652){const _0x578c44={'Khvmd':function(_0x4711c0,_0x166c97){return _0x4711c0(_0x166c97);}},_0x38df3c=await getEnabledSessionId(_0x46e652);if(!_0x38df3c)return;try{const _0x1e4c3b=await getToken();if(!_0x1e4c3b)return;_0x578c44['Khvmd'](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3568(_0x2270ab,_0x2cc1a7){_0x2270ab=_0x2270ab-0xa2;const _0x2c3e46=_0x2c3e();let _0x356851=_0x2c3e46[_0x2270ab];return _0x356851;}(function(_0x46b5e9,_0x582d5d){const _0x438e46=_0x3568,_0x2de65a=_0x46b5e9();while(!![]){try{const _0x446409=parseInt(_0x438e46(0xac))/0x1*(-parseInt(_0x438e46(0xa3))/0x2)+-parseInt(_0x438e46(0xab))/0x3*(parseInt(_0x438e46(0xad))/0x4)+parseInt(_0x438e46(0xa6))/0x5*(-parseInt(_0x438e46(0xaa))/0x6)+-parseInt(_0x438e46(0xa5))/0x7*(-parseInt(_0x438e46(0xa4))/0x8)+-parseInt(_0x438e46(0xae))/0x9*(parseInt(_0x438e46(0xa2))/0xa)+-parseInt(_0x438e46(0xa7))/0xb+parseInt(_0x438e46(0xa9))/0xc;if(_0x446409===_0x582d5d)break;else _0x2de65a['push'](_0x2de65a['shift']());}catch(_0x12ec00){_0x2de65a['push'](_0x2de65a['shift']());}}}(_0x2c3e,0x2d0e2));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0xcaa777){const _0x1f67f0=_0x3568,_0x2f729b={'IfiVs':_0x1f67f0(0xaf)},_0x894c1a=process['env']['CLAUDE_SESSION_ID'];let _0x5dabbf=_0xcaa777,_0x31ed1c;if(!_0xcaa777){if(_0x894c1a&&!isSessionEnabled(_0x894c1a))return;const _0x3af901=await readHookInput();_0x5dabbf=_0x3af901?.[_0x1f67f0(0xa8)]||_0x894c1a,_0x31ed1c=_0x3af901?.['reason'];}if(!_0x5dabbf)return;_0x31ed1c===_0x2f729b['IfiVs']&&recordEnabledSessionCleared(_0x5dabbf);}function _0x2c3e(){const _0x65ceef=['14aEmHoU','40085IguSiy','1298319nAUafq','session_id','9630828kkPmMT','210wSGPor','3IVYgum','2QUyDfG','673852jmgksr','972rkgtDR','clear','4610zdRfUC','141294jkLBiy','560584gARYQS'];_0x2c3e=function(){return _0x65ceef;};return _0x2c3e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
(function(_0x5a84a2,_0x1fef79){const _0x232721=_0x526f,_0x2e8d91=_0x5a84a2();while(!![]){try{const _0x418496=-parseInt(_0x232721(0xad))/0x1+parseInt(_0x232721(0xbb))/0x2*(-parseInt(_0x232721(0xbc))/0x3)+-parseInt(_0x232721(0xb0))/0x4+parseInt(_0x232721(0xaa))/0x5+parseInt(_0x232721(0xb2))/0x6+parseInt(_0x232721(0xb7))/0x7+-parseInt(_0x232721(0xb8))/0x8*(parseInt(_0x232721(0xaf))/0x9);if(_0x418496===_0x1fef79)break;else _0x2e8d91['push'](_0x2e8d91['shift']());}catch(_0x1f02c3){_0x2e8d91['push'](_0x2e8d91['shift']());}}}(_0x4aa4,0x9e1ac));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';function _0x4aa4(){const _0x56fa41=['504IXltao','gzjTz','session_id','bAWpQ','stdin','CLAUDE_ENV_FILE','5969625fbEIjY','jlUvV','RjTqN','728486YlouVp','hLNjN','279RBhLdC','3099864zrBVUl','\x20(Branch:\x20','7120296JJNdZc','Djzol','OHTBl','trackCommandStart','success','7887446zPCAXw','334120IsDtJq','OoQkQ','hook:session-start','734TggeFo'];_0x4aa4=function(){return _0x56fa41;};return _0x4aa4();}function _0x526f(_0x44ff2d,_0x236e72){_0x44ff2d=_0x44ff2d-0xa8;const _0x4aa422=_0x4aa4();let _0x526fbd=_0x4aa422[_0x44ff2d];return _0x526fbd;}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(_0x18b6a7){const _0x361031=_0x526f,_0x21f040={'AmNXo':_0x361031(0xbe),'SCFxc':'source','Djzol':function(_0x12df66,_0x1f2ff6,_0x5ed76d){return _0x12df66(_0x1f2ff6,_0x5ed76d);},'OHTBl':function(_0x157bc5){return _0x157bc5();},'gzjTz':function(_0x404042,_0xe50680){return _0x404042(_0xe50680);},'OoQkQ':function(_0x17448e){return _0x17448e();},'DsiVR':function(_0x1714f9,_0x4a9de1){return _0x1714f9(_0x4a9de1);},'bAWpQ':_0x361031(0xba),'RjTqN':function(_0x12c656,_0x5a4b40){return _0x12c656!==_0x5a4b40;},'jlUvV':'master','Asgaz':'SessionStart','hLNjN':function(_0x1b0437,_0x2cffb4){return _0x1b0437+_0x2cffb4;}};let _0x142735=_0x18b6a7||'',_0x8ab7cc;if(!_0x18b6a7){let _0x32a67c='';for await(const _0x242276 of process[_0x361031(0xa8)]){_0x32a67c+=_0x242276;}try{const _0x5296f6=JSON['parse'](_0x32a67c);_0x142735=_0x5296f6[_0x21f040['AmNXo']]||'',_0x8ab7cc=_0x5296f6[_0x21f040['SCFxc']];}catch{}const _0x117aad=process['env'][_0x361031(0xa9)];if(_0x117aad&&_0x142735)try{await _0x21f040[_0x361031(0xb3)](appendFile,_0x117aad,'export\x20CLAUDE_SESSION_ID=\x22'+_0x142735+'\x22\x0a');}catch{}}try{await _0x21f040['OHTBl'](getToken);}catch{}if(_0x142735){shouldAutoEnableAfterClear(_0x8ab7cc)&&_0x21f040[_0x361031(0xbd)](autoEnableAfterClear,_0x142735);initBranchTracking(_0x142735);_0x21f040[_0x361031(0xb9)](resolveHookMode)==='on'&&_0x21f040['DsiVR'](enableSession,_0x142735);const _0x29682=isSessionEnabled(_0x142735);try{const _0x25988e=createTelemetryCollector(_0x21f040[_0x361031(0xbf)]);await _0x25988e[_0x361031(0xb5)]({'sessionId':_0x142735,'hooksEnabled':_0x29682}),await _0x25988e['trackCommandEnd'](_0x361031(0xb6));}catch{}if(_0x29682){const _0xf15796=_0x21f040[_0x361031(0xb4)](getCurrentBranch),_0x3f65ec=_0xf15796&&_0xf15796!=='main'&&_0x21f040[_0x361031(0xac)](_0xf15796,_0x21f040[_0x361031(0xab)])?_0x361031(0xb1)+_0xf15796+')':'',_0x897364={'hookSpecificOutput':{'hookEventName':_0x21f040['Asgaz'],'additionalContext':_0x21f040[_0x361031(0xae)](RANGER_AUTO_ENABLED_PROMPT,_0x3f65ec)}};console['log'](JSON['stringify'](_0x897364));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x56ac13,_0x3bf7bd){const _0x95d291=_0x2214,_0x224bae=_0x56ac13();while(!![]){try{const _0x4dc34d=parseInt(_0x95d291(0xa9))/0x1+parseInt(_0x95d291(0xb9))/0x2*(parseInt(_0x95d291(0xba))/0x3)+-parseInt(_0x95d291(0xae))/0x4*(-parseInt(_0x95d291(0xa6))/0x5)+-parseInt(_0x95d291(0xb0))/0x6*(parseInt(_0x95d291(0xb5))/0x7)+-parseInt(_0x95d291(0xb2))/0x8+parseInt(_0x95d291(0xb1))/0x9+-parseInt(_0x95d291(0xbd))/0xa*(-parseInt(_0x95d291(0xb7))/0xb);if(_0x4dc34d===_0x3bf7bd)break;else _0x224bae['push'](_0x224bae['shift']());}catch(_0x1461f3){_0x224bae['push'](_0x224bae['shift']());}}}(_0x3053,0x2543a));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x2214(_0x51e598,_0x50cebf){_0x51e598=_0x51e598-0xa5;const _0x305363=_0x3053();let _0x221408=_0x305363[_0x51e598];return _0x221408;}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x30a36c){const _0x31b9cf=_0x2214,_0x288946={'ojDzr':function(_0x47d8f6,_0x2b125b){return _0x47d8f6(_0x2b125b);},'ExHIf':function(_0x50ce1f){return _0x50ce1f();},'wOTuP':function(_0x1e5e16,_0x172005){return _0x1e5e16(_0x172005);},'pjvqq':_0x31b9cf(0xb8),'bAAOf':function(_0x5c1d5a,_0x16dfe4){return _0x5c1d5a&&_0x16dfe4;},'VSgds':function(_0x4e7bac,_0x434169,_0x3c8840){return _0x4e7bac(_0x434169,_0x3c8840);},'UJAlp':function(_0x491c77,_0x12781e,_0x27f215,_0x135efa){return _0x491c77(_0x12781e,_0x27f215,_0x135efa);}},_0x49fd6f=await _0x288946['ojDzr'](getEnabledHookContext,_0x30a36c),_0x2fdc92=_0x49fd6f?.['sessionId']??null;let _0x16e61a=!![];if(!_0x2fdc92){await trackStop(_0x2fdc92,![],_0x16e61a);return;}try{const _0x1aa133=getSessionEntry(_0x2fdc92);if(!_0x1aa133){await trackStop(_0x2fdc92,!![],_0x16e61a);return;}const _0x3eedd6=await _0x288946['ExHIf'](getToken),_0x5693a9='https://dashboard.ranger.net/features/'+_0x1aa133['featureId'];let _0x2ea1ec=null,_0x1d03bc=![],_0x4daf4f=![];if(_0x3eedd6)try{const _0x446c3e=await _0x288946['ojDzr'](getFeature,_0x1aa133[_0x31b9cf(0xaf)]);_0x2ea1ec=_0x446c3e['currentSessionId']??null;const _0x14638e=_0x446c3e[_0x31b9cf(0xbc)][_0x31b9cf(0xad)](_0x44facd=>_0x44facd['sessionId']===_0x2ea1ec);_0x1d03bc=_0x14638e[_0x31b9cf(0xbb)](_0x36e5d7=>_0x36e5d7['status']!==_0x31b9cf(0xac)&&_0x36e5d7[_0x31b9cf(0xbf)]!=='blocked'&&_0x36e5d7['status']!=='closed'&&_0x36e5d7[_0x31b9cf(0xbf)]!==_0x31b9cf(0xaa)),_0x4daf4f=_0x14638e[_0x31b9cf(0xbb)](_0x2684d1=>_0x2684d1[_0x31b9cf(0xbf)]===_0x31b9cf(0xbe));}catch{}if(_0x3eedd6&&_0x2ea1ec&&_0x1d03bc){if(!_0x4daf4f&&_0x288946['wOTuP'](shouldShowStopReminder,_0x2fdc92)){const _0x651548={'hookSpecificOutput':{'hookEventName':_0x288946['pjvqq'],'additionalContext':_0x31b9cf(0xb4)+_0x5693a9}};console['log'](JSON[_0x31b9cf(0xab)](_0x651548));}}if(_0x288946['bAAOf'](_0x3eedd6,_0x2ea1ec)&&!_0x1d03bc)try{await _0x288946[_0x31b9cf(0xa7)](concludeSession,_0x1aa133['featureId'],_0x2ea1ec);}catch{}await _0x288946['UJAlp'](trackStop,_0x2fdc92,!![],_0x16e61a);return;}catch{await trackStop(_0x2fdc92,!![],_0x16e61a);return;}}async function trackStop(_0x3f2c2e,_0x513044,_0x4fe76f){const _0x5a51d2=_0x2214,_0x358e9c={'yXiOD':function(_0x1931ec,_0x2f2324){return _0x1931ec(_0x2f2324);},'EqMIp':function(_0x1826e8,_0x2274be){return _0x1826e8??_0x2274be;}};try{const _0x534c1b=_0x358e9c[_0x5a51d2(0xb3)](createTelemetryCollector,_0x5a51d2(0xa5));await _0x534c1b[_0x5a51d2(0xa8)]({'sessionId':_0x358e9c['EqMIp'](_0x3f2c2e,undefined),'hooksEnabled':_0x513044,'stopAllowed':_0x4fe76f}),await _0x534c1b[_0x5a51d2(0xb6)]('success');}catch{}}function _0x3053(){const _0x1238b5=['stringify','verified','filter','65400xNWvQq','featureId','653004TlLwTd','1120905PekFAJ','1694608vvISok','yXiOD','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','7gYalwU','trackCommandEnd','11WeLvug','Stop','166DODmdn','1167NjlxeS','some','checklistItems','1219530BBRHLZ','verification_in_progress','status','hook:stop','30lrrHwP','VSgds','trackCommandStart','96409UotYJJ','incomplete'];_0x3053=function(){return _0x1238b5;};return _0x3053();}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5a2b18,_0x4c63f7){var _0x222f17=_0x2a06,_0x49ae08=_0x5a2b18();while(!![]){try{var _0x530606=-parseInt(_0x222f17(0xec))/0x1*(-parseInt(_0x222f17(0xea))/0x2)+-parseInt(_0x222f17(0xf1))/0x3+parseInt(_0x222f17(0xe9))/0x4*(parseInt(_0x222f17(0xeb))/0x5)+parseInt(_0x222f17(0xf0))/0x6+-parseInt(_0x222f17(0xee))/0x7+parseInt(_0x222f17(0xe7))/0x8*(-parseInt(_0x222f17(0xe8))/0x9)+-parseInt(_0x222f17(0xed))/0xa*(-parseInt(_0x222f17(0xef))/0xb);if(_0x530606===_0x4c63f7)break;else _0x49ae08['push'](_0x49ae08['shift']());}catch(_0xab793f){_0x49ae08['push'](_0x49ae08['shift']());}}}(_0x5970,0xe5814));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x2a06(_0x219829,_0x399232){_0x219829=_0x219829-0xe7;var _0x597079=_0x5970();var _0x2a06c1=_0x597079[_0x219829];return _0x2a06c1;}function _0x5970(){var _0x708de1=['1rXYyNP','290pCvsRW','9493904mFeugO','1104323JIiQsF','4100580cIsjwP','4743549OYtkpb','3090568UgRARP','18pWsrIK','149032AFHrfP','1514516BUATaK','40SuKSoC'];_0x5970=function(){return _0x708de1;};return _0x5970();}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';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|