@ranger-testing/ranger-cli 3.1.2 → 3.1.3-alpha.e1ca941-42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x38484d=_0x434d;(function(_0x27be0e,_0x4b0c2e){const _0x148c1c=_0x434d,_0x4a6240=_0x27be0e();while(!![]){try{const _0x4ea8f8=-parseInt(_0x148c1c(0x1d5))/0x1+-parseInt(_0x148c1c(0x1b4))/0x2*(parseInt(_0x148c1c(0x1b9))/0x3)+-parseInt(_0x148c1c(0x212))/0x4*(parseInt(_0x148c1c(0x264))/0x5)+-parseInt(_0x148c1c(0x254))/0x6+parseInt(_0x148c1c(0x1df))/0x7*(parseInt(_0x148c1c(0x258))/0x8)+parseInt(_0x148c1c(0x24e))/0x9+-parseInt(_0x148c1c(0x261))/0xa*(-parseInt(_0x148c1c(0x266))/0xb);if(_0x4ea8f8===_0x4b0c2e)break;else _0x4a6240['push'](_0x4a6240['shift']());}catch(_0x5046b7){_0x4a6240['push'](_0x4a6240['shift']());}}}(_0x580f,0xc697f));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x28f351 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';function _0x434d(_0x445de8,_0x4bcfad){_0x445de8=_0x445de8-0x1a9;const _0x580f54=_0x580f();let _0x434de9=_0x580f54[_0x445de8];return _0x434de9;}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=_0x38484d(0x26d),bold=_0x5ea521=>_0x38484d(0x1ae)+_0x5ea521+_0x38484d(0x219);function getGitRepoUrl(){const _0x3a15cf=_0x38484d,_0xc99143={'XjBuQ':function(_0xaf1a27,_0x17d120,_0x37979f){return _0xaf1a27(_0x17d120,_0x37979f);},'BymzY':'git\x20remote\x20get-url\x20origin','Zgvem':'utf-8','RFRaf':_0x3a15cf(0x278)};try{const _0x204410=_0xc99143[_0x3a15cf(0x26a)](execSync,_0xc99143['BymzY'],{'encoding':_0xc99143['Zgvem'],'stdio':[_0x3a15cf(0x278),_0x3a15cf(0x278),_0xc99143[_0x3a15cf(0x1d0)]]})['trim']();return _0x204410[_0x3a15cf(0x1f5)](/\.git$/,'')[_0x3a15cf(0x1f5)](/^git@github\.com:/,_0x3a15cf(0x1f0))[_0x3a15cf(0x1f5)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5c732f=_0x38484d,_0x2189c5={'ExPqf':function(_0x486b0d,_0x4087c1,_0x5a293f){return _0x486b0d(_0x4087c1,_0x5a293f);},'pgWrl':_0x5c732f(0x1e7),'uTRvi':'utf-8','hhyzV':'pipe'};try{return _0x2189c5['ExPqf'](execSync,_0x2189c5['pgWrl'],{'encoding':_0x2189c5[_0x5c732f(0x276)],'stdio':[_0x2189c5['hhyzV'],_0x2189c5['hhyzV'],_0x2189c5['hhyzV']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3b314e=_0x38484d,_0x51f7e6={'gPecM':function(_0x1b1ef9,_0xc56620,_0x5765e0){return _0x1b1ef9(_0xc56620,_0x5765e0);},'adQky':function(_0xf98e49,_0x1f71e6){return _0xf98e49(_0x1f71e6);}},_0x163b9d=_0x51f7e6['gPecM'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x51f7e6[_0x3b314e(0x238)](existsSync,_0x163b9d))return null;try{const _0x572980=await readFile(_0x163b9d,'utf-8');return _0x572980[_0x3b314e(0x1c0)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x2aa543){const _0xc26a7d=_0x38484d,_0x164ce4={'FlSXa':function(_0x6d0f6a,_0x4bedd3,_0x5d90a7){return _0x6d0f6a(_0x4bedd3,_0x5d90a7);},'YRYBn':function(_0x4c6ebb,_0x534558,_0x39610d,_0x68ddb6){return _0x4c6ebb(_0x534558,_0x39610d,_0x68ddb6);}},_0x183e81=getRangerDir(),_0xbdda91=join(_0x183e81,ACTIVE_FEATURE_FILE);!existsSync(_0x183e81)&&await _0x164ce4['FlSXa'](mkdir,_0x183e81,{'recursive':!![]}),await _0x164ce4['YRYBn'](writeFile,_0xbdda91,_0x2aa543,_0xc26a7d(0x1e9));}function getProgressDisplay(_0x2a0690){const _0x3e8fc2=_0x38484d,_0xf20d1a={'dMkvO':function(_0x51c75f,_0x38e126){return _0x51c75f+_0x38e126;},'UMQQy':function(_0x55f26b,_0x3bee6b){return _0x55f26b*_0x3bee6b;},'uknpa':function(_0x34c6e0,_0x566554){return _0x34c6e0/_0x566554;},'VwBnZ':function(_0x13ae18,_0x58c902){return _0x13ae18+_0x58c902;},'KjByi':function(_0x227ccd,_0x5bdb07){return _0x227ccd-_0x5bdb07;},'nCAgn':function(_0x1e3991,_0x232be6){return _0x1e3991>_0x232be6;},'jnerF':function(_0x5c7a64,_0x20e6b9){return _0x5c7a64>_0x20e6b9;}},_0x1af63b=_0x2a0690[_0x3e8fc2(0x247)]||0x0,_0x33a618=_0x2a0690[_0x3e8fc2(0x263)]||0x0,_0x2a3b86=_0x2a0690[_0x3e8fc2(0x223)]||0x0,_0x5b9d85=_0x2a0690[_0x3e8fc2(0x1d6)]||0x0,_0xe74943=_0x2a0690['pendingItems']||0x0,_0x2481ab=_0xf20d1a['dMkvO'](_0xf20d1a['dMkvO'](_0x1af63b,_0x33a618),_0x2a3b86)+_0x5b9d85+_0xe74943;if(_0x2481ab===0x0)return'-';const _0x3a915b=0xa,_0x3b03f3=Math['round'](_0xf20d1a['UMQQy'](_0xf20d1a[_0x3e8fc2(0x1b8)](_0x1af63b,_0x2481ab),_0x3a915b)),_0x11a87b=_0xf20d1a[_0x3e8fc2(0x229)]('█'[_0x3e8fc2(0x1f6)](_0x3b03f3),'░'[_0x3e8fc2(0x1f6)](_0xf20d1a['KjByi'](_0x3a915b,_0x3b03f3))),_0x3c3320=[];if(_0x2a3b86>0x0)_0x3c3320[_0x3e8fc2(0x25e)](_0x2a3b86+'\x20blocked');if(_0xf20d1a['nCAgn'](_0x5b9d85,0x0))_0x3c3320['push'](_0x5b9d85+'\x20incomplete');if(_0xf20d1a['jnerF'](_0x33a618,0x0))_0x3c3320['push'](_0x33a618+_0x3e8fc2(0x242));const _0x42233a=_0x3c3320['length']>0x0?'\x20('+_0x3c3320['join'](',\x20')+')':'';return _0x11a87b+'\x20'+_0x1af63b+'/'+_0x2481ab+'\x20verified'+_0x42233a;}function getCurrentSessionItems(_0x3e6f1a,_0x313563){const _0x4796f5=_0x38484d;if(!_0x3e6f1a['currentSessionId'])return _0x313563[_0x4796f5(0x218)](_0x59c832=>!_0x59c832['sessionId']);return _0x313563['filter'](_0x4caf8b=>_0x4caf8b[_0x4796f5(0x1b1)]===_0x3e6f1a[_0x4796f5(0x243)]||!_0x4caf8b[_0x4796f5(0x1b1)]);}function displayFeature(_0x2421dd,_0x4d7431){const _0x445080=_0x38484d,_0x455f90={'oyTUj':function(_0x3bf397,_0x3100b8){return _0x3bf397(_0x3100b8);},'WlBfz':_0x445080(0x216),'XTLxd':_0x445080(0x1c1),'QrGIE':function(_0x5e39b4,_0x2917eb){return _0x5e39b4===_0x2917eb;},'iBfDh':'verified','pyVfs':function(_0x21a0d2,_0x131d65){return _0x21a0d2===_0x131d65;},'ruEIX':'incomplete','ccwvR':function(_0x2db7bd,_0x2de13a){return _0x2db7bd===_0x2de13a;},'GAkAB':'blocked','bMIJX':function(_0xc0f30a,_0x2980be){return _0xc0f30a>_0x2980be;},'ozSEZ':function(_0x151861,_0x970729){return _0x151861>_0x970729;},'HBdtw':function(_0x37ac5b,_0x5d5224){return _0x37ac5b!==_0x5d5224;},'dHlUJ':function(_0x2aee13,_0x5edaf4){return _0x2aee13===_0x5edaf4;}};console['log']('\x0a'+_0x2421dd[_0x445080(0x1bb)]+'\x20('+_0x2421dd[_0x445080(0x1d7)]+')');_0x2421dd[_0x445080(0x21c)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x455f90['oyTUj'](getProgressDisplay,_0x2421dd['stats']));_0x2421dd[_0x445080(0x235)]&&console[_0x445080(0x1ec)](_0x445080(0x1e5)+_0x2421dd['description']);_0x2421dd['gitRepoUrl']&&console['log'](_0x445080(0x27c)+_0x2421dd[_0x445080(0x24f)]);_0x2421dd[_0x445080(0x1be)]&&console[_0x445080(0x1ec)](_0x445080(0x1cf)+_0x2421dd[_0x445080(0x1be)]);console[_0x445080(0x1ec)]('\x20\x20\x20Created:\x20'+new Date(_0x2421dd['createdAt'])[_0x445080(0x1b7)]());_0x2421dd['completedAt']&&console[_0x445080(0x1ec)]('\x20\x20\x20Completed:\x20'+new Date(_0x2421dd['completedAt'])['toLocaleString']());if(_0x4d7431&&_0x4d7431['length']>0x0){console['log'](_0x445080(0x1d3));for(let _0x18a512=0x0;_0x18a512<_0x4d7431['length'];_0x18a512++){const _0x3fc9cd=_0x4d7431[_0x18a512];let _0xda0f12;if(_0x3fc9cd['status']===_0x455f90[_0x445080(0x221)]&&_0x3fc9cd['terminalReason']===_0x455f90[_0x445080(0x1c8)])_0xda0f12='✅';else{if(_0x455f90['QrGIE'](_0x3fc9cd[_0x445080(0x1cc)],_0x455f90[_0x445080(0x282)]))_0xda0f12='🟢';else{if(_0x455f90['pyVfs'](_0x3fc9cd[_0x445080(0x1cc)],_0x455f90['ruEIX']))_0xda0f12='🟠';else{if(_0x455f90['ccwvR'](_0x3fc9cd[_0x445080(0x1cc)],_0x455f90[_0x445080(0x287)]))_0xda0f12='🛑';else{if(_0x455f90[_0x445080(0x285)](_0x3fc9cd['status'],_0x455f90[_0x445080(0x221)]))_0xda0f12='⛔';else _0x3fc9cd['status']==='verification_in_progress'?_0xda0f12='⏳':_0xda0f12='⬜';}}}}const _0x31072a=_0x455f90['bMIJX'](_0x3fc9cd[_0x445080(0x245)],0x1)?_0x445080(0x25c)+_0x3fc9cd['version']+')':'',_0x2fd890=_0x455f90[_0x445080(0x27e)](_0x3fc9cd['version'],0x1)&&_0x3fc9cd['parentItemId']&&_0x455f90[_0x445080(0x1d2)](_0x3fc9cd['status'],_0x455f90[_0x445080(0x221)])&&_0x3fc9cd[_0x445080(0x1cc)]!==_0x455f90['iBfDh']?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+(_0x18a512+0x1)+'.\x20'+_0xda0f12+'\x20'+_0x3fc9cd[_0x445080(0x235)]+_0x31072a+_0x2fd890);_0x455f90[_0x445080(0x25f)](_0x3fc9cd['status'],_0x455f90['GAkAB'])&&_0x3fc9cd['blockedReason']&&console[_0x445080(0x1ec)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x3fc9cd[_0x445080(0x279)]);_0x455f90['dHlUJ'](_0x3fc9cd[_0x445080(0x1cc)],_0x455f90['ruEIX'])&&_0x3fc9cd[_0x445080(0x233)]&&console['log'](_0x445080(0x1b5)+_0x3fc9cd[_0x445080(0x233)]);if(_0x455f90['dHlUJ'](_0x3fc9cd['status'],_0x455f90[_0x445080(0x221)])&&_0x455f90['ccwvR'](_0x3fc9cd['terminalReason'],_0x455f90['XTLxd']))console['log'](_0x445080(0x1bc));else _0x3fc9cd[_0x445080(0x1cc)]===_0x455f90['WlBfz']&&_0x3fc9cd[_0x445080(0x25d)]&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x3fc9cd['canceledReason']);}}}export async function featureCreate(_0x4c3eda,_0x460670){const _0xe20f35=_0x38484d,_0x39df7a={'uRHQP':function(_0x2af243,_0x5695f0){return _0x2af243===_0x5695f0;},'iqbSd':function(_0x4f8987,_0x3b3396){return _0x4f8987(_0x3b3396);},'PhwxU':function(_0x31bc88,_0x80f42f){return _0x31bc88(_0x80f42f);},'DjhRt':function(_0x454ab7,_0x85d648,_0x37ab3a){return _0x454ab7(_0x85d648,_0x37ab3a);}},{envNames:_0xd559ce}=await getEnvNames();if(_0x39df7a['uRHQP'](_0xd559ce[_0xe20f35(0x213)],0x0)&&!process['env'][_0xe20f35(0x1f1)]){let _0x533441=0x0;try{_0x533441=(await listCloudProfiles())[_0xe20f35(0x213)];}catch{_0x533441=0x1;}_0x39df7a[_0xe20f35(0x1d9)](_0x533441,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x393032=>bold(_0x393032)));}const _0x5bcb60=_0x460670['scenarios']?_0x460670[_0xe20f35(0x209)]['map'](_0x5ab192=>_0x5ab192['trim']()):[],_0x1e113f=getGitRepoUrl(),_0x19ffa2=getGitBranch();console[_0xe20f35(0x1ec)]('\x0aCreating\x20feature\x20review...');const _0x305119=await createFeature({'name':_0x4c3eda,'description':_0x460670['description'],'checklist':_0x5bcb60,'gitRepoUrl':_0x1e113f,'gitBranch':_0x19ffa2});await _0x39df7a['iqbSd'](setActiveFeatureId,_0x305119['id']),await _0x39df7a[_0xe20f35(0x1c6)](tryStartCurrentSession,_0x305119['id']);const _0x440300=process['env'][_0xe20f35(0x22f)];_0x440300&®isterSession(_0x440300,_0x305119['id']),console[_0xe20f35(0x1ec)](_0xe20f35(0x22b)+_0x305119['id']),_0x39df7a[_0xe20f35(0x237)](displayFeature,_0x305119,_0x305119[_0xe20f35(0x1f8)]),console['log'](_0xe20f35(0x259));}export async function featureList(_0x59b38b){const _0x22bd3c=_0x38484d,_0x135e0c={'ehBbv':function(_0x5c7406){return _0x5c7406();},'Rdtyr':function(_0x583cc0,_0x4cb1e1){return _0x583cc0(_0x4cb1e1);},'XcCTU':_0x22bd3c(0x21b),'JsCgM':function(_0x2e19cb,_0x11097d){return _0x2e19cb>_0x11097d;},'fSoHp':_0x22bd3c(0x1ee)},_0x15e0ee={'limit':_0x59b38b['limit']??0xa,'offset':_0x59b38b[_0x22bd3c(0x208)]??0x0,'includeDeleted':_0x59b38b[_0x22bd3c(0x288)]};_0x59b38b[_0x22bd3c(0x26c)]&&(_0x15e0ee[_0x22bd3c(0x24f)]=_0x135e0c['ehBbv'](getGitRepoUrl),_0x15e0ee[_0x22bd3c(0x1be)]=_0x135e0c[_0x22bd3c(0x1af)](getGitBranch));const _0x39e1d0=await _0x135e0c[_0x22bd3c(0x22e)](listFeatures,_0x15e0ee);if(_0x39e1d0[_0x22bd3c(0x1aa)]['length']===0x0){console[_0x22bd3c(0x1ec)](_0x135e0c['XcCTU']);return;}const _0x2bebb5=_0x135e0c[_0x22bd3c(0x20f)](_0x39e1d0['totalCount'],_0x39e1d0[_0x22bd3c(0x1aa)]['length'])?'Showing\x20'+_0x39e1d0[_0x22bd3c(0x1aa)]['length']+'\x20of\x20'+_0x39e1d0[_0x22bd3c(0x25b)]:_0x39e1d0[_0x22bd3c(0x25b)]+_0x22bd3c(0x273);console[_0x22bd3c(0x1ec)]('\x0a'+_0x2bebb5+':\x0a');for(const _0x48f171 of _0x39e1d0['items']){console[_0x22bd3c(0x1ec)](''+_0x48f171[_0x22bd3c(0x1bb)]),console[_0x22bd3c(0x1ec)](_0x22bd3c(0x23c)+_0x48f171['id']),_0x48f171[_0x22bd3c(0x21c)]&&console[_0x22bd3c(0x1ec)](_0x22bd3c(0x27a)+getProgressDisplay(_0x48f171['stats'])),_0x48f171['gitBranch']&&console[_0x22bd3c(0x1ec)](_0x22bd3c(0x1cf)+_0x48f171['gitBranch']),console[_0x22bd3c(0x1ec)]('\x20\x20\x20Created:\x20'+new Date(_0x48f171['createdAt'])[_0x22bd3c(0x271)]()),console[_0x22bd3c(0x1ec)]('');}const _0x3cf474=_0x15e0ee['limit']??0xa,_0x1e5e70=(_0x15e0ee[_0x22bd3c(0x208)]??0x0)+_0x39e1d0[_0x22bd3c(0x1aa)][_0x22bd3c(0x213)];if(_0x1e5e70<_0x39e1d0['totalCount']){const _0x356919=_0x3cf474!==0xa?_0x22bd3c(0x1e1)+_0x3cf474:'',_0x1130ee=_0x59b38b[_0x22bd3c(0x26c)]?_0x135e0c[_0x22bd3c(0x281)]:'',_0x18aeed=_0x59b38b[_0x22bd3c(0x288)]?'\x20--include-deleted':'';console[_0x22bd3c(0x1ec)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x1e5e70+_0x356919+_0x1130ee+_0x18aeed);}}function _0x580f(){const _0x1b3ccb=['lthIA','jLOlz','586NqauGe','\x20\x20\x20\x20\x20\x20Incomplete:\x20','join','toLocaleString','uknpa','762dTxVEA','.\x20Feature\x20review\x20has\x20','name','\x20\x20\x20\x20\x20\x20Approved','\x20scenario(s).','gitBranch','ZWcQE','trim','approved','reports','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','TgIzM','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','PhwxU','\x20at\x20[','XTLxd','exit','gDJQo','\x20\x20\x20Completed:\x20','status','write','/artifacts/','\x20\x20\x20Branch:\x20','RFRaf','\x0aConcluding\x20session...','HBdtw','\x0a\x20\x20\x20Scenarios:','assetUrl','1609032iIVVym','incompleteItems','dashboardUrl','GFTyB','uRHQP','env','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CpsAr','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20Progress:\x20','9126026SkHAPv','Klbml','\x20--limit\x20','arrayBuffer','scenario','slice','\x20\x20\x20Description:\x20','BBkZZ','git\x20rev-parse\x20--abbrev-ref\x20HEAD','assetType','utf-8','scGHp','stepName','log','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20--current-branch','\x20>\x20','github.com/','RANGER_TEST_USERNAME','content','gkCCT','Screenshot\x20','replace','repeat','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','checklistItems','yCozj','pop','spatial','Qlgaz','mtMPG','\x20\x20\x20\x20\x20Branch:\x20','XzNhF','\x0a✅\x20Scenario\x20updated','fJToz','cOhTT','canonicalFlow','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','after','oQBXg','offset','scenarios','eDgPv','\x20\x20\x20\x20\x20ID:\x20','\x20Session\x20','QWLrj','\x0a📋\x20Feedback\x20for:\x20','JsCgM','VkjaL','cAwsz','372IVExCD','length','selector','bNJcr','closed','rGMcQ','filter','\x1b[0m','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0aNo\x20feature\x20reviews\x20found.','stats','xSzOP','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','No\x20scenarios\x20found.','iQrmr','WlBfz','fVUXh','blockedItems','Qpsmq','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20scenarios.','NtDLQ','iteration','VwBnZ','Please\x20finish\x20your\x20review\x20first:','\x0a✅\x20Feature\x20review\x20created:\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','screenshotUrls','Rdtyr','CLAUDE_SESSION_ID','QdksZ','map','isInteger','incompleteReason','Kdetd','description','No\x20active\x20session\x20for\x20this\x20feature\x20review.','DjhRt','adQky','linkedSession','domRef','sgKKV','\x20\x20\x20ID:\x20','from','QAsCI','point','\x0a✅\x20Report\x20generated:\x20','Ruudu','\x20in\x20progress','currentSessionId','latestReview','version','any','verifiedItems','toFixed','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','SKgkA','completedAt','vAXms','DXuAV','5048982QiVtuW','gitRepoUrl','find','isTTY','...','textContent','7832418LicXsG','CMdqx','Itlsm','unaddressedComments','8NMCRjb','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20concluded.','totalCount','\x20(v','canceledReason','push','QrGIE','\x20\x20Expected\x20flow:','90znKPdJ','stdout','verificationInProgressItems','71255IdNqfi','vXUXe','3988017eEebeG','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','Scenario\x20','browserSessionId','XjBuQ','xykPU','currentBranch','active-feature.txt','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','coordinates','output','toLocaleDateString','completed','\x20feature\x20review(s)\x20found','usfZa','split','uTRvi','lkDiE','pipe','blockedReason','\x20\x20\x20Progress:\x20','error','\x20\x20\x20Repository:\x20','\x0aAvailable\x20scenarios:','ozSEZ','\x20\x20\x20▶️\x20Started\x20session\x20','Not\x20in\x20a\x20git\x20repository.','fSoHp','iBfDh','excludeScenarios','stdin','pyVfs','has','GAkAB','includeDeleted','vvfro','\x0a✅\x20Resumed\x20feature\x20review:\x20','authorEmail','items','in_progress','yOnfm','assets','\x1b[1m','ehBbv','BxjKP','sessionId'];_0x580f=function(){return _0x1b3ccb;};return _0x580f();}export async function featureShow(_0x44f4bb){const _0x4d756a=_0x38484d,_0x415f65={'Ugfud':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZWcQE':function(_0xd74f52,_0x1236e4){return _0xd74f52(_0x1236e4);}},_0x4ea60e=_0x44f4bb||await getActiveFeatureId();if(!_0x4ea60e)throw new Error(_0x415f65['Ugfud']);const _0x15e11e=await _0x415f65[_0x4d756a(0x1bf)](getFeature,_0x4ea60e);displayFeature(_0x15e11e,_0x15e11e[_0x4d756a(0x1f8)]);}export async function featureResume(_0x314e32){const _0x5ee3b6=_0x38484d,_0x5817ad={'HBCUT':function(_0x5874b6,_0x1b2c87,_0x2e5731){return _0x5874b6(_0x1b2c87,_0x2e5731);},'yCozj':function(_0x2e0679,_0x2a38bb){return _0x2e0679(_0x2a38bb);},'BBkZZ':function(_0x54b30d){return _0x54b30d();},'rGMcQ':function(_0x39073d){return _0x39073d();},'YqNPW':_0x5ee3b6(0x246),'MxiMs':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','yOnfm':_0x5ee3b6(0x267),'xUenG':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','YBMBX':'list','GFTyB':function(_0x10c89d,_0x2e3ed2){return _0x10c89d!==_0x2e3ed2;},'sLgwZ':function(_0x565e67,_0x5ed141){return _0x565e67(_0x5ed141);},'Klbml':function(_0x48bcd4,_0x12adb5,_0x191e54){return _0x48bcd4(_0x12adb5,_0x191e54);}};if(_0x314e32){const _0x54bef8=await getFeature(_0x314e32);await setActiveFeatureId(_0x54bef8['id']);const _0x59757f=getGitBranch();_0x59757f&&_0x59757f!==_0x54bef8['gitBranch']&&(await updateFeature(_0x54bef8['id'],{'gitBranch':_0x59757f}),console['log'](_0x5ee3b6(0x1ed)+_0x59757f));console[_0x5ee3b6(0x1ec)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x54bef8['name']+'\x20('+_0x54bef8['id']+')'),await tryStartCurrentSession(_0x54bef8['id']);const _0x1cfe9d=process['env']['CLAUDE_SESSION_ID'];_0x1cfe9d&&_0x5817ad['HBCUT'](registerSession,_0x1cfe9d,_0x54bef8['id']);displayFeature(_0x54bef8,_0x54bef8[_0x5ee3b6(0x1f8)]),await _0x5817ad[_0x5ee3b6(0x1f9)](printFeedbackNudge,_0x54bef8['id']);return;}const _0xd43a83=_0x5817ad[_0x5ee3b6(0x1e6)](getGitRepoUrl),_0x33e7e8=_0x5817ad[_0x5ee3b6(0x217)](getGitBranch);if(!_0xd43a83&&!_0x33e7e8)throw new Error(_0x5ee3b6(0x280));console['log'](_0x5ee3b6(0x205)+(_0xd43a83||_0x5ee3b6(0x246))+'\x20/\x20'+(_0x33e7e8||_0x5817ad['YqNPW'])+_0x5ee3b6(0x252));const _0x550764=await listFeatures({'gitRepoUrl':_0xd43a83,'gitBranch':_0x33e7e8}),_0x5c9ed9=_0x550764[_0x5ee3b6(0x1aa)]['filter'](_0x5b7dc9=>_0x5b7dc9[_0x5ee3b6(0x1cc)]?_0x5b7dc9[_0x5ee3b6(0x1cc)]!=='verified':!_0x5b7dc9[_0x5ee3b6(0x24b)]);if(_0x5c9ed9[_0x5ee3b6(0x213)]===0x0){console[_0x5ee3b6(0x1ec)](_0x5817ad['MxiMs']),console[_0x5ee3b6(0x1ec)]('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x279cd8;if(_0x5c9ed9['length']===0x1)_0x279cd8=_0x5c9ed9[0x0];else{const _0x534a20=process[_0x5ee3b6(0x284)]['isTTY']&&process[_0x5ee3b6(0x262)][_0x5ee3b6(0x251)];if(!_0x534a20){console['log'](_0x5817ad[_0x5ee3b6(0x1ac)]);for(const _0x4bc789 of _0x5c9ed9){console['log']('\x20\x20'+_0x4bc789['name']),console['log'](_0x5ee3b6(0x20b)+_0x4bc789['id']),_0x4bc789['stats']&&console[_0x5ee3b6(0x1ec)](_0x5ee3b6(0x1de)+_0x5817ad['yCozj'](getProgressDisplay,_0x4bc789[_0x5ee3b6(0x21c)])),_0x4bc789[_0x5ee3b6(0x1be)]&&console[_0x5ee3b6(0x1ec)](_0x5ee3b6(0x1fe)+_0x4bc789['gitBranch']);}throw new Error(_0x5817ad['xUenG']);}const {selected:_0x34e2b5}=await _0x28f351['prompt']([{'type':_0x5817ad['YBMBX'],'name':'selected','message':_0x5ee3b6(0x22c),'choices':_0x5c9ed9['map'](_0x10983d=>({'name':_0x10983d['name']+'\x20('+_0x10983d['id']+')','value':_0x10983d['id']}))}]);_0x279cd8=_0x5c9ed9['find'](_0x186b08=>_0x186b08['id']===_0x34e2b5);}await setActiveFeatureId(_0x279cd8['id']);_0x33e7e8&&_0x5817ad[_0x5ee3b6(0x1d8)](_0x33e7e8,_0x279cd8['gitBranch'])&&(await _0x5817ad['HBCUT'](updateFeature,_0x279cd8['id'],{'gitBranch':_0x33e7e8}),console['log'](_0x5ee3b6(0x1ed)+_0x33e7e8));console['log'](_0x5ee3b6(0x28a)+_0x279cd8[_0x5ee3b6(0x1bb)]+'\x20('+_0x279cd8['id']+')'),await _0x5817ad['sLgwZ'](tryStartCurrentSession,_0x279cd8['id']);const _0x13c45f=await getFeature(_0x279cd8['id']),_0x32d29b=process[_0x5ee3b6(0x1da)][_0x5ee3b6(0x22f)];_0x32d29b&&_0x5817ad[_0x5ee3b6(0x1e0)](registerSession,_0x32d29b,_0x13c45f['id']),displayFeature(_0x13c45f,_0x13c45f['checklistItems']),await printFeedbackNudge(_0x13c45f['id']);}async function printFeedbackNudge(_0x5be54e){const _0xc20279=_0x38484d,_0x4c87de={'gCTOw':function(_0xdc0e1a,_0xe4d28b){return _0xdc0e1a(_0xe4d28b);},'XzNhF':function(_0x1b6c6b,_0x3fbbfc,_0xf55996){return _0x1b6c6b(_0x3fbbfc,_0xf55996);},'sgKKV':_0xc20279(0x249)};try{const {items:_0x37795c}=await _0x4c87de['gCTOw'](getActionItems,_0x5be54e);let _0x256db5=0x0,_0x3a588f=0x0;for(const _0x1fc48e of _0x37795c){const _0x2e8603=await _0x4c87de[_0xc20279(0x1ff)](getItemFeedback,_0x5be54e,_0x1fc48e['id']);_0x2e8603[_0xc20279(0x257)]['length']>0x0&&(_0x256db5+=_0x2e8603[_0xc20279(0x257)][_0xc20279(0x213)],_0x3a588f++);}_0x256db5>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x256db5+_0xc20279(0x1c3)+_0x3a588f+_0xc20279(0x1bd)),console[_0xc20279(0x1ec)](_0x4c87de[_0xc20279(0x23b)]));}catch{}}async function tryStartCurrentSession(_0x49a868){const _0x8bd9a7=_0x38484d,_0x15dfe6={'CMnHL':function(_0x8ac1ea,_0x53b112){return _0x8ac1ea(_0x53b112);}};try{const {sessions:_0x3e6126}=await _0x15dfe6['CMnHL'](listFeatureSessions,_0x49a868),_0x1ef7c4=_0x3e6126[_0x8bd9a7(0x250)](_0x1515aa=>_0x1515aa[_0x8bd9a7(0x1cc)]==='ready');_0x1ef7c4&&(await startSession(_0x49a868,_0x1ef7c4['id']),console[_0x8bd9a7(0x1ec)](_0x8bd9a7(0x27f)+_0x1ef7c4[_0x8bd9a7(0x228)]));}catch{}}export async function featureReport(_0x4e1228,_0x1f264e){const _0xdd5ad4=_0x38484d,_0x16a565={'jkeNU':function(_0x35d7f1){return _0x35d7f1();},'AHGSp':'\x0aGenerating\x20report...','UKYBd':function(_0x531ea6,_0x216c14,_0x11d1dd){return _0x531ea6(_0x216c14,_0x11d1dd);},'Qpsmq':function(_0x8029ad,_0xe41c0c,_0x39526c,_0x269b69){return _0x8029ad(_0xe41c0c,_0x39526c,_0x269b69);},'vvfro':_0xdd5ad4(0x1c2),'MgWsK':function(_0x36c54a,_0x3d18a7,_0x581b75){return _0x36c54a(_0x3d18a7,_0x581b75);},'yupEJ':function(_0x204af5,_0x500bbd){return _0x204af5(_0x500bbd);},'KXqxW':function(_0x4fb5f7,_0x22aba6,_0x44cfad){return _0x4fb5f7(_0x22aba6,_0x44cfad);},'wosee':'utf-8'},_0x216793=_0x4e1228||await _0x16a565['jkeNU'](getActiveFeatureId);if(!_0x216793)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x16a565['AHGSp']);const _0x25228e=await _0x16a565['UKYBd'](getFeatureReportMarkdown,_0x216793,{'style':_0x1f264e['style']}),_0x12cf93=_0x1f264e[_0xdd5ad4(0x270)]||_0x16a565['Qpsmq'](join,getRangerDir(),_0x16a565[_0xdd5ad4(0x289)],_0x216793+'.md'),_0x3422d4=_0x16a565['MgWsK'](join,_0x12cf93,'..');!_0x16a565['yupEJ'](existsSync,_0x3422d4)&&await _0x16a565['KXqxW'](mkdir,_0x3422d4,{'recursive':!![]}),await _0x16a565[_0xdd5ad4(0x224)](writeFile,_0x12cf93,_0x25228e,_0x16a565['wosee']),console[_0xdd5ad4(0x1ec)](_0xdd5ad4(0x240)+_0x12cf93);}function getScenarioResult(_0x160542){const _0xba6eeb=_0x38484d,_0x20601f={'INaGQ':function(_0x3e0d9d,_0x1463be){return _0x3e0d9d===_0x1463be;},'Ruudu':'verification_in_progress'};if(_0x160542['status']==='closed')return _0x160542['terminalReason']??'closed';if(_0x20601f['INaGQ'](_0x160542[_0xba6eeb(0x1cc)],_0x20601f[_0xba6eeb(0x241)]))return'in_progress';return _0x160542['status'];}function getScenarioRationale(_0x395d2b,_0x407575){const _0x1ea690=_0x38484d;if(_0x407575)return _0x407575;if(_0x395d2b['blockedReason'])return _0x395d2b['blockedReason'];if(_0x395d2b['incompleteReason'])return _0x395d2b['incompleteReason'];if(_0x395d2b['canceledReason'])return _0x395d2b[_0x1ea690(0x25d)];if(_0x395d2b['notes'])return _0x395d2b['notes'];return null;}export async function featureReportPrDescription(_0x972322,_0x178540){const _0x1c07a4=_0x38484d,_0x1e2f9d={'AYlxG':function(_0x2996c8){return _0x2996c8();},'FGVpm':function(_0x27180b,_0x525dc5){return _0x27180b(_0x525dc5);},'VkjaL':function(_0x2b35c9,_0xbf7cec,_0x490b05){return _0x2b35c9(_0xbf7cec,_0x490b05);},'YPnPN':function(_0x5ad505,_0x2fb073){return _0x5ad505===_0x2fb073;},'xsGFC':function(_0x4573ed,_0x273f07){return _0x4573ed>_0x273f07;},'oQBXg':'\x0aAvailable\x20scenarios:','QAsCI':function(_0x3d9eb1,_0x3e55eb){return _0x3d9eb1<_0x3e55eb;},'Itlsm':_0x1c07a4(0x26e),'oeneU':function(_0x53b63f,_0x2af6d4,_0x374246,_0x424399){return _0x53b63f(_0x2af6d4,_0x374246,_0x424399);}},_0x1efd88=_0x972322||await _0x1e2f9d['AYlxG'](getActiveFeatureId);if(!_0x1efd88)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5c24b9=await _0x1e2f9d['FGVpm'](getFeature,_0x1efd88),_0x30d599=_0x5c24b9[_0x1c07a4(0x1f8)]||[],_0x5b9686=_0x1e2f9d[_0x1c07a4(0x210)](getCurrentSessionItems,_0x5c24b9,_0x30d599);_0x1e2f9d['YPnPN'](_0x5b9686['length'],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x27509e=_0x178540[_0x1c07a4(0x283)]??[],_0x5dac57=_0x27509e[_0x1c07a4(0x218)](_0x49a7a3=>!Number[_0x1c07a4(0x232)](_0x49a7a3)||_0x49a7a3<0x1||_0x49a7a3>_0x5b9686[_0x1c07a4(0x213)]);if(_0x1e2f9d['xsGFC'](_0x5dac57[_0x1c07a4(0x213)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x5dac57['join'](',\x20')),console['log'](_0x1e2f9d[_0x1c07a4(0x207)]);for(let _0x439b3f=0x0;_0x1e2f9d[_0x1c07a4(0x23e)](_0x439b3f,_0x5b9686[_0x1c07a4(0x213)]);_0x439b3f++){console['log']('\x20\x20'+(_0x439b3f+0x1)+'.\x20'+_0x5b9686[_0x439b3f][_0x1c07a4(0x235)]);}process['exit'](0x1);}const _0x20af09=new Set(_0x27509e['map'](_0x22286d=>_0x22286d-0x1)),_0x49db7a=_0x5b9686[_0x1c07a4(0x218)]((_0xf9d665,_0x1f15af)=>!_0x20af09[_0x1c07a4(0x286)](_0x1f15af));_0x49db7a['length']===0x0&&(console['error'](_0x1e2f9d[_0x1c07a4(0x256)]),process['exit'](0x1));if(_0x178540['json'])await _0x1e2f9d['oeneU'](outputJsonReport,_0x1efd88,_0x5c24b9,_0x49db7a);else{const _0x3db0f0=await _0x1e2f9d[_0x1c07a4(0x210)](getFeatureReportMarkdown,_0x1efd88,{'itemIds':_0x49db7a[_0x1c07a4(0x231)](_0x56ab56=>_0x56ab56['id'])});process[_0x1c07a4(0x262)]['write'](_0x3db0f0['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x577d29,_0x5c263c,_0x4a315e){const _0x28ea03=_0x38484d,_0x26e813={'Kdetd':function(_0x27f4f6,_0xc36c21,_0x4f4f34){return _0x27f4f6(_0xc36c21,_0x4f4f34);},'eDgPv':function(_0x28c4b1){return _0x28c4b1();}},_0x480ba8=_0x26e813[_0x28ea03(0x20a)](getApiBaseUrl),_0x3b93d5=await getFeatureReport(_0x577d29),_0x579600=new Map(_0x3b93d5['checklistItems']['map'](_0x591384=>[_0x591384['id'],_0x591384])),_0x187cfa=await Promise['all'](_0x4a315e['map'](async _0x5b8a21=>{const _0x490b3e=_0x28ea03,_0x29cc3b=_0x579600['get'](_0x5b8a21['id']),_0x4565b3=_0x29cc3b?.[_0x490b3e(0x239)]??null;let _0x4b5ecd=[];if(_0x5b8a21['browserSessionId'])try{const {steps:_0x59e502}=await getBrowserSessionSteps(_0x5b8a21[_0x490b3e(0x269)]);_0x59e502['length']>0x0&&(_0x4b5ecd=_0x59e502['map'](_0x2e5920=>{const _0xd3a432=_0x490b3e,_0x465697=_0x2e5920[_0xd3a432(0x1ad)]['find'](_0x142b37=>_0x142b37[_0xd3a432(0x1e8)]==='screenshot'&&_0x142b37['timing']===_0xd3a432(0x206))??_0x2e5920[_0xd3a432(0x1ad)][_0xd3a432(0x250)](_0x3a0c08=>_0x3a0c08['assetType']==='screenshot');let _0x13fc20=null,_0x2bfb80=null;if(_0x465697){const _0x4efe3c=_0x465697['storage']['location'][_0xd3a432(0x275)]('/')['pop']();_0x13fc20=_0x480ba8+'/api/v1/mcp/browser-sessions/'+_0x5b8a21['browserSessionId']+_0xd3a432(0x1ce)+_0x4efe3c,_0x4efe3c&&(_0x2bfb80=_0x4efe3c[_0xd3a432(0x1f5)](/\.\w+$/,'')[_0xd3a432(0x1f5)](/^(key_)?\d+_/,'')[_0xd3a432(0x1f5)](/[-_]/g,'\x20'));}return{'description':_0x2bfb80||_0x2e5920[_0xd3a432(0x235)]||_0x2e5920[_0xd3a432(0x1eb)]||'Step\x20'+_0x2e5920['position'],'screenshot':_0x13fc20,'is_key_step':_0x2e5920['isKeyStep']};}));}catch{}return _0x4b5ecd[_0x490b3e(0x213)]===0x0&&_0x4565b3?.[_0x490b3e(0x22d)]&&(_0x4b5ecd=_0x4565b3['screenshotUrls'][_0x490b3e(0x231)]((_0x702791,_0x5e04df)=>({'description':_0x490b3e(0x1f4)+(_0x5e04df+0x1),'screenshot':_0x702791,'is_key_step':![]}))),{'description':_0x5b8a21['description'],'result':getScenarioResult(_0x5b8a21),'rationale':_0x26e813[_0x490b3e(0x234)](getScenarioRationale,_0x5b8a21,_0x4565b3?.['agentResponse']),'steps':_0x4b5ecd};})),_0x4bebf3={'url':_0x5c263c[_0x28ea03(0x1d7)],'scenarios':_0x187cfa};process[_0x28ea03(0x262)][_0x28ea03(0x1cd)](JSON['stringify'](_0x4bebf3,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x4813bc){const _0x2ee02c=_0x38484d,_0x313e2a={'bNJcr':function(_0x5947ef){return _0x5947ef();},'cDvJR':function(_0x462678,_0x1e8132){return _0x462678(_0x1e8132);},'xykPU':_0x2ee02c(0x236),'jWVvX':function(_0x57181e,_0x5a7a6d){return _0x57181e===_0x5a7a6d;},'cAwsz':'in_progress'},_0x2fcda5=_0x4813bc||await _0x313e2a[_0x2ee02c(0x215)](getActiveFeatureId);if(!_0x2fcda5)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 _0x46febc=await _0x313e2a['cDvJR'](getFeature,_0x2fcda5);if(!_0x46febc['currentSessionId'])throw new Error(_0x313e2a[_0x2ee02c(0x26b)]);const {sessions:_0x36019c}=await listFeatureSessions(_0x2fcda5),_0x46bafc=_0x36019c['find'](_0x3c83c4=>_0x3c83c4['id']===_0x46febc['currentSessionId']);if(!_0x46bafc)throw new Error('Current\x20session\x20not\x20found.');if(_0x313e2a['jWVvX'](_0x46bafc[_0x2ee02c(0x1cc)],'completed')){console[_0x2ee02c(0x1ec)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x46bafc['status']!==_0x313e2a[_0x2ee02c(0x211)])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x46bafc['status']);console[_0x2ee02c(0x1ec)](_0x2ee02c(0x1d1)),await concludeSession(_0x2fcda5,_0x46febc['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x46bafc['iteration']+_0x2ee02c(0x25a)),console[_0x2ee02c(0x1ec)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x4d9c80){const _0x36cc22=_0x38484d,_0x43ea3d={'DgVFE':function(_0x38460c){return _0x38460c();},'BxjKP':_0x36cc22(0x21a),'CpsAr':function(_0x55a260,_0x3a1ab5){return _0x55a260(_0x3a1ab5);},'cFJdV':'No\x20sessions\x20found.','mtMPG':function(_0x21f5eb,_0x37f6d4){return _0x21f5eb===_0x37f6d4;},'fVUXh':_0x36cc22(0x1ab)},_0x28661f=_0x4d9c80||await _0x43ea3d['DgVFE'](getActiveFeatureId);if(!_0x28661f)throw new Error(_0x43ea3d[_0x36cc22(0x1b0)]);const _0x246e64=await _0x43ea3d[_0x36cc22(0x1dc)](getFeature,_0x28661f);console[_0x36cc22(0x1ec)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x246e64['name']+'\x0a');const {sessions:_0x45d3e8}=await listFeatureSessions(_0x28661f);if(_0x45d3e8['length']===0x0){console[_0x36cc22(0x1ec)](_0x43ea3d['cFJdV']);return;}for(const _0x3e03de of _0x45d3e8){const _0x8a06a9=_0x43ea3d[_0x36cc22(0x1fd)](_0x3e03de['status'],_0x36cc22(0x272))?'✅':_0x3e03de['status']===_0x43ea3d[_0x36cc22(0x222)]?'🔄':'▶️';console['log'](_0x8a06a9+_0x36cc22(0x20c)+_0x3e03de['iteration']+'\x20('+_0x3e03de['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x3e03de['status']),console[_0x36cc22(0x1ec)]('\x20\x20\x20Created:\x20'+new Date(_0x3e03de['createdAt'])[_0x36cc22(0x1b7)]()),_0x3e03de['completedAt']&&console['log'](_0x36cc22(0x1cb)+new Date(_0x3e03de['completedAt'])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x2c15ea,_0x182723){const _0x419242=_0x38484d,_0x2d759c={'TgIzM':_0x419242(0x1db),'QdksZ':function(_0x53e428,_0x1d59ae){return _0x53e428(_0x1d59ae);},'iQrmr':function(_0x4b7d78,_0x1870c1,_0x499819){return _0x4b7d78(_0x1870c1,_0x499819);}},_0x537030=_0x182723||await getActiveFeatureId();if(!_0x537030)throw new Error(_0x2d759c[_0x419242(0x1c4)]);const _0x510149=await _0x2d759c[_0x419242(0x230)](getFeature,_0x537030);if(_0x510149['latestReview']&&!_0x510149[_0x419242(0x244)]['submittedAt'])throw new Error(_0x419242(0x1c5)+_0x510149['dashboardUrl']);await _0x2d759c[_0x419242(0x220)](createChecklistItem,_0x537030,_0x2c15ea);const _0x4dd12b=await _0x2d759c['QdksZ'](getFeature,_0x537030);console[_0x419242(0x1ec)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x4dd12b,_0x4dd12b[_0x419242(0x1f8)]);}export async function featureEditScenario(_0x4866a7,_0x3eea33){const _0x21c7f5=_0x38484d,_0x124413={'vAXms':function(_0x3d4e36){return _0x3d4e36();},'qdYEx':_0x21c7f5(0x21e),'Qlgaz':_0x21c7f5(0x22a),'lthIA':function(_0x6188f1,_0x5d3f8d){return _0x6188f1===_0x5d3f8d;},'xSzOP':function(_0x22f393,_0x393e47){return _0x22f393-_0x393e47;},'gkCCT':function(_0x32b3c2,_0x2e643c){return _0x32b3c2<_0x2e643c;},'DjhCL':'\x0aAvailable\x20scenarios:','QWLrj':function(_0x4bb2b4,_0x5491a7){return _0x4bb2b4<_0x5491a7;},'CMdqx':function(_0x306ada,_0x5a328d,_0x3fcfc5,_0x573d3d){return _0x306ada(_0x5a328d,_0x3fcfc5,_0x573d3d);},'MvbJi':function(_0x46efb3,_0xee9738){return _0x46efb3(_0xee9738);},'DXuAV':function(_0x518ed8,_0x4bdd93,_0x2e3d1d){return _0x518ed8(_0x4bdd93,_0x2e3d1d);}},_0x43a93e=_0x3eea33['id']||await _0x124413[_0x21c7f5(0x24c)](getActiveFeatureId);!_0x43a93e&&(console[_0x21c7f5(0x27b)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x21c7f5(0x1dd)),process[_0x21c7f5(0x1c9)](0x1));const _0x54c38b=await getFeature(_0x43a93e);_0x54c38b[_0x21c7f5(0x244)]&&!_0x54c38b[_0x21c7f5(0x244)]['submittedAt']&&(console['error'](_0x124413['qdYEx']),console[_0x21c7f5(0x27b)](_0x124413[_0x21c7f5(0x1fc)]),console[_0x21c7f5(0x27b)]('\x20\x20'+_0x54c38b[_0x21c7f5(0x1d7)]),process[_0x21c7f5(0x1c9)](0x1));const _0x47d3a2=_0x54c38b['checklistItems']||[];_0x47d3a2[_0x21c7f5(0x213)]===0x0&&(console[_0x21c7f5(0x27b)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x21c7f5(0x1c9)](0x1));if(_0x124413[_0x21c7f5(0x1b2)](_0x3eea33['scenario'],undefined)){console['error'](_0x21c7f5(0x1f7)),console[_0x21c7f5(0x1ec)](_0x21c7f5(0x27d));for(let _0x282429=0x0;_0x282429<_0x47d3a2['length'];_0x282429++){console[_0x21c7f5(0x1ec)]('\x20\x20'+(_0x282429+0x1)+'.\x20'+_0x47d3a2[_0x282429]['description']);}process[_0x21c7f5(0x1c9)](0x1);}const _0x450e32=_0x124413[_0x21c7f5(0x21d)](_0x3eea33[_0x21c7f5(0x1e3)],0x1);if(_0x124413[_0x21c7f5(0x1f3)](_0x450e32,0x0)||_0x450e32>=_0x47d3a2['length']){console[_0x21c7f5(0x27b)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x3eea33[_0x21c7f5(0x1e3)]+_0x21c7f5(0x1ba)+_0x47d3a2['length']+_0x21c7f5(0x226)),console[_0x21c7f5(0x1ec)](_0x124413['DjhCL']);for(let _0x2aa06b=0x0;_0x124413[_0x21c7f5(0x20d)](_0x2aa06b,_0x47d3a2['length']);_0x2aa06b++){console[_0x21c7f5(0x1ec)]('\x20\x20'+(_0x2aa06b+0x1)+'.\x20'+_0x47d3a2[_0x2aa06b][_0x21c7f5(0x235)]);}process['exit'](0x1);}const _0x5a2111=_0x47d3a2[_0x450e32];await _0x124413[_0x21c7f5(0x255)](updateChecklistItem,_0x43a93e,_0x5a2111['id'],{'description':_0x4866a7});const _0x31c15f=await _0x124413['MvbJi'](getFeature,_0x43a93e);console[_0x21c7f5(0x1ec)](_0x21c7f5(0x200)),_0x124413[_0x21c7f5(0x24d)](displayFeature,_0x31c15f,_0x31c15f['checklistItems']);}async function downloadFeedbackImage(_0x4d6e72,_0x1451df){const _0x22f0d7=_0x38484d,_0x1f18ca={'NtDLQ':function(_0x494405,_0x16669a,_0x376a69){return _0x494405(_0x16669a,_0x376a69);}};try{const _0x2dc3e2=join(getRangerDir(),'feedback-images');await mkdir(_0x2dc3e2,{'recursive':!![]});const _0x1ec3ca=_0x1f18ca[_0x22f0d7(0x227)](join,_0x2dc3e2,'comment_'+_0x1451df+'.png'),_0x106d1a=await fetch(_0x4d6e72);if(!_0x106d1a['ok'])return null;const _0x105632=Buffer[_0x22f0d7(0x23d)](await _0x106d1a[_0x22f0d7(0x1e2)]());return await _0x1f18ca['NtDLQ'](writeFile,_0x1ec3ca,_0x105632),_0x1ec3ca;}catch{return null;}}export async function featureGetReview(_0x303ce2){const _0x1b57dd=_0x38484d,_0x5a7c90={'YnFDG':function(_0x33173c){return _0x33173c();},'SKgkA':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','gDJQo':_0x1b57dd(0x21f),'fJToz':function(_0x32a426,_0x35bb12){return _0x32a426<_0x35bb12;},'jLOlz':function(_0x17d311,_0x254ce5){return _0x17d311>_0x254ce5;},'mbvBm':function(_0xd43b2a,_0x1fae87){return _0xd43b2a>_0x1fae87;},'DRRkU':'short','DaGxM':function(_0x50ef00,_0x290c7f,_0x32d2bf){return _0x50ef00(_0x290c7f,_0x32d2bf);},'lkDiE':_0x1b57dd(0x1ef),'cOhTT':_0x1b57dd(0x23f),'scGHp':function(_0x27f9fa,_0x4c6739){return _0x27f9fa+_0x4c6739;}},_0x479373=_0x303ce2||await _0x5a7c90['YnFDG'](getActiveFeatureId);if(!_0x479373)throw new Error(_0x5a7c90[_0x1b57dd(0x24a)]);const _0x4909bd=await getFeature(_0x479373),{items:_0x34c58a}=await getActionItems(_0x479373);console['log'](_0x1b57dd(0x20e)+_0x4909bd[_0x1b57dd(0x1bb)]+'\x20('+_0x4909bd['id']+')\x0a');if(_0x34c58a['length']===0x0){console['log'](_0x5a7c90[_0x1b57dd(0x1ca)]);return;}for(let _0x259b2e=0x0;_0x5a7c90[_0x1b57dd(0x201)](_0x259b2e,_0x34c58a['length']);_0x259b2e++){const _0x286a08=_0x34c58a[_0x259b2e],_0x219b8e=_0x5a7c90[_0x1b57dd(0x1b3)](_0x286a08[_0x1b57dd(0x245)],0x1)?_0x1b57dd(0x25c)+_0x286a08['version']+')':'',_0x2ce5c6=await getItemFeedback(_0x479373,_0x286a08['id']);if(_0x5a7c90['mbvBm'](_0x2ce5c6['unaddressedComments']['length'],0x0)){console['log']('Scenario\x20'+(_0x259b2e+0x1)+':\x20\x22'+_0x286a08['description']+'\x22'+_0x219b8e+'\x20—\x20'+_0x2ce5c6['unaddressedComments']['length']+'\x20unaddressed\x20comment(s)');for(const _0x43e150 of _0x2ce5c6['unaddressedComments']){const _0x3fd34e=new Date(_0x43e150['createdAt'])[_0x1b57dd(0x271)]('en-US',{'month':_0x5a7c90['DRRkU'],'day':'numeric'}),_0x11e00a=_0x43e150['authorName']||_0x43e150[_0x1b57dd(0x1a9)]||'Unknown';console[_0x1b57dd(0x1ec)]('\x20\x20💬\x20'+_0x11e00a+'\x20('+_0x3fd34e+'):\x20\x22'+_0x43e150[_0x1b57dd(0x1f2)]+'\x22');if(_0x43e150['assetUrl']){const _0x2da990=await _0x5a7c90['DaGxM'](downloadFeedbackImage,_0x43e150[_0x1b57dd(0x1d4)],_0x43e150['id']);_0x2da990&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x2da990);}if(_0x43e150['domRef']){const _0x1b6cca=_0x43e150['domRef'][_0x1b57dd(0x214)]['split'](_0x5a7c90[_0x1b57dd(0x277)])[_0x1b57dd(0x1fa)]()?.[_0x1b57dd(0x275)](':')[0x0]||'element',_0x32a8a8=_0x43e150['domRef']['textContent']?'\x20\x22'+_0x43e150[_0x1b57dd(0x23a)][_0x1b57dd(0x253)][_0x1b57dd(0x1e4)](0x0,0x3c)+'\x22':'';console[_0x1b57dd(0x1ec)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1b6cca+'>'+_0x32a8a8),console[_0x1b57dd(0x1ec)](_0x1b57dd(0x225)+_0x43e150[_0x1b57dd(0x23a)][_0x1b57dd(0x214)]);}else{if(_0x43e150['spatial']){const _0x4757d6=_0x43e150[_0x1b57dd(0x1fb)][_0x1b57dd(0x26f)];_0x43e150[_0x1b57dd(0x1fb)]['type']===_0x5a7c90[_0x1b57dd(0x202)]&&_0x4757d6[_0x1b57dd(0x213)]>=0x2?console[_0x1b57dd(0x1ec)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4757d6[0x0]['toFixed'](0x2)+',\x20'+_0x4757d6[0x1][_0x1b57dd(0x248)](0x2)+')'):console[_0x1b57dd(0x1ec)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x43e150[_0x1b57dd(0x1fb)]['type']+_0x1b57dd(0x1c7)+_0x4757d6['map'](_0x42d524=>_0x42d524['toFixed'](0x2))[_0x1b57dd(0x1b6)](',\x20')+']');}}}if(_0x2ce5c6[_0x1b57dd(0x203)]){console['log'](_0x1b57dd(0x260));for(const _0x2cbff6 of _0x2ce5c6[_0x1b57dd(0x203)][_0x1b57dd(0x275)]('\x0a')){console[_0x1b57dd(0x1ec)]('\x20\x20\x20\x20'+_0x2cbff6);}}}else console[_0x1b57dd(0x1ec)](_0x1b57dd(0x268)+_0x5a7c90[_0x1b57dd(0x1ea)](_0x259b2e,0x1)+':\x20\x22'+_0x286a08[_0x1b57dd(0x235)]+'\x22'+_0x219b8e+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x233058){const _0x5289c4=_0x38484d,_0x54c82d={'ulblq':function(_0x3347a2){return _0x3347a2();},'iYtiv':function(_0xed1436,_0x2329f2){return _0xed1436+_0x2329f2;},'YkZoh':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0xcc45b9=_0x233058||await _0x54c82d['ulblq'](getActiveFeatureId);if(!_0xcc45b9)throw new Error(_0x5289c4(0x1db));const _0x221d1a=await getFeature(_0xcc45b9);await softDeleteFeature(_0xcc45b9),console[_0x5289c4(0x1ec)](_0x5289c4(0x204)+_0x221d1a[_0x5289c4(0x1bb)]+'\x20('+_0xcc45b9+')'),console[_0x5289c4(0x1ec)](_0x54c82d['iYtiv'](_0x54c82d['YkZoh'],_0xcc45b9));}export async function featureRestore(_0x4ea252){const _0x26a001=_0x38484d,_0x338aee={'usfZa':function(_0x4ac41f,_0x1f2ad7){return _0x4ac41f(_0x1f2ad7);},'vXUXe':function(_0x3b17d4,_0x391bfb,_0x21e7c1){return _0x3b17d4(_0x391bfb,_0x21e7c1);}};await restoreFeature(_0x4ea252);const _0x4c77ad=await _0x338aee[_0x26a001(0x274)](getFeature,_0x4ea252);console[_0x26a001(0x1ec)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4c77ad['name']+'\x20('+_0x4ea252+')'),_0x338aee[_0x26a001(0x265)](displayFeature,_0x4c77ad,_0x4c77ad['checklistItems']);}
|
|
1
|
+
const _0x22ecc5=_0x50fb;(function(_0x19fe15,_0x5ee127){const _0x29971c=_0x50fb,_0x476119=_0x19fe15();while(!![]){try{const _0x459dda=parseInt(_0x29971c(0x152))/0x1*(-parseInt(_0x29971c(0x185))/0x2)+parseInt(_0x29971c(0x168))/0x3*(parseInt(_0x29971c(0x1ca))/0x4)+parseInt(_0x29971c(0x15d))/0x5*(-parseInt(_0x29971c(0x149))/0x6)+-parseInt(_0x29971c(0x18f))/0x7*(-parseInt(_0x29971c(0x1de))/0x8)+-parseInt(_0x29971c(0x1c1))/0x9*(-parseInt(_0x29971c(0x1a4))/0xa)+-parseInt(_0x29971c(0x1fb))/0xb*(-parseInt(_0x29971c(0x159))/0xc)+parseInt(_0x29971c(0x1fa))/0xd;if(_0x459dda===_0x5ee127)break;else _0x476119['push'](_0x476119['shift']());}catch(_0x59d085){_0x476119['push'](_0x476119['shift']());}}}(_0x53c8,0x6f619));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x35c7f2 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x5f1062=>_0x22ecc5(0x151)+_0x5f1062+_0x22ecc5(0x219);function getGitRepoUrl(){const _0x49c028=_0x22ecc5,_0x3aadae={'nCCtO':'git\x20remote\x20get-url\x20origin','MHhLF':_0x49c028(0x1af),'DScYl':_0x49c028(0x187)};try{const _0xebc794=execSync(_0x3aadae['nCCtO'],{'encoding':_0x49c028(0x1ae),'stdio':[_0x3aadae['MHhLF'],'pipe',_0x3aadae['MHhLF']]})[_0x49c028(0x1fc)]();return _0xebc794[_0x49c028(0x155)](/\.git$/,'')[_0x49c028(0x155)](/^git@github\.com:/,_0x3aadae['DScYl'])[_0x49c028(0x155)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x4fca3c=_0x22ecc5,_0x294545={'AXPCh':function(_0x11085c,_0x2527fb,_0x15287b){return _0x11085c(_0x2527fb,_0x15287b);}};try{return _0x294545[_0x4fca3c(0x189)](execSync,_0x4fca3c(0x181),{'encoding':_0x4fca3c(0x1ae),'stdio':['pipe',_0x4fca3c(0x1af),_0x4fca3c(0x1af)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5a29e5=_0x22ecc5,_0x106f03={'bflMT':_0x5a29e5(0x1ae)},_0x41168f=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x41168f))return null;try{const _0x56fa12=await readFile(_0x41168f,_0x106f03[_0x5a29e5(0x171)]);return _0x56fa12['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x2bc3ed){const _0xb4bce=_0x22ecc5,_0x3a2153={'cGOdC':function(_0x49a1b9,_0x3fb443){return _0x49a1b9(_0x3fb443);},'fqvTZ':function(_0x953245,_0x593eb2,_0x2ea1d6,_0x2bc968){return _0x953245(_0x593eb2,_0x2ea1d6,_0x2bc968);},'CzUgA':_0xb4bce(0x1ae)},_0x2c006d=getRangerDir(),_0x4abf10=join(_0x2c006d,ACTIVE_FEATURE_FILE);!_0x3a2153[_0xb4bce(0x210)](existsSync,_0x2c006d)&&await mkdir(_0x2c006d,{'recursive':!![]}),await _0x3a2153[_0xb4bce(0x19c)](writeFile,_0x4abf10,_0x2bc3ed,_0x3a2153[_0xb4bce(0x20c)]);}function getProgressDisplay(_0x1639c4){const _0x5cc961=_0x22ecc5,_0x4d434f={'vkyyD':function(_0x299fa9,_0x43f0c2){return _0x299fa9+_0x43f0c2;},'GNsUl':function(_0x1506be,_0x4a4f6b){return _0x1506be+_0x4a4f6b;},'mbaQy':function(_0x5ad826,_0x46f1a9){return _0x5ad826*_0x46f1a9;},'lJzXg':function(_0x3cf4d0,_0x279825){return _0x3cf4d0-_0x279825;},'GUjlF':function(_0x541d13,_0x46ec77){return _0x541d13>_0x46ec77;}},_0x5370f9=_0x1639c4[_0x5cc961(0x180)]||0x0,_0x56d52b=_0x1639c4['verificationInProgressItems']||0x0,_0x27cb7e=_0x1639c4['blockedItems']||0x0,_0x2d5491=_0x1639c4[_0x5cc961(0x19e)]||0x0,_0x54a5c8=_0x1639c4[_0x5cc961(0x1d0)]||0x0,_0x564101=_0x4d434f[_0x5cc961(0x14c)](_0x4d434f[_0x5cc961(0x1f3)](_0x5370f9+_0x56d52b,_0x27cb7e),_0x2d5491)+_0x54a5c8;if(_0x564101===0x0)return'-';const _0x2623f6=0xa,_0x273721=Math['round'](_0x4d434f[_0x5cc961(0x186)](_0x5370f9/_0x564101,_0x2623f6)),_0x5df48a='█'['repeat'](_0x273721)+'░'[_0x5cc961(0x15b)](_0x4d434f[_0x5cc961(0x1db)](_0x2623f6,_0x273721)),_0x2e12b1=[];if(_0x27cb7e>0x0)_0x2e12b1['push'](_0x27cb7e+'\x20blocked');if(_0x4d434f[_0x5cc961(0x18b)](_0x2d5491,0x0))_0x2e12b1[_0x5cc961(0x192)](_0x2d5491+'\x20incomplete');if(_0x56d52b>0x0)_0x2e12b1[_0x5cc961(0x192)](_0x56d52b+_0x5cc961(0x214));const _0x135eb6=_0x2e12b1['length']>0x0?'\x20('+_0x2e12b1['join'](',\x20')+')':'';return _0x5df48a+'\x20'+_0x5370f9+'/'+_0x564101+'\x20verified'+_0x135eb6;}function getCurrentSessionItems(_0x5775f4,_0xf54093){const _0x1681d5=_0x22ecc5;if(!_0x5775f4['currentSessionId'])return _0xf54093[_0x1681d5(0x1b3)](_0x4ad683=>!_0x4ad683[_0x1681d5(0x222)]);return _0xf54093['filter'](_0x39e01d=>_0x39e01d[_0x1681d5(0x222)]===_0x5775f4['currentSessionId']||!_0x39e01d[_0x1681d5(0x222)]);}function displayFeature(_0x362181,_0x5194fd){const _0x545f37=_0x22ecc5,_0x10893c={'eebEI':function(_0x2e0f93,_0x1794f8){return _0x2e0f93(_0x1794f8);},'NvpCF':_0x545f37(0x1ab),'VDvol':function(_0x30f65e,_0x1326ce){return _0x30f65e<_0x1326ce;},'CwWbp':function(_0x91f4e8,_0x4f9b94){return _0x91f4e8===_0x4f9b94;},'KSIkQ':'approved','XvvtL':_0x545f37(0x21d),'mRjwR':_0x545f37(0x1b9),'RRZmK':function(_0x4da9f8,_0x1b6a7a){return _0x4da9f8===_0x1b6a7a;},'dTZCZ':'closed','CZJsF':function(_0x3ab3cc,_0xf94f35){return _0x3ab3cc===_0xf94f35;},'SkhCL':_0x545f37(0x200),'bRVKJ':function(_0x4f0dee,_0x4423ca){return _0x4f0dee>_0x4423ca;},'jlPre':_0x545f37(0x163),'BmLFE':function(_0x296720,_0x9466f4){return _0x296720+_0x9466f4;},'oxcFx':'blocked','oHOFR':function(_0x497160,_0x4d053d){return _0x497160===_0x4d053d;}};console['log']('\x0a'+_0x362181['name']+'\x20('+_0x362181[_0x545f37(0x21e)]+')');_0x362181[_0x545f37(0x1ea)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x10893c[_0x545f37(0x182)](getProgressDisplay,_0x362181[_0x545f37(0x1ea)]));_0x362181['description']&&console[_0x545f37(0x14e)](_0x545f37(0x16e)+_0x362181['description']);_0x362181['gitRepoUrl']&&console['log'](_0x545f37(0x141)+_0x362181[_0x545f37(0x20b)]);_0x362181['gitBranch']&&console['log'](_0x545f37(0x218)+_0x362181[_0x545f37(0x211)]);console['log'](_0x545f37(0x1ba)+new Date(_0x362181[_0x545f37(0x15e)])['toLocaleString']());_0x362181['completedAt']&&console['log'](_0x545f37(0x195)+new Date(_0x362181[_0x545f37(0x1ed)])[_0x545f37(0x1fe)]());if(_0x5194fd&&_0x5194fd['length']>0x0){console[_0x545f37(0x14e)](_0x10893c[_0x545f37(0x220)]);for(let _0x2ad1dd=0x0;_0x10893c[_0x545f37(0x1b1)](_0x2ad1dd,_0x5194fd[_0x545f37(0x1ff)]);_0x2ad1dd++){const _0x21d3a9=_0x5194fd[_0x2ad1dd];let _0x4f4d13;if(_0x21d3a9[_0x545f37(0x19d)]==='closed'&&_0x10893c['CwWbp'](_0x21d3a9[_0x545f37(0x224)],_0x10893c['KSIkQ']))_0x4f4d13='✅';else{if(_0x21d3a9['status']===_0x10893c[_0x545f37(0x197)])_0x4f4d13='🟢';else{if(_0x21d3a9[_0x545f37(0x19d)]===_0x10893c['mRjwR'])_0x4f4d13='🟠';else{if(_0x10893c['CwWbp'](_0x21d3a9['status'],'blocked'))_0x4f4d13='🛑';else{if(_0x10893c[_0x545f37(0x20e)](_0x21d3a9['status'],_0x10893c['dTZCZ']))_0x4f4d13='⛔';else _0x10893c[_0x545f37(0x20a)](_0x21d3a9[_0x545f37(0x19d)],_0x10893c['SkhCL'])?_0x4f4d13='⏳':_0x4f4d13='⬜';}}}}const _0x589260=_0x10893c[_0x545f37(0x1c9)](_0x21d3a9['version'],0x1)?'\x20(v'+_0x21d3a9[_0x545f37(0x1e9)]+')':'',_0x822cc8=_0x21d3a9['version']>0x1&&_0x21d3a9['parentItemId']&&_0x21d3a9[_0x545f37(0x19d)]!=='closed'&&_0x21d3a9['status']!==_0x545f37(0x21d)?_0x10893c[_0x545f37(0x1bc)]:'';console[_0x545f37(0x14e)]('\x20\x20\x20'+_0x10893c['BmLFE'](_0x2ad1dd,0x1)+'.\x20'+_0x4f4d13+'\x20'+_0x21d3a9['description']+_0x589260+_0x822cc8);_0x21d3a9[_0x545f37(0x19d)]===_0x10893c['oxcFx']&&_0x21d3a9[_0x545f37(0x1ac)]&&console[_0x545f37(0x14e)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x21d3a9[_0x545f37(0x1ac)]);_0x10893c['RRZmK'](_0x21d3a9[_0x545f37(0x19d)],_0x10893c['mRjwR'])&&_0x21d3a9['incompleteReason']&&console['log'](_0x545f37(0x1f6)+_0x21d3a9[_0x545f37(0x1c3)]);if(_0x21d3a9['status']===_0x10893c['dTZCZ']&&_0x10893c['oHOFR'](_0x21d3a9[_0x545f37(0x224)],_0x10893c[_0x545f37(0x1c8)]))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x21d3a9['status']==='closed'&&_0x21d3a9[_0x545f37(0x142)]&&console[_0x545f37(0x14e)](_0x545f37(0x223)+_0x21d3a9[_0x545f37(0x142)]);}}}export async function featureCreate(_0x5e48e6,_0x5c43fc){const _0x5463f7=_0x22ecc5,_0x29e83f={'xzyGj':function(_0x325515,_0x417ac3){return _0x325515===_0x417ac3;},'EwEqv':function(_0x31f029,_0x1b8ce7){return _0x31f029(_0x1b8ce7);},'zsbmw':function(_0x28e392,_0x22be5f,_0x176d4f){return _0x28e392(_0x22be5f,_0x176d4f);}},{envNames:_0x20f361}=await getEnvNames();if(_0x29e83f[_0x5463f7(0x18d)](_0x20f361['length'],0x0)&&!process[_0x5463f7(0x156)]['RANGER_TEST_USERNAME']){let _0x43a355=0x0;try{_0x43a355=(await listCloudProfiles())[_0x5463f7(0x1ff)];}catch{_0x43a355=0x1;}_0x43a355===0x0&&console[_0x5463f7(0x1d8)]('\x0a'+_0x29e83f['EwEqv'](formatProfileRequiredMessage,_0x47e877=>bold(_0x47e877)));}const _0x18b6a7=_0x5c43fc['scenarios']?_0x5c43fc[_0x5463f7(0x193)]['map'](_0x430533=>_0x430533['trim']()):[],_0x4633f2=getGitRepoUrl(),_0xbe22a1=getGitBranch();console[_0x5463f7(0x14e)](_0x5463f7(0x19f));const _0x230bd4=await createFeature({'name':_0x5e48e6,'description':_0x5c43fc['description'],'checklist':_0x18b6a7,'gitRepoUrl':_0x4633f2,'gitBranch':_0xbe22a1});await setActiveFeatureId(_0x230bd4['id']),await tryStartCurrentSession(_0x230bd4['id']);const _0xd12c6c=process[_0x5463f7(0x156)]['CLAUDE_SESSION_ID'];_0xd12c6c&&_0x29e83f['zsbmw'](registerSession,_0xd12c6c,_0x230bd4['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x230bd4['id']),displayFeature(_0x230bd4,_0x230bd4[_0x5463f7(0x1b7)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}function _0x50fb(_0x58e25e,_0x40f580){_0x58e25e=_0x58e25e-0x13d;const _0x53c8d0=_0x53c8();let _0x50fbc2=_0x53c8d0[_0x58e25e];return _0x50fbc2;}export async function featureList(_0x15a4fb){const _0x168544=_0x22ecc5,_0xe81a7d={'DDeTZ':function(_0x403209){return _0x403209();},'JXTsg':function(_0xa9215b,_0x3201b9){return _0xa9215b(_0x3201b9);},'XITJa':function(_0x3af398,_0x2f9285){return _0x3af398>_0x2f9285;},'wkRyH':function(_0x34b79b,_0x5664e2){return _0x34b79b<_0x5664e2;},'BnRWE':function(_0x106943,_0x3c52d6){return _0x106943!==_0x3c52d6;}},_0x43d3eb={'limit':_0x15a4fb[_0x168544(0x1c0)]??0xa,'offset':_0x15a4fb['offset']??0x0,'includeDeleted':_0x15a4fb['includeDeleted']};_0x15a4fb[_0x168544(0x1cd)]&&(_0x43d3eb[_0x168544(0x20b)]=_0xe81a7d[_0x168544(0x205)](getGitRepoUrl),_0x43d3eb['gitBranch']=_0xe81a7d['DDeTZ'](getGitBranch));const _0xc3ddf1=await _0xe81a7d[_0x168544(0x1fd)](listFeatures,_0x43d3eb);if(_0xc3ddf1[_0x168544(0x16d)][_0x168544(0x1ff)]===0x0){console['log'](_0x168544(0x18e));return;}const _0x1382ce=_0xe81a7d['XITJa'](_0xc3ddf1['totalCount'],_0xc3ddf1['items'][_0x168544(0x1ff)])?'Showing\x20'+_0xc3ddf1[_0x168544(0x16d)]['length']+_0x168544(0x1aa)+_0xc3ddf1['totalCount']:_0xc3ddf1[_0x168544(0x1a0)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1382ce+':\x0a');for(const _0x2ddf39 of _0xc3ddf1[_0x168544(0x16d)]){console['log'](''+_0x2ddf39[_0x168544(0x21f)]),console['log'](_0x168544(0x16a)+_0x2ddf39['id']),_0x2ddf39['stats']&&console['log'](_0x168544(0x179)+getProgressDisplay(_0x2ddf39[_0x168544(0x1ea)])),_0x2ddf39[_0x168544(0x211)]&&console['log'](_0x168544(0x218)+_0x2ddf39[_0x168544(0x211)]),console['log'](_0x168544(0x1ba)+new Date(_0x2ddf39[_0x168544(0x15e)])['toLocaleDateString']()),console[_0x168544(0x14e)]('');}const _0x46dcd8=_0x43d3eb[_0x168544(0x1c0)]??0xa,_0x322f2b=(_0x43d3eb['offset']??0x0)+_0xc3ddf1[_0x168544(0x16d)]['length'];if(_0xe81a7d[_0x168544(0x196)](_0x322f2b,_0xc3ddf1['totalCount'])){const _0x483534=_0xe81a7d[_0x168544(0x216)](_0x46dcd8,0xa)?'\x20--limit\x20'+_0x46dcd8:'',_0x46fdf1=_0x15a4fb['currentBranch']?'\x20--current-branch':'',_0x22e676=_0x15a4fb['includeDeleted']?_0x168544(0x1d5):'';console['log'](_0x168544(0x19b)+_0x322f2b+_0x483534+_0x46fdf1+_0x22e676);}}export async function featureShow(_0x332e7c){const _0x3a6d0d=_0x22ecc5,_0x175bba=_0x332e7c||await getActiveFeatureId();if(!_0x175bba)throw new Error(_0x3a6d0d(0x1d7));const _0x5bfb9f=await getFeature(_0x175bba);displayFeature(_0x5bfb9f,_0x5bfb9f['checklistItems']);}export async function featureResume(_0x268fb4){const _0x1cce4c=_0x22ecc5,_0x2fde87={'Ijrbo':function(_0x5457c1){return _0x5457c1();},'NLeVV':function(_0x59f92a,_0x51df46){return _0x59f92a!==_0x51df46;},'YCXXw':function(_0x533096,_0x467e9d,_0x22fb25){return _0x533096(_0x467e9d,_0x22fb25);},'tUmct':function(_0x4bf799,_0x245590){return _0x4bf799(_0x245590);},'pfPGL':function(_0x4436eb,_0x3e8d1f){return _0x4436eb&&_0x3e8d1f;},'ZHrJL':_0x1cce4c(0x217),'KuYBv':function(_0x5e0d6b,_0x582fb7){return _0x5e0d6b||_0x582fb7;},'kpAUA':function(_0x4210f0,_0x276ab2){return _0x4210f0===_0x276ab2;},'bgRPL':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','pcWvE':_0x1cce4c(0x1cc),'qzlbL':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','mGBkx':_0x1cce4c(0x191),'Anazq':_0x1cce4c(0x173),'sZoPO':_0x1cce4c(0x1f5),'evIxt':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','kupMP':function(_0x539a1a,_0x109306){return _0x539a1a(_0x109306);}};if(_0x268fb4){const _0x3dc272=await getFeature(_0x268fb4);await setActiveFeatureId(_0x3dc272['id']);const _0x574e3f=_0x2fde87['Ijrbo'](getGitBranch);_0x574e3f&&_0x2fde87['NLeVV'](_0x574e3f,_0x3dc272['gitBranch'])&&(await _0x2fde87[_0x1cce4c(0x175)](updateFeature,_0x3dc272['id'],{'gitBranch':_0x574e3f}),console[_0x1cce4c(0x14e)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x574e3f));console[_0x1cce4c(0x14e)](_0x1cce4c(0x164)+_0x3dc272['name']+'\x20('+_0x3dc272['id']+')'),await _0x2fde87['tUmct'](tryStartCurrentSession,_0x3dc272['id']);const _0x5d8440=process['env']['CLAUDE_SESSION_ID'];_0x5d8440&&_0x2fde87['YCXXw'](registerSession,_0x5d8440,_0x3dc272['id']);displayFeature(_0x3dc272,_0x3dc272['checklistItems']),await printFeedbackNudge(_0x3dc272['id']);return;}const _0x1ee4f7=_0x2fde87[_0x1cce4c(0x153)](getGitRepoUrl),_0x5b0654=_0x2fde87['Ijrbo'](getGitBranch);if(_0x2fde87['pfPGL'](!_0x1ee4f7,!_0x5b0654))throw new Error(_0x1cce4c(0x1e1));console[_0x1cce4c(0x14e)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x1ee4f7||_0x2fde87['ZHrJL'])+'\x20/\x20'+_0x2fde87[_0x1cce4c(0x1bd)](_0x5b0654,_0x1cce4c(0x217))+'...');const _0xb1d2a9=await listFeatures({'gitRepoUrl':_0x1ee4f7,'gitBranch':_0x5b0654}),_0x357372=_0xb1d2a9[_0x1cce4c(0x16d)]['filter'](_0x396caf=>_0x396caf[_0x1cce4c(0x19d)]?_0x396caf[_0x1cce4c(0x19d)]!==_0x1cce4c(0x21d):!_0x396caf['completedAt']);if(_0x2fde87[_0x1cce4c(0x1a7)](_0x357372[_0x1cce4c(0x1ff)],0x0)){console['log'](_0x2fde87[_0x1cce4c(0x1d6)]),console['log'](_0x2fde87[_0x1cce4c(0x21a)]);return;}let _0x32939b;if(_0x2fde87[_0x1cce4c(0x1a7)](_0x357372[_0x1cce4c(0x1ff)],0x1))_0x32939b=_0x357372[0x0];else{const _0x2769f7=process['stdin'][_0x1cce4c(0x1da)]&&process['stdout'][_0x1cce4c(0x1da)];if(!_0x2769f7){console[_0x1cce4c(0x14e)](_0x2fde87[_0x1cce4c(0x162)]);for(const _0x1c35d5 of _0x357372){console[_0x1cce4c(0x14e)]('\x20\x20'+_0x1c35d5['name']),console['log'](_0x1cce4c(0x20d)+_0x1c35d5['id']),_0x1c35d5['stats']&&console[_0x1cce4c(0x14e)](_0x1cce4c(0x1df)+getProgressDisplay(_0x1c35d5['stats'])),_0x1c35d5['gitBranch']&&console[_0x1cce4c(0x14e)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x1c35d5[_0x1cce4c(0x211)]);}throw new Error(_0x2fde87['mGBkx']);}const {selected:_0x554841}=await _0x35c7f2['prompt']([{'type':_0x2fde87[_0x1cce4c(0x165)],'name':_0x2fde87[_0x1cce4c(0x21b)],'message':_0x2fde87[_0x1cce4c(0x17a)],'choices':_0x357372[_0x1cce4c(0x1b6)](_0xf69623=>({'name':_0xf69623[_0x1cce4c(0x21f)]+'\x20('+_0xf69623['id']+')','value':_0xf69623['id']}))}]);_0x32939b=_0x357372[_0x1cce4c(0x1b4)](_0xa3b0d5=>_0xa3b0d5['id']===_0x554841);}await setActiveFeatureId(_0x32939b['id']);_0x5b0654&&_0x5b0654!==_0x32939b['gitBranch']&&(await _0x2fde87[_0x1cce4c(0x175)](updateFeature,_0x32939b['id'],{'gitBranch':_0x5b0654}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x5b0654));console[_0x1cce4c(0x14e)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x32939b['name']+'\x20('+_0x32939b['id']+')'),await _0x2fde87['tUmct'](tryStartCurrentSession,_0x32939b['id']);const _0x3980d3=await _0x2fde87['kupMP'](getFeature,_0x32939b['id']),_0x3c140e=process[_0x1cce4c(0x156)][_0x1cce4c(0x1a3)];_0x3c140e&®isterSession(_0x3c140e,_0x3980d3['id']),displayFeature(_0x3980d3,_0x3980d3[_0x1cce4c(0x1b7)]),await _0x2fde87['kupMP'](printFeedbackNudge,_0x3980d3['id']);}async function printFeedbackNudge(_0x26f6dd){const _0x393964=_0x22ecc5,_0x4aec27={'yFmod':function(_0x3dd4ce,_0x1d0585){return _0x3dd4ce(_0x1d0585);},'xsBwu':function(_0x37458f,_0x2f1da5,_0x16e05c){return _0x37458f(_0x2f1da5,_0x16e05c);},'yPKdM':function(_0x1efbe3,_0x349766){return _0x1efbe3>_0x349766;},'VtSJx':function(_0xac567a,_0x168bfa){return _0xac567a>_0x168bfa;}};try{const {items:_0x298800}=await _0x4aec27[_0x393964(0x1f4)](getActionItems,_0x26f6dd);let _0x1172ea=0x0,_0x48251d=0x0;for(const _0x1b6c9a of _0x298800){const _0x5d1e28=await _0x4aec27['xsBwu'](getItemFeedback,_0x26f6dd,_0x1b6c9a['id']);_0x4aec27[_0x393964(0x178)](_0x5d1e28['unaddressedComments'][_0x393964(0x1ff)],0x0)&&(_0x1172ea+=_0x5d1e28[_0x393964(0x14b)][_0x393964(0x1ff)],_0x48251d++);}_0x4aec27[_0x393964(0x17e)](_0x1172ea,0x0)&&(console['log'](_0x393964(0x14d)+_0x1172ea+_0x393964(0x1f0)+_0x48251d+_0x393964(0x207)),console['log'](_0x393964(0x1ef)));}catch{}}async function tryStartCurrentSession(_0x5a1547){const _0x2b0e23=_0x22ecc5;try{const {sessions:_0x51f919}=await listFeatureSessions(_0x5a1547),_0x40f595=_0x51f919[_0x2b0e23(0x1b4)](_0x175ae3=>_0x175ae3[_0x2b0e23(0x19d)]===_0x2b0e23(0x1a8));_0x40f595&&(await startSession(_0x5a1547,_0x40f595['id']),console['log'](_0x2b0e23(0x17f)+_0x40f595[_0x2b0e23(0x145)]));}catch{}}export async function featureReport(_0x35581f,_0x5d73c2){const _0x22281a=_0x22ecc5,_0x3b8756={'OiPVI':function(_0x25fdca,_0x5e67c2,_0x492764){return _0x25fdca(_0x5e67c2,_0x492764);},'ZMUrl':function(_0x8286cc,_0x4337c6){return _0x8286cc(_0x4337c6);},'cYWSa':_0x22281a(0x1ae)},_0x8ac292=_0x35581f||await getActiveFeatureId();if(!_0x8ac292)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log']('\x0aGenerating\x20report...');const _0x34f97e=await _0x3b8756[_0x22281a(0x20f)](getFeatureReportMarkdown,_0x8ac292,{'style':_0x5d73c2[_0x22281a(0x169)]}),_0x4a82f0=_0x5d73c2[_0x22281a(0x19a)]||join(getRangerDir(),_0x22281a(0x1f7),_0x8ac292+'.md'),_0x1abc0e=join(_0x4a82f0,'..');!_0x3b8756[_0x22281a(0x202)](existsSync,_0x1abc0e)&&await mkdir(_0x1abc0e,{'recursive':!![]}),await writeFile(_0x4a82f0,_0x34f97e,_0x3b8756[_0x22281a(0x1a5)]),console['log'](_0x22281a(0x1a9)+_0x4a82f0);}function getScenarioResult(_0x1d0eee){const _0x546bff=_0x22ecc5,_0x3f6ce8={'snALa':_0x546bff(0x1ad),'SrKqu':'verification_in_progress','poQSy':_0x546bff(0x160)};if(_0x1d0eee['status']==='closed')return _0x1d0eee[_0x546bff(0x224)]??_0x3f6ce8[_0x546bff(0x1e7)];if(_0x1d0eee['status']===_0x3f6ce8['SrKqu'])return _0x3f6ce8[_0x546bff(0x16b)];return _0x1d0eee[_0x546bff(0x19d)];}function getScenarioRationale(_0xfcee19,_0x1f7b95){const _0x3f4c16=_0x22ecc5;if(_0x1f7b95)return _0x1f7b95;if(_0xfcee19[_0x3f4c16(0x1ac)])return _0xfcee19['blockedReason'];if(_0xfcee19['incompleteReason'])return _0xfcee19[_0x3f4c16(0x1c3)];if(_0xfcee19['canceledReason'])return _0xfcee19[_0x3f4c16(0x142)];if(_0xfcee19['notes'])return _0xfcee19['notes'];return null;}export async function featureReportPrDescription(_0x2f69c1,_0x2f005d){const _0x4f694a=_0x22ecc5,_0x50b6cf={'LQIKN':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','eNHEc':function(_0x46ae0a,_0x15cf64){return _0x46ae0a(_0x15cf64);},'kQXIX':function(_0x38eb85,_0x3ae6fe,_0x49cbf0){return _0x38eb85(_0x3ae6fe,_0x49cbf0);},'HJPmB':function(_0x10c1a5,_0x2441f2){return _0x10c1a5===_0x2441f2;},'cNbiu':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','ComES':function(_0x1ef846,_0x29f878){return _0x1ef846>_0x29f878;},'UXCYW':function(_0x2904bc,_0x242380){return _0x2904bc+_0x242380;}},_0x4ff124=_0x2f69c1||await getActiveFeatureId();if(!_0x4ff124)throw new Error(_0x50b6cf[_0x4f694a(0x13f)]);const _0x162cb6=await _0x50b6cf['eNHEc'](getFeature,_0x4ff124),_0x453aba=_0x162cb6['checklistItems']||[],_0x5cd585=_0x50b6cf[_0x4f694a(0x1a2)](getCurrentSessionItems,_0x162cb6,_0x453aba);_0x50b6cf['HJPmB'](_0x5cd585['length'],0x0)&&(console['error'](_0x50b6cf[_0x4f694a(0x176)]),process[_0x4f694a(0x1c2)](0x1));const _0x4ae8e3=_0x2f005d[_0x4f694a(0x1ec)]??[],_0x4e8195=_0x4ae8e3[_0x4f694a(0x1b3)](_0x4e55af=>!Number[_0x4f694a(0x1f9)](_0x4e55af)||_0x4e55af<0x1||_0x4e55af>_0x5cd585['length']);if(_0x50b6cf['ComES'](_0x4e8195['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4e8195[_0x4f694a(0x157)](',\x20')),console['log'](_0x4f694a(0x184));for(let _0xe6da58=0x0;_0xe6da58<_0x5cd585[_0x4f694a(0x1ff)];_0xe6da58++){console['log']('\x20\x20'+_0x50b6cf['UXCYW'](_0xe6da58,0x1)+'.\x20'+_0x5cd585[_0xe6da58]['description']);}process['exit'](0x1);}const _0x51f930=new Set(_0x4ae8e3[_0x4f694a(0x1b6)](_0x28e6fb=>_0x28e6fb-0x1)),_0x2fa60c=_0x5cd585[_0x4f694a(0x1b3)]((_0x2829cf,_0x1a6c54)=>!_0x51f930['has'](_0x1a6c54));_0x2fa60c['length']===0x0&&(console['error'](_0x4f694a(0x1c6)),process[_0x4f694a(0x1c2)](0x1));if(_0x2f005d[_0x4f694a(0x183)])await outputJsonReport(_0x4ff124,_0x162cb6,_0x2fa60c);else{const _0x1b21f1=await getFeatureReportMarkdown(_0x4ff124,{'itemIds':_0x2fa60c[_0x4f694a(0x1b6)](_0x53c10f=>_0x53c10f['id'])});process['stdout'][_0x4f694a(0x1b0)](_0x1b21f1[_0x4f694a(0x194)]()+'\x0a');}}async function outputJsonReport(_0x319abb,_0x49624d,_0x10707b){const _0x38e648=_0x22ecc5,_0x1cf630={'OOWke':function(_0x590016,_0x3b3edd){return _0x590016>_0x3b3edd;},'gLIgB':function(_0x7e8324,_0x1af73e){return _0x7e8324(_0x1af73e);},'baeFR':function(_0x2a5c8f,_0x23c8de,_0x2e3937){return _0x2a5c8f(_0x23c8de,_0x2e3937);},'wkTkV':function(_0x401d75){return _0x401d75();},'SlHzb':function(_0x516461,_0x5401c9){return _0x516461+_0x5401c9;}},_0x5b350f=_0x1cf630[_0x38e648(0x1c7)](getApiBaseUrl),_0x2bfc83=await getFeatureReport(_0x319abb),_0x186ecf=new Map(_0x2bfc83['checklistItems']['map'](_0x310edf=>[_0x310edf['id'],_0x310edf])),_0x3a4d35=await Promise['all'](_0x10707b['map'](async _0x1910ba=>{const _0x407491=_0x38e648,_0x4afdb4=_0x186ecf[_0x407491(0x1f8)](_0x1910ba['id']),_0xc30d1b=_0x4afdb4?.[_0x407491(0x208)]??null;let _0x2cf825=[];if(_0x1910ba['browserSessionId'])try{const {steps:_0x2ebaf8}=await getBrowserSessionSteps(_0x1910ba[_0x407491(0x150)]);_0x1cf630[_0x407491(0x17b)](_0x2ebaf8[_0x407491(0x1ff)],0x0)&&(_0x2cf825=_0x2ebaf8[_0x407491(0x1b6)](_0x26eee9=>{const _0x170ed9=_0x407491,_0x1b774f=_0x26eee9[_0x170ed9(0x1d9)][_0x170ed9(0x1b4)](_0xab53c9=>_0xab53c9[_0x170ed9(0x1dd)]===_0x170ed9(0x1d4)&&_0xab53c9['timing']==='after')??_0x26eee9['assets']['find'](_0x349d0c=>_0x349d0c['assetType']==='screenshot');let _0x376e88=null,_0x4289b9=null;if(_0x1b774f){const _0x1f98ad=_0x1b774f['storage']['location']['split']('/')['pop']();_0x376e88=_0x5b350f+'/api/v1/mcp/browser-sessions/'+_0x1910ba[_0x170ed9(0x150)]+_0x170ed9(0x1cb)+_0x1f98ad,_0x1f98ad&&(_0x4289b9=_0x1f98ad['replace'](/\.\w+$/,'')[_0x170ed9(0x155)](/^(key_)?\d+_/,'')[_0x170ed9(0x155)](/[-_]/g,'\x20'));}return{'description':_0x4289b9||_0x26eee9[_0x170ed9(0x1eb)]||_0x26eee9[_0x170ed9(0x15c)]||_0x170ed9(0x143)+_0x26eee9['position'],'screenshot':_0x376e88,'is_key_step':_0x26eee9[_0x170ed9(0x1dc)]};}));}catch{}return _0x2cf825['length']===0x0&&_0xc30d1b?.['screenshotUrls']&&(_0x2cf825=_0xc30d1b[_0x407491(0x1ce)][_0x407491(0x1b6)]((_0x33e118,_0x43bd99)=>({'description':_0x407491(0x1c5)+(_0x43bd99+0x1),'screenshot':_0x33e118,'is_key_step':![]}))),{'description':_0x1910ba['description'],'result':_0x1cf630[_0x407491(0x212)](getScenarioResult,_0x1910ba),'rationale':_0x1cf630[_0x407491(0x1d1)](getScenarioRationale,_0x1910ba,_0xc30d1b?.['agentResponse']),'steps':_0x2cf825};})),_0x264548={'url':_0x49624d[_0x38e648(0x21e)],'scenarios':_0x3a4d35};process['stdout'][_0x38e648(0x1b0)](_0x1cf630['SlHzb'](JSON[_0x38e648(0x1ee)](_0x264548,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x20c873){const _0x50c215=_0x22ecc5,_0x56a4ff={'qrSkX':_0x50c215(0x1d7),'OgBfO':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','QFfAv':'\x0a✅\x20Session\x20is\x20already\x20completed.','GYNUX':function(_0xdcde9c,_0x2d2f86){return _0xdcde9c!==_0x2d2f86;},'eVzWE':'\x0aConcluding\x20session...','SsVHz':function(_0x55ed17,_0x1ea000,_0x788e71){return _0x55ed17(_0x1ea000,_0x788e71);}},_0x3f41f4=_0x20c873||await getActiveFeatureId();if(!_0x3f41f4)throw new Error(_0x56a4ff[_0x50c215(0x1f2)]);const _0x2ff03c=await getFeature(_0x3f41f4);if(!_0x2ff03c[_0x50c215(0x158)])throw new Error(_0x56a4ff['OgBfO']);const {sessions:_0x451ab8}=await listFeatureSessions(_0x3f41f4),_0x130547=_0x451ab8['find'](_0x2d36a4=>_0x2d36a4['id']===_0x2ff03c[_0x50c215(0x158)]);if(!_0x130547)throw new Error('Current\x20session\x20not\x20found.');if(_0x130547['status']==='completed'){console[_0x50c215(0x14e)](_0x56a4ff[_0x50c215(0x1e6)]);return;}if(_0x56a4ff['GYNUX'](_0x130547[_0x50c215(0x19d)],'in_progress'))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x130547['status']);console['log'](_0x56a4ff[_0x50c215(0x15a)]),await _0x56a4ff['SsVHz'](concludeSession,_0x3f41f4,_0x2ff03c['currentSessionId']),console[_0x50c215(0x14e)]('\x0a✅\x20Session\x20'+_0x130547[_0x50c215(0x145)]+'\x20concluded.'),console['log'](_0x50c215(0x166));}export async function featureSessions(_0x242295){const _0x25a20b=_0x22ecc5,_0x1f9a64={'SzxSH':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','AkOOr':function(_0x59d5f2,_0x26a018){return _0x59d5f2(_0x26a018);},'oAXBT':function(_0x31e4fa,_0xe9001b){return _0x31e4fa===_0xe9001b;},'bZYpy':_0x25a20b(0x201),'kxojV':_0x25a20b(0x160)},_0x3b0b42=_0x242295||await getActiveFeatureId();if(!_0x3b0b42)throw new Error(_0x1f9a64[_0x25a20b(0x16f)]);const _0xa1bcf7=await _0x1f9a64[_0x25a20b(0x16c)](getFeature,_0x3b0b42);console[_0x25a20b(0x14e)](_0x25a20b(0x1b8)+_0xa1bcf7[_0x25a20b(0x21f)]+'\x0a');const {sessions:_0x5f4337}=await _0x1f9a64[_0x25a20b(0x16c)](listFeatureSessions,_0x3b0b42);if(_0x1f9a64[_0x25a20b(0x1d2)](_0x5f4337['length'],0x0)){console[_0x25a20b(0x14e)](_0x1f9a64[_0x25a20b(0x215)]);return;}for(const _0x3388a9 of _0x5f4337){const _0x1adce8=_0x3388a9[_0x25a20b(0x19d)]===_0x25a20b(0x1c4)?'✅':_0x3388a9[_0x25a20b(0x19d)]===_0x1f9a64['kxojV']?'🔄':'▶️';console['log'](_0x1adce8+_0x25a20b(0x1be)+_0x3388a9[_0x25a20b(0x145)]+'\x20('+_0x3388a9['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x3388a9['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3388a9[_0x25a20b(0x15e)])['toLocaleString']()),_0x3388a9['completedAt']&&console[_0x25a20b(0x14e)]('\x20\x20\x20Completed:\x20'+new Date(_0x3388a9[_0x25a20b(0x1ed)])['toLocaleString']()),console[_0x25a20b(0x14e)]('');}}export async function featureAddScenario(_0x172931,_0x5555ae){const _0x39d99a=_0x22ecc5,_0x3bde87={'ZQTmr':function(_0x35f8e3){return _0x35f8e3();},'KpXeR':_0x39d99a(0x1d7),'VZrMJ':function(_0x27ad44,_0x5ae007){return _0x27ad44(_0x5ae007);},'djHrU':function(_0x5e6a06,_0x22f9dc,_0xdd5916){return _0x5e6a06(_0x22f9dc,_0xdd5916);}},_0x290f15=_0x5555ae||await _0x3bde87['ZQTmr'](getActiveFeatureId);if(!_0x290f15)throw new Error(_0x3bde87['KpXeR']);const _0x1b0638=await _0x3bde87[_0x39d99a(0x1e5)](getFeature,_0x290f15);if(_0x1b0638['latestReview']&&!_0x1b0638['latestReview'][_0x39d99a(0x1a1)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1b0638[_0x39d99a(0x21e)]);await _0x3bde87[_0x39d99a(0x170)](createChecklistItem,_0x290f15,_0x172931);const _0x347131=await getFeature(_0x290f15);console['log'](_0x39d99a(0x1b2)),displayFeature(_0x347131,_0x347131[_0x39d99a(0x1b7)]);}export async function featureEditScenario(_0x1bbe84,_0x5ef8f6){const _0x4e9623=_0x22ecc5,_0x3f2ad2={'Tiugx':_0x4e9623(0x1e3),'vHoLJ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IUvWb':function(_0xdb1804,_0x678292){return _0xdb1804(_0x678292);},'CzCYE':function(_0x512afa,_0x49764f){return _0x512afa===_0x49764f;},'ygSJo':_0x4e9623(0x13e),'IGmdF':function(_0x488cc9,_0x2e45ae){return _0x488cc9+_0x2e45ae;},'kbxkD':function(_0x28f73f,_0x527901){return _0x28f73f-_0x527901;},'yCHNR':function(_0x2b23af,_0x3bb09f){return _0x2b23af<_0x3bb09f;},'Xdqpl':'\x0aAvailable\x20scenarios:','ecFdl':function(_0x37480b,_0x2c7ce5){return _0x37480b<_0x2c7ce5;}},_0x41f43e=_0x5ef8f6['id']||await getActiveFeatureId();!_0x41f43e&&(console['error'](_0x3f2ad2['Tiugx']),console['error'](_0x3f2ad2['vHoLJ']),process[_0x4e9623(0x1c2)](0x1));const _0x2f0907=await _0x3f2ad2[_0x4e9623(0x1e8)](getFeature,_0x41f43e);_0x2f0907[_0x4e9623(0x18c)]&&!_0x2f0907[_0x4e9623(0x18c)][_0x4e9623(0x1a1)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x4e9623(0x15f)](_0x4e9623(0x172)),console[_0x4e9623(0x15f)]('\x20\x20'+_0x2f0907['dashboardUrl']),process['exit'](0x1));const _0x5216db=_0x2f0907[_0x4e9623(0x1b7)]||[];_0x3f2ad2['CzCYE'](_0x5216db['length'],0x0)&&(console[_0x4e9623(0x15f)](_0x3f2ad2['ygSJo']),process[_0x4e9623(0x1c2)](0x1));if(_0x5ef8f6['scenario']===undefined){console[_0x4e9623(0x15f)](_0x4e9623(0x148)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x49782d=0x0;_0x49782d<_0x5216db['length'];_0x49782d++){console[_0x4e9623(0x14e)]('\x20\x20'+_0x3f2ad2[_0x4e9623(0x188)](_0x49782d,0x1)+'.\x20'+_0x5216db[_0x49782d][_0x4e9623(0x1eb)]);}process['exit'](0x1);}const _0x549b28=_0x3f2ad2['kbxkD'](_0x5ef8f6['scenario'],0x1);if(_0x3f2ad2[_0x4e9623(0x147)](_0x549b28,0x0)||_0x549b28>=_0x5216db['length']){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5ef8f6[_0x4e9623(0x1cf)]+_0x4e9623(0x13d)+_0x5216db[_0x4e9623(0x1ff)]+'\x20scenarios.'),console[_0x4e9623(0x14e)](_0x3f2ad2[_0x4e9623(0x203)]);for(let _0x50b17f=0x0;_0x3f2ad2[_0x4e9623(0x199)](_0x50b17f,_0x5216db[_0x4e9623(0x1ff)]);_0x50b17f++){console[_0x4e9623(0x14e)]('\x20\x20'+(_0x50b17f+0x1)+'.\x20'+_0x5216db[_0x50b17f]['description']);}process['exit'](0x1);}const _0x1bc8a1=_0x5216db[_0x549b28];await updateChecklistItem(_0x41f43e,_0x1bc8a1['id'],{'description':_0x1bbe84});const _0x4528cc=await _0x3f2ad2['IUvWb'](getFeature,_0x41f43e);console[_0x4e9623(0x14e)](_0x4e9623(0x1e2)),displayFeature(_0x4528cc,_0x4528cc['checklistItems']);}async function downloadFeedbackImage(_0x55a81f,_0x5896c9){const _0x3abfbc=_0x22ecc5,_0xe8ba62={'ptZdJ':function(_0x5d2818){return _0x5d2818();}};try{const _0x44b4d6=join(_0xe8ba62['ptZdJ'](getRangerDir),'feedback-images');await mkdir(_0x44b4d6,{'recursive':!![]});const _0x234534=join(_0x44b4d6,'comment_'+_0x5896c9+_0x3abfbc(0x204)),_0x15af49=await fetch(_0x55a81f);if(!_0x15af49['ok'])return null;const _0xcaff36=Buffer[_0x3abfbc(0x144)](await _0x15af49['arrayBuffer']());return await writeFile(_0x234534,_0xcaff36),_0x234534;}catch{return null;}}export async function featureGetReview(_0x367816){const _0x55aae0=_0x22ecc5,_0x3b1039={'XYvcO':function(_0x300990,_0x2af6b2){return _0x300990===_0x2af6b2;},'WzUfr':_0x55aae0(0x146),'OrpNe':function(_0x5ed7f3,_0x3c1b96){return _0x5ed7f3<_0x3c1b96;},'EbvEm':function(_0x2ff7b3,_0x37d482){return _0x2ff7b3+_0x37d482;},'aPAbF':'numeric','zGElq':'Unknown','sdSJs':'element','YUlcL':function(_0x2f38e9,_0x29eba8){return _0x2f38e9>=_0x29eba8;}},_0x2d1395=_0x367816||await getActiveFeatureId();if(!_0x2d1395)throw new Error(_0x55aae0(0x1d7));const _0xdc2743=await getFeature(_0x2d1395),{items:_0x1b3126}=await getActionItems(_0x2d1395);console['log'](_0x55aae0(0x177)+_0xdc2743['name']+'\x20('+_0xdc2743['id']+')\x0a');if(_0x3b1039['XYvcO'](_0x1b3126[_0x55aae0(0x1ff)],0x0)){console[_0x55aae0(0x14e)](_0x3b1039[_0x55aae0(0x206)]);return;}for(let _0x3fdb38=0x0;_0x3b1039[_0x55aae0(0x1f1)](_0x3fdb38,_0x1b3126[_0x55aae0(0x1ff)]);_0x3fdb38++){const _0x2ad2ae=_0x1b3126[_0x3fdb38],_0x445263=_0x2ad2ae['version']>0x1?'\x20(v'+_0x2ad2ae[_0x55aae0(0x1e9)]+')':'',_0x176eea=await getItemFeedback(_0x2d1395,_0x2ad2ae['id']);if(_0x176eea['unaddressedComments']['length']>0x0){console[_0x55aae0(0x14e)]('Scenario\x20'+_0x3b1039['EbvEm'](_0x3fdb38,0x1)+':\x20\x22'+_0x2ad2ae[_0x55aae0(0x1eb)]+'\x22'+_0x445263+'\x20—\x20'+_0x176eea['unaddressedComments'][_0x55aae0(0x1ff)]+'\x20unaddressed\x20comment(s)');for(const _0x151a1c of _0x176eea[_0x55aae0(0x14b)]){const _0x5410c1=new Date(_0x151a1c['createdAt'])[_0x55aae0(0x1bb)]('en-US',{'month':_0x55aae0(0x154),'day':_0x3b1039[_0x55aae0(0x213)]}),_0x2da83a=_0x151a1c[_0x55aae0(0x1d3)]||_0x151a1c['authorEmail']||_0x3b1039['zGElq'];console[_0x55aae0(0x14e)](_0x55aae0(0x1bf)+_0x2da83a+'\x20('+_0x5410c1+'):\x20\x22'+_0x151a1c['content']+'\x22');if(_0x151a1c['assetUrl']){const _0x106d7e=await downloadFeedbackImage(_0x151a1c['assetUrl'],_0x151a1c['id']);_0x106d7e&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x106d7e);}if(_0x151a1c['domRef']){const _0x3ada38=_0x151a1c['domRef'][_0x55aae0(0x14a)][_0x55aae0(0x17c)](_0x55aae0(0x1e0))[_0x55aae0(0x161)]()?.[_0x55aae0(0x17c)](':')[0x0]||_0x3b1039[_0x55aae0(0x209)],_0xcd652a=_0x151a1c['domRef'][_0x55aae0(0x1a6)]?'\x20\x22'+_0x151a1c['domRef']['textContent'][_0x55aae0(0x1b5)](0x0,0x3c)+'\x22':'';console[_0x55aae0(0x14e)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3ada38+'>'+_0xcd652a),console[_0x55aae0(0x14e)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x151a1c[_0x55aae0(0x190)][_0x55aae0(0x14a)]);}else{if(_0x151a1c['spatial']){const _0x28028f=_0x151a1c['spatial']['coordinates'];_0x3b1039['XYvcO'](_0x151a1c[_0x55aae0(0x167)][_0x55aae0(0x17d)],'point')&&_0x3b1039['YUlcL'](_0x28028f['length'],0x2)?console[_0x55aae0(0x14e)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x28028f[0x0][_0x55aae0(0x14f)](0x2)+',\x20'+_0x28028f[0x1][_0x55aae0(0x14f)](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x151a1c['spatial'][_0x55aae0(0x17d)]+'\x20at\x20['+_0x28028f[_0x55aae0(0x1b6)](_0x3b7fdf=>_0x3b7fdf[_0x55aae0(0x14f)](0x2))[_0x55aae0(0x157)](',\x20')+']');}}}if(_0x176eea['canonicalFlow']){console[_0x55aae0(0x14e)]('\x20\x20Expected\x20flow:');for(const _0x381d26 of _0x176eea['canonicalFlow'][_0x55aae0(0x17c)]('\x0a')){console['log'](_0x55aae0(0x174)+_0x381d26);}}}else console['log'](_0x55aae0(0x21c)+(_0x3fdb38+0x1)+':\x20\x22'+_0x2ad2ae['description']+'\x22'+_0x445263+'\x20—\x20no\x20comments'),console['log'](_0x55aae0(0x18a));console[_0x55aae0(0x14e)]('');}}function _0x53c8(){const _0x2aa6f8=['VtSJx','\x20\x20\x20▶️\x20Started\x20session\x20','verifiedItems','git\x20rev-parse\x20--abbrev-ref\x20HEAD','eebEI','json','\x0aAvailable\x20scenarios:','14566SdzeLf','mbaQy','github.com/','IGmdF','AXPCh','\x20\x20✅\x20No\x20feedback\x20to\x20address','GUjlF','latestReview','xzyGj','\x0aNo\x20feature\x20reviews\x20found.','21jyxQNm','domRef','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','push','scenarios','trimEnd','\x20\x20\x20Completed:\x20','wkRyH','XvvtL','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','ecFdl','output','Next\x20page:\x20ranger\x20list\x20--offset\x20','fqvTZ','status','incompleteItems','\x0aCreating\x20feature\x20review...','totalCount','submittedAt','kQXIX','CLAUDE_SESSION_ID','20nLKePj','cYWSa','textContent','kpAUA','ready','\x0a✅\x20Report\x20generated:\x20','\x20of\x20','\x0a\x20\x20\x20Scenarios:','blockedReason','closed','utf-8','pipe','write','VDvol','\x0a✅\x20Scenario\x20added','filter','find','slice','map','checklistItems','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','incomplete','\x20\x20\x20Created:\x20','toLocaleDateString','jlPre','KuYBv','\x20Session\x20','\x20\x20💬\x20','limit','850077yjMuzo','exit','incompleteReason','completed','Screenshot\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','wkTkV','KSIkQ','bRVKJ','4zJdvht','/artifacts/','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','currentBranch','screenshotUrls','scenario','pendingItems','baeFR','oAXBT','authorName','screenshot','\x20--include-deleted','bgRPL','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','warn','assets','isTTY','lJzXg','isKeyStep','assetType','1089616pLbGBR','\x20\x20\x20\x20\x20Progress:\x20','\x20>\x20','Not\x20in\x20a\x20git\x20repository.','\x0a✅\x20Scenario\x20updated','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','VZrMJ','QFfAv','snALa','IUvWb','version','stats','description','excludeScenarios','completedAt','stringify','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','OrpNe','qrSkX','GNsUl','yFmod','selected','\x20\x20\x20\x20\x20\x20Incomplete:\x20','reports','get','isInteger','989768qxvqJY','22NCXOSA','trim','JXTsg','toLocaleString','length','verification_in_progress','No\x20sessions\x20found.','ZMUrl','Xdqpl','.png','DDeTZ','WzUfr','\x20scenario(s).','linkedSession','sdSJs','CZJsF','gitRepoUrl','CzUgA','\x20\x20\x20\x20\x20ID:\x20','RRZmK','OiPVI','cGOdC','gitBranch','gLIgB','aPAbF','\x20in\x20progress','bZYpy','BnRWE','any','\x20\x20\x20Branch:\x20','\x1b[0m','pcWvE','sZoPO','Scenario\x20','verified','dashboardUrl','name','NvpCF','dHiEr','sessionId','\x20\x20\x20\x20\x20\x20Cancelled:\x20','terminalReason','.\x20Feature\x20review\x20has\x20','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','LQIKN','SsIkY','\x20\x20\x20Repository:\x20','canceledReason','Step\x20','from','iteration','No\x20scenarios\x20found.','yCHNR','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','170718DEZxDm','selector','unaddressedComments','vkyyD','\x0a⚠️\x20\x20','log','toFixed','browserSessionId','\x1b[1m','79RRRvOX','Ijrbo','short','replace','env','join','currentSessionId','2978772VzIFGZ','eVzWE','repeat','stepName','45vRtIKw','createdAt','error','in_progress','pop','qzlbL','\x20[has\x20reviewer\x20feedback]','\x0a✅\x20Resumed\x20feature\x20review:\x20','Anazq','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','spatial','352623YxrERK','style','\x20\x20\x20ID:\x20','poQSy','AkOOr','items','\x20\x20\x20Description:\x20','SzxSH','djHrU','bflMT','Please\x20finish\x20your\x20review\x20first:','list','\x20\x20\x20\x20','YCXXw','cNbiu','\x0a📋\x20Feedback\x20for:\x20','yPKdM','\x20\x20\x20Progress:\x20','evIxt','OOWke','split','type'];_0x53c8=function(){return _0x2aa6f8;};return _0x53c8();}export async function featureDelete(_0x5ebee3){const _0x8caf44=_0x22ecc5,_0x115c4b={'dHiEr':function(_0x7efd32){return _0x7efd32();},'bqGAr':_0x8caf44(0x1e4)},_0x5db89e=_0x5ebee3||await _0x115c4b[_0x8caf44(0x221)](getActiveFeatureId);if(!_0x5db89e)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 _0x14f99e=await getFeature(_0x5db89e);await softDeleteFeature(_0x5db89e),console['log'](_0x8caf44(0x198)+_0x14f99e['name']+'\x20('+_0x5db89e+')'),console['log'](_0x115c4b['bqGAr']+_0x5db89e);}export async function featureRestore(_0x29ee89){const _0x547efc=_0x22ecc5,_0x505d4b={'SsIkY':function(_0x4f6155,_0x17c057){return _0x4f6155(_0x17c057);}};await _0x505d4b[_0x547efc(0x140)](restoreFeature,_0x29ee89);const _0x423266=await _0x505d4b['SsIkY'](getFeature,_0x29ee89);console[_0x547efc(0x14e)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x423266['name']+'\x20('+_0x29ee89+')'),displayFeature(_0x423266,_0x423266['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x41ce(_0x662edf,_0x4026a5){_0x662edf=_0x662edf-0xfd;const _0xeb522c=_0xeb52();let _0x41ceaa=_0xeb522c[_0x662edf];return _0x41ceaa;}function _0xeb52(){const _0x785f48=['2089864AgzSGB','join','3653930BzdNrP','SIGHUP','127767ChKEkD','421945GpYmJU','once','Unknown\x20hook:\x20','18pFpLOl','Valid\x20hooks:\x20','1286636EmRBgx','error','keys','SIGTERM','114jnQUwf','SIGINT','2723628CSPupT','6728632XTSGZx','exit'];_0xeb52=function(){return _0x785f48;};return _0xeb52();}(function(_0xe3575b,_0x2d52c9){const _0x56b4a6=_0x41ce,_0x39217f=_0xe3575b();while(!![]){try{const _0x4ebc2e=parseInt(_0x56b4a6(0x10d))/0x1+-parseInt(_0x56b4a6(0x100))/0x2+-parseInt(_0x56b4a6(0x106))/0x3+-parseInt(_0x56b4a6(0x109))/0x4+parseInt(_0x56b4a6(0x10e))/0x5*(parseInt(_0x56b4a6(0x104))/0x6)+-parseInt(_0x56b4a6(0x10b))/0x7+parseInt(_0x56b4a6(0x107))/0x8*(parseInt(_0x56b4a6(0xfe))/0x9);if(_0x4ebc2e===_0x2d52c9)break;else _0x39217f['push'](_0x39217f['shift']());}catch(_0x15de08){_0x39217f['push'](_0x39217f['shift']());}}}(_0xeb52,0xc7a02));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x6a51d1=_0x41ce,_0x112453={'wKeEk':_0x6a51d1(0x105)};if(cancellationHandlersInstalled)return;const _0x1a25e6=()=>{const _0xbfb18f=_0x6a51d1;process[_0xbfb18f(0x108)](0x0);};process['once'](_0x112453['wKeEk'],_0x1a25e6),process[_0x6a51d1(0x10f)](_0x6a51d1(0x103),_0x1a25e6),process[_0x6a51d1(0x10f)](_0x6a51d1(0x10c),_0x1a25e6),cancellationHandlersInstalled=!![];}export async function hook(_0x1eb3de,_0xb7cc98){const _0x214207=_0x41ce,_0x5c4379={'yfyYk':function(_0x29202f,_0x261da3){return _0x29202f(_0x261da3);}};installCancellationHandlers();const _0x282b28=HOOKS[_0x1eb3de];if(!_0x282b28){const _0x2f4046=Object[_0x214207(0x102)](HOOKS)[_0x214207(0x10a)](',\x20');console['error'](_0x214207(0xfd)+_0x1eb3de),console[_0x214207(0x101)](_0x214207(0xff)+_0x2f4046),process[_0x214207(0x108)](0x1);}await _0x5c4379['yfyYk'](_0x282b28,_0xb7cc98);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2985(_0x10c9b7,_0x13ba0d){_0x10c9b7=_0x10c9b7-0xac;const _0x3e1c0d=_0x3e1c();let _0x298544=_0x3e1c0d[_0x10c9b7];return _0x298544;}(function(_0x356b7e,_0x2ec67b){const _0x502d99=_0x2985,_0x31ad93=_0x356b7e();while(!![]){try{const _0x49f558=-parseInt(_0x502d99(0xb1))/0x1*(-parseInt(_0x502d99(0xb4))/0x2)+-parseInt(_0x502d99(0xba))/0x3+-parseInt(_0x502d99(0xb9))/0x4*(parseInt(_0x502d99(0xb0))/0x5)+parseInt(_0x502d99(0xb6))/0x6*(-parseInt(_0x502d99(0xaf))/0x7)+-parseInt(_0x502d99(0xb7))/0x8+-parseInt(_0x502d99(0xad))/0x9+parseInt(_0x502d99(0xb8))/0xa*(parseInt(_0x502d99(0xb2))/0xb);if(_0x49f558===_0x2ec67b)break;else _0x31ad93['push'](_0x31ad93['shift']());}catch(_0x5aaf66){_0x31ad93['push'](_0x31ad93['shift']());}}}(_0x3e1c,0x7afac));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT='\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.';export async function autoPrompt(){const _0x5f4d45=_0x2985,_0x21a092={'eFpAF':'off','wyvoS':function(_0x5c2642){return _0x5c2642();},'obivH':function(_0x1604a0,_0x2256a7){return _0x1604a0(_0x2256a7);}};if(resolveHookMode()===_0x21a092[_0x5f4d45(0xb5)])return;const _0x3d24f4=await _0x21a092[_0x5f4d45(0xac)](readHookInput),_0x5d84b8=_0x3d24f4?.['session_id'];if(!_0x5d84b8)return;if(isSessionEnabled(_0x5d84b8)||hasSessionBeenPrompted(_0x5d84b8))return;_0x21a092[_0x5f4d45(0xae)](markSessionPrompted,_0x5d84b8),console[_0x5f4d45(0xb3)](AUTO_PROMPT_TEXT);}function _0x3e1c(){const _0x16b904=['32118820ciWpKf','1006400auXTxQ','2756397xybsvB','wyvoS','7075674jBtdiY','obivH','7HnmfOm','5snAHoa','2BrldVn','11WxnnYa','log','303342KznMyV','eFpAF','4584348OnNFsO','2326856UzNPBH'];_0x3e1c=function(){return _0x16b904;};return _0x3e1c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xe658(){const _0x55c16f=['\x20and\x20branch\x20\x27','63340kXwqWT','18815TdxbWe','1378594vVWZgS','418YhBXAI','18902796ivTxaB','main','6bnuHZC','3MCAWCn','4887048emqxWL','51669zdBEkQ','env','CLAUDE_SESSION_ID','6638qWlUOL','40Ymxecy'];_0xe658=function(){return _0x55c16f;};return _0xe658();}(function(_0x263bce,_0x201050){const _0x32a6e4=_0x3f41,_0x23df4f=_0x263bce();while(!![]){try{const _0x291ead=-parseInt(_0x32a6e4(0x91))/0x1*(-parseInt(_0x32a6e4(0x88))/0x2)+-parseInt(_0x32a6e4(0x8c))/0x3*(-parseInt(_0x32a6e4(0x8d))/0x4)+parseInt(_0x32a6e4(0x86))/0x5+parseInt(_0x32a6e4(0x8b))/0x6*(-parseInt(_0x32a6e4(0x87))/0x7)+parseInt(_0x32a6e4(0x83))/0x8*(parseInt(_0x32a6e4(0x8e))/0x9)+-parseInt(_0x32a6e4(0x85))/0xa+-parseInt(_0x32a6e4(0x89))/0xb;if(_0x291ead===_0x201050)break;else _0x23df4f['push'](_0x23df4f['shift']());}catch(_0x5e1a07){_0x23df4f['push'](_0x23df4f['shift']());}}}(_0xe658,0xafbf4));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x3f41(_0x4fd37c,_0x76e805){_0x4fd37c=_0x4fd37c-0x83;const _0xe65854=_0xe658();let _0x3f419d=_0xe65854[_0x4fd37c];return _0x3f419d;}export async function disable(_0x270f54){const _0x54702d=_0x3f41,_0x5abbb4={'PeoLI':_0x54702d(0x8a),'dDsVB':function(_0x1c9faa,_0x1c5693){return _0x1c9faa(_0x1c5693);},'dnXQE':function(_0x53a2ec,_0x1c5cc7){return _0x53a2ec!==_0x1c5cc7;},'bleKM':'master'},_0x4d0f05=_0x270f54||process[_0x54702d(0x8f)][_0x54702d(0x90)]||'';_0x4d0f05&&disableSession(_0x4d0f05);const _0xd61d0=getCurrentBranch();_0xd61d0&&_0xd61d0!==_0x5abbb4['PeoLI']&&_0xd61d0!=='master'&&_0x5abbb4['dDsVB'](disableBranch,_0xd61d0),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0xd61d0&&_0xd61d0!==_0x5abbb4['PeoLI']&&_0x5abbb4['dnXQE'](_0xd61d0,_0x5abbb4['bleKM'])?_0x54702d(0x84)+_0xd61d0+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x4e21(){const _0x770974=['env','3676335PUmMyc','1170558PYhXHA','1601649YJcaAv','1436ZtGxDm','13197jUZAXp','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','4232352yDdGBT','ucjzY','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','227046AwTMoC','FPYgN','3003222kNveUu','pvNuN','\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`.','ranger\x20setup\x20--opencode'];_0x4e21=function(){return _0x770974;};return _0x4e21();}function _0x4896(_0x35c1b4,_0xbedd2e){_0x35c1b4=_0x35c1b4-0x12f;const _0x4e219b=_0x4e21();let _0x4896a3=_0x4e219b[_0x35c1b4];return _0x4896a3;}(function(_0x289e3f,_0x1aaa14){const _0x3dd9da=_0x4896,_0x565486=_0x289e3f();while(!![]){try{const _0x3caa27=parseInt(_0x3dd9da(0x13d))/0x1+parseInt(_0x3dd9da(0x135))/0x2+parseInt(_0x3dd9da(0x130))/0x3*(parseInt(_0x3dd9da(0x12f))/0x4)+-parseInt(_0x3dd9da(0x13c))/0x5+-parseInt(_0x3dd9da(0x137))/0x6+-parseInt(_0x3dd9da(0x13e))/0x7+-parseInt(_0x3dd9da(0x132))/0x8;if(_0x3caa27===_0x1aaa14)break;else _0x565486['push'](_0x565486['shift']());}catch(_0x56d9b3){_0x565486['push'](_0x565486['shift']());}}}(_0x4e21,0xd4523));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x2251bf){const _0xcfd54=_0x4896,_0x280dbd={'ucjzY':function(_0x360f3b){return _0x360f3b();},'pvNuN':'main','SQIno':function(_0x4c75dc,_0x3b3685){return _0x4c75dc!==_0x3b3685;},'FPYgN':function(_0x363cad,_0x28e6c9){return _0x363cad(_0x28e6c9);}},_0x493cca=_0x2251bf||process[_0xcfd54(0x13b)]['CLAUDE_SESSION_ID']||'',_0xd05c=Boolean(_0x2251bf),_0x41f1f5=await getToken();if(!_0x41f1f5){const _0x30de03=_0xd05c?_0xcfd54(0x13a):'ranger\x20setup',_0x317ad0=_0xd05c?_0xcfd54(0x134):_0xcfd54(0x131);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`'+_0x30de03+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x317ad0);return;}try{await _0x280dbd[_0xcfd54(0x133)](update);}catch{}_0x493cca&&enableSession(_0x493cca);const _0x333846=getCurrentBranch(),_0x56b91d=_0x333846&&_0x333846!==_0x280dbd[_0xcfd54(0x138)]&&_0x280dbd['SQIno'](_0x333846,'master')?'\x0a\x0a**Branch\x20\x27'+_0x333846+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x195d90=getRangerSkillContent();_0x280dbd[_0xcfd54(0x136)](printBlock,'#\x20RANGER\x20ENABLED'+_0x56b91d+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x195d90+_0xcfd54(0x139));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3ec576,_0x1baaf8){const _0x10ed12=_0x2312,_0x186de7=_0x3ec576();while(!![]){try{const _0x137413=-parseInt(_0x10ed12(0x1db))/0x1*(parseInt(_0x10ed12(0x1d1))/0x2)+-parseInt(_0x10ed12(0x1dc))/0x3*(-parseInt(_0x10ed12(0x1d7))/0x4)+-parseInt(_0x10ed12(0x1d6))/0x5+parseInt(_0x10ed12(0x1da))/0x6*(-parseInt(_0x10ed12(0x1dd))/0x7)+-parseInt(_0x10ed12(0x1d2))/0x8*(parseInt(_0x10ed12(0x1d5))/0x9)+-parseInt(_0x10ed12(0x1d3))/0xa+parseInt(_0x10ed12(0x1d4))/0xb;if(_0x137413===_0x1baaf8)break;else _0x186de7['push'](_0x186de7['shift']());}catch(_0x966daf){_0x186de7['push'](_0x186de7['shift']());}}}(_0x3b20,0xa6923));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1022de){const _0x48166c=_0x2312,_0x4a27f3={'qPVSw':function(_0x1348f4,_0x1e16dc){return _0x1348f4(_0x1e16dc);},'ZyTqX':function(_0x5c6142,_0x2c7b98){return _0x5c6142(_0x2c7b98);}},_0x4b238e=await _0x4a27f3['qPVSw'](getEnabledSessionId,_0x1022de);if(!_0x4b238e)return;_0x4a27f3[_0x48166c(0x1d9)](printBlock,_0x48166c(0x1d8));}function _0x2312(_0x116a32,_0x3d5e96){_0x116a32=_0x116a32-0x1d1;const _0x3b2092=_0x3b20();let _0x23123b=_0x3b2092[_0x116a32];return _0x23123b;}function _0x3b20(){const _0x5cfc1b=['106460iennDV','===\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===','ZyTqX','3468hWxYYs','367XVIUnM','48ktGmEz','5117YMyxqD','6766OYCvpX','32mMJRWP','582320aCIdMc','33924000WyEmrn','857988ZNxBzz','3619630OAdXkf'];_0x3b20=function(){return _0x5cfc1b;};return _0x3b20();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1a5ee0,_0x3305eb){var _0x34cf56=_0x4fa2,_0x137838=_0x1a5ee0();while(!![]){try{var _0x3f3541=-parseInt(_0x34cf56(0x17e))/0x1+-parseInt(_0x34cf56(0x17b))/0x2+parseInt(_0x34cf56(0x176))/0x3*(parseInt(_0x34cf56(0x17d))/0x4)+-parseInt(_0x34cf56(0x177))/0x5*(parseInt(_0x34cf56(0x17f))/0x6)+parseInt(_0x34cf56(0x175))/0x7*(-parseInt(_0x34cf56(0x17c))/0x8)+-parseInt(_0x34cf56(0x17a))/0x9*(parseInt(_0x34cf56(0x179))/0xa)+parseInt(_0x34cf56(0x178))/0xb;if(_0x3f3541===_0x3305eb)break;else _0x137838['push'](_0x137838['shift']());}catch(_0x544e65){_0x137838['push'](_0x137838['shift']());}}}(_0x9a49,0x3e8c3));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x4fa2(_0x42f235,_0x39877a){_0x42f235=_0x42f235-0x175;var _0x9a49e6=_0x9a49();var _0x4fa2ae=_0x9a49e6[_0x42f235];return _0x4fa2ae;}function _0x9a49(){var _0x274b76=['8sdalAA','608YwWPrh','270938FLCrWH','180636FHzMVX','3034843KFAWUh','5331UaRaox','20VInYHH','12051765rTzgES','30KvwUcR','124029TCarVd','486540yXmUts'];_0x9a49=function(){return _0x274b76;};return _0x9a49();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1a555a,_0x293040){const _0x227eb0=_0x5d5c,_0x5406ea=_0x1a555a();while(!![]){try{const _0x6df500=parseInt(_0x227eb0(0x18b))/0x1*(-parseInt(_0x227eb0(0x18d))/0x2)+parseInt(_0x227eb0(0x191))/0x3*(parseInt(_0x227eb0(0x18a))/0x4)+parseInt(_0x227eb0(0x198))/0x5+-parseInt(_0x227eb0(0x196))/0x6*(parseInt(_0x227eb0(0x190))/0x7)+parseInt(_0x227eb0(0x18e))/0x8+-parseInt(_0x227eb0(0x18f))/0x9*(parseInt(_0x227eb0(0x193))/0xa)+parseInt(_0x227eb0(0x197))/0xb;if(_0x6df500===_0x293040)break;else _0x5406ea['push'](_0x5406ea['shift']());}catch(_0x1d5888){_0x5406ea['push'](_0x5406ea['shift']());}}}(_0x4392,0x2cdb0));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x4392(){const _0x9fb464=['119670mqywHr','session_id','log','266646ZgEpIo','1710841DfPBBX','1593795hQBzQa','438908tldZXX','1MPnaSA','stdin','584114RkBKLx','1787336NKWJyv','216ErBUPS','7YbKFrG','3avtOGf','trim'];_0x4392=function(){return _0x9fb464;};return _0x4392();}export function printBlock(_0x48d278){const _0xfaee73=_0x5d5c;console[_0xfaee73(0x195)](_0x48d278);}export async function readHookInput(){const _0x368331=_0x5d5c;let _0x4c3804='';try{for await(const _0x375bc3 of process[_0x368331(0x18c)]){_0x4c3804+=_0x375bc3;}}catch{return null;}if(!_0x4c3804[_0x368331(0x192)]())return null;try{return JSON['parse'](_0x4c3804);}catch{return null;}}export async function getEnabledSessionId(_0x4f79b7){const _0x2c0ef0={'hDxmc':function(_0x317725){return _0x317725();},'PLPfm':function(_0xab02fb,_0x27eba0){return _0xab02fb(_0x27eba0);}};if(_0x4f79b7)return isSessionEnabled(_0x4f79b7)?_0x4f79b7:null;const _0x3c33be=await _0x2c0ef0['hDxmc'](readHookInput),_0x64ed1e=_0x3c33be?.['session_id'];if(!_0x64ed1e||!_0x2c0ef0['PLPfm'](isSessionEnabled,_0x64ed1e))return null;return _0x64ed1e;}function _0x5d5c(_0x50cdd1,_0x50eed1){_0x50cdd1=_0x50cdd1-0x18a;const _0x439291=_0x4392();let _0x5d5ca9=_0x439291[_0x50cdd1];return _0x5d5ca9;}export async function getEnabledHookContext(_0x4eef91){const _0x4e092c=_0x5d5c;if(_0x4eef91){if(!isSessionEnabled(_0x4eef91))return null;return{'sessionId':_0x4eef91,'input':{'session_id':_0x4eef91}};}const _0x3ca7ed=await readHookInput(),_0xe933e4=_0x3ca7ed?.[_0x4e092c(0x194)];if(!_0xe933e4||!isSessionEnabled(_0xe933e4))return null;return{'sessionId':_0xe933e4,'input':_0x3ca7ed};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2a23ca,_0xc02d42){const _0x4d7668=_0x1583,_0x58896e=_0x2a23ca();while(!![]){try{const _0x2342ef=-parseInt(_0x4d7668(0x6f))/0x1*(-parseInt(_0x4d7668(0x65))/0x2)+parseInt(_0x4d7668(0x6c))/0x3*(parseInt(_0x4d7668(0x70))/0x4)+parseInt(_0x4d7668(0x69))/0x5*(parseInt(_0x4d7668(0x74))/0x6)+parseInt(_0x4d7668(0x68))/0x7*(parseInt(_0x4d7668(0x6d))/0x8)+-parseInt(_0x4d7668(0x66))/0x9+-parseInt(_0x4d7668(0x73))/0xa*(-parseInt(_0x4d7668(0x6e))/0xb)+parseInt(_0x4d7668(0x6b))/0xc*(-parseInt(_0x4d7668(0x72))/0xd);if(_0x2342ef===_0xc02d42)break;else _0x58896e['push'](_0x58896e['shift']());}catch(_0x1a46c2){_0x58896e['push'](_0x58896e['shift']());}}}(_0x5f23,0xf0747));import{printBlock,getEnabledHookContext}from'./output.js';function _0x5f23(){const _0x33dc02=['input','13WSIrsy','40Cfrhug','504KhvlEY','sessionId','87866AtKueX','11426283REoWMq','===\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===','35taromh','56890GlxGTo','plan','29002296cHdZTn','48795TEvVVK','2163040zJvpET','4079713QvGCkb','13fBJUhA','76QqGEQr'];_0x5f23=function(){return _0x33dc02;};return _0x5f23();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x1583(_0x3a8dd0,_0x540730){_0x3a8dd0=_0x3a8dd0-0x64;const _0x5f234b=_0x5f23();let _0x15839e=_0x5f234b[_0x3a8dd0];return _0x15839e;}export async function planReminder(_0x2cd33a){const _0x1adc7d=_0x1583,_0x320487={'MoHbe':function(_0xec9ed6,_0x20ca10){return _0xec9ed6!==_0x20ca10;},'PStsU':function(_0x23709d,_0x149c82){return _0x23709d(_0x149c82);}},_0x268bbf=await getEnabledHookContext(_0x2cd33a);if(!_0x268bbf)return;if(_0x320487['MoHbe'](_0x268bbf[_0x1adc7d(0x71)]['permission_mode'],_0x1adc7d(0x6a)))return;if(!_0x320487['PStsU'](shouldShowPlanReminder,_0x268bbf[_0x1adc7d(0x64)]))return;_0x320487['PStsU'](printBlock,_0x1adc7d(0x67));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x297e(){const _0x1efbd0=['21ZIEGaW','9170HmPlAF','386651JqgPTq','769143RjlhrW','477zOMbWd','6276803vYAePp','3518224aptrzC','===\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===','305310chamdA','16KWJXyw','11228016kJLAqP','70Cmpaug','11yFdKBs','2976MztzxF','4BaKwdV'];_0x297e=function(){return _0x1efbd0;};return _0x297e();}function _0x57da(_0x57999a,_0x32d324){_0x57999a=_0x57999a-0x1e3;const _0x297eb9=_0x297e();let _0x57da3d=_0x297eb9[_0x57999a];return _0x57da3d;}(function(_0x3c0a22,_0x19bc6d){const _0x84df01=_0x57da,_0x27af7a=_0x3c0a22();while(!![]){try{const _0x61e2d8=-parseInt(_0x84df01(0x1e8))/0x1*(parseInt(_0x84df01(0x1e5))/0x2)+parseInt(_0x84df01(0x1e9))/0x3*(-parseInt(_0x84df01(0x1ef))/0x4)+-parseInt(_0x84df01(0x1e7))/0x5*(parseInt(_0x84df01(0x1e4))/0x6)+parseInt(_0x84df01(0x1e6))/0x7*(-parseInt(_0x84df01(0x1ec))/0x8)+-parseInt(_0x84df01(0x1ea))/0x9*(-parseInt(_0x84df01(0x1ee))/0xa)+-parseInt(_0x84df01(0x1e3))/0xb*(-parseInt(_0x84df01(0x1f0))/0xc)+parseInt(_0x84df01(0x1eb))/0xd*(parseInt(_0x84df01(0x1f1))/0xe);if(_0x61e2d8===_0x19bc6d)break;else _0x27af7a['push'](_0x27af7a['shift']());}catch(_0x196423){_0x27af7a['push'](_0x27af7a['shift']());}}}(_0x297e,0xe586e));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4a16fc){const _0xf31387=_0x57da,_0x618c0={'bRLXR':function(_0x350af1,_0x2d8ef9){return _0x350af1(_0x2d8ef9);}},_0x930bc2=await _0x618c0['bRLXR'](getEnabledSessionId,_0x4a16fc);if(!_0x930bc2)return;printBlock(_0xf31387(0x1ed));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3253(_0x243052,_0x5a0867){_0x243052=_0x243052-0x116;const _0x3aefb8=_0x3aef();let _0x3253d4=_0x3aefb8[_0x243052];return _0x3253d4;}(function(_0x1639a3,_0x29de18){const _0x566b2e=_0x3253,_0x1baade=_0x1639a3();while(!![]){try{const _0x3889ac=-parseInt(_0x566b2e(0x118))/0x1+parseInt(_0x566b2e(0x120))/0x2*(-parseInt(_0x566b2e(0x11a))/0x3)+parseInt(_0x566b2e(0x117))/0x4+-parseInt(_0x566b2e(0x11f))/0x5*(parseInt(_0x566b2e(0x122))/0x6)+parseInt(_0x566b2e(0x116))/0x7*(parseInt(_0x566b2e(0x124))/0x8)+parseInt(_0x566b2e(0x11c))/0x9+parseInt(_0x566b2e(0x119))/0xa*(parseInt(_0x566b2e(0x123))/0xb);if(_0x3889ac===_0x29de18)break;else _0x1baade['push'](_0x1baade['shift']());}catch(_0x4ea0f2){_0x1baade['push'](_0x1baade['shift']());}}}(_0x3aef,0xe8d53));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x3aef(){const _0x4c8e6e=['32yIHnTj','CUSOy','747138EFEBMH','20044541qumIyd','40LbQoHX','TscyX','802186JepQcz','5808228PDTLcP','306944lJtiwy','10yyzLDO','304824GzlDTz','log','5920884afGeUa','soAmS','stringify','65NUEXFz'];_0x3aef=function(){return _0x4c8e6e;};return _0x3aef();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x5547b2){const _0x10c0cc=_0x3253,_0x3f61e3={'soAmS':function(_0x336a65){return _0x336a65();},'CUSOy':function(_0x691c19,_0x437eb8){return _0x691c19(_0x437eb8);},'TscyX':'PostToolUse'},_0x176293=await getEnabledSessionId(_0x5547b2);if(!_0x176293)return;updateBranchTracking(_0x176293);const _0x33471a=await _0x3f61e3[_0x10c0cc(0x11d)](getToken);if(!_0x33471a)return;const _0x6dc0f9=_0x3f61e3[_0x10c0cc(0x121)](getSessionEntry,_0x176293);if(_0x6dc0f9){const _0x2c82cd={'hookSpecificOutput':{'hookEventName':_0x3f61e3[_0x10c0cc(0x125)],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x10c0cc(0x11b)](JSON['stringify'](_0x2c82cd));return;}const _0x52fc14={'hookSpecificOutput':{'hookEventName':_0x3f61e3[_0x10c0cc(0x125)],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON[_0x10c0cc(0x11e)](_0x52fc14));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2f2f(){const _0x4e0b54=['409565WWIlyw','237jdDMsr','29781exubak','26044PXAGok','7tGrjtl','6870906QEsafS','1490wmhQQl','155718AKfHpq','1733848cCEONc','826657NPxYcG'];_0x2f2f=function(){return _0x4e0b54;};return _0x2f2f();}(function(_0x418e2b,_0x57f7f8){const _0x4d2e15=_0x58d9,_0x21b762=_0x418e2b();while(!![]){try{const _0x5819ca=parseInt(_0x4d2e15(0x191))/0x1+parseInt(_0x4d2e15(0x18f))/0x2+parseInt(_0x4d2e15(0x193))/0x3*(parseInt(_0x4d2e15(0x195))/0x4)+-parseInt(_0x4d2e15(0x192))/0x5+-parseInt(_0x4d2e15(0x18d))/0x6+parseInt(_0x4d2e15(0x18c))/0x7*(parseInt(_0x4d2e15(0x190))/0x8)+-parseInt(_0x4d2e15(0x194))/0x9*(-parseInt(_0x4d2e15(0x18e))/0xa);if(_0x5819ca===_0x57f7f8)break;else _0x21b762['push'](_0x21b762['shift']());}catch(_0x53023e){_0x21b762['push'](_0x21b762['shift']());}}}(_0x2f2f,0xdc1d9));import{getToken}from'../utils/keychain.js';function _0x58d9(_0x343c01,_0x4a263e){_0x343c01=_0x343c01-0x18c;const _0x2f2f3e=_0x2f2f();let _0x58d9a4=_0x2f2f3e[_0x343c01];return _0x58d9a4;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x3211a9){const _0x47efa3={'fEyqd':function(_0x4ee4e4,_0x223400){return _0x4ee4e4(_0x223400);}},_0x2a613c=await getEnabledSessionId(_0x3211a9);if(!_0x2a613c)return;try{const _0x2f57bd=await getToken();if(!_0x2f57bd)return;_0x47efa3['fEyqd'](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
|
-
|
|
1
|
+
(function(_0x3a8762,_0x345041){const _0x379da2=_0x12cb,_0x7929e5=_0x3a8762();while(!![]){try{const _0x51b4d4=-parseInt(_0x379da2(0x18f))/0x1*(parseInt(_0x379da2(0x185))/0x2)+parseInt(_0x379da2(0x187))/0x3+-parseInt(_0x379da2(0x191))/0x4*(-parseInt(_0x379da2(0x18e))/0x5)+-parseInt(_0x379da2(0x189))/0x6*(parseInt(_0x379da2(0x193))/0x7)+parseInt(_0x379da2(0x18d))/0x8+parseInt(_0x379da2(0x18c))/0x9*(parseInt(_0x379da2(0x184))/0xa)+parseInt(_0x379da2(0x188))/0xb*(parseInt(_0x379da2(0x18a))/0xc);if(_0x51b4d4===_0x345041)break;else _0x7929e5['push'](_0x7929e5['shift']());}catch(_0x5b49f1){_0x7929e5['push'](_0x7929e5['shift']());}}}(_0x46f9,0xbde91));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x46f9(){const _0x745b94=['682997ucLQrB','186980gCLnZl','14TEssoX','session_id','3173781daUIbk','116996lAukwS','12FJJSRA','60jQoQFd','CLAUDE_SESSION_ID','9luAfIO','238984JVDEZV','20leXQrQ','107837VKeDhW','clear','568196ZQvxbg','env'];_0x46f9=function(){return _0x745b94;};return _0x46f9();}function _0x12cb(_0x25d071,_0x4e0d32){_0x25d071=_0x25d071-0x184;const _0x46f9fa=_0x46f9();let _0x12cb9e=_0x46f9fa[_0x25d071];return _0x12cb9e;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x59279a){const _0xb3ecb7=_0x12cb,_0x33eef6={'ahKhT':function(_0x37980d,_0x4f45d9){return _0x37980d(_0x4f45d9);},'hGWAn':function(_0x1af719){return _0x1af719();}},_0xb3f8c8=process[_0xb3ecb7(0x192)][_0xb3ecb7(0x18b)];let _0x5593ec=_0x59279a,_0x6c95f6;if(!_0x59279a){if(_0xb3f8c8&&!_0x33eef6['ahKhT'](isSessionEnabled,_0xb3f8c8))return;const _0x1920d6=await _0x33eef6['hGWAn'](readHookInput);_0x5593ec=_0x1920d6?.[_0xb3ecb7(0x186)]||_0xb3f8c8,_0x6c95f6=_0x1920d6?.['reason'];}if(!_0x5593ec)return;_0x6c95f6===_0xb3ecb7(0x190)&&recordEnabledSessionCleared(_0x5593ec);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x4c356e=_0x5476;function _0x220d(){const _0x58b627=['8mcWotq','CLAUDE_ENV_FILE','848AjrcrP','env','EwlcH','aCERd','1178568EHXZnO','ExHKo','28zIMjGb','master','30AObxFt','2uoxueV','stdin','KNgOO','7353KIzZEF','\x20(Branch:\x20','296207reQCyO','=================================================================\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=================================================================','parse','22962924uCuQSI','SessionStart','395844wQUpTH','pqBdF','572155vFLtyq','1560603UJGBOg','vnXqm'];_0x220d=function(){return _0x58b627;};return _0x220d();}(function(_0x31b5aa,_0x1b9e26){const _0x684032=_0x5476,_0x3abb6d=_0x31b5aa();while(!![]){try{const _0x30697f=parseInt(_0x684032(0x10f))/0x1*(-parseInt(_0x684032(0x10a))/0x2)+-parseInt(_0x684032(0x11f))/0x3+parseInt(_0x684032(0x119))/0x4*(-parseInt(_0x684032(0x116))/0x5)+-parseInt(_0x684032(0x114))/0x6*(parseInt(_0x684032(0x121))/0x7)+-parseInt(_0x684032(0x11b))/0x8*(parseInt(_0x684032(0x10d))/0x9)+-parseInt(_0x684032(0x109))/0xa*(parseInt(_0x684032(0x117))/0xb)+parseInt(_0x684032(0x112))/0xc;if(_0x30697f===_0x1b9e26)break;else _0x3abb6d['push'](_0x3abb6d['shift']());}catch(_0x561693){_0x3abb6d['push'](_0x3abb6d['shift']());}}}(_0x220d,0x3598f));import{appendFile}from'fs/promises';function _0x5476(_0x3f1892,_0x30de8c){_0x3f1892=_0x3f1892-0x109;const _0x220d0e=_0x220d();let _0x547641=_0x220d0e[_0x3f1892];return _0x547641;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT=_0x4c356e(0x110);export async function sessionStart(_0x466ffc){const _0x2dc8ea=_0x4c356e,_0x18675c={'aCERd':function(_0x14a379,_0x1de58b){return _0x14a379||_0x1de58b;},'EwlcH':'session_id','HABxr':'source','vnXqm':function(_0x49c4fa,_0x150492,_0xd11a02){return _0x49c4fa(_0x150492,_0xd11a02);},'KNgOO':function(_0x399072,_0x5238ff){return _0x399072(_0x5238ff);},'pqBdF':function(_0x241ea8,_0x4e7e44){return _0x241ea8(_0x4e7e44);},'xiVHw':function(_0x3836fa,_0x3ef1b8){return _0x3836fa===_0x3ef1b8;},'sOHgC':function(_0x340091){return _0x340091();},'ekTaF':function(_0x5e9c13,_0x335d1b){return _0x5e9c13(_0x335d1b);},'ExHKo':'hook:session-start','CyXSi':'main','xmcZe':function(_0x5d4d58,_0x3cc3a5){return _0x5d4d58+_0x3cc3a5;}};let _0x3aec49=_0x18675c[_0x2dc8ea(0x11e)](_0x466ffc,''),_0x494f26;if(!_0x466ffc){let _0xd47998='';for await(const _0x2bc8e9 of process[_0x2dc8ea(0x10b)]){_0xd47998+=_0x2bc8e9;}try{const _0x5ce882=JSON[_0x2dc8ea(0x111)](_0xd47998);_0x3aec49=_0x5ce882[_0x18675c[_0x2dc8ea(0x11d)]]||'',_0x494f26=_0x5ce882[_0x18675c['HABxr']];}catch{}const _0x25ad30=process[_0x2dc8ea(0x11c)][_0x2dc8ea(0x11a)];if(_0x25ad30&&_0x3aec49)try{await _0x18675c[_0x2dc8ea(0x118)](appendFile,_0x25ad30,'export\x20CLAUDE_SESSION_ID=\x22'+_0x3aec49+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x3aec49){_0x18675c['KNgOO'](shouldAutoEnableAfterClear,_0x494f26)&&_0x18675c[_0x2dc8ea(0x10c)](autoEnableAfterClear,_0x3aec49);_0x18675c[_0x2dc8ea(0x115)](initBranchTracking,_0x3aec49);_0x18675c['xiVHw'](_0x18675c['sOHgC'](resolveHookMode),'on')&&enableSession(_0x3aec49);const _0x2193e2=_0x18675c['ekTaF'](isSessionEnabled,_0x3aec49);try{const _0x1ba762=createTelemetryCollector(_0x18675c[_0x2dc8ea(0x120)]);await _0x1ba762['trackCommandStart']({'sessionId':_0x3aec49,'hooksEnabled':_0x2193e2}),await _0x1ba762['trackCommandEnd']('success');}catch{}if(_0x2193e2){const _0x369c0d=getCurrentBranch(),_0x4e3bae=_0x369c0d&&_0x369c0d!==_0x18675c['CyXSi']&&_0x369c0d!==_0x2dc8ea(0x122)?_0x2dc8ea(0x10e)+_0x369c0d+')':'',_0x1832d0={'hookSpecificOutput':{'hookEventName':_0x2dc8ea(0x113),'additionalContext':_0x18675c['xmcZe'](RANGER_AUTO_ENABLED_PROMPT,_0x4e3bae)}};console['log'](JSON['stringify'](_0x1832d0));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1ed53c,_0xfa0e00){const _0x563571=_0x58aa,_0x38fee9=_0x1ed53c();while(!![]){try{const _0x19c9e5=parseInt(_0x563571(0x1a1))/0x1*(parseInt(_0x563571(0x1a0))/0x2)+-parseInt(_0x563571(0x19c))/0x3+parseInt(_0x563571(0x1a4))/0x4+-parseInt(_0x563571(0x1ad))/0x5+parseInt(_0x563571(0x1aa))/0x6*(parseInt(_0x563571(0x1b0))/0x7)+parseInt(_0x563571(0x1b1))/0x8+parseInt(_0x563571(0x1ae))/0x9*(-parseInt(_0x563571(0x19f))/0xa);if(_0x19c9e5===_0xfa0e00)break;else _0x38fee9['push'](_0x38fee9['shift']());}catch(_0x5c3626){_0x38fee9['push'](_0x38fee9['shift']());}}}(_0x2f85,0xa6e48));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x58aa(_0x46ecf3,_0x4e4554){_0x46ecf3=_0x46ecf3-0x19a;const _0x2f8557=_0x2f85();let _0x58aa0b=_0x2f8557[_0x46ecf3];return _0x58aa0b;}export async function stopHook(_0x4a67b2){const _0x58eec1=_0x58aa,_0x1da273={'WcMwH':function(_0x41a9c4,_0x40750b){return _0x41a9c4(_0x40750b);},'micdl':function(_0x847e43,_0x877f35,_0x315431,_0xb85d62){return _0x847e43(_0x877f35,_0x315431,_0xb85d62);},'tuCYs':function(_0x149771,_0x504e6f){return _0x149771(_0x504e6f);},'wJpwv':function(_0x1ef5f3,_0x45fb8b){return _0x1ef5f3&&_0x45fb8b;},'Nnosf':'Stop','XpLIe':function(_0x595c6e,_0x567f8b){return _0x595c6e&&_0x567f8b;}},_0x1dcb26=await _0x1da273['WcMwH'](getEnabledHookContext,_0x4a67b2),_0x430e49=_0x1dcb26?.[_0x58eec1(0x1af)]??null;let _0x29e817=!![];if(!_0x430e49){await _0x1da273[_0x58eec1(0x19e)](trackStop,_0x430e49,![],_0x29e817);return;}try{const _0x5657eb=getSessionEntry(_0x430e49);if(!_0x5657eb){await trackStop(_0x430e49,!![],_0x29e817);return;}const _0x57460a=await getToken(),_0xd0f8ca='https://dashboard.ranger.net/features/'+_0x5657eb[_0x58eec1(0x19b)];let _0x51deed=null,_0x3a021f=![],_0x29b007=![];if(_0x57460a)try{const _0x2fd7e5=await _0x1da273['tuCYs'](getFeature,_0x5657eb[_0x58eec1(0x19b)]);_0x51deed=_0x2fd7e5[_0x58eec1(0x1a2)]??null;const _0x29669a=_0x2fd7e5['checklistItems'][_0x58eec1(0x1ab)](_0x5d4995=>_0x5d4995['sessionId']===_0x51deed);_0x3a021f=_0x29669a[_0x58eec1(0x1a9)](_0x1425ca=>_0x1425ca[_0x58eec1(0x19d)]!==_0x58eec1(0x1a8)&&_0x1425ca['status']!==_0x58eec1(0x1b2)&&_0x1425ca['status']!=='closed'&&_0x1425ca[_0x58eec1(0x19d)]!=='incomplete'),_0x29b007=_0x29669a[_0x58eec1(0x1a9)](_0x8b3166=>_0x8b3166['status']==='verification_in_progress');}catch{}if(_0x1da273[_0x58eec1(0x1a3)](_0x57460a,_0x51deed)&&_0x3a021f){if(!_0x29b007&&shouldShowStopReminder(_0x430e49)){const _0x21f1c1={'hookSpecificOutput':{'hookEventName':_0x1da273[_0x58eec1(0x1b4)],'additionalContext':_0x58eec1(0x1b3)+_0xd0f8ca}};console[_0x58eec1(0x1a7)](JSON[_0x58eec1(0x19a)](_0x21f1c1));}}if(_0x1da273[_0x58eec1(0x1a6)](_0x57460a,_0x51deed)&&!_0x3a021f)try{await concludeSession(_0x5657eb[_0x58eec1(0x19b)],_0x51deed);}catch{}await trackStop(_0x430e49,!![],_0x29e817);return;}catch{await trackStop(_0x430e49,!![],_0x29e817);return;}}function _0x2f85(){const _0x3054f1=['status','micdl','60sBFUYU','2kyqAmW','216397GXCKie','currentSessionId','wJpwv','3999288yyByyd','trackCommandEnd','XpLIe','log','verified','some','6wmAjJs','filter','trackCommandStart','100880uEZtXt','2367369WbrnMZ','sessionId','1602643WSQqzH','8090184CgzYyM','blocked','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','Nnosf','stringify','featureId','523281RXOKcI'];_0x2f85=function(){return _0x3054f1;};return _0x2f85();}async function trackStop(_0x226352,_0x4a6948,_0xd16de3){const _0x2c238d=_0x58aa,_0x5ebfcb={'rYtXl':function(_0x3c2b49,_0x47881c){return _0x3c2b49(_0x47881c);}};try{const _0x4061c0=_0x5ebfcb['rYtXl'](createTelemetryCollector,'hook:stop');await _0x4061c0[_0x2c238d(0x1ac)]({'sessionId':_0x226352??undefined,'hooksEnabled':_0x4a6948,'stopAllowed':_0xd16de3}),await _0x4061c0[_0x2c238d(0x1a5)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xb17b(_0x2b3b83,_0x4a7854){_0x2b3b83=_0x2b3b83-0x86;var _0x174eca=_0x174e();var _0xb17bb4=_0x174eca[_0x2b3b83];return _0xb17bb4;}(function(_0xaac6fd,_0x50fb65){var _0xcb2d5a=_0xb17b,_0x3fea25=_0xaac6fd();while(!![]){try{var _0x33541b=-parseInt(_0xcb2d5a(0x87))/0x1*(parseInt(_0xcb2d5a(0x86))/0x2)+-parseInt(_0xcb2d5a(0x88))/0x3+-parseInt(_0xcb2d5a(0x90))/0x4+-parseInt(_0xcb2d5a(0x8a))/0x5*(-parseInt(_0xcb2d5a(0x8c))/0x6)+-parseInt(_0xcb2d5a(0x8d))/0x7*(parseInt(_0xcb2d5a(0x8e))/0x8)+-parseInt(_0xcb2d5a(0x89))/0x9*(-parseInt(_0xcb2d5a(0x8f))/0xa)+parseInt(_0xcb2d5a(0x8b))/0xb;if(_0x33541b===_0x50fb65)break;else _0x3fea25['push'](_0x3fea25['shift']());}catch(_0x147f55){_0x3fea25['push'](_0x3fea25['shift']());}}}(_0x174e,0x96aed));function _0x174e(){var _0x534822=['2350443ALeLQb','9HYivuS','15tXxKCH','23338535WpAPgN','1232814IJfxko','3962pgOeiy','10928gnMKay','10855660uApJED','2500224KJtUoK','8PlJeyw','256192NKAMRS'];_0x174e=function(){return _0x534822;};return _0x174e();}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';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';
|