@ranger-testing/ranger-cli 3.0.1-alpha.f6aba6c-32 → 3.1.0
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 -0
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x535b26=_0x45e3;(function(_0x29a56f,_0x3d87ca){const _0x445c09=_0x45e3,_0xd36169=_0x29a56f();while(!![]){try{const _0x262c55=-parseInt(_0x445c09(0x1d1))/0x1+-parseInt(_0x445c09(0x192))/0x2*(-parseInt(_0x445c09(0x194))/0x3)+-parseInt(_0x445c09(0x164))/0x4+-parseInt(_0x445c09(0x119))/0x5+-parseInt(_0x445c09(0x1f0))/0x6+parseInt(_0x445c09(0x12a))/0x7+parseInt(_0x445c09(0x13b))/0x8;if(_0x262c55===_0x3d87ca)break;else _0xd36169['push'](_0xd36169['shift']());}catch(_0x6df96b){_0xd36169['push'](_0xd36169['shift']());}}}(_0x42fe,0xc012a));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x23437d 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=_0x345b65=>_0x535b26(0x13a)+_0x345b65+_0x535b26(0x147);function _0x42fe(){const _0x58290f=['\x20\x20\x20\x20\x20\x20Approved','domRef','tYKkk','terminalReason','Showing\x20','OjpYc','\x20in\x20progress','JlZyn','\x0aNo\x20feature\x20reviews\x20found.','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','reports','trim','\x20\x20\x20Completed:\x20','\x0aAvailable\x20scenarios:','\x0a✅\x20Scenario\x20updated','storage','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','canonicalFlow','totalCount','in_progress','toLocaleString','log','esCpp','\x20\x20\x20\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','status','FKPmx','point','1136506iVLMYT','description','offset','rzZdW','authorEmail','Current\x20session\x20not\x20found.','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','KftCN','eigVw','\x0a✅\x20Resumed\x20feature\x20review:\x20','toLocaleDateString','gitRepoUrl','\x20\x20\x20\x20\x20ID:\x20','timing','split','eHeQR','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','dashboardUrl','SBsIC','get','GbtSb','screenshot','sessionId','isInteger','\x0a✅\x20Report\x20generated:\x20','MrxNE','coordinates','\x0aGenerating\x20report...','canceledReason','\x20blocked','\x20\x20\x20Created:\x20','3602736YEDkqU','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','pipe','\x20\x20\x20Progress:\x20','spatial','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','Please\x20finish\x20your\x20review\x20first:','stdin','toFixed','lOCic','HhCTQ','feedback-images','IZFIj','assets','all','\x20verified','limit','\x20(v','VdWPw','5793315ttoyVH','stats','\x0a✅\x20Feature\x20review\x20created:\x20','DRIbK','lgmte','\x20\x20\x20Description:\x20','error','approved','incompleteItems','has','includeDeleted','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','checklistItems','numeric','xawiG','currentSessionId','0|3|1|4|2|5','1570380WauuaJ','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20at\x20[','authorName','utf-8','FZeYw','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x20\x20\x20Updated\x20branch\x20to:\x20','GWJPz','\x20/\x20','GNvvl','kzIwq','JOLJm','/api/v1/mcp/browser-sessions/','pUEKV','\x0a✅\x20Scenario\x20added','\x1b[1m','35566960KAvOcb','slice','MOILE','Rjppf','CtyIV','completed','AqXNN','NkFmR','map','incomplete','uumJu','version','\x1b[0m','en-US','crpPW','\x20\x20\x20ID:\x20','CLAUDE_SESSION_ID','screenshotUrls','find','name','Step\x20','notes','YKNiF','exit','replace','\x20\x20\x20Branch:\x20','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Screenshot\x20','.png','\x0a\x20\x20\x20Scenarios:','pendingItems','closed','NsvVF','jlynt','iVbWq','scenario','No\x20active\x20session\x20for\x20this\x20feature\x20review.','selected','yxhtW','stdout','Next\x20page:\x20ranger\x20list\x20--offset\x20','5451404OlvxlJ','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','PeqqI','items','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','comment_','UXfPB','filter','vfcUc','join','list','keqWf','FbQrD','zMixH','tomEy','pop','blockedReason','agentResponse','Scenario\x20','ofxgi','browserSessionId','type','env','DbqDu','nUsoH','qOHgK','\x0a⚠️\x20\x20','push','HuSSe','completedAt','eQKkP','OXMoI','idtrE','\x20\x20\x20\x20\x20\x20Cancelled:\x20',':\x20\x22','opQvy','RANGER_TEST_USERNAME','verified','GVJtz','textContent','OwzfZ','nwRFs','sSIqP','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','VAlPq','nGZOQ','964MpCpcS','currentBranch','2334dnlNfk','gAhbi','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','submittedAt','latestReview','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','qYwDA','scenarios','lKvMd','No\x20sessions\x20found.','parentItemId','\x20scenarios.','kVJjC','gitBranch','\x20of\x20','createdAt','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','length','\x20\x20\x20▶️\x20Started\x20session\x20','tPhUZ','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','/artifacts/','element','TttzP','github.com/','location','woyVg','VoOwD','unaddressedComments','\x20—\x20','assetUrl','selector','Cannot\x20conclude\x20session\x20with\x20status:\x20'];_0x42fe=function(){return _0x58290f;};return _0x42fe();}function getGitRepoUrl(){const _0x51ccea=_0x535b26,_0x5d0fe1={'OXMoI':'utf-8','kumOK':_0x51ccea(0x1f2)};try{const _0x1fbb61=execSync('git\x20remote\x20get-url\x20origin',{'encoding':_0x5d0fe1[_0x51ccea(0x183)],'stdio':[_0x5d0fe1['kumOK'],_0x5d0fe1['kumOK'],_0x5d0fe1['kumOK']]})[_0x51ccea(0x1c0)]();return _0x1fbb61[_0x51ccea(0x153)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x51ccea(0x1ac))[_0x51ccea(0x153)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x332dba=_0x535b26,_0x3c1396={'MrxNE':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','Rjppf':_0x332dba(0x12e),'lgmte':'pipe'};try{return execSync(_0x3c1396[_0x332dba(0x1ea)],{'encoding':_0x3c1396[_0x332dba(0x13e)],'stdio':[_0x3c1396[_0x332dba(0x11d)],_0x3c1396['lgmte'],_0x3c1396[_0x332dba(0x11d)]]})[_0x332dba(0x1c0)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0xba93d8=_0x535b26,_0x312c3a={'DhxgG':function(_0x3a5b69,_0x4a6b90,_0x172c85){return _0x3a5b69(_0x4a6b90,_0x172c85);},'MOILE':_0xba93d8(0x12e)},_0x19e30b=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x19e30b))return null;try{const _0x119f9c=await _0x312c3a['DhxgG'](readFile,_0x19e30b,_0x312c3a[_0xba93d8(0x13d)]);return _0x119f9c['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x441103){const _0x29e374=_0x535b26,_0x368537={'nwRFs':function(_0x491c4b,_0x314fd7){return _0x491c4b(_0x314fd7);},'TFXPu':function(_0x1e9595,_0x53c978,_0x3a2d44){return _0x1e9595(_0x53c978,_0x3a2d44);},'lgXkP':function(_0x3a03fe,_0x2cca55,_0x5ea28e,_0x1e7aca){return _0x3a03fe(_0x2cca55,_0x5ea28e,_0x1e7aca);},'scTtQ':'utf-8'},_0x19c4d0=getRangerDir(),_0x1de484=join(_0x19c4d0,ACTIVE_FEATURE_FILE);!_0x368537[_0x29e374(0x18d)](existsSync,_0x19c4d0)&&await _0x368537['TFXPu'](mkdir,_0x19c4d0,{'recursive':!![]}),await _0x368537['lgXkP'](writeFile,_0x1de484,_0x441103,_0x368537['scTtQ']);}function getProgressDisplay(_0x5d9b96){const _0x42f98c=_0x535b26,_0x31376e={'jJvMG':function(_0xfa2ee9,_0x32dbba){return _0xfa2ee9+_0x32dbba;},'lKvMd':function(_0x499fd8,_0x55348a){return _0x499fd8*_0x55348a;},'JOLJm':function(_0x2e8e28,_0xccb110){return _0x2e8e28/_0xccb110;},'GVJtz':function(_0x2c1ef5,_0x1be210){return _0x2c1ef5>_0x1be210;}},_0x91062=_0x5d9b96['verifiedItems']||0x0,_0x51a99d=_0x5d9b96['verificationInProgressItems']||0x0,_0x3dff0f=_0x5d9b96['blockedItems']||0x0,_0x2022a0=_0x5d9b96[_0x42f98c(0x121)]||0x0,_0x399158=_0x5d9b96[_0x42f98c(0x159)]||0x0,_0x5e5af3=_0x31376e['jJvMG'](_0x91062+_0x51a99d+_0x3dff0f+_0x2022a0,_0x399158);if(_0x5e5af3===0x0)return'-';const _0x297ee1=0xa,_0x487c43=Math['round'](_0x31376e[_0x42f98c(0x19c)](_0x31376e[_0x42f98c(0x136)](_0x91062,_0x5e5af3),_0x297ee1)),_0x58bc1a='█'['repeat'](_0x487c43)+'░'['repeat'](_0x297ee1-_0x487c43),_0x335276=[];if(_0x31376e['GVJtz'](_0x3dff0f,0x0))_0x335276['push'](_0x3dff0f+_0x42f98c(0x1ee));if(_0x31376e[_0x42f98c(0x18a)](_0x2022a0,0x0))_0x335276['push'](_0x2022a0+'\x20incomplete');if(_0x51a99d>0x0)_0x335276[_0x42f98c(0x17f)](_0x51a99d+_0x42f98c(0x1bb));const _0xec9c8e=_0x31376e['GVJtz'](_0x335276[_0x42f98c(0x1a5)],0x0)?'\x20('+_0x335276[_0x42f98c(0x16d)](',\x20')+')':'';return _0x58bc1a+'\x20'+_0x91062+'/'+_0x5e5af3+_0x42f98c(0x115)+_0xec9c8e;}function getCurrentSessionItems(_0x1a361e,_0x2e9b05){const _0x2e16e7=_0x535b26;if(!_0x1a361e['currentSessionId'])return _0x2e9b05['filter'](_0x7f1a8d=>!_0x7f1a8d[_0x2e16e7(0x1e7)]);return _0x2e9b05[_0x2e16e7(0x16b)](_0x14fccd=>_0x14fccd['sessionId']===_0x1a361e['currentSessionId']||!_0x14fccd['sessionId']);}function displayFeature(_0x6785c5,_0x2d505b){const _0x11b5e9=_0x535b26,_0x4249cb={'tomEy':function(_0x90deaf,_0x4ff572){return _0x90deaf(_0x4ff572);},'GNvvl':function(_0x47ca54,_0x4dcef9){return _0x47ca54>_0x4dcef9;},'GTwlE':_0x11b5e9(0x158),'yPpVh':function(_0x248c85,_0x45c08d){return _0x248c85<_0x45c08d;},'nGZOQ':'closed','HhCTQ':function(_0x5c5580,_0x243e40){return _0x5c5580===_0x243e40;},'eQKkP':'blocked','nsXoD':'verification_in_progress','plZqS':function(_0x3755c1,_0x481c1b){return _0x3755c1>_0x481c1b;},'OegJy':function(_0x58bc90,_0x1e079f){return _0x58bc90!==_0x1e079f;},'DSKDq':function(_0x6e4727,_0x58fa29){return _0x6e4727!==_0x58fa29;},'EmcCw':'\x20[has\x20reviewer\x20feedback]','NkFmR':function(_0x565670,_0x40475f){return _0x565670+_0x40475f;},'rzZdW':function(_0xc3ee27,_0x261cb6){return _0xc3ee27===_0x261cb6;},'PeqqI':'incomplete'};console['log']('\x0a'+_0x6785c5['name']+'\x20('+_0x6785c5[_0x11b5e9(0x1e2)]+')');_0x6785c5['stats']&&console['log']('\x20\x20\x20Progress:\x20'+_0x4249cb[_0x11b5e9(0x172)](getProgressDisplay,_0x6785c5['stats']));_0x6785c5['description']&&console['log'](_0x11b5e9(0x11e)+_0x6785c5['description']);_0x6785c5['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x6785c5[_0x11b5e9(0x1dc)]);_0x6785c5['gitBranch']&&console[_0x11b5e9(0x1ca)](_0x11b5e9(0x154)+_0x6785c5[_0x11b5e9(0x1a1)]);console[_0x11b5e9(0x1ca)]('\x20\x20\x20Created:\x20'+new Date(_0x6785c5['createdAt'])[_0x11b5e9(0x1c9)]());_0x6785c5[_0x11b5e9(0x181)]&&console['log'](_0x11b5e9(0x1c1)+new Date(_0x6785c5['completedAt'])[_0x11b5e9(0x1c9)]());if(_0x2d505b&&_0x4249cb[_0x11b5e9(0x134)](_0x2d505b['length'],0x0)){console['log'](_0x4249cb['GTwlE']);for(let _0xc72c6a=0x0;_0x4249cb['yPpVh'](_0xc72c6a,_0x2d505b['length']);_0xc72c6a++){const _0x5c26b2=_0x2d505b[_0xc72c6a];let _0x2191bd;if(_0x5c26b2['status']===_0x4249cb['nGZOQ']&&_0x4249cb[_0x11b5e9(0x1fa)](_0x5c26b2['terminalReason'],'approved'))_0x2191bd='✅';else{if(_0x4249cb[_0x11b5e9(0x1fa)](_0x5c26b2[_0x11b5e9(0x1ce)],_0x11b5e9(0x189)))_0x2191bd='🟢';else{if(_0x5c26b2['status']===_0x11b5e9(0x144))_0x2191bd='🟠';else{if(_0x5c26b2['status']===_0x4249cb[_0x11b5e9(0x182)])_0x2191bd='🛑';else{if(_0x4249cb[_0x11b5e9(0x1fa)](_0x5c26b2[_0x11b5e9(0x1ce)],'closed'))_0x2191bd='⛔';else _0x4249cb[_0x11b5e9(0x1fa)](_0x5c26b2[_0x11b5e9(0x1ce)],_0x4249cb['nsXoD'])?_0x2191bd='⏳':_0x2191bd='⬜';}}}}const _0x4e1266=_0x4249cb[_0x11b5e9(0x134)](_0x5c26b2['version'],0x1)?'\x20(v'+_0x5c26b2[_0x11b5e9(0x146)]+')':'',_0x13983e=_0x4249cb['plZqS'](_0x5c26b2['version'],0x1)&&_0x5c26b2[_0x11b5e9(0x19e)]&&_0x4249cb['OegJy'](_0x5c26b2[_0x11b5e9(0x1ce)],_0x4249cb[_0x11b5e9(0x191)])&&_0x4249cb['DSKDq'](_0x5c26b2[_0x11b5e9(0x1ce)],'verified')?_0x4249cb['EmcCw']:'';console['log']('\x20\x20\x20'+_0x4249cb[_0x11b5e9(0x142)](_0xc72c6a,0x1)+'.\x20'+_0x2191bd+'\x20'+_0x5c26b2[_0x11b5e9(0x1d2)]+_0x4e1266+_0x13983e);_0x4249cb['rzZdW'](_0x5c26b2[_0x11b5e9(0x1ce)],'blocked')&&_0x5c26b2[_0x11b5e9(0x174)]&&console[_0x11b5e9(0x1ca)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x5c26b2['blockedReason']);_0x5c26b2['status']===_0x4249cb[_0x11b5e9(0x166)]&&_0x5c26b2['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x5c26b2['incompleteReason']);if(_0x4249cb[_0x11b5e9(0x1d4)](_0x5c26b2['status'],_0x4249cb['nGZOQ'])&&_0x5c26b2[_0x11b5e9(0x1b8)]===_0x11b5e9(0x120))console['log'](_0x11b5e9(0x1b5));else _0x5c26b2[_0x11b5e9(0x1ce)]===_0x4249cb[_0x11b5e9(0x191)]&&_0x5c26b2[_0x11b5e9(0x1ed)]&&console['log'](_0x11b5e9(0x185)+_0x5c26b2[_0x11b5e9(0x1ed)]);}}}export async function featureCreate(_0x18aa31,_0x4ac916){const _0x2a1a88=_0x535b26,_0x32085c={'VpfxT':function(_0x4d52fc){return _0x4d52fc();},'tmhaK':function(_0x2304ad,_0x8b3c87){return _0x2304ad===_0x8b3c87;},'AqXNN':function(_0x5e36ca,_0x259d50){return _0x5e36ca(_0x259d50);},'KWWOC':function(_0x18535b,_0x47961f){return _0x18535b(_0x47961f);},'fEfsv':function(_0x1c2f46,_0x37ed8c,_0x383916){return _0x1c2f46(_0x37ed8c,_0x383916);}},{envNames:_0x40bdb4}=await _0x32085c['VpfxT'](getEnvNames);if(_0x32085c['tmhaK'](_0x40bdb4['length'],0x0)&&!process[_0x2a1a88(0x17a)][_0x2a1a88(0x188)]){let _0x13f098=0x0;try{_0x13f098=(await listCloudProfiles())[_0x2a1a88(0x1a5)];}catch{_0x13f098=0x1;}_0x13f098===0x0&&console['warn']('\x0a'+_0x32085c[_0x2a1a88(0x141)](formatProfileRequiredMessage,_0x5b7e9e=>bold(_0x5b7e9e)));}const _0x429712=_0x4ac916[_0x2a1a88(0x19b)]?_0x4ac916[_0x2a1a88(0x19b)]['map'](_0x8ef7cc=>_0x8ef7cc[_0x2a1a88(0x1c0)]()):[],_0x29c7cd=getGitRepoUrl(),_0x4c6bc9=_0x32085c['VpfxT'](getGitBranch);console[_0x2a1a88(0x1ca)]('\x0aCreating\x20feature\x20review...');const _0x60d5f=await _0x32085c['AqXNN'](createFeature,{'name':_0x18aa31,'description':_0x4ac916['description'],'checklist':_0x429712,'gitRepoUrl':_0x29c7cd,'gitBranch':_0x4c6bc9});await _0x32085c['KWWOC'](setActiveFeatureId,_0x60d5f['id']),await tryStartCurrentSession(_0x60d5f['id']);const _0xc12a49=process[_0x2a1a88(0x17a)]['CLAUDE_SESSION_ID'];_0xc12a49&&_0x32085c['fEfsv'](registerSession,_0xc12a49,_0x60d5f['id']),console[_0x2a1a88(0x1ca)](_0x2a1a88(0x11b)+_0x60d5f['id']),displayFeature(_0x60d5f,_0x60d5f['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x199675){const _0x309956=_0x535b26,_0x406bcb={'lOCic':function(_0x3c9b47,_0x458ef1){return _0x3c9b47(_0x458ef1);},'VNdKA':function(_0x430ff6,_0x5d0872){return _0x430ff6===_0x5d0872;},'crpPW':function(_0x1e3e8a,_0x500950){return _0x1e3e8a>_0x500950;},'JsnJv':function(_0x51a228,_0x41c94f){return _0x51a228(_0x41c94f);},'DbqDu':function(_0x18873b,_0x5a5cfe){return _0x18873b+_0x5a5cfe;},'qYwDA':function(_0x42160f,_0xc27b7f){return _0x42160f<_0xc27b7f;},'JlZyn':function(_0x4c391f,_0x40224c){return _0x4c391f!==_0x40224c;},'KBOge':'\x20--current-branch'},_0x19b6b4={'limit':_0x199675['limit']??0xa,'offset':_0x199675[_0x309956(0x1d3)]??0x0,'includeDeleted':_0x199675[_0x309956(0x123)]};_0x199675[_0x309956(0x193)]&&(_0x19b6b4[_0x309956(0x1dc)]=getGitRepoUrl(),_0x19b6b4[_0x309956(0x1a1)]=getGitBranch());const _0x1d469d=await _0x406bcb[_0x309956(0x1f9)](listFeatures,_0x19b6b4);if(_0x406bcb['VNdKA'](_0x1d469d['items'][_0x309956(0x1a5)],0x0)){console['log'](_0x309956(0x1bd));return;}const _0x1f095a=_0x406bcb[_0x309956(0x149)](_0x1d469d[_0x309956(0x1c7)],_0x1d469d['items'][_0x309956(0x1a5)])?_0x309956(0x1b9)+_0x1d469d[_0x309956(0x167)]['length']+_0x309956(0x1a2)+_0x1d469d['totalCount']:_0x1d469d[_0x309956(0x1c7)]+'\x20feature\x20review(s)\x20found';console[_0x309956(0x1ca)]('\x0a'+_0x1f095a+':\x0a');for(const _0x1cade9 of _0x1d469d['items']){const _0xa89112='4|0|2|1|5|3'[_0x309956(0x1df)]('|');let _0x1b6d01=0x0;while(!![]){switch(_0xa89112[_0x1b6d01++]){case'0':console['log'](_0x309956(0x14a)+_0x1cade9['id']);continue;case'1':_0x1cade9[_0x309956(0x1a1)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x1cade9['gitBranch']);continue;case'2':_0x1cade9['stats']&&console[_0x309956(0x1ca)](_0x309956(0x1f3)+_0x406bcb['JsnJv'](getProgressDisplay,_0x1cade9['stats']));continue;case'3':console['log']('');continue;case'4':console[_0x309956(0x1ca)](''+_0x1cade9['name']);continue;case'5':console['log']('\x20\x20\x20Created:\x20'+new Date(_0x1cade9[_0x309956(0x1a3)])[_0x309956(0x1db)]());continue;}break;}}const _0x22c4e5=_0x19b6b4[_0x309956(0x116)]??0xa,_0x1e61ae=_0x406bcb[_0x309956(0x17b)](_0x19b6b4[_0x309956(0x1d3)]??0x0,_0x1d469d['items'][_0x309956(0x1a5)]);if(_0x406bcb[_0x309956(0x19a)](_0x1e61ae,_0x1d469d['totalCount'])){const _0x4ef539=_0x406bcb[_0x309956(0x1bc)](_0x22c4e5,0xa)?'\x20--limit\x20'+_0x22c4e5:'',_0xed39c3=_0x199675[_0x309956(0x193)]?_0x406bcb['KBOge']:'',_0x492733=_0x199675[_0x309956(0x123)]?'\x20--include-deleted':'';console['log'](_0x309956(0x163)+_0x1e61ae+_0x4ef539+_0xed39c3+_0x492733);}}export async function featureShow(_0x5d580d){const _0x57d204=_0x535b26,_0x3a76f6={'pUEKV':function(_0x49dc10,_0x55647d){return _0x49dc10(_0x55647d);},'olLho':function(_0x3def40,_0x289a57,_0x41e851){return _0x3def40(_0x289a57,_0x41e851);}},_0x1252b3=_0x5d580d||await getActiveFeatureId();if(!_0x1252b3)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 _0x11bb86=await _0x3a76f6[_0x57d204(0x138)](getFeature,_0x1252b3);_0x3a76f6['olLho'](displayFeature,_0x11bb86,_0x11bb86['checklistItems']);}export async function featureResume(_0x4de15d){const _0x18e071=_0x535b26,_0x335692={'kzIwq':function(_0x22f275,_0x27543b){return _0x22f275(_0x27543b);},'GWJPz':function(_0x3344fd,_0x645632){return _0x3344fd(_0x645632);},'eigVw':function(_0x3dd1fb,_0x32e71f){return _0x3dd1fb!==_0x32e71f;},'FZeYw':function(_0x339ff3,_0x20b903,_0x4e4f06){return _0x339ff3(_0x20b903,_0x4e4f06);},'FbQrD':function(_0x37ce8c){return _0x37ce8c();},'kYkvS':function(_0x42adb2,_0xf7737b){return _0x42adb2&&_0xf7737b;},'wHubD':'Not\x20in\x20a\x20git\x20repository.','qOHgK':'any','ufYEc':function(_0x46490b,_0x1dc797){return _0x46490b(_0x1dc797);},'ZJUVh':function(_0x236497,_0x53cf1b){return _0x236497===_0x53cf1b;},'esCpp':_0x18e071(0x165),'fHHhh':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','ydnxJ':_0x18e071(0x16e),'sSIqP':_0x18e071(0x1f5)};if(_0x4de15d){const _0xba1ba5=await _0x335692[_0x18e071(0x135)](getFeature,_0x4de15d);await _0x335692['GWJPz'](setActiveFeatureId,_0xba1ba5['id']);const _0x5b9485=getGitBranch();_0x5b9485&&_0x335692[_0x18e071(0x1d9)](_0x5b9485,_0xba1ba5[_0x18e071(0x1a1)])&&(await _0x335692['FZeYw'](updateFeature,_0xba1ba5['id'],{'gitBranch':_0x5b9485}),console[_0x18e071(0x1ca)](_0x18e071(0x131)+_0x5b9485));console[_0x18e071(0x1ca)](_0x18e071(0x1da)+_0xba1ba5[_0x18e071(0x14e)]+'\x20('+_0xba1ba5['id']+')'),await tryStartCurrentSession(_0xba1ba5['id']);const _0x46a878=process[_0x18e071(0x17a)]['CLAUDE_SESSION_ID'];_0x46a878&®isterSession(_0x46a878,_0xba1ba5['id']);_0x335692['FZeYw'](displayFeature,_0xba1ba5,_0xba1ba5[_0x18e071(0x125)]),await printFeedbackNudge(_0xba1ba5['id']);return;}const _0x20588b=_0x335692[_0x18e071(0x170)](getGitRepoUrl),_0x21695e=getGitBranch();if(_0x335692['kYkvS'](!_0x20588b,!_0x21695e))throw new Error(_0x335692['wHubD']);console['log'](_0x18e071(0x168)+(_0x20588b||'any')+_0x18e071(0x133)+(_0x21695e||_0x335692[_0x18e071(0x17d)])+'...');const _0x47fdb9=await _0x335692['ufYEc'](listFeatures,{'gitRepoUrl':_0x20588b,'gitBranch':_0x21695e}),_0xba7ad5=_0x47fdb9[_0x18e071(0x167)][_0x18e071(0x16b)](_0x3db1ba=>_0x3db1ba[_0x18e071(0x1ce)]?_0x3db1ba['status']!=='verified':!_0x3db1ba[_0x18e071(0x181)]);if(_0x335692['ZJUVh'](_0xba7ad5[_0x18e071(0x1a5)],0x0)){console[_0x18e071(0x1ca)](_0x335692[_0x18e071(0x1cb)]),console['log'](_0x18e071(0x12b));return;}let _0x2f3dba;if(_0xba7ad5['length']===0x1)_0x2f3dba=_0xba7ad5[0x0];else{const _0x1b42f0=process[_0x18e071(0x1f7)]['isTTY']&&process['stdout']['isTTY'];if(!_0x1b42f0){console[_0x18e071(0x1ca)](_0x335692['fHHhh']);for(const _0x32e3f9 of _0xba7ad5){console['log']('\x20\x20'+_0x32e3f9['name']),console['log'](_0x18e071(0x1dd)+_0x32e3f9['id']),_0x32e3f9['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x32e3f9[_0x18e071(0x11a)])),_0x32e3f9[_0x18e071(0x1a1)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x32e3f9['gitBranch']);}throw new Error(_0x18e071(0x18f));}const {selected:_0x564e9f}=await _0x23437d['prompt']([{'type':_0x335692['ydnxJ'],'name':_0x18e071(0x160),'message':_0x335692[_0x18e071(0x18e)],'choices':_0xba7ad5['map'](_0x88a1c0=>({'name':_0x88a1c0[_0x18e071(0x14e)]+'\x20('+_0x88a1c0['id']+')','value':_0x88a1c0['id']}))}]);_0x2f3dba=_0xba7ad5['find'](_0x28c514=>_0x28c514['id']===_0x564e9f);}await setActiveFeatureId(_0x2f3dba['id']);_0x21695e&&_0x21695e!==_0x2f3dba[_0x18e071(0x1a1)]&&(await updateFeature(_0x2f3dba['id'],{'gitBranch':_0x21695e}),console['log'](_0x18e071(0x131)+_0x21695e));console[_0x18e071(0x1ca)](_0x18e071(0x1da)+_0x2f3dba['name']+'\x20('+_0x2f3dba['id']+')'),await tryStartCurrentSession(_0x2f3dba['id']);const _0x3a4948=await getFeature(_0x2f3dba['id']),_0x34ab0a=process['env'][_0x18e071(0x14b)];_0x34ab0a&&_0x335692[_0x18e071(0x12f)](registerSession,_0x34ab0a,_0x3a4948['id']),displayFeature(_0x3a4948,_0x3a4948[_0x18e071(0x125)]),await _0x335692[_0x18e071(0x132)](printFeedbackNudge,_0x3a4948['id']);}async function printFeedbackNudge(_0x453dc3){const _0x1192b9=_0x535b26,_0x2bfe90={'KftCN':function(_0x180e52,_0x426ac5){return _0x180e52(_0x426ac5);},'eJVvu':function(_0x1eedf0,_0x26643e,_0x5b55ae){return _0x1eedf0(_0x26643e,_0x5b55ae);},'AHjuW':function(_0x1f158c,_0x128629){return _0x1f158c>_0x128629;},'tPhUZ':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x4d7aeb}=await _0x2bfe90[_0x1192b9(0x1d8)](getActionItems,_0x453dc3);let _0x3c4e0b=0x0,_0x413c70=0x0;for(const _0x59a563 of _0x4d7aeb){const _0x30445e=await _0x2bfe90['eJVvu'](getItemFeedback,_0x453dc3,_0x59a563['id']);_0x2bfe90['AHjuW'](_0x30445e['unaddressedComments'][_0x1192b9(0x1a5)],0x0)&&(_0x3c4e0b+=_0x30445e['unaddressedComments'][_0x1192b9(0x1a5)],_0x413c70++);}_0x3c4e0b>0x0&&(console[_0x1192b9(0x1ca)](_0x1192b9(0x17e)+_0x3c4e0b+_0x1192b9(0x1d7)+_0x413c70+'\x20scenario(s).'),console['log'](_0x2bfe90[_0x1192b9(0x1a7)]));}catch{}}async function tryStartCurrentSession(_0xbffe62){const _0x22c097=_0x535b26,_0xfb069c={'qcJwH':function(_0x51c1c1,_0xf02b8b){return _0x51c1c1(_0xf02b8b);}};try{const {sessions:_0x10fcc0}=await _0xfb069c['qcJwH'](listFeatureSessions,_0xbffe62),_0x5ccfd0=_0x10fcc0[_0x22c097(0x14d)](_0x581d5f=>_0x581d5f[_0x22c097(0x1ce)]==='ready');_0x5ccfd0&&(await startSession(_0xbffe62,_0x5ccfd0['id']),console[_0x22c097(0x1ca)](_0x22c097(0x1a6)+_0x5ccfd0['iteration']));}catch{}}export async function featureReport(_0x4d855c,_0xc6e7c3){const _0x4e8b8d=_0x535b26,_0x5993dc={'uumJu':function(_0xb9b41){return _0xb9b41();},'GbtSb':_0x4e8b8d(0x1cd),'gwXST':function(_0x1b3eca,_0x2d01cd,_0x14047d){return _0x1b3eca(_0x2d01cd,_0x14047d);},'nMncS':function(_0x5599e6,_0x2deffa,_0x3f983b){return _0x5599e6(_0x2deffa,_0x3f983b);},'czmRO':function(_0x2506b4,_0x541b43){return _0x2506b4(_0x541b43);},'UXfPB':'utf-8'},_0x3c2021=_0x4d855c||await _0x5993dc[_0x4e8b8d(0x145)](getActiveFeatureId);if(!_0x3c2021)throw new Error(_0x5993dc[_0x4e8b8d(0x1e5)]);console[_0x4e8b8d(0x1ca)](_0x4e8b8d(0x1ec));const _0x564ddc=await _0x5993dc['gwXST'](getFeatureReportMarkdown,_0x3c2021,{'style':_0xc6e7c3['style']}),_0x1ee8e1=_0xc6e7c3['output']||join(getRangerDir(),_0x4e8b8d(0x1bf),_0x3c2021+'.md'),_0x3f7964=_0x5993dc['nMncS'](join,_0x1ee8e1,'..');!_0x5993dc['czmRO'](existsSync,_0x3f7964)&&await mkdir(_0x3f7964,{'recursive':!![]}),await writeFile(_0x1ee8e1,_0x564ddc,_0x5993dc[_0x4e8b8d(0x16a)]),console['log'](_0x4e8b8d(0x1e9)+_0x1ee8e1);}function getScenarioResult(_0x4b0ed7){const _0x4fbe53=_0x535b26,_0xae8055={'DJKhs':function(_0x26506f,_0x2b9a76){return _0x26506f===_0x2b9a76;},'oRrYP':_0x4fbe53(0x15a),'DRIbK':function(_0x82a13f,_0x5eb3dc){return _0x82a13f===_0x5eb3dc;}};if(_0xae8055['DJKhs'](_0x4b0ed7[_0x4fbe53(0x1ce)],_0x4fbe53(0x15a)))return _0x4b0ed7[_0x4fbe53(0x1b8)]??_0xae8055['oRrYP'];if(_0xae8055[_0x4fbe53(0x11c)](_0x4b0ed7[_0x4fbe53(0x1ce)],'verification_in_progress'))return _0x4fbe53(0x1c8);return _0x4b0ed7['status'];}function getScenarioRationale(_0x21e58e,_0xbb8528){const _0xd77249=_0x535b26,_0x42c5f3={'YKNiF':_0xd77249(0x129)},_0x49e6c9=_0x42c5f3[_0xd77249(0x151)][_0xd77249(0x1df)]('|');let _0x162a13=0x0;while(!![]){switch(_0x49e6c9[_0x162a13++]){case'0':if(_0xbb8528)return _0xbb8528;continue;case'1':if(_0x21e58e['incompleteReason'])return _0x21e58e['incompleteReason'];continue;case'2':if(_0x21e58e['notes'])return _0x21e58e[_0xd77249(0x150)];continue;case'3':if(_0x21e58e[_0xd77249(0x174)])return _0x21e58e[_0xd77249(0x174)];continue;case'4':if(_0x21e58e[_0xd77249(0x1ed)])return _0x21e58e['canceledReason'];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0x27a8e8,_0x3c0a5c){const _0x2c95ae=_0x535b26,_0x23e54b={'uYobW':function(_0x39b553){return _0x39b553();},'nUsoH':_0x2c95ae(0x1cd),'JODvn':function(_0x15d400,_0x525e78){return _0x15d400(_0x525e78);},'VoOwD':function(_0x4db932,_0x56e9b7){return _0x4db932===_0x56e9b7;},'CtyIV':_0x2c95ae(0x196),'roXYx':function(_0x547a6f,_0x1c1428){return _0x547a6f>_0x1c1428;},'FKPmx':_0x2c95ae(0x1f1)},_0xd77d29=_0x27a8e8||await _0x23e54b['uYobW'](getActiveFeatureId);if(!_0xd77d29)throw new Error(_0x23e54b[_0x2c95ae(0x17c)]);const _0x3d88f1=await _0x23e54b['JODvn'](getFeature,_0xd77d29),_0x1ae459=_0x3d88f1['checklistItems']||[],_0x3c0d79=getCurrentSessionItems(_0x3d88f1,_0x1ae459);_0x23e54b[_0x2c95ae(0x1af)](_0x3c0d79['length'],0x0)&&(console[_0x2c95ae(0x11f)](_0x23e54b[_0x2c95ae(0x13f)]),process['exit'](0x1));const _0x4263b1=_0x3c0a5c['excludeScenarios']??[],_0x5324a5=_0x4263b1[_0x2c95ae(0x16b)](_0x22c07e=>!Number[_0x2c95ae(0x1e8)](_0x22c07e)||_0x22c07e<0x1||_0x22c07e>_0x3c0d79['length']);if(_0x23e54b['roXYx'](_0x5324a5[_0x2c95ae(0x1a5)],0x0)){console['error'](_0x2c95ae(0x1be)+_0x5324a5[_0x2c95ae(0x16d)](',\x20')),console['log'](_0x2c95ae(0x1c2));for(let _0x5505b2=0x0;_0x5505b2<_0x3c0d79['length'];_0x5505b2++){console[_0x2c95ae(0x1ca)]('\x20\x20'+(_0x5505b2+0x1)+'.\x20'+_0x3c0d79[_0x5505b2]['description']);}process[_0x2c95ae(0x152)](0x1);}const _0x21bd43=new Set(_0x4263b1['map'](_0x519de2=>_0x519de2-0x1)),_0x1d339b=_0x3c0d79[_0x2c95ae(0x16b)]((_0xd1de50,_0x326b83)=>!_0x21bd43[_0x2c95ae(0x122)](_0x326b83));_0x1d339b[_0x2c95ae(0x1a5)]===0x0&&(console[_0x2c95ae(0x11f)](_0x23e54b[_0x2c95ae(0x1cf)]),process[_0x2c95ae(0x152)](0x1));if(_0x3c0a5c['json'])await outputJsonReport(_0xd77d29,_0x3d88f1,_0x1d339b);else{const _0x371f81=await getFeatureReportMarkdown(_0xd77d29,{'itemIds':_0x1d339b['map'](_0x464fbe=>_0x464fbe['id'])});process[_0x2c95ae(0x162)]['write'](_0x371f81['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x30355c,_0xa235af,_0x57fb57){const _0x13c03e=_0x535b26,_0x2f6234={'AZGOA':function(_0x5496bf,_0x41c230){return _0x5496bf(_0x41c230);},'SBsIC':function(_0x169715,_0x3307b3){return _0x169715===_0x3307b3;},'NtJOs':function(_0x11984b,_0x18e6f5){return _0x11984b+_0x18e6f5;}},_0x5a999f=getApiBaseUrl(),_0x372573=await getFeatureReport(_0x30355c),_0x3e828c=new Map(_0x372573[_0x13c03e(0x125)][_0x13c03e(0x143)](_0x50e59f=>[_0x50e59f['id'],_0x50e59f])),_0x35c815=await Promise[_0x13c03e(0x1fe)](_0x57fb57['map'](async _0x18dfc1=>{const _0x4da64d=_0x13c03e,_0x3733a2=_0x3e828c[_0x4da64d(0x1e4)](_0x18dfc1['id']),_0x5a4cc8=_0x3733a2?.['linkedSession']??null;let _0xfa96cf=[];if(_0x18dfc1['browserSessionId'])try{const {steps:_0x2d9e7e}=await _0x2f6234['AZGOA'](getBrowserSessionSteps,_0x18dfc1[_0x4da64d(0x178)]);_0x2d9e7e[_0x4da64d(0x1a5)]>0x0&&(_0xfa96cf=_0x2d9e7e[_0x4da64d(0x143)](_0x2b815d=>{const _0x381677=_0x4da64d,_0x2a5d5a=_0x2b815d[_0x381677(0x1fd)]['find'](_0x559100=>_0x559100['assetType']===_0x381677(0x1e6)&&_0x559100[_0x381677(0x1de)]==='after')??_0x2b815d['assets']['find'](_0x4c7618=>_0x4c7618['assetType']==='screenshot');let _0x29305c=null,_0x3053c0=null;if(_0x2a5d5a){const _0x4d140d=_0x2a5d5a[_0x381677(0x1c4)][_0x381677(0x1ad)][_0x381677(0x1df)]('/')[_0x381677(0x173)]();_0x29305c=_0x5a999f+_0x381677(0x137)+_0x18dfc1['browserSessionId']+_0x381677(0x1a9)+_0x4d140d,_0x4d140d&&(_0x3053c0=_0x4d140d['replace'](/\.\w+$/,'')[_0x381677(0x153)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x3053c0||_0x2b815d[_0x381677(0x1d2)]||_0x2b815d['stepName']||_0x381677(0x14f)+_0x2b815d['position'],'screenshot':_0x29305c,'is_key_step':_0x2b815d['isKeyStep']};}));}catch{}return _0x2f6234[_0x4da64d(0x1e3)](_0xfa96cf[_0x4da64d(0x1a5)],0x0)&&_0x5a4cc8?.[_0x4da64d(0x14c)]&&(_0xfa96cf=_0x5a4cc8['screenshotUrls']['map']((_0x1dba8b,_0x9fc12a)=>({'description':_0x4da64d(0x156)+(_0x9fc12a+0x1),'screenshot':_0x1dba8b,'is_key_step':![]}))),{'description':_0x18dfc1[_0x4da64d(0x1d2)],'result':getScenarioResult(_0x18dfc1),'rationale':getScenarioRationale(_0x18dfc1,_0x5a4cc8?.[_0x4da64d(0x175)]),'steps':_0xfa96cf};})),_0x5be0bf={'url':_0xa235af[_0x13c03e(0x1e2)],'scenarios':_0x35c815};process['stdout']['write'](_0x2f6234['NtJOs'](JSON['stringify'](_0x5be0bf,null,0x2),'\x0a'));}function _0x45e3(_0x2395d2,_0x3cdd54){_0x2395d2=_0x2395d2-0x115;const _0x42fede=_0x42fe();let _0x45e354=_0x42fede[_0x2395d2];return _0x45e354;}export async function featureConcludeSession(_0x5a823d){const _0x386399=_0x535b26,_0x485f69={'Ycimp':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','OjpYc':_0x386399(0x15f),'vfcUc':_0x386399(0x1d6),'tYKkk':function(_0x47c900,_0x51b038){return _0x47c900===_0x51b038;},'IIfqg':'\x0a✅\x20Session\x20is\x20already\x20completed.','gAhbi':_0x386399(0x1c8)},_0x51c426=_0x5a823d||await getActiveFeatureId();if(!_0x51c426)throw new Error(_0x485f69['Ycimp']);const _0x484e8c=await getFeature(_0x51c426);if(!_0x484e8c['currentSessionId'])throw new Error(_0x485f69[_0x386399(0x1ba)]);const {sessions:_0x44c904}=await listFeatureSessions(_0x51c426),_0x2b702e=_0x44c904['find'](_0x2563af=>_0x2563af['id']===_0x484e8c[_0x386399(0x128)]);if(!_0x2b702e)throw new Error(_0x485f69[_0x386399(0x16c)]);if(_0x485f69[_0x386399(0x1b7)](_0x2b702e[_0x386399(0x1ce)],'completed')){console['log'](_0x485f69['IIfqg']);return;}if(_0x2b702e[_0x386399(0x1ce)]!==_0x485f69[_0x386399(0x195)])throw new Error(_0x386399(0x1b4)+_0x2b702e['status']);console[_0x386399(0x1ca)]('\x0aConcluding\x20session...'),await concludeSession(_0x51c426,_0x484e8c[_0x386399(0x128)]),console['log']('\x0a✅\x20Session\x20'+_0x2b702e['iteration']+'\x20concluded.'),console['log'](_0x386399(0x1e1));}export async function featureSessions(_0x5a3178){const _0x266efb=_0x535b26,_0x1176de={'VAlPq':function(_0x3262fa){return _0x3262fa();},'LdWCa':function(_0x4108a8,_0x2137f0){return _0x4108a8(_0x2137f0);},'xqSCq':_0x266efb(0x140)},_0x4be15a=_0x5a3178||await _0x1176de[_0x266efb(0x190)](getActiveFeatureId);if(!_0x4be15a)throw new Error(_0x266efb(0x1cd));const _0x4c40cc=await _0x1176de['LdWCa'](getFeature,_0x4be15a);console['log'](_0x266efb(0x1a4)+_0x4c40cc[_0x266efb(0x14e)]+'\x0a');const {sessions:_0x279544}=await listFeatureSessions(_0x4be15a);if(_0x279544[_0x266efb(0x1a5)]===0x0){console['log'](_0x266efb(0x19d));return;}for(const _0x380b16 of _0x279544){const _0x3b2b3e=_0x380b16['status']===_0x1176de['xqSCq']?'✅':_0x380b16['status']===_0x266efb(0x1c8)?'🔄':'▶️';console['log'](_0x3b2b3e+'\x20Session\x20'+_0x380b16['iteration']+'\x20('+_0x380b16['id']+')'),console[_0x266efb(0x1ca)]('\x20\x20\x20Status:\x20'+_0x380b16[_0x266efb(0x1ce)]),console[_0x266efb(0x1ca)](_0x266efb(0x1ef)+new Date(_0x380b16['createdAt'])[_0x266efb(0x1c9)]()),_0x380b16[_0x266efb(0x181)]&&console['log'](_0x266efb(0x1c1)+new Date(_0x380b16['completedAt'])['toLocaleString']()),console[_0x266efb(0x1ca)]('');}}export async function featureAddScenario(_0x1b517a,_0x1224ac){const _0x37b8ee=_0x535b26,_0x3add7b={'EuYOi':function(_0x13b069){return _0x13b069();},'wWrsB':function(_0xe9903f,_0x5afb31){return _0xe9903f(_0x5afb31);},'wtrFO':function(_0x3f97fc,_0x2944e9,_0x5ce662){return _0x3f97fc(_0x2944e9,_0x5ce662);}},_0x36765c=_0x1224ac||await _0x3add7b['EuYOi'](getActiveFeatureId);if(!_0x36765c)throw new Error(_0x37b8ee(0x1a8));const _0x18e35b=await getFeature(_0x36765c);if(_0x18e35b['latestReview']&&!_0x18e35b[_0x37b8ee(0x198)][_0x37b8ee(0x197)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x18e35b['dashboardUrl']);await createChecklistItem(_0x36765c,_0x1b517a);const _0x55e069=await _0x3add7b['wWrsB'](getFeature,_0x36765c);console[_0x37b8ee(0x1ca)](_0x37b8ee(0x139)),_0x3add7b['wtrFO'](displayFeature,_0x55e069,_0x55e069['checklistItems']);}export async function featureEditScenario(_0x5d765c,_0x3907c8){const _0x52ac4d=_0x535b26,_0x2d9216={'KiWmP':function(_0x575ca0){return _0x575ca0();},'NcJIT':_0x52ac4d(0x155),'QTbbf':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IOLZt':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','tkKLt':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','opQvy':function(_0x36ec5d,_0x2af502){return _0x36ec5d===_0x2af502;},'zMixH':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','idtrE':_0x52ac4d(0x1c2),'cIlcG':function(_0x9638cb,_0x27bcfb){return _0x9638cb<_0x27bcfb;},'xocQW':function(_0x123319,_0xa01b17){return _0x123319+_0xa01b17;},'eHeQR':function(_0x3abc7e,_0x2e0777){return _0x3abc7e<_0x2e0777;},'ofxgi':function(_0xe84c07,_0x4349d6,_0xe571b,_0x47a00a){return _0xe84c07(_0x4349d6,_0xe571b,_0x47a00a);},'iVbWq':function(_0x587403,_0x1875c9){return _0x587403(_0x1875c9);},'prxvn':function(_0x70acb9,_0x3fe2a3,_0x4acb35){return _0x70acb9(_0x3fe2a3,_0x4acb35);}},_0x2c6c50=_0x3907c8['id']||await _0x2d9216['KiWmP'](getActiveFeatureId);!_0x2c6c50&&(console[_0x52ac4d(0x11f)](_0x2d9216['NcJIT']),console['error'](_0x2d9216['QTbbf']),process[_0x52ac4d(0x152)](0x1));const _0x1c7f19=await getFeature(_0x2c6c50);_0x1c7f19['latestReview']&&!_0x1c7f19['latestReview'][_0x52ac4d(0x197)]&&(console[_0x52ac4d(0x11f)](_0x2d9216['IOLZt']),console['error'](_0x52ac4d(0x1f6)),console['error']('\x20\x20'+_0x1c7f19[_0x52ac4d(0x1e2)]),process[_0x52ac4d(0x152)](0x1));const _0x2183fb=_0x1c7f19['checklistItems']||[];_0x2183fb[_0x52ac4d(0x1a5)]===0x0&&(console['error'](_0x2d9216['tkKLt']),process['exit'](0x1));if(_0x2d9216[_0x52ac4d(0x187)](_0x3907c8[_0x52ac4d(0x15e)],undefined)){console['error'](_0x2d9216[_0x52ac4d(0x171)]),console['log'](_0x2d9216[_0x52ac4d(0x184)]);for(let _0x9a4f1c=0x0;_0x2d9216['cIlcG'](_0x9a4f1c,_0x2183fb[_0x52ac4d(0x1a5)]);_0x9a4f1c++){console[_0x52ac4d(0x1ca)]('\x20\x20'+_0x2d9216['xocQW'](_0x9a4f1c,0x1)+'.\x20'+_0x2183fb[_0x9a4f1c][_0x52ac4d(0x1d2)]);}process['exit'](0x1);}const _0x153a15=_0x3907c8['scenario']-0x1;if(_0x2d9216[_0x52ac4d(0x1e0)](_0x153a15,0x0)||_0x153a15>=_0x2183fb[_0x52ac4d(0x1a5)]){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x3907c8[_0x52ac4d(0x15e)]+'.\x20Feature\x20review\x20has\x20'+_0x2183fb[_0x52ac4d(0x1a5)]+_0x52ac4d(0x19f)),console[_0x52ac4d(0x1ca)](_0x52ac4d(0x1c2));for(let _0x424fc1=0x0;_0x424fc1<_0x2183fb[_0x52ac4d(0x1a5)];_0x424fc1++){console['log']('\x20\x20'+(_0x424fc1+0x1)+'.\x20'+_0x2183fb[_0x424fc1]['description']);}process[_0x52ac4d(0x152)](0x1);}const _0x19d160=_0x2183fb[_0x153a15];await _0x2d9216[_0x52ac4d(0x177)](updateChecklistItem,_0x2c6c50,_0x19d160['id'],{'description':_0x5d765c});const _0x3680dc=await _0x2d9216[_0x52ac4d(0x15d)](getFeature,_0x2c6c50);console[_0x52ac4d(0x1ca)](_0x52ac4d(0x1c3)),_0x2d9216['prxvn'](displayFeature,_0x3680dc,_0x3680dc[_0x52ac4d(0x125)]);}async function downloadFeedbackImage(_0x3715c4,_0x2ba990){const _0x58efa8=_0x535b26,_0x379172={'HuSSe':function(_0x35b8d6){return _0x35b8d6();},'tPBEt':_0x58efa8(0x1fb),'Azxnt':function(_0x1ffc39,_0x137ab7){return _0x1ffc39(_0x137ab7);},'kVJjC':function(_0x21c9b9,_0x29dd33,_0x2f1cf5){return _0x21c9b9(_0x29dd33,_0x2f1cf5);}};try{const _0x1cb2af=join(_0x379172[_0x58efa8(0x180)](getRangerDir),_0x379172['tPBEt']);await mkdir(_0x1cb2af,{'recursive':!![]});const _0x4ec1b8=join(_0x1cb2af,_0x58efa8(0x169)+_0x2ba990+_0x58efa8(0x157)),_0x2e1829=await _0x379172['Azxnt'](fetch,_0x3715c4);if(!_0x2e1829['ok'])return null;const _0xd496af=Buffer['from'](await _0x2e1829['arrayBuffer']());return await _0x379172[_0x58efa8(0x1a0)](writeFile,_0x4ec1b8,_0xd496af),_0x4ec1b8;}catch{return null;}}export async function featureGetReview(_0x4193d2){const _0x37fe66=_0x535b26,_0x19a76f={'NsvVF':function(_0x46c438,_0x1f52af){return _0x46c438(_0x1f52af);},'yxhtW':function(_0x56b662,_0xd58091){return _0x56b662===_0xd58091;},'TttzP':'No\x20scenarios\x20found.','mjDDR':function(_0x5b345e,_0x33b6a6){return _0x5b345e>_0x33b6a6;},'CZvmC':function(_0x136bb8,_0xeb3832){return _0x136bb8+_0xeb3832;},'xyEEr':'Unknown','woyVg':function(_0x4afce8,_0x8c5fa8,_0x1b5794){return _0x4afce8(_0x8c5fa8,_0x1b5794);},'IZFIj':'\x20>\x20','WCwNd':function(_0x55e992,_0x2f8dd1){return _0x55e992+_0x2f8dd1;}},_0x542b0b=_0x4193d2||await getActiveFeatureId();if(!_0x542b0b)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 _0x2351d4=await getFeature(_0x542b0b),{items:_0x26116f}=await _0x19a76f[_0x37fe66(0x15b)](getActionItems,_0x542b0b);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x2351d4[_0x37fe66(0x14e)]+'\x20('+_0x2351d4['id']+')\x0a');if(_0x19a76f[_0x37fe66(0x161)](_0x26116f['length'],0x0)){console['log'](_0x19a76f[_0x37fe66(0x1ab)]);return;}for(let _0x538c6d=0x0;_0x538c6d<_0x26116f[_0x37fe66(0x1a5)];_0x538c6d++){const _0x32073a=_0x26116f[_0x538c6d],_0x9d492=_0x32073a[_0x37fe66(0x146)]>0x1?_0x37fe66(0x117)+_0x32073a['version']+')':'',_0x1eb752=await getItemFeedback(_0x542b0b,_0x32073a['id']);if(_0x19a76f['mjDDR'](_0x1eb752[_0x37fe66(0x1b0)]['length'],0x0)){console[_0x37fe66(0x1ca)](_0x37fe66(0x176)+_0x19a76f['CZvmC'](_0x538c6d,0x1)+_0x37fe66(0x186)+_0x32073a[_0x37fe66(0x1d2)]+'\x22'+_0x9d492+_0x37fe66(0x1b1)+_0x1eb752['unaddressedComments']['length']+'\x20unaddressed\x20comment(s)');for(const _0x274d0b of _0x1eb752['unaddressedComments']){const _0x14a954=new Date(_0x274d0b[_0x37fe66(0x1a3)])[_0x37fe66(0x1db)](_0x37fe66(0x148),{'month':'short','day':_0x37fe66(0x126)}),_0x5d0f61=_0x274d0b[_0x37fe66(0x12d)]||_0x274d0b[_0x37fe66(0x1d5)]||_0x19a76f['xyEEr'];console[_0x37fe66(0x1ca)]('\x20\x20💬\x20'+_0x5d0f61+'\x20('+_0x14a954+'):\x20\x22'+_0x274d0b['content']+'\x22');if(_0x274d0b[_0x37fe66(0x1b2)]){const _0xef80c1=await _0x19a76f[_0x37fe66(0x1ae)](downloadFeedbackImage,_0x274d0b[_0x37fe66(0x1b2)],_0x274d0b['id']);_0xef80c1&&console['log'](_0x37fe66(0x1c5)+_0xef80c1);}if(_0x274d0b['domRef']){const _0x32057d=_0x274d0b[_0x37fe66(0x1b6)]['selector'][_0x37fe66(0x1df)](_0x19a76f[_0x37fe66(0x1fc)])['pop']()?.[_0x37fe66(0x1df)](':')[0x0]||_0x37fe66(0x1aa),_0x9a893=_0x274d0b[_0x37fe66(0x1b6)]['textContent']?'\x20\x22'+_0x274d0b['domRef'][_0x37fe66(0x18b)][_0x37fe66(0x13c)](0x0,0x3c)+'\x22':'';console['log'](_0x37fe66(0x124)+_0x32057d+'>'+_0x9a893),console[_0x37fe66(0x1ca)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x274d0b['domRef'][_0x37fe66(0x1b3)]);}else{if(_0x274d0b[_0x37fe66(0x1f4)]){const _0x82204c=_0x274d0b['spatial'][_0x37fe66(0x1eb)];_0x274d0b['spatial'][_0x37fe66(0x179)]===_0x37fe66(0x1d0)&&_0x82204c[_0x37fe66(0x1a5)]>=0x2?console[_0x37fe66(0x1ca)](_0x37fe66(0x130)+_0x82204c[0x0]['toFixed'](0x2)+',\x20'+_0x82204c[0x1][_0x37fe66(0x1f8)](0x2)+')'):console[_0x37fe66(0x1ca)](_0x37fe66(0x199)+_0x274d0b[_0x37fe66(0x1f4)][_0x37fe66(0x179)]+_0x37fe66(0x12c)+_0x82204c['map'](_0xa74246=>_0xa74246[_0x37fe66(0x1f8)](0x2))['join'](',\x20')+']');}}}if(_0x1eb752[_0x37fe66(0x1c6)]){console[_0x37fe66(0x1ca)]('\x20\x20Expected\x20flow:');for(const _0x2c1d53 of _0x1eb752[_0x37fe66(0x1c6)][_0x37fe66(0x1df)]('\x0a')){console['log'](_0x37fe66(0x1cc)+_0x2c1d53);}}}else console['log']('Scenario\x20'+_0x19a76f['WCwNd'](_0x538c6d,0x1)+_0x37fe66(0x186)+_0x32073a['description']+'\x22'+_0x9d492+'\x20—\x20no\x20comments'),console[_0x37fe66(0x1ca)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x37fe66(0x1ca)]('');}}export async function featureDelete(_0x528693){const _0x4a8ee5=_0x535b26,_0x50d624={'xawiG':function(_0x367a7c){return _0x367a7c();},'keqWf':function(_0x27aeb3,_0x2d52d3){return _0x27aeb3(_0x2d52d3);},'zOCBp':function(_0xc9a5c0,_0x490e17){return _0xc9a5c0(_0x490e17);},'jlynt':function(_0x101164,_0x3eda3b){return _0x101164+_0x3eda3b;}},_0x40f65b=_0x528693||await _0x50d624[_0x4a8ee5(0x127)](getActiveFeatureId);if(!_0x40f65b)throw new Error(_0x4a8ee5(0x1a8));const _0x5c483e=await _0x50d624[_0x4a8ee5(0x16f)](getFeature,_0x40f65b);await _0x50d624['zOCBp'](softDeleteFeature,_0x40f65b),console[_0x4a8ee5(0x1ca)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5c483e[_0x4a8ee5(0x14e)]+'\x20('+_0x40f65b+')'),console[_0x4a8ee5(0x1ca)](_0x50d624[_0x4a8ee5(0x15c)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x40f65b));}export async function featureRestore(_0x4f7f2a){const _0x186caf=_0x535b26,_0x2def3a={'OwzfZ':function(_0x40d664,_0x3187bc){return _0x40d664(_0x3187bc);},'VdWPw':function(_0x54b279,_0x40c66b){return _0x54b279(_0x40c66b);}};await _0x2def3a[_0x186caf(0x18c)](restoreFeature,_0x4f7f2a);const _0x4d89d5=await _0x2def3a[_0x186caf(0x118)](getFeature,_0x4f7f2a);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4d89d5['name']+'\x20('+_0x4f7f2a+')'),displayFeature(_0x4d89d5,_0x4d89d5[_0x186caf(0x125)]);}
|
|
1
|
+
const _0x18344c=_0x58e8;(function(_0x5b9174,_0x11c133){const _0xa60db=_0x58e8,_0x39cfc5=_0x5b9174();while(!![]){try{const _0x425018=parseInt(_0xa60db(0xc7))/0x1*(parseInt(_0xa60db(0x160))/0x2)+parseInt(_0xa60db(0x82))/0x3*(parseInt(_0xa60db(0xe8))/0x4)+parseInt(_0xa60db(0xd5))/0x5*(-parseInt(_0xa60db(0x8b))/0x6)+parseInt(_0xa60db(0x139))/0x7*(-parseInt(_0xa60db(0xad))/0x8)+parseInt(_0xa60db(0x109))/0x9*(-parseInt(_0xa60db(0x15c))/0xa)+-parseInt(_0xa60db(0x145))/0xb+-parseInt(_0xa60db(0xc6))/0xc*(-parseInt(_0xa60db(0xac))/0xd);if(_0x425018===_0x11c133)break;else _0x39cfc5['push'](_0x39cfc5['shift']());}catch(_0x2e79cb){_0x39cfc5['push'](_0x39cfc5['shift']());}}}(_0x4d46,0x7ab2d));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x4ba644 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=_0x18344c(0xfe),bold=_0x14b967=>_0x18344c(0xb7)+_0x14b967+_0x18344c(0xcb);function getGitRepoUrl(){const _0x3dfc67=_0x18344c,_0x48579f={'hKXoY':_0x3dfc67(0xef),'EMDPR':_0x3dfc67(0xdb),'MQNOd':_0x3dfc67(0x95)};try{const _0x3c415d=execSync(_0x48579f['hKXoY'],{'encoding':_0x3dfc67(0xe1),'stdio':[_0x48579f['EMDPR'],'pipe',_0x48579f[_0x3dfc67(0xee)]]})['trim']();return _0x3c415d['replace'](/\.git$/,'')[_0x3dfc67(0xd2)](/^git@github\.com:/,_0x48579f[_0x3dfc67(0x92)])[_0x3dfc67(0xd2)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x1ae24c=_0x18344c,_0xe28a48={'XllYQ':function(_0xe7da55,_0x105b82,_0x2f7328){return _0xe7da55(_0x105b82,_0x2f7328);},'sbRrZ':_0x1ae24c(0x150),'gCLcO':_0x1ae24c(0xe1),'bHsni':_0x1ae24c(0xdb)};try{return _0xe28a48[_0x1ae24c(0x86)](execSync,_0xe28a48[_0x1ae24c(0x144)],{'encoding':_0xe28a48['gCLcO'],'stdio':[_0xe28a48['bHsni'],_0xe28a48['bHsni'],_0x1ae24c(0xdb)]})[_0x1ae24c(0x98)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1c915c={'wnFnm':function(_0xc1c7b5,_0xef0e6){return _0xc1c7b5(_0xef0e6);}},_0x438b6f=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x1c915c['wnFnm'](existsSync,_0x438b6f))return null;try{const _0x81c4fb=await readFile(_0x438b6f,'utf-8');return _0x81c4fb['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x2921f9){const _0x47f1cd=_0x18344c,_0x5716d4={'Whref':function(_0x5abaf0,_0x475743){return _0x5abaf0(_0x475743);},'TPvQE':function(_0x388528,_0x552469,_0x1353dc){return _0x388528(_0x552469,_0x1353dc);},'JIzxK':_0x47f1cd(0xe1)},_0x29ee8a=getRangerDir(),_0x15c3eb=join(_0x29ee8a,ACTIVE_FEATURE_FILE);!_0x5716d4[_0x47f1cd(0xda)](existsSync,_0x29ee8a)&&await _0x5716d4['TPvQE'](mkdir,_0x29ee8a,{'recursive':!![]}),await writeFile(_0x15c3eb,_0x2921f9,_0x5716d4['JIzxK']);}function getProgressDisplay(_0xc49610){const _0x47175=_0x18344c,_0x392ce5={'UQFVB':function(_0x2ad811,_0x47223f){return _0x2ad811+_0x47223f;},'tLLOU':function(_0x101af5,_0x2fbab6){return _0x101af5===_0x2fbab6;},'pMLTJ':function(_0x167e70,_0x20add5){return _0x167e70*_0x20add5;},'TjvFe':function(_0x54c63d,_0x4c2833){return _0x54c63d/_0x4c2833;},'rmyYo':function(_0x25fb2b,_0x55f18a){return _0x25fb2b+_0x55f18a;},'QUxux':function(_0x767f52,_0x228b3b){return _0x767f52-_0x228b3b;},'DuJRf':function(_0x34741d,_0x93176b){return _0x34741d>_0x93176b;}},_0x5f4b8e=_0xc49610['verifiedItems']||0x0,_0x383a21=_0xc49610[_0x47175(0x155)]||0x0,_0x3dd146=_0xc49610[_0x47175(0xc0)]||0x0,_0x31bbcd=_0xc49610['incompleteItems']||0x0,_0x291243=_0xc49610['pendingItems']||0x0,_0x55e04c=_0x392ce5['UQFVB'](_0x392ce5['UQFVB'](_0x5f4b8e,_0x383a21)+_0x3dd146+_0x31bbcd,_0x291243);if(_0x392ce5[_0x47175(0xd3)](_0x55e04c,0x0))return'-';const _0x1b6d0d=0xa,_0x4663a0=Math['round'](_0x392ce5['pMLTJ'](_0x392ce5['TjvFe'](_0x5f4b8e,_0x55e04c),_0x1b6d0d)),_0x47564b=_0x392ce5[_0x47175(0xf9)]('█'['repeat'](_0x4663a0),'░'['repeat'](_0x392ce5[_0x47175(0x81)](_0x1b6d0d,_0x4663a0))),_0xc2b711=[];if(_0x392ce5['DuJRf'](_0x3dd146,0x0))_0xc2b711['push'](_0x3dd146+_0x47175(0xe3));if(_0x31bbcd>0x0)_0xc2b711['push'](_0x31bbcd+_0x47175(0x15d));if(_0x392ce5[_0x47175(0x152)](_0x383a21,0x0))_0xc2b711[_0x47175(0x136)](_0x383a21+_0x47175(0x131));const _0x220d49=_0x392ce5[_0x47175(0x152)](_0xc2b711['length'],0x0)?'\x20('+_0xc2b711['join'](',\x20')+')':'';return _0x47564b+'\x20'+_0x5f4b8e+'/'+_0x55e04c+_0x47175(0xc8)+_0x220d49;}function getCurrentSessionItems(_0x50d261,_0x3ba57c){const _0x434b69=_0x18344c;if(!_0x50d261[_0x434b69(0xb9)])return _0x3ba57c['filter'](_0x4b22b2=>!_0x4b22b2[_0x434b69(0xeb)]);return _0x3ba57c[_0x434b69(0x10e)](_0x39e129=>_0x39e129[_0x434b69(0xeb)]===_0x50d261['currentSessionId']||!_0x39e129['sessionId']);}function _0x4d46(){const _0x23ff09=['stats','sessionId','unaddressedComments','\x20\x20\x20\x20\x20ID:\x20','EMDPR','git\x20remote\x20get-url\x20origin','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x0aAvailable\x20scenarios:','Eqkqn','EFmlI','):\x20\x22','wclXY','approved','\x20\x20\x20Repository:\x20','dashboardUrl','rmyYo',':\x20\x22','find','map','\x20>\x20','active-feature.txt','domRef','Step\x20','HKXPp','rNTJB','No\x20scenarios\x20found.','version','aQZhn','\x20\x20\x20Description:\x20','\x0a✅\x20Feature\x20review\x20created:\x20','trimEnd','958779qULeFu','Screenshot\x20','TCDFo','includeDeleted','\x20\x20\x20Completed:\x20','filter','completed','\x0a📋\x20Feedback\x20for:\x20','createdAt','bFpQa','\x0a✅\x20Restored\x20feature\x20review:\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','get','MZstP','LnykZ','UoHkO','\x0a✅\x20Session\x20is\x20already\x20completed.','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','gitRepoUrl','IETTY','terminalReason','UArFr','oNOgT','selector','status','hRmVR','\x20(v','assets','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','MbJgp','njpfP','\x20\x20\x20Progress:\x20','\x0aCreating\x20feature\x20review...','slice','wQqxy','TramT','.md','WBtdx','description','exit','\x20in\x20progress','assetType','length','\x0aNo\x20feature\x20reviews\x20found.','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','push','storage','wErjm','7SkdMYm','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','env','RwgbG','verified','zvzfz','isInteger','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','toLocaleString','sbRrZ','4841628CPQGcw','sgJHG','scenario','stdin','euIdm','Scenario\x20','screenshotUrls','isTTY','\x20feature\x20review(s)\x20found','\x0a\x20\x20\x20Scenarios:','items','git\x20rev-parse\x20--abbrev-ref\x20HEAD','SRgtJ','DuJRf','ukhAV','stdout','verificationInProgressItems','gqSEO','in_progress','IniGK','gitBranch','vDwGh','\x20of\x20','80XbbDNV','\x20incomplete','browserSessionId','vOnKf','30cewhcr','xcUUZ','completedAt','.png','pop','kmzAW','all','\x20\x20\x20Updated\x20branch\x20to:\x20','spatial','jEtSg','\x0a❌\x20Invalid\x20scenario\x20index:\x20','QUxux','318hqCHGE','\x20—\x20no\x20comments','name','agentResponse','XllYQ','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','closed','zoFYR','incompleteReason','258EIaAPv','error','IPQxp','TMBHV','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','authorEmail','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','MQNOd','pQtVL','scenarios','github.com/','LxqKD','blockedReason','trim','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','CDxKs','\x20scenarios.','linkedSession','warn','BzXyq','qSTQG','.\x20Feature\x20review\x20has\x20','IOfjD','iteration','xETDb','parentItemId','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','notes','\x20\x20✅\x20No\x20feedback\x20to\x20address','\x0aConcluding\x20session...','stepName','No\x20sessions\x20found.','latestReview','36521082fjfzyF','2952808SFQhxL','\x20scenario(s).','canceledReason','feedback-images','blocked','toLocaleDateString','comment_','IXXAn','join','reports','\x1b[1m','totalCount','currentSessionId','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','location','has','timing','style','split','blockedItems','ANjBT','RANGER_TEST_USERNAME','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','\x20\x20\x20Created:\x20','any','12iEEosf','5593ftBRaz','\x20verified','incomplete','xnnvw','\x1b[0m','fVKfd','\x20--include-deleted','RWtdx','\x20\x20💬\x20','textContent','currentBranch','replace','tLLOU','log','98995alMGrT','canonicalFlow','toFixed','alPHT','LIIBc','Whref','pipe','pHCRy','submittedAt','YWofi','LTEPZ','3|0|5|4|2|1','utf-8','zxaQs','\x20blocked','verification_in_progress','Current\x20session\x20not\x20found.','prompt','AuxBz','4612lNEQHZ','checklistItems'];_0x4d46=function(){return _0x23ff09;};return _0x4d46();}function displayFeature(_0x2d50cc,_0x139898){const _0x5388f3=_0x18344c,_0x3f6e32={'TMBHV':function(_0x297505,_0x4a2665){return _0x297505(_0x4a2665);},'DHxLh':function(_0x59319d,_0x351cba){return _0x59319d>_0x351cba;},'RLHka':_0x5388f3(0x14e),'RXLHO':function(_0x2aa2b3,_0x12de99){return _0x2aa2b3<_0x12de99;},'kmzAW':function(_0x21fb7c,_0x2df201){return _0x21fb7c===_0x2df201;},'wclXY':_0x5388f3(0x13e),'qSTQG':function(_0x246208,_0x3728f1){return _0x246208===_0x3728f1;},'vOnKf':'blocked','nZvzU':_0x5388f3(0x88),'KqQPh':'verification_in_progress','kXUDD':function(_0x47c862,_0x27a65c){return _0x47c862!==_0x27a65c;},'OJXfx':function(_0x24902c,_0x44fdd1){return _0x24902c+_0x44fdd1;},'Eqkqn':function(_0x1a339e,_0x17075c){return _0x1a339e===_0x17075c;},'rtlXO':function(_0x176106,_0x3fd028){return _0x176106===_0x3fd028;},'CZdRV':function(_0x2c7e6c,_0x42a067){return _0x2c7e6c===_0x42a067;},'MZstP':function(_0x5b61c5,_0x138fff){return _0x5b61c5===_0x138fff;}};console[_0x5388f3(0xd4)]('\x0a'+_0x2d50cc[_0x5388f3(0x84)]+'\x20('+_0x2d50cc['dashboardUrl']+')');_0x2d50cc['stats']&&console['log'](_0x5388f3(0x128)+_0x3f6e32[_0x5388f3(0x8e)](getProgressDisplay,_0x2d50cc['stats']));_0x2d50cc[_0x5388f3(0x12f)]&&console['log'](_0x5388f3(0x106)+_0x2d50cc['description']);_0x2d50cc[_0x5388f3(0x11b)]&&console[_0x5388f3(0xd4)](_0x5388f3(0xf7)+_0x2d50cc[_0x5388f3(0x11b)]);_0x2d50cc[_0x5388f3(0x159)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x2d50cc[_0x5388f3(0x159)]);console[_0x5388f3(0xd4)](_0x5388f3(0xc4)+new Date(_0x2d50cc['createdAt'])[_0x5388f3(0x143)]());_0x2d50cc['completedAt']&&console[_0x5388f3(0xd4)](_0x5388f3(0x10d)+new Date(_0x2d50cc[_0x5388f3(0x162)])[_0x5388f3(0x143)]());if(_0x139898&&_0x3f6e32['DHxLh'](_0x139898['length'],0x0)){console[_0x5388f3(0xd4)](_0x3f6e32['RLHka']);for(let _0x48bae4=0x0;_0x3f6e32['RXLHO'](_0x48bae4,_0x139898[_0x5388f3(0x133)]);_0x48bae4++){const _0x435f07=_0x139898[_0x48bae4];let _0x49e809;if(_0x3f6e32['kmzAW'](_0x435f07['status'],'closed')&&_0x435f07[_0x5388f3(0x11d)]===_0x5388f3(0xf6))_0x49e809='✅';else{if(_0x435f07['status']===_0x3f6e32[_0x5388f3(0xf5)])_0x49e809='🟢';else{if(_0x3f6e32[_0x5388f3(0x165)](_0x435f07[_0x5388f3(0x121)],_0x5388f3(0xc9)))_0x49e809='🟠';else{if(_0x3f6e32[_0x5388f3(0x9f)](_0x435f07['status'],_0x3f6e32[_0x5388f3(0x15f)]))_0x49e809='🛑';else{if(_0x435f07[_0x5388f3(0x121)]===_0x3f6e32['nZvzU'])_0x49e809='⛔';else _0x3f6e32[_0x5388f3(0x165)](_0x435f07['status'],_0x3f6e32['KqQPh'])?_0x49e809='⏳':_0x49e809='⬜';}}}}const _0x47c567=_0x435f07[_0x5388f3(0x104)]>0x1?_0x5388f3(0x123)+_0x435f07['version']+')':'',_0xe8ef9a=_0x435f07['version']>0x1&&_0x435f07[_0x5388f3(0xa4)]&&_0x3f6e32['kXUDD'](_0x435f07[_0x5388f3(0x121)],_0x5388f3(0x88))&&_0x3f6e32['kXUDD'](_0x435f07[_0x5388f3(0x121)],_0x5388f3(0x13e))?'\x20[has\x20reviewer\x20feedback]':'';console[_0x5388f3(0xd4)]('\x20\x20\x20'+_0x3f6e32['OJXfx'](_0x48bae4,0x1)+'.\x20'+_0x49e809+'\x20'+_0x435f07[_0x5388f3(0x12f)]+_0x47c567+_0xe8ef9a);_0x3f6e32['Eqkqn'](_0x435f07['status'],_0x5388f3(0xb1))&&_0x435f07['blockedReason']&&console[_0x5388f3(0xd4)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x435f07['blockedReason']);_0x3f6e32['rtlXO'](_0x435f07['status'],'incomplete')&&_0x435f07['incompleteReason']&&console[_0x5388f3(0xd4)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x435f07['incompleteReason']);if(_0x3f6e32[_0x5388f3(0xf2)](_0x435f07[_0x5388f3(0x121)],_0x5388f3(0x88))&&_0x3f6e32['CZdRV'](_0x435f07['terminalReason'],'approved'))console[_0x5388f3(0xd4)]('\x20\x20\x20\x20\x20\x20Approved');else _0x3f6e32[_0x5388f3(0x116)](_0x435f07[_0x5388f3(0x121)],_0x5388f3(0x88))&&_0x435f07[_0x5388f3(0xaf)]&&console[_0x5388f3(0xd4)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x435f07[_0x5388f3(0xaf)]);}}}export async function featureCreate(_0x2ec49b,_0xfc5924){const _0x39ee3f=_0x18344c,_0x1b5413={'xnnvw':function(_0x3c239c,_0x368bb4){return _0x3c239c===_0x368bb4;},'lonrv':function(_0x33d772){return _0x33d772();},'UArFr':function(_0x20ad9b,_0x1ffa36){return _0x20ad9b(_0x1ffa36);},'MSpgw':_0x39ee3f(0x129),'LTEPZ':function(_0x152364,_0x353b2d,_0x2c9038){return _0x152364(_0x353b2d,_0x2c9038);}},{envNames:_0x143a44}=await getEnvNames();if(_0x1b5413[_0x39ee3f(0xca)](_0x143a44[_0x39ee3f(0x133)],0x0)&&!process[_0x39ee3f(0x13c)][_0x39ee3f(0xc2)]){let _0x68f291=0x0;try{_0x68f291=(await _0x1b5413['lonrv'](listCloudProfiles))[_0x39ee3f(0x133)];}catch{_0x68f291=0x1;}_0x68f291===0x0&&console[_0x39ee3f(0x9d)]('\x0a'+_0x1b5413['UArFr'](formatProfileRequiredMessage,_0x3e2d20=>bold(_0x3e2d20)));}const _0x2115d7=_0xfc5924[_0x39ee3f(0x94)]?_0xfc5924[_0x39ee3f(0x94)][_0x39ee3f(0xfc)](_0x27717d=>_0x27717d['trim']()):[],_0x53bc65=getGitRepoUrl(),_0x5407a4=getGitBranch();console[_0x39ee3f(0xd4)](_0x1b5413['MSpgw']);const _0x16769f=await createFeature({'name':_0x2ec49b,'description':_0xfc5924[_0x39ee3f(0x12f)],'checklist':_0x2115d7,'gitRepoUrl':_0x53bc65,'gitBranch':_0x5407a4});await _0x1b5413[_0x39ee3f(0x11e)](setActiveFeatureId,_0x16769f['id']),await tryStartCurrentSession(_0x16769f['id']);const _0x23e65c=process[_0x39ee3f(0x13c)]['CLAUDE_SESSION_ID'];_0x23e65c&&_0x1b5413[_0x39ee3f(0xdf)](registerSession,_0x23e65c,_0x16769f['id']),console[_0x39ee3f(0xd4)](_0x39ee3f(0x107)+_0x16769f['id']),displayFeature(_0x16769f,_0x16769f['checklistItems']),console[_0x39ee3f(0xd4)](_0x39ee3f(0x135));}export async function featureList(_0x8ed7a4){const _0x30d31c=_0x18344c,_0x51210e={'euIdm':function(_0x4cd11e,_0x349ca1){return _0x4cd11e(_0x349ca1);},'IPQxp':function(_0xea38b6,_0x1996f5){return _0xea38b6===_0x1996f5;},'BtQqa':_0x30d31c(0x134),'alPHT':function(_0x5fe77f,_0x49f179){return _0x5fe77f+_0x49f179;},'LxqKD':function(_0x5b145d,_0x1643d3){return _0x5b145d!==_0x1643d3;},'gqSEO':'\x20--current-branch'},_0x5ec289={'limit':_0x8ed7a4['limit']??0xa,'offset':_0x8ed7a4['offset']??0x0,'includeDeleted':_0x8ed7a4[_0x30d31c(0x10c)]};_0x8ed7a4[_0x30d31c(0xd1)]&&(_0x5ec289[_0x30d31c(0x11b)]=getGitRepoUrl(),_0x5ec289['gitBranch']=getGitBranch());const _0x3e1b6c=await _0x51210e['euIdm'](listFeatures,_0x5ec289);if(_0x51210e[_0x30d31c(0x8d)](_0x3e1b6c[_0x30d31c(0x14f)][_0x30d31c(0x133)],0x0)){console['log'](_0x51210e['BtQqa']);return;}const _0x18af52=_0x3e1b6c[_0x30d31c(0xb8)]>_0x3e1b6c[_0x30d31c(0x14f)]['length']?'Showing\x20'+_0x3e1b6c['items'][_0x30d31c(0x133)]+_0x30d31c(0x15b)+_0x3e1b6c[_0x30d31c(0xb8)]:_0x3e1b6c['totalCount']+_0x30d31c(0x14d);console['log']('\x0a'+_0x18af52+':\x0a');for(const _0x18c564 of _0x3e1b6c['items']){console['log'](''+_0x18c564['name']),console['log']('\x20\x20\x20ID:\x20'+_0x18c564['id']),_0x18c564['stats']&&console[_0x30d31c(0xd4)]('\x20\x20\x20Progress:\x20'+_0x51210e[_0x30d31c(0x149)](getProgressDisplay,_0x18c564['stats'])),_0x18c564['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x18c564['gitBranch']),console[_0x30d31c(0xd4)]('\x20\x20\x20Created:\x20'+new Date(_0x18c564[_0x30d31c(0x111)])['toLocaleDateString']()),console[_0x30d31c(0xd4)]('');}const _0x181bb4=_0x5ec289['limit']??0xa,_0x2905d1=_0x51210e[_0x30d31c(0xd8)](_0x5ec289['offset']??0x0,_0x3e1b6c[_0x30d31c(0x14f)][_0x30d31c(0x133)]);if(_0x2905d1<_0x3e1b6c['totalCount']){const _0x5874b3=_0x51210e[_0x30d31c(0x96)](_0x181bb4,0xa)?'\x20--limit\x20'+_0x181bb4:'',_0x968ebd=_0x8ed7a4['currentBranch']?_0x51210e[_0x30d31c(0x156)]:'',_0xe6a897=_0x8ed7a4['includeDeleted']?_0x30d31c(0xcd):'';console[_0x30d31c(0xd4)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x2905d1+_0x5874b3+_0x968ebd+_0xe6a897);}}export async function featureShow(_0x508553){const _0x53b7a6=_0x18344c,_0x19d0a1={'ukhAV':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZAhdh':function(_0x1ba780,_0x1d1603){return _0x1ba780(_0x1d1603);}},_0xeeb375=_0x508553||await getActiveFeatureId();if(!_0xeeb375)throw new Error(_0x19d0a1[_0x53b7a6(0x153)]);const _0x3be79b=await _0x19d0a1['ZAhdh'](getFeature,_0xeeb375);displayFeature(_0x3be79b,_0x3be79b['checklistItems']);}function _0x58e8(_0x156783,_0x2d265a){_0x156783=_0x156783-0x7f;const _0x4d46a1=_0x4d46();let _0x58e8cc=_0x4d46a1[_0x156783];return _0x58e8cc;}export async function featureResume(_0x38cc81){const _0x42b05d=_0x18344c,_0x3e52a2={'zxaQs':function(_0x5a8ea4,_0x39e2c3){return _0x5a8ea4(_0x39e2c3);},'SglJQ':function(_0x4b0299,_0x47b345){return _0x4b0299&&_0x47b345;},'SRgtJ':function(_0x488f0b,_0x3da6f8){return _0x488f0b||_0x3da6f8;},'IOfjD':_0x42b05d(0xc5),'CDxKs':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','pQtVL':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','RWtdx':'selected','sgJHG':function(_0x262094,_0x3fd229,_0x4c4647){return _0x262094(_0x3fd229,_0x4c4647);},'ANjBT':function(_0xb718fa,_0x4f9323,_0x32ff61){return _0xb718fa(_0x4f9323,_0x32ff61);}};if(_0x38cc81){const _0x3c6fa4=await getFeature(_0x38cc81);await setActiveFeatureId(_0x3c6fa4['id']);const _0x4d7f54=getGitBranch();_0x4d7f54&&_0x4d7f54!==_0x3c6fa4['gitBranch']&&(await updateFeature(_0x3c6fa4['id'],{'gitBranch':_0x4d7f54}),console['log'](_0x42b05d(0x167)+_0x4d7f54));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3c6fa4[_0x42b05d(0x84)]+'\x20('+_0x3c6fa4['id']+')'),await _0x3e52a2['zxaQs'](tryStartCurrentSession,_0x3c6fa4['id']);const _0x36c4a3=process['env']['CLAUDE_SESSION_ID'];_0x36c4a3&®isterSession(_0x36c4a3,_0x3c6fa4['id']);displayFeature(_0x3c6fa4,_0x3c6fa4[_0x42b05d(0xe9)]),await printFeedbackNudge(_0x3c6fa4['id']);return;}const _0xc00fa8=getGitRepoUrl(),_0x23ee9d=getGitBranch();if(_0x3e52a2['SglJQ'](!_0xc00fa8,!_0x23ee9d))throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x42b05d(0xd4)](_0x42b05d(0xba)+_0x3e52a2[_0x42b05d(0x151)](_0xc00fa8,_0x3e52a2[_0x42b05d(0xa1)])+'\x20/\x20'+(_0x23ee9d||'any')+'...');const _0x29d8ab=await _0x3e52a2[_0x42b05d(0xe2)](listFeatures,{'gitRepoUrl':_0xc00fa8,'gitBranch':_0x23ee9d}),_0x520e3d=_0x29d8ab[_0x42b05d(0x14f)]['filter'](_0x18302d=>_0x18302d[_0x42b05d(0x121)]?_0x18302d[_0x42b05d(0x121)]!==_0x42b05d(0x13e):!_0x18302d['completedAt']);if(_0x520e3d[_0x42b05d(0x133)]===0x0){console['log'](_0x3e52a2[_0x42b05d(0x9a)]),console['log'](_0x42b05d(0x99));return;}let _0x484cd3;if(_0x520e3d['length']===0x1)_0x484cd3=_0x520e3d[0x0];else{const _0x53ce30=process[_0x42b05d(0x148)][_0x42b05d(0x14c)]&&process[_0x42b05d(0x154)][_0x42b05d(0x14c)];if(!_0x53ce30){console['log'](_0x3e52a2[_0x42b05d(0x93)]);for(const _0x301cb6 of _0x520e3d){console[_0x42b05d(0xd4)]('\x20\x20'+_0x301cb6[_0x42b05d(0x84)]),console['log'](_0x42b05d(0xed)+_0x301cb6['id']),_0x301cb6['stats']&&console[_0x42b05d(0xd4)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x301cb6[_0x42b05d(0xea)])),_0x301cb6['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x301cb6['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x4e0262}=await _0x4ba644[_0x42b05d(0xe6)]([{'type':'list','name':_0x3e52a2[_0x42b05d(0xce)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x520e3d['map'](_0x20efb3=>({'name':_0x20efb3['name']+'\x20('+_0x20efb3['id']+')','value':_0x20efb3['id']}))}]);_0x484cd3=_0x520e3d['find'](_0x53b350=>_0x53b350['id']===_0x4e0262);}await setActiveFeatureId(_0x484cd3['id']);_0x23ee9d&&_0x23ee9d!==_0x484cd3[_0x42b05d(0x159)]&&(await _0x3e52a2[_0x42b05d(0x146)](updateFeature,_0x484cd3['id'],{'gitBranch':_0x23ee9d}),console['log'](_0x42b05d(0x167)+_0x23ee9d));console[_0x42b05d(0xd4)](_0x42b05d(0x114)+_0x484cd3['name']+'\x20('+_0x484cd3['id']+')'),await _0x3e52a2['zxaQs'](tryStartCurrentSession,_0x484cd3['id']);const _0x4852aa=await getFeature(_0x484cd3['id']),_0x1baf12=process[_0x42b05d(0x13c)]['CLAUDE_SESSION_ID'];_0x1baf12&&_0x3e52a2['sgJHG'](registerSession,_0x1baf12,_0x4852aa['id']),_0x3e52a2[_0x42b05d(0xc1)](displayFeature,_0x4852aa,_0x4852aa['checklistItems']),await _0x3e52a2['zxaQs'](printFeedbackNudge,_0x4852aa['id']);}async function printFeedbackNudge(_0xe147a1){const _0x176841=_0x18344c,_0x30d087={'fZzNG':function(_0x49d306,_0x64da7,_0x310302){return _0x49d306(_0x64da7,_0x310302);}};try{const {items:_0x31bdb4}=await getActionItems(_0xe147a1);let _0x5aefe5=0x0,_0x4c4bb6=0x0;for(const _0x1d49cc of _0x31bdb4){const _0x285d7b=await _0x30d087['fZzNG'](getItemFeedback,_0xe147a1,_0x1d49cc['id']);_0x285d7b['unaddressedComments']['length']>0x0&&(_0x5aefe5+=_0x285d7b['unaddressedComments'][_0x176841(0x133)],_0x4c4bb6++);}_0x5aefe5>0x0&&(console[_0x176841(0xd4)]('\x0a⚠️\x20\x20'+_0x5aefe5+_0x176841(0x91)+_0x4c4bb6+_0x176841(0xae)),console[_0x176841(0xd4)](_0x176841(0xf0)));}catch{}}async function tryStartCurrentSession(_0x2f7cd3){const _0x5b17cd=_0x18344c,_0x43f339={'rFLBr':function(_0x5549c7,_0xc377d4){return _0x5549c7(_0xc377d4);},'LSfSE':function(_0x5cd30,_0x37dde4,_0x4e8c88){return _0x5cd30(_0x37dde4,_0x4e8c88);}};try{const {sessions:_0x3a6e75}=await _0x43f339['rFLBr'](listFeatureSessions,_0x2f7cd3),_0x5e1b44=_0x3a6e75[_0x5b17cd(0xfb)](_0x1c0511=>_0x1c0511[_0x5b17cd(0x121)]==='ready');_0x5e1b44&&(await _0x43f339['LSfSE'](startSession,_0x2f7cd3,_0x5e1b44['id']),console[_0x5b17cd(0xd4)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x5e1b44['iteration']));}catch{}}export async function featureReport(_0x18d7e4,_0x5c7e1e){const _0x31d04d=_0x18344c,_0x225696={'oNOgT':function(_0x36dfba){return _0x36dfba();},'IniGK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','VVGMs':_0x31d04d(0xb6),'zvzfz':function(_0x1d5baa,_0x534fda,_0x43a7f1){return _0x1d5baa(_0x534fda,_0x43a7f1);},'qtZrq':function(_0x630148,_0x4352e8){return _0x630148(_0x4352e8);},'lnlIt':'utf-8'},_0x47a4d0=_0x18d7e4||await _0x225696[_0x31d04d(0x11f)](getActiveFeatureId);if(!_0x47a4d0)throw new Error(_0x225696[_0x31d04d(0x158)]);console['log']('\x0aGenerating\x20report...');const _0x2c083d=await getFeatureReportMarkdown(_0x47a4d0,{'style':_0x5c7e1e[_0x31d04d(0xbe)]}),_0xd88d26=_0x5c7e1e['output']||join(getRangerDir(),_0x225696['VVGMs'],_0x47a4d0+_0x31d04d(0x12d)),_0x525aac=_0x225696[_0x31d04d(0x13f)](join,_0xd88d26,'..');!_0x225696['qtZrq'](existsSync,_0x525aac)&&await mkdir(_0x525aac,{'recursive':!![]}),await writeFile(_0xd88d26,_0x2c083d,_0x225696['lnlIt']),console[_0x31d04d(0xd4)]('\x0a✅\x20Report\x20generated:\x20'+_0xd88d26);}function getScenarioResult(_0x196cc2){const _0x84fa61=_0x18344c,_0xe836aa={'zoFYR':function(_0x11439b,_0x3ddf47){return _0x11439b===_0x3ddf47;},'fVKfd':_0x84fa61(0x157)};if(_0xe836aa[_0x84fa61(0x89)](_0x196cc2['status'],_0x84fa61(0x88)))return _0x196cc2['terminalReason']??'closed';if(_0x196cc2[_0x84fa61(0x121)]===_0x84fa61(0xe4))return _0xe836aa[_0x84fa61(0xcc)];return _0x196cc2['status'];}function getScenarioRationale(_0x4ccffe,_0x4c6a01){const _0x2455a7=_0x18344c,_0x4e7de6={'FIYoY':_0x2455a7(0xe0)},_0x525463=_0x4e7de6['FIYoY']['split']('|');let _0x440ca1=0x0;while(!![]){switch(_0x525463[_0x440ca1++]){case'0':if(_0x4ccffe[_0x2455a7(0x97)])return _0x4ccffe['blockedReason'];continue;case'1':return null;case'2':if(_0x4ccffe['notes'])return _0x4ccffe[_0x2455a7(0xa6)];continue;case'3':if(_0x4c6a01)return _0x4c6a01;continue;case'4':if(_0x4ccffe['canceledReason'])return _0x4ccffe['canceledReason'];continue;case'5':if(_0x4ccffe['incompleteReason'])return _0x4ccffe[_0x2455a7(0x8a)];continue;}break;}}export async function featureReportPrDescription(_0x485c39,_0x1d66a6){const _0x436681=_0x18344c,_0x55481f={'FBLYg':_0x436681(0x11a),'EQDAp':function(_0x1059da,_0x57fe29,_0x3eef51){return _0x1059da(_0x57fe29,_0x3eef51);},'ztCNJ':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','hKutl':function(_0x383400,_0x53abf4){return _0x383400>_0x53abf4;},'jEtSg':function(_0x16a713,_0x4e0fb1){return _0x16a713<_0x4e0fb1;},'lhwti':_0x436681(0x125),'wErjm':function(_0x29a3d9,_0x2d23a8,_0x5de973){return _0x29a3d9(_0x2d23a8,_0x5de973);}},_0x39ff60=_0x485c39||await getActiveFeatureId();if(!_0x39ff60)throw new Error(_0x55481f['FBLYg']);const _0x420df5=await getFeature(_0x39ff60),_0x161ed9=_0x420df5[_0x436681(0xe9)]||[],_0x589bb5=_0x55481f['EQDAp'](getCurrentSessionItems,_0x420df5,_0x161ed9);_0x589bb5[_0x436681(0x133)]===0x0&&(console[_0x436681(0x8c)](_0x55481f['ztCNJ']),process[_0x436681(0x130)](0x1));const _0x37bda6=_0x1d66a6['excludeScenarios']??[],_0x3db834=_0x37bda6[_0x436681(0x10e)](_0x28a2f7=>!Number[_0x436681(0x140)](_0x28a2f7)||_0x28a2f7<0x1||_0x28a2f7>_0x589bb5['length']);if(_0x55481f['hKutl'](_0x3db834['length'],0x0)){console[_0x436681(0x8c)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x3db834['join'](',\x20')),console[_0x436681(0xd4)](_0x436681(0xf1));for(let _0x5b8340=0x0;_0x55481f[_0x436681(0x7f)](_0x5b8340,_0x589bb5[_0x436681(0x133)]);_0x5b8340++){console['log']('\x20\x20'+(_0x5b8340+0x1)+'.\x20'+_0x589bb5[_0x5b8340][_0x436681(0x12f)]);}process['exit'](0x1);}const _0x525c43=new Set(_0x37bda6[_0x436681(0xfc)](_0x139dd6=>_0x139dd6-0x1)),_0x4458c4=_0x589bb5['filter']((_0x2ad937,_0x4aad97)=>!_0x525c43[_0x436681(0xbc)](_0x4aad97));_0x4458c4[_0x436681(0x133)]===0x0&&(console['error'](_0x55481f['lhwti']),process['exit'](0x1));if(_0x1d66a6['json'])await outputJsonReport(_0x39ff60,_0x420df5,_0x4458c4);else{const _0xf71b42=await _0x55481f[_0x436681(0x138)](getFeatureReportMarkdown,_0x39ff60,{'itemIds':_0x4458c4['map'](_0x231159=>_0x231159['id'])});process['stdout']['write'](_0xf71b42[_0x436681(0x108)]()+'\x0a');}}async function outputJsonReport(_0x56fe30,_0x27631c,_0x1e885a){const _0x34d648=_0x18344c,_0x3ff8ce={'yeDcJ':function(_0x187f20,_0x15f448){return _0x187f20===_0x15f448;},'ZZGVo':function(_0x486c94,_0x462f1c){return _0x486c94(_0x462f1c);},'rpNKz':function(_0xb2ce0e){return _0xb2ce0e();},'LnykZ':function(_0x52d156,_0x4cfb2d){return _0x52d156+_0x4cfb2d;}},_0x8aeca=_0x3ff8ce['rpNKz'](getApiBaseUrl),_0x3754da=await getFeatureReport(_0x56fe30),_0x2c789e=new Map(_0x3754da[_0x34d648(0xe9)][_0x34d648(0xfc)](_0x32b3e0=>[_0x32b3e0['id'],_0x32b3e0])),_0x11964c=await Promise[_0x34d648(0x166)](_0x1e885a[_0x34d648(0xfc)](async _0x57a421=>{const _0x58aba5=_0x34d648,_0x4e1d6f=_0x2c789e[_0x58aba5(0x115)](_0x57a421['id']),_0x22c978=_0x4e1d6f?.[_0x58aba5(0x9c)]??null;let _0x5d7fe3=[];if(_0x57a421[_0x58aba5(0x15e)])try{const {steps:_0x558047}=await getBrowserSessionSteps(_0x57a421['browserSessionId']);_0x558047[_0x58aba5(0x133)]>0x0&&(_0x5d7fe3=_0x558047[_0x58aba5(0xfc)](_0x4cb402=>{const _0x2bba87=_0x58aba5,_0x2b3d58=_0x4cb402[_0x2bba87(0x124)][_0x2bba87(0xfb)](_0x198695=>_0x198695[_0x2bba87(0x132)]==='screenshot'&&_0x198695[_0x2bba87(0xbd)]==='after')??_0x4cb402[_0x2bba87(0x124)]['find'](_0x1e78c3=>_0x1e78c3[_0x2bba87(0x132)]==='screenshot');let _0x4b5714=null,_0x26ce07=null;if(_0x2b3d58){const _0x13491a=_0x2b3d58[_0x2bba87(0x137)][_0x2bba87(0xbb)]['split']('/')['pop']();_0x4b5714=_0x8aeca+'/api/v1/mcp/browser-sessions/'+_0x57a421[_0x2bba87(0x15e)]+'/artifacts/'+_0x13491a,_0x13491a&&(_0x26ce07=_0x13491a[_0x2bba87(0xd2)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x2bba87(0xd2)](/[-_]/g,'\x20'));}return{'description':_0x26ce07||_0x4cb402['description']||_0x4cb402[_0x2bba87(0xa9)]||_0x2bba87(0x100)+_0x4cb402['position'],'screenshot':_0x4b5714,'is_key_step':_0x4cb402['isKeyStep']};}));}catch{}return _0x3ff8ce['yeDcJ'](_0x5d7fe3['length'],0x0)&&_0x22c978?.[_0x58aba5(0x14b)]&&(_0x5d7fe3=_0x22c978[_0x58aba5(0x14b)][_0x58aba5(0xfc)]((_0x9d51bf,_0x2829fe)=>({'description':_0x58aba5(0x10a)+(_0x2829fe+0x1),'screenshot':_0x9d51bf,'is_key_step':![]}))),{'description':_0x57a421[_0x58aba5(0x12f)],'result':_0x3ff8ce['ZZGVo'](getScenarioResult,_0x57a421),'rationale':getScenarioRationale(_0x57a421,_0x22c978?.[_0x58aba5(0x85)]),'steps':_0x5d7fe3};})),_0x2e5212={'url':_0x27631c['dashboardUrl'],'scenarios':_0x11964c};process['stdout']['write'](_0x3ff8ce[_0x34d648(0x117)](JSON['stringify'](_0x2e5212,null,0x2),'\x0a'));}export async function featureConcludeSession(_0xde8b90){const _0xe3951=_0x18344c,_0x3f7748={'YWofi':function(_0x4b123b){return _0x4b123b();},'pHCRy':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','TCDFo':_0xe3951(0xe5),'xETDb':function(_0x23498d,_0x386d5f){return _0x23498d===_0x386d5f;},'dvDsc':_0xe3951(0x10f),'boPSn':function(_0x335175,_0x43feaf){return _0x335175!==_0x43feaf;},'hlEVZ':_0xe3951(0xa8)},_0x4d5a23=_0xde8b90||await _0x3f7748[_0xe3951(0xde)](getActiveFeatureId);if(!_0x4d5a23)throw new Error(_0xe3951(0x13b));const _0xf1ac62=await getFeature(_0x4d5a23);if(!_0xf1ac62['currentSessionId'])throw new Error(_0x3f7748[_0xe3951(0xdc)]);const {sessions:_0x244114}=await listFeatureSessions(_0x4d5a23),_0x4c7232=_0x244114['find'](_0x4e118c=>_0x4e118c['id']===_0xf1ac62['currentSessionId']);if(!_0x4c7232)throw new Error(_0x3f7748[_0xe3951(0x10b)]);if(_0x3f7748[_0xe3951(0xa3)](_0x4c7232[_0xe3951(0x121)],_0x3f7748['dvDsc'])){console['log'](_0xe3951(0x119));return;}if(_0x3f7748['boPSn'](_0x4c7232[_0xe3951(0x121)],'in_progress'))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4c7232['status']);console[_0xe3951(0xd4)](_0x3f7748['hlEVZ']),await concludeSession(_0x4d5a23,_0xf1ac62['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x4c7232[_0xe3951(0xa2)]+'\x20concluded.'),console[_0xe3951(0xd4)](_0xe3951(0x142));}export async function featureSessions(_0x552aeb){const _0x26bcb4=_0x18344c,_0x27bf06={'EBPeI':function(_0x35ec8e){return _0x35ec8e();},'CYPgy':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','RiFDr':function(_0x36557e,_0x67b2fe){return _0x36557e(_0x67b2fe);},'ZLzaR':'completed','HKXPp':function(_0x14b811,_0x41e10d){return _0x14b811===_0x41e10d;},'FWAkP':_0x26bcb4(0x157)},_0x100f5f=_0x552aeb||await _0x27bf06['EBPeI'](getActiveFeatureId);if(!_0x100f5f)throw new Error(_0x27bf06['CYPgy']);const _0x2f2365=await _0x27bf06['RiFDr'](getFeature,_0x100f5f);console[_0x26bcb4(0xd4)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x2f2365['name']+'\x0a');const {sessions:_0x5d6c28}=await listFeatureSessions(_0x100f5f);if(_0x5d6c28[_0x26bcb4(0x133)]===0x0){console[_0x26bcb4(0xd4)](_0x26bcb4(0xaa));return;}for(const _0x4e23a3 of _0x5d6c28){const _0x2e1e83=_0x4e23a3[_0x26bcb4(0x121)]===_0x27bf06['ZLzaR']?'✅':_0x27bf06[_0x26bcb4(0x101)](_0x4e23a3['status'],_0x27bf06['FWAkP'])?'🔄':'▶️';console['log'](_0x2e1e83+'\x20Session\x20'+_0x4e23a3[_0x26bcb4(0xa2)]+'\x20('+_0x4e23a3['id']+')'),console[_0x26bcb4(0xd4)]('\x20\x20\x20Status:\x20'+_0x4e23a3['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x4e23a3['createdAt'])['toLocaleString']()),_0x4e23a3['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x4e23a3[_0x26bcb4(0x162)])[_0x26bcb4(0x143)]()),console['log']('');}}export async function featureAddScenario(_0x5a141b,_0x1ad26c){const _0x3068fa=_0x18344c,_0x1802f2={'BNIFk':function(_0x2b460f){return _0x2b460f();},'LIIBc':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','RMTzl':function(_0x225281,_0x32dcfb){return _0x225281(_0x32dcfb);},'iwcRd':function(_0x3f1e5e,_0x274c94){return _0x3f1e5e(_0x274c94);},'LZGZs':function(_0x297fbd,_0xc811fe,_0x47d0e4){return _0x297fbd(_0xc811fe,_0x47d0e4);}},_0x10f6f5=_0x1ad26c||await _0x1802f2['BNIFk'](getActiveFeatureId);if(!_0x10f6f5)throw new Error(_0x1802f2[_0x3068fa(0xd9)]);const _0x4f2541=await _0x1802f2['RMTzl'](getFeature,_0x10f6f5);if(_0x4f2541[_0x3068fa(0xab)]&&!_0x4f2541[_0x3068fa(0xab)]['submittedAt'])throw new Error(_0x3068fa(0x87)+_0x4f2541[_0x3068fa(0xf8)]);await createChecklistItem(_0x10f6f5,_0x5a141b);const _0x2a0ac0=await _0x1802f2['iwcRd'](getFeature,_0x10f6f5);console[_0x3068fa(0xd4)]('\x0a✅\x20Scenario\x20added'),_0x1802f2['LZGZs'](displayFeature,_0x2a0ac0,_0x2a0ac0[_0x3068fa(0xe9)]);}export async function featureEditScenario(_0x35fcd1,_0x30dc4b){const _0x1d9c9c=_0x18344c,_0x531ca7={'SfSJv':function(_0x383908){return _0x383908();},'hOEGM':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','rNTJB':function(_0x10d5a3,_0x308eff){return _0x10d5a3(_0x308eff);},'aQZhn':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','EFmlI':function(_0x318493,_0x426382){return _0x318493===_0x426382;},'wQqxy':_0x1d9c9c(0xa5),'xeXzu':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','vetzo':_0x1d9c9c(0xf1),'bFpQa':function(_0x1eae3,_0x66c0ee){return _0x1eae3-_0x66c0ee;},'oYNEE':function(_0x253661,_0x581de9){return _0x253661>=_0x581de9;},'WBtdx':function(_0xe71fca,_0x586fef){return _0xe71fca<_0x586fef;},'IETTY':function(_0x331e50,_0x3f237b){return _0x331e50+_0x3f237b;}},_0x25644e=_0x30dc4b['id']||await _0x531ca7['SfSJv'](getActiveFeatureId);!_0x25644e&&(console[_0x1d9c9c(0x8c)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x1d9c9c(0x8c)](_0x531ca7['hOEGM']),process['exit'](0x1));const _0xfb1bc8=await _0x531ca7['rNTJB'](getFeature,_0x25644e);_0xfb1bc8['latestReview']&&!_0xfb1bc8[_0x1d9c9c(0xab)][_0x1d9c9c(0xdd)]&&(console[_0x1d9c9c(0x8c)](_0x531ca7[_0x1d9c9c(0x105)]),console[_0x1d9c9c(0x8c)]('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0xfb1bc8[_0x1d9c9c(0xf8)]),process[_0x1d9c9c(0x130)](0x1));const _0x2c751f=_0xfb1bc8['checklistItems']||[];_0x531ca7[_0x1d9c9c(0xf3)](_0x2c751f['length'],0x0)&&(console[_0x1d9c9c(0x8c)](_0x531ca7[_0x1d9c9c(0x12b)]),process[_0x1d9c9c(0x130)](0x1));if(_0x30dc4b[_0x1d9c9c(0x147)]===undefined){console[_0x1d9c9c(0x8c)](_0x531ca7['xeXzu']),console[_0x1d9c9c(0xd4)](_0x531ca7['vetzo']);for(let _0x255586=0x0;_0x255586<_0x2c751f['length'];_0x255586++){console['log']('\x20\x20'+(_0x255586+0x1)+'.\x20'+_0x2c751f[_0x255586][_0x1d9c9c(0x12f)]);}process['exit'](0x1);}const _0x1ff41e=_0x531ca7[_0x1d9c9c(0x112)](_0x30dc4b[_0x1d9c9c(0x147)],0x1);if(_0x1ff41e<0x0||_0x531ca7['oYNEE'](_0x1ff41e,_0x2c751f[_0x1d9c9c(0x133)])){console['error'](_0x1d9c9c(0x80)+_0x30dc4b['scenario']+_0x1d9c9c(0xa0)+_0x2c751f[_0x1d9c9c(0x133)]+_0x1d9c9c(0x9b)),console[_0x1d9c9c(0xd4)](_0x1d9c9c(0xf1));for(let _0x2276c5=0x0;_0x531ca7[_0x1d9c9c(0x12e)](_0x2276c5,_0x2c751f[_0x1d9c9c(0x133)]);_0x2276c5++){console[_0x1d9c9c(0xd4)]('\x20\x20'+_0x531ca7[_0x1d9c9c(0x11c)](_0x2276c5,0x1)+'.\x20'+_0x2c751f[_0x2276c5]['description']);}process['exit'](0x1);}const _0x20cc7a=_0x2c751f[_0x1ff41e];await updateChecklistItem(_0x25644e,_0x20cc7a['id'],{'description':_0x35fcd1});const _0x2368a4=await _0x531ca7[_0x1d9c9c(0x102)](getFeature,_0x25644e);console[_0x1d9c9c(0xd4)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x2368a4,_0x2368a4['checklistItems']);}async function downloadFeedbackImage(_0x9f63f9,_0x74f170){const _0x1881d4=_0x18344c,_0x409fb7={'TramT':function(_0x1e7e38,_0x2b39ff,_0x41e4a4){return _0x1e7e38(_0x2b39ff,_0x41e4a4);},'MbJgp':_0x1881d4(0xb0)};try{const _0x222a6f=_0x409fb7[_0x1881d4(0x12c)](join,getRangerDir(),_0x409fb7[_0x1881d4(0x126)]);await _0x409fb7['TramT'](mkdir,_0x222a6f,{'recursive':!![]});const _0x2cfc1c=_0x409fb7[_0x1881d4(0x12c)](join,_0x222a6f,_0x1881d4(0xb3)+_0x74f170+_0x1881d4(0x163)),_0x10a2e6=await fetch(_0x9f63f9);if(!_0x10a2e6['ok'])return null;const _0x3f3e0c=Buffer['from'](await _0x10a2e6['arrayBuffer']());return await writeFile(_0x2cfc1c,_0x3f3e0c),_0x2cfc1c;}catch{return null;}}export async function featureGetReview(_0x2ac4c9){const _0x37be2b=_0x18344c,_0x5ddb35={'njpfP':_0x37be2b(0x13b),'fOyZX':function(_0x58b233,_0x321822){return _0x58b233(_0x321822);},'MYqYM':function(_0x1341c1,_0x22a9cc){return _0x1341c1===_0x22a9cc;},'AuxBz':function(_0x357ad4,_0x38577f){return _0x357ad4>_0x38577f;},'sJOro':function(_0x183abd,_0x136f42,_0x1bf2d5){return _0x183abd(_0x136f42,_0x1bf2d5);},'IXXAn':'en-US','xcUUZ':'element','RwgbG':function(_0x59b980,_0x3d14c2){return _0x59b980+_0x3d14c2;}},_0x5ee7b8=_0x2ac4c9||await getActiveFeatureId();if(!_0x5ee7b8)throw new Error(_0x5ddb35[_0x37be2b(0x127)]);const _0x1e702e=await _0x5ddb35['fOyZX'](getFeature,_0x5ee7b8),{items:_0x2ac6d5}=await _0x5ddb35['fOyZX'](getActionItems,_0x5ee7b8);console[_0x37be2b(0xd4)](_0x37be2b(0x110)+_0x1e702e[_0x37be2b(0x84)]+'\x20('+_0x1e702e['id']+')\x0a');if(_0x5ddb35['MYqYM'](_0x2ac6d5['length'],0x0)){console[_0x37be2b(0xd4)](_0x37be2b(0x103));return;}for(let _0x5ecd34=0x0;_0x5ecd34<_0x2ac6d5['length'];_0x5ecd34++){const _0xf32293=_0x2ac6d5[_0x5ecd34],_0x33b0da=_0x5ddb35[_0x37be2b(0xe7)](_0xf32293[_0x37be2b(0x104)],0x1)?'\x20(v'+_0xf32293['version']+')':'',_0x402cd4=await _0x5ddb35['sJOro'](getItemFeedback,_0x5ee7b8,_0xf32293['id']);if(_0x402cd4['unaddressedComments'][_0x37be2b(0x133)]>0x0){console['log']('Scenario\x20'+(_0x5ecd34+0x1)+_0x37be2b(0xfa)+_0xf32293[_0x37be2b(0x12f)]+'\x22'+_0x33b0da+'\x20—\x20'+_0x402cd4[_0x37be2b(0xec)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x355a29 of _0x402cd4[_0x37be2b(0xec)]){const _0xaf60f5=new Date(_0x355a29['createdAt'])[_0x37be2b(0xb2)](_0x5ddb35[_0x37be2b(0xb4)],{'month':'short','day':'numeric'}),_0x290aa0=_0x355a29['authorName']||_0x355a29[_0x37be2b(0x90)]||'Unknown';console['log'](_0x37be2b(0xcf)+_0x290aa0+'\x20('+_0xaf60f5+_0x37be2b(0xf4)+_0x355a29['content']+'\x22');if(_0x355a29['assetUrl']){const _0x3b20d4=await downloadFeedbackImage(_0x355a29['assetUrl'],_0x355a29['id']);_0x3b20d4&&console[_0x37be2b(0xd4)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x3b20d4);}if(_0x355a29['domRef']){const _0x44a5a3=_0x355a29[_0x37be2b(0xff)][_0x37be2b(0x120)]['split'](_0x37be2b(0xfd))[_0x37be2b(0x164)]()?.[_0x37be2b(0xbf)](':')[0x0]||_0x5ddb35[_0x37be2b(0x161)],_0x40a39c=_0x355a29[_0x37be2b(0xff)]['textContent']?'\x20\x22'+_0x355a29[_0x37be2b(0xff)][_0x37be2b(0xd0)][_0x37be2b(0x12a)](0x0,0x3c)+'\x22':'';console[_0x37be2b(0xd4)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x44a5a3+'>'+_0x40a39c),console[_0x37be2b(0xd4)](_0x37be2b(0x141)+_0x355a29[_0x37be2b(0xff)]['selector']);}else{if(_0x355a29[_0x37be2b(0x168)]){const _0x4429dd=_0x355a29[_0x37be2b(0x168)]['coordinates'];_0x355a29[_0x37be2b(0x168)]['type']==='point'&&_0x4429dd[_0x37be2b(0x133)]>=0x2?console[_0x37be2b(0xd4)](_0x37be2b(0x8f)+_0x4429dd[0x0]['toFixed'](0x2)+',\x20'+_0x4429dd[0x1]['toFixed'](0x2)+')'):console[_0x37be2b(0xd4)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x355a29['spatial']['type']+'\x20at\x20['+_0x4429dd[_0x37be2b(0xfc)](_0x1b8571=>_0x1b8571[_0x37be2b(0xd7)](0x2))[_0x37be2b(0xb5)](',\x20')+']');}}}if(_0x402cd4['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x6ea418 of _0x402cd4[_0x37be2b(0xd6)]['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x6ea418);}}}else console['log'](_0x37be2b(0x14a)+_0x5ddb35[_0x37be2b(0x13d)](_0x5ecd34,0x1)+_0x37be2b(0xfa)+_0xf32293[_0x37be2b(0x12f)]+'\x22'+_0x33b0da+_0x37be2b(0x83)),console[_0x37be2b(0xd4)](_0x37be2b(0xa7));console['log']('');}}export async function featureDelete(_0x429add){const _0xcc137a=_0x18344c,_0x45e0f5={'vDwGh':function(_0x492411){return _0x492411();},'tHXkh':_0xcc137a(0x13b),'UoHkO':function(_0x154342,_0xf29fa8){return _0x154342(_0xf29fa8);},'mTyuF':function(_0x2da5b4,_0x2bc917){return _0x2da5b4+_0x2bc917;}},_0x2c2d43=_0x429add||await _0x45e0f5[_0xcc137a(0x15a)](getActiveFeatureId);if(!_0x2c2d43)throw new Error(_0x45e0f5['tHXkh']);const _0x30aca7=await getFeature(_0x2c2d43);await _0x45e0f5[_0xcc137a(0x118)](softDeleteFeature,_0x2c2d43),console['log'](_0xcc137a(0xc3)+_0x30aca7['name']+'\x20('+_0x2c2d43+')'),console[_0xcc137a(0xd4)](_0x45e0f5['mTyuF'](_0xcc137a(0x13a),_0x2c2d43));}export async function featureRestore(_0x16dab6){const _0x1428ff=_0x18344c,_0x4ebf7f={'BzXyq':function(_0x2f7b0a,_0x3c3331){return _0x2f7b0a(_0x3c3331);},'hRmVR':function(_0x1c4ba2,_0x75c6e2,_0x305d78){return _0x1c4ba2(_0x75c6e2,_0x305d78);}};await _0x4ebf7f[_0x1428ff(0x9e)](restoreFeature,_0x16dab6);const _0x19c63b=await _0x4ebf7f[_0x1428ff(0x9e)](getFeature,_0x16dab6);console[_0x1428ff(0xd4)](_0x1428ff(0x113)+_0x19c63b['name']+'\x20('+_0x16dab6+')'),_0x4ebf7f[_0x1428ff(0x122)](displayFeature,_0x19c63b,_0x19c63b[_0x1428ff(0xe9)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xc8cd(){const _0x535877=['12SgFQdD','exit','error','5505521ceRggR','2022093vpDarF','6HAZqqF','20xkZjge','174560nrKlLi','SIGINT','15175831ZwXLOi','402789oamdla','join','153GRqtMO','once','2976950cSZOtH','2DuKltc','922648JNPdPh'];_0xc8cd=function(){return _0x535877;};return _0xc8cd();}(function(_0x2e76c3,_0x52e032){const _0x4f39f6=_0x281e,_0x2c3cdf=_0x2e76c3();while(!![]){try{const _0x5a0131=-parseInt(_0x4f39f6(0x1e2))/0x1*(parseInt(_0x4f39f6(0x1e7))/0x2)+parseInt(_0x4f39f6(0x1ed))/0x3+parseInt(_0x4f39f6(0x1e8))/0x4*(parseInt(_0x4f39f6(0x1de))/0x5)+-parseInt(_0x4f39f6(0x1dd))/0x6*(-parseInt(_0x4f39f6(0x1ec))/0x7)+parseInt(_0x4f39f6(0x1df))/0x8*(-parseInt(_0x4f39f6(0x1e4))/0x9)+parseInt(_0x4f39f6(0x1e6))/0xa+-parseInt(_0x4f39f6(0x1e1))/0xb*(parseInt(_0x4f39f6(0x1e9))/0xc);if(_0x5a0131===_0x52e032)break;else _0x2c3cdf['push'](_0x2c3cdf['shift']());}catch(_0x532596){_0x2c3cdf['push'](_0x2c3cdf['shift']());}}}(_0xc8cd,0x80ca7));function _0x281e(_0x5a9352,_0x1fd21e){_0x5a9352=_0x5a9352-0x1dd;const _0xc8cd57=_0xc8cd();let _0x281e01=_0xc8cd57[_0x5a9352];return _0x281e01;}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 _0x583796=_0x281e,_0x395e61={'VCrYS':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x594e1c=()=>{const _0x38be27=_0x281e;process[_0x38be27(0x1ea)](0x0);};process[_0x583796(0x1e5)](_0x583796(0x1e0),_0x594e1c),process['once'](_0x395e61['VCrYS'],_0x594e1c),process['once']('SIGHUP',_0x594e1c),cancellationHandlersInstalled=!![];}export async function hook(_0x4970a4,_0x373a6e){const _0x476143=_0x281e,_0x3e5270={'ULjly':function(_0x20ca2e,_0x1b1094){return _0x20ca2e(_0x1b1094);}};installCancellationHandlers();const _0x5eae14=HOOKS[_0x4970a4];if(!_0x5eae14){const _0x5a29ee=Object['keys'](HOOKS)[_0x476143(0x1e3)](',\x20');console[_0x476143(0x1eb)]('Unknown\x20hook:\x20'+_0x4970a4),console[_0x476143(0x1eb)]('Valid\x20hooks:\x20'+_0x5a29ee),process[_0x476143(0x1ea)](0x1);}await _0x3e5270['ULjly'](_0x5eae14,_0x373a6e);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2614(){const _0x25d56e=['mDzBU','6412035OGLdqb','343704hiOSjd','22076JwrWsY','log','822699gEvSpA','28GtAEOK','105SRzDfQ','off','140BKGYdA','5783634NCmZhw','3857682tAyrIm','562928BrWUyZ'];_0x2614=function(){return _0x25d56e;};return _0x2614();}(function(_0x586ab0,_0x527870){const _0x1f93e3=_0x33dc,_0xf89f9d=_0x586ab0();while(!![]){try{const _0x38192c=parseInt(_0x1f93e3(0x1a4))/0x1*(-parseInt(_0x1f93e3(0x1a1))/0x2)+parseInt(_0x1f93e3(0x19c))/0x3+-parseInt(_0x1f93e3(0x1a0))/0x4+parseInt(_0x1f93e3(0x19f))/0x5+parseInt(_0x1f93e3(0x19b))/0x6+parseInt(_0x1f93e3(0x1a5))/0x7*(-parseInt(_0x1f93e3(0x19d))/0x8)+-parseInt(_0x1f93e3(0x1a3))/0x9*(parseInt(_0x1f93e3(0x19a))/0xa);if(_0x38192c===_0x527870)break;else _0xf89f9d['push'](_0xf89f9d['shift']());}catch(_0x3d2413){_0xf89f9d['push'](_0xf89f9d['shift']());}}}(_0x2614,0xc3cd6));import{readHookInput}from'./output.js';function _0x33dc(_0x426124,_0x3100eb){_0x426124=_0x426124-0x19a;const _0x2614bf=_0x2614();let _0x33dca1=_0x2614bf[_0x426124];return _0x33dca1;}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 _0x24a18e=_0x33dc,_0x4f9a9d={'pHUpd':function(_0x559135){return _0x559135();},'Prqpt':_0x24a18e(0x1a6),'WgspL':function(_0x19bb63,_0xcf68c4){return _0x19bb63(_0xcf68c4);},'mDzBU':function(_0x52580d,_0x363aac){return _0x52580d(_0x363aac);}};if(_0x4f9a9d['pHUpd'](resolveHookMode)===_0x4f9a9d['Prqpt'])return;const _0x1db8f2=await readHookInput(),_0x2d3a79=_0x1db8f2?.['session_id'];if(!_0x2d3a79)return;if(_0x4f9a9d['WgspL'](isSessionEnabled,_0x2d3a79)||hasSessionBeenPrompted(_0x2d3a79))return;_0x4f9a9d[_0x24a18e(0x19e)](markSessionPrompted,_0x2d3a79),console[_0x24a18e(0x1a2)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x148a1a,_0x2a834d){const _0x8a14f0=_0x1b68,_0x58b39b=_0x148a1a();while(!![]){try{const _0x4cf53e=-parseInt(_0x8a14f0(0xef))/0x1+-parseInt(_0x8a14f0(0xf1))/0x2*(-parseInt(_0x8a14f0(0xf3))/0x3)+-parseInt(_0x8a14f0(0xf5))/0x4+parseInt(_0x8a14f0(0xfd))/0x5+parseInt(_0x8a14f0(0xf0))/0x6+-parseInt(_0x8a14f0(0xfc))/0x7*(parseInt(_0x8a14f0(0xfa))/0x8)+parseInt(_0x8a14f0(0xf6))/0x9;if(_0x4cf53e===_0x2a834d)break;else _0x58b39b['push'](_0x58b39b['shift']());}catch(_0x126779){_0x58b39b['push'](_0x58b39b['shift']());}}}(_0x16d9,0x51408));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x1b68(_0x5747ce,_0x59da93){_0x5747ce=_0x5747ce-0xef;const _0x16d946=_0x16d9();let _0x1b6869=_0x16d946[_0x5747ce];return _0x1b6869;}export async function disable(_0x52fe1a){const _0x5769d6=_0x1b68,_0x5ed83e={'XVqfR':function(_0x5c2f0c,_0x29b572){return _0x5c2f0c(_0x29b572);},'RPbeL':function(_0x41eb60){return _0x41eb60();},'rMtXj':_0x5769d6(0xf4),'OvvOK':function(_0x136629,_0x27d826){return _0x136629!==_0x27d826;},'PxbrB':function(_0xfa8bcc,_0x2d09d4){return _0xfa8bcc!==_0x2d09d4;},'QkQcW':'master'},_0x3dd46d=_0x52fe1a||process['env']['CLAUDE_SESSION_ID']||'';_0x3dd46d&&_0x5ed83e['XVqfR'](disableSession,_0x3dd46d);const _0x3cb2ee=_0x5ed83e[_0x5769d6(0xf9)](getCurrentBranch);_0x3cb2ee&&_0x3cb2ee!==_0x5ed83e[_0x5769d6(0xf7)]&&_0x5ed83e[_0x5769d6(0xf8)](_0x3cb2ee,'master')&&_0x5ed83e[_0x5769d6(0xf2)](disableBranch,_0x3cb2ee),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x3cb2ee&&_0x5ed83e['PxbrB'](_0x3cb2ee,_0x5769d6(0xf4))&&_0x3cb2ee!==_0x5ed83e['QkQcW']?_0x5769d6(0xfb)+_0x3cb2ee+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}function _0x16d9(){const _0x362e09=['RPbeL','857408dzbMyj','\x20and\x20branch\x20\x27','42FMyCZX','1212765LouhHO','173709YoODVU','1152630ASUzGu','1412dzIPSI','XVqfR','1293rKEqsY','main','2411856giHpwA','9122337Vnhxor','rMtXj','OvvOK'];_0x16d9=function(){return _0x362e09;};return _0x16d9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x8d1389,_0x3e67cd){const _0x24e52a=_0x35c0,_0x1ec78a=_0x8d1389();while(!![]){try{const _0x48b67c=parseInt(_0x24e52a(0x134))/0x1+-parseInt(_0x24e52a(0x13b))/0x2+-parseInt(_0x24e52a(0x139))/0x3+-parseInt(_0x24e52a(0x13e))/0x4+parseInt(_0x24e52a(0x12e))/0x5*(parseInt(_0x24e52a(0x132))/0x6)+-parseInt(_0x24e52a(0x128))/0x7+parseInt(_0x24e52a(0x125))/0x8*(parseInt(_0x24e52a(0x136))/0x9);if(_0x48b67c===_0x3e67cd)break;else _0x1ec78a['push'](_0x1ec78a['shift']());}catch(_0x4e6f6b){_0x1ec78a['push'](_0x1ec78a['shift']());}}}(_0x5f09,0x4ff76));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x35c0(_0x49aff4,_0x3467ed){_0x49aff4=_0x49aff4-0x125;const _0x5f0901=_0x5f09();let _0x35c0a0=_0x5f0901[_0x49aff4];return _0x35c0a0;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x17fbe9){const _0x5cbe25=_0x35c0,_0x28655e={'agYmJ':function(_0x181b3c,_0x45be99){return _0x181b3c(_0x45be99);},'weuDd':function(_0x53028a){return _0x53028a();},'ZzyGI':'ranger\x20setup\x20--opencode','nGldI':_0x5cbe25(0x133),'CQNkz':_0x5cbe25(0x138),'myHFh':function(_0x3ecd67,_0x4ec426){return _0x3ecd67(_0x4ec426);},'SYpDI':function(_0x4e777c){return _0x4e777c();},'tMFik':function(_0x4d816f,_0xcdc2ad){return _0x4d816f!==_0xcdc2ad;},'tteyy':_0x5cbe25(0x13a),'gLTPI':function(_0x5c3bee,_0x530c62){return _0x5c3bee(_0x530c62);}},_0x2b8532=_0x17fbe9||process['env']['CLAUDE_SESSION_ID']||'',_0x352f54=_0x28655e[_0x5cbe25(0x130)](Boolean,_0x17fbe9),_0x1e2659=await _0x28655e[_0x5cbe25(0x137)](getToken);if(!_0x1e2659){const _0x197986=_0x352f54?_0x28655e['ZzyGI']:_0x28655e[_0x5cbe25(0x127)],_0x2d244d=_0x352f54?_0x28655e[_0x5cbe25(0x12b)]:_0x5cbe25(0x12f);_0x28655e['myHFh'](printBlock,_0x5cbe25(0x135)+_0x197986+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x2d244d);return;}try{await _0x28655e[_0x5cbe25(0x12a)](update);}catch{}_0x2b8532&&_0x28655e['agYmJ'](enableSession,_0x2b8532);const _0x1552cd=_0x28655e['SYpDI'](getCurrentBranch),_0x2fef36=_0x1552cd&&_0x28655e['tMFik'](_0x1552cd,_0x5cbe25(0x126))&&_0x1552cd!==_0x28655e[_0x5cbe25(0x12d)]?_0x5cbe25(0x131)+_0x1552cd+_0x5cbe25(0x13d):'',_0x2bffa6=_0x28655e['weuDd'](getRangerSkillContent);_0x28655e[_0x5cbe25(0x129)](printBlock,_0x5cbe25(0x12c)+_0x2fef36+_0x5cbe25(0x13c)+_0x2bffa6+'\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`.');}function _0x5f09(){const _0x97412f=['\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','2569372dZXpKO','40cbgnAR','main','nGldI','2148034btPQRx','gLTPI','SYpDI','CQNkz','#\x20RANGER\x20ENABLED','tteyy','5ISfSHs','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','agYmJ','\x0a\x0a**Branch\x20\x27','775140VWSktF','ranger\x20setup','204269lpkYGR','#\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`','2628981gjiHFu','weuDd','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','1256748iEUIQR','master','196682hmehDx','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'];_0x5f09=function(){return _0x97412f;};return _0x5f09();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x414b(){const _0x2adf31=['701124bNDrcI','1750MurqDW','46940eaRfVp','ZgVrZ','145812gypVGL','1320056HaOwLD','27425oBnpzK','1010409oMVazU','1395tYpjwa','8RCQUxs','26272aEfpKz'];_0x414b=function(){return _0x2adf31;};return _0x414b();}(function(_0x298765,_0x4a85b9){const _0x19ee68=_0x20da,_0x3f5444=_0x298765();while(!![]){try{const _0x2dc5e1=-parseInt(_0x19ee68(0x12c))/0x1+parseInt(_0x19ee68(0x12e))/0x2*(-parseInt(_0x19ee68(0x129))/0x3)+parseInt(_0x19ee68(0x12a))/0x4+parseInt(_0x19ee68(0x12b))/0x5+-parseInt(_0x19ee68(0x125))/0x6+-parseInt(_0x19ee68(0x126))/0x7*(-parseInt(_0x19ee68(0x12f))/0x8)+-parseInt(_0x19ee68(0x12d))/0x9*(-parseInt(_0x19ee68(0x127))/0xa);if(_0x2dc5e1===_0x4a85b9)break;else _0x3f5444['push'](_0x3f5444['shift']());}catch(_0x18d584){_0x3f5444['push'](_0x3f5444['shift']());}}}(_0x414b,0x894d6));import{printBlock,getEnabledSessionId}from'./output.js';function _0x20da(_0x5adad3,_0x1a1e49){_0x5adad3=_0x5adad3-0x125;const _0x414ba5=_0x414b();let _0x20dad0=_0x414ba5[_0x5adad3];return _0x20dad0;}export async function exitPlanMode(_0x4966b2){const _0x5c31fc=_0x20da,_0x13ea95={'ZgVrZ':function(_0x57ee08,_0x222e2b){return _0x57ee08(_0x222e2b);}},_0x4e002d=await _0x13ea95[_0x5c31fc(0x128)](getEnabledSessionId,_0x4966b2);if(!_0x4e002d)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x114890,_0x43169e){var _0x90ba79=_0x464c,_0x52cdf0=_0x114890();while(!![]){try{var _0x7c579a=-parseInt(_0x90ba79(0x173))/0x1+parseInt(_0x90ba79(0x171))/0x2*(-parseInt(_0x90ba79(0x16a))/0x3)+-parseInt(_0x90ba79(0x16e))/0x4+-parseInt(_0x90ba79(0x170))/0x5+parseInt(_0x90ba79(0x16d))/0x6+parseInt(_0x90ba79(0x172))/0x7*(-parseInt(_0x90ba79(0x16f))/0x8)+parseInt(_0x90ba79(0x16c))/0x9*(parseInt(_0x90ba79(0x16b))/0xa);if(_0x7c579a===_0x43169e)break;else _0x52cdf0['push'](_0x52cdf0['shift']());}catch(_0x59c9f8){_0x52cdf0['push'](_0x52cdf0['shift']());}}}(_0x5ded,0x909db));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5ded(){var _0x486c6c=['3270798XngqMU','1606326GaUCNZ','2488756jJOYLg','11896URnwFK','1449165urFHHE','326vMhWbm','1155bbfQIH','832148iHfPyJ','17607olQVex','90XjxdEQ'];_0x5ded=function(){return _0x486c6c;};return _0x5ded();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0x464c(_0x1036be,_0xf9245c){_0x1036be=_0x1036be-0x16a;var _0x5ded96=_0x5ded();var _0x464c9c=_0x5ded96[_0x1036be];return _0x464c9c;}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(_0x27502c,_0x44a3bb){const _0x1a978a=_0x4c8e,_0x2eea78=_0x27502c();while(!![]){try{const _0x10be47=parseInt(_0x1a978a(0x18e))/0x1+parseInt(_0x1a978a(0x18a))/0x2+-parseInt(_0x1a978a(0x184))/0x3*(parseInt(_0x1a978a(0x187))/0x4)+-parseInt(_0x1a978a(0x189))/0x5*(-parseInt(_0x1a978a(0x188))/0x6)+-parseInt(_0x1a978a(0x185))/0x7*(-parseInt(_0x1a978a(0x186))/0x8)+-parseInt(_0x1a978a(0x183))/0x9*(-parseInt(_0x1a978a(0x190))/0xa)+parseInt(_0x1a978a(0x18d))/0xb;if(_0x10be47===_0x44a3bb)break;else _0x2eea78['push'](_0x2eea78['shift']());}catch(_0x38bb4a){_0x2eea78['push'](_0x2eea78['shift']());}}}(_0x32eb,0x44e0c));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x15b310){console['log'](_0x15b310);}export async function readHookInput(){const _0x3af915=_0x4c8e;let _0x522f83='';try{for await(const _0x34981a of process[_0x3af915(0x18c)]){_0x522f83+=_0x34981a;}}catch{return null;}if(!_0x522f83[_0x3af915(0x18b)]())return null;try{return JSON['parse'](_0x522f83);}catch{return null;}}function _0x4c8e(_0x423e60,_0x16df7f){_0x423e60=_0x423e60-0x183;const _0x32ebed=_0x32eb();let _0x4c8efc=_0x32ebed[_0x423e60];return _0x4c8efc;}export async function getEnabledSessionId(_0x21c53c){const _0x38d48b=_0x4c8e,_0x243b42={'zsoDo':function(_0x390b34){return _0x390b34();}};if(_0x21c53c)return isSessionEnabled(_0x21c53c)?_0x21c53c:null;const _0x5c3bbb=await _0x243b42[_0x38d48b(0x18f)](readHookInput),_0x1bad8d=_0x5c3bbb?.['session_id'];if(!_0x1bad8d||!isSessionEnabled(_0x1bad8d))return null;return _0x1bad8d;}export async function getEnabledHookContext(_0x3f13b4){const _0x40742a={'fhqxP':function(_0x3ce8dd,_0x57c749){return _0x3ce8dd(_0x57c749);}};if(_0x3f13b4){if(!isSessionEnabled(_0x3f13b4))return null;return{'sessionId':_0x3f13b4,'input':{'session_id':_0x3f13b4}};}const _0x329114=await readHookInput(),_0x114d1f=_0x329114?.['session_id'];if(!_0x114d1f||!_0x40742a['fhqxP'](isSessionEnabled,_0x114d1f))return null;return{'sessionId':_0x114d1f,'input':_0x329114};}function _0x32eb(){const _0x33a47e=['28452GFNUeO','35nXwDtD','184292jEWnel','trim','stdin','3939606wLgunh','15998qLyNih','zsoDo','30jvsGwk','463743zvBqoL','504789JzPvwc','929936jzFcmn','8qxezkm','12gSfgMd'];_0x32eb=function(){return _0x33a47e;};return _0x32eb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1f83a9,_0x100f6a){const _0x4ffd72=_0x53ce,_0x922f50=_0x1f83a9();while(!![]){try{const _0x20ef97=-parseInt(_0x4ffd72(0x7e))/0x1*(parseInt(_0x4ffd72(0x81))/0x2)+parseInt(_0x4ffd72(0x7f))/0x3+-parseInt(_0x4ffd72(0x79))/0x4+-parseInt(_0x4ffd72(0x7a))/0x5*(-parseInt(_0x4ffd72(0x75))/0x6)+parseInt(_0x4ffd72(0x76))/0x7+parseInt(_0x4ffd72(0x77))/0x8+parseInt(_0x4ffd72(0x7b))/0x9;if(_0x20ef97===_0x100f6a)break;else _0x922f50['push'](_0x922f50['shift']());}catch(_0x4113da){_0x922f50['push'](_0x922f50['shift']());}}}(_0x8646,0xa1eac));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x53ce(_0x1e0c83,_0x26bccd){_0x1e0c83=_0x1e0c83-0x75;const _0x8646de=_0x8646();let _0x53ce90=_0x8646de[_0x1e0c83];return _0x53ce90;}function _0x8646(){const _0x54c67b=['3425928IiCfTf','gWWRh','3762016BTraRt','3325940lJxsXD','36648wcATEF','===\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===','sessionId','11yblGhr','1652994mZzlMF','permission_mode','126950lFYBcl','6mtVjWI','4574094QvZPzI'];_0x8646=function(){return _0x54c67b;};return _0x8646();}export async function planReminder(_0x29ddd1){const _0x43bec1=_0x53ce,_0x58f575={'gWWRh':function(_0x1dfc05,_0x51e44b){return _0x1dfc05(_0x51e44b);}},_0x275c18=await _0x58f575[_0x43bec1(0x78)](getEnabledHookContext,_0x29ddd1);if(!_0x275c18)return;if(_0x275c18['input'][_0x43bec1(0x80)]!=='plan')return;if(!shouldShowPlanReminder(_0x275c18[_0x43bec1(0x7d)]))return;printBlock(_0x43bec1(0x7c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x27193c,_0x4f547f){const _0x21e6de=_0x55e1,_0x2bbf69=_0x27193c();while(!![]){try{const _0xf5930a=-parseInt(_0x21e6de(0xb7))/0x1+parseInt(_0x21e6de(0xb3))/0x2+parseInt(_0x21e6de(0xb2))/0x3*(parseInt(_0x21e6de(0xb5))/0x4)+parseInt(_0x21e6de(0xb4))/0x5*(-parseInt(_0x21e6de(0xae))/0x6)+parseInt(_0x21e6de(0xb9))/0x7*(parseInt(_0x21e6de(0xaf))/0x8)+-parseInt(_0x21e6de(0xb6))/0x9+-parseInt(_0x21e6de(0xb8))/0xa*(-parseInt(_0x21e6de(0xb1))/0xb);if(_0xf5930a===_0x4f547f)break;else _0x2bbf69['push'](_0x2bbf69['shift']());}catch(_0x2a0755){_0x2bbf69['push'](_0x2bbf69['shift']());}}}(_0x4d3e,0x475b3));function _0x55e1(_0x151b27,_0xc7945){_0x151b27=_0x151b27-0xae;const _0x4d3e3c=_0x4d3e();let _0x55e18c=_0x4d3e3c[_0x151b27];return _0x55e18c;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x56d757){const _0x4de5bc=_0x55e1,_0x3f9af6={'aFGhA':function(_0x5319f5,_0x2ec2a0){return _0x5319f5(_0x2ec2a0);}},_0x338cb7=await _0x3f9af6['aFGhA'](getEnabledSessionId,_0x56d757);if(!_0x338cb7)return;_0x3f9af6[_0x4de5bc(0xb0)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}function _0x4d3e(){const _0x122156=['704zPtPVW','aFGhA','481855qzgCPy','402khHglC','190524WFgYbe','5hQUOlQ','16940PQjcpU','2839446mETZdP','402898fbQkLE','120hSONKf','8974gEuFCh','1743366oGcbOs'];_0x4d3e=function(){return _0x122156;};return _0x4d3e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2a32cc,_0x2c56bf){const _0x4dd167=_0x4d90,_0x171f1e=_0x2a32cc();while(!![]){try{const _0x18f5be=parseInt(_0x4dd167(0xd8))/0x1*(-parseInt(_0x4dd167(0xdb))/0x2)+parseInt(_0x4dd167(0xdd))/0x3+-parseInt(_0x4dd167(0xdc))/0x4*(parseInt(_0x4dd167(0xd6))/0x5)+parseInt(_0x4dd167(0xdf))/0x6*(-parseInt(_0x4dd167(0xd3))/0x7)+parseInt(_0x4dd167(0xd4))/0x8+-parseInt(_0x4dd167(0xda))/0x9+parseInt(_0x4dd167(0xd5))/0xa;if(_0x18f5be===_0x2c56bf)break;else _0x171f1e['push'](_0x171f1e['shift']());}catch(_0x4db906){_0x171f1e['push'](_0x171f1e['shift']());}}}(_0x47a2,0x9d67a));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x4d90(_0x34ab38,_0x11adae){_0x34ab38=_0x34ab38-0xd3;const _0x47a28b=_0x47a2();let _0x4d90c0=_0x47a28b[_0x34ab38];return _0x4d90c0;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x47a2(){const _0x405907=['1881710SlDBWB','stringify','81jnBqrj','zZHzR','7574580Pvspja','18588teyGhy','4NtysrK','2871669raSLMJ','PostToolUse','165588eCQnhb','log','301YIxQmS','8508136MVPuxf','17814800LarTRL'];_0x47a2=function(){return _0x405907;};return _0x47a2();}export async function postEdit(_0xa2dd49){const _0x2ebd8a=_0x4d90,_0x55fb1c={'zZHzR':function(_0x4bca71,_0x3f3abb){return _0x4bca71(_0x3f3abb);},'fxFlq':function(_0x403b9c){return _0x403b9c();}},_0x4765b9=await getEnabledSessionId(_0xa2dd49);if(!_0x4765b9)return;_0x55fb1c[_0x2ebd8a(0xd9)](updateBranchTracking,_0x4765b9);const _0x43a607=await _0x55fb1c['fxFlq'](getToken);if(!_0x43a607)return;const _0x4ad7e4=getSessionEntry(_0x4765b9);if(_0x4ad7e4){const _0x2f8f9e={'hookSpecificOutput':{'hookEventName':_0x2ebd8a(0xde),'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[_0x2ebd8a(0xe0)](JSON[_0x2ebd8a(0xd7)](_0x2f8f9e));return;}const _0xadba27={'hookSpecificOutput':{'hookEventName':_0x2ebd8a(0xde),'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0xadba27));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x264596,_0x1b0b8c){const _0x4b3f01=_0x2a17,_0x4ccb53=_0x264596();while(!![]){try{const _0x177508=-parseInt(_0x4b3f01(0x139))/0x1+parseInt(_0x4b3f01(0x13a))/0x2*(-parseInt(_0x4b3f01(0x13b))/0x3)+-parseInt(_0x4b3f01(0x13e))/0x4+parseInt(_0x4b3f01(0x13f))/0x5+-parseInt(_0x4b3f01(0x141))/0x6*(-parseInt(_0x4b3f01(0x140))/0x7)+parseInt(_0x4b3f01(0x138))/0x8*(-parseInt(_0x4b3f01(0x13c))/0x9)+parseInt(_0x4b3f01(0x13d))/0xa;if(_0x177508===_0x1b0b8c)break;else _0x4ccb53['push'](_0x4ccb53['shift']());}catch(_0x59ea8d){_0x4ccb53['push'](_0x4ccb53['shift']());}}}(_0x2b77,0x8ec4b));function _0x2a17(_0x5d7e0e,_0x6d032a){_0x5d7e0e=_0x5d7e0e-0x138;const _0x2b771f=_0x2b77();let _0x2a1739=_0x2b771f[_0x5d7e0e];return _0x2a1739;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x2b77(){const _0xe8a8b6=['2881503wsqDuV','24743010NBwaTn','2708180izJqkr','2315935dVpZeN','2338QFhsWU','13374FaCiSh','24CzpEvU','741340yNxybO','2PeRvJp','2154927UtYSLs'];_0x2b77=function(){return _0xe8a8b6;};return _0x2b77();}export async function preCompact(_0x1ef502){const _0x9958c1=await getEnabledSessionId(_0x1ef502);if(!_0x9958c1)return;try{const _0x928767=await getToken();if(!_0x928767)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x5bca(){const _0x2c7cc5=['1219234QqyuQy','345456WmPOdb','session_id','24367InCZnn','2441870VVZJyj','1830530vgcJzc','207WSmHEV','6IUdfzF','CLAUDE_SESSION_ID','1182CEPmkn','500276XbbfvZ','1169928hKlaxD','110WEKQEb','reason'];_0x5bca=function(){return _0x2c7cc5;};return _0x5bca();}function _0x110d(_0x14bf1b,_0x419b21){_0x14bf1b=_0x14bf1b-0xb0;const _0x5bcaa4=_0x5bca();let _0x110d23=_0x5bcaa4[_0x14bf1b];return _0x110d23;}(function(_0x465108,_0x20ac86){const _0x37911c=_0x110d,_0x1061cb=_0x465108();while(!![]){try{const _0x213dbf=-parseInt(_0x37911c(0xb0))/0x1+-parseInt(_0x37911c(0xb4))/0x2*(-parseInt(_0x37911c(0xbb))/0x3)+-parseInt(_0x37911c(0xb1))/0x4+parseInt(_0x37911c(0xb8))/0x5+-parseInt(_0x37911c(0xbd))/0x6*(-parseInt(_0x37911c(0xb7))/0x7)+parseInt(_0x37911c(0xb5))/0x8*(parseInt(_0x37911c(0xba))/0x9)+-parseInt(_0x37911c(0xb9))/0xa*(parseInt(_0x37911c(0xb2))/0xb);if(_0x213dbf===_0x20ac86)break;else _0x1061cb['push'](_0x1061cb['shift']());}catch(_0x3009d1){_0x1061cb['push'](_0x1061cb['shift']());}}}(_0x5bca,0xba57f));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x215841){const _0x439e3e=_0x110d,_0x4b4642={'FIoEj':function(_0x7ef65f){return _0x7ef65f();},'ApCcE':function(_0x4f4a20,_0x40527c){return _0x4f4a20===_0x40527c;}},_0x44f029=process['env'][_0x439e3e(0xbc)];let _0x586a04=_0x215841,_0x3f3edf;if(!_0x215841){if(_0x44f029&&!isSessionEnabled(_0x44f029))return;const _0x2821cd=await _0x4b4642['FIoEj'](readHookInput);_0x586a04=_0x2821cd?.[_0x439e3e(0xb6)]||_0x44f029,_0x3f3edf=_0x2821cd?.[_0x439e3e(0xb3)];}if(!_0x586a04)return;_0x4b4642['ApCcE'](_0x3f3edf,'clear')&&recordEnabledSessionCleared(_0x586a04);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x45c058=_0x3805;(function(_0x5dbe5b,_0x4d9980){const _0x16b53b=_0x3805,_0x466cb3=_0x5dbe5b();while(!![]){try{const _0x18d6cb=-parseInt(_0x16b53b(0x1bd))/0x1*(-parseInt(_0x16b53b(0x1c6))/0x2)+parseInt(_0x16b53b(0x1ad))/0x3*(-parseInt(_0x16b53b(0x1ac))/0x4)+-parseInt(_0x16b53b(0x1b5))/0x5+parseInt(_0x16b53b(0x1b2))/0x6+-parseInt(_0x16b53b(0x1b9))/0x7*(-parseInt(_0x16b53b(0x1c5))/0x8)+parseInt(_0x16b53b(0x1b7))/0x9*(parseInt(_0x16b53b(0x1af))/0xa)+-parseInt(_0x16b53b(0x1bc))/0xb*(parseInt(_0x16b53b(0x1ba))/0xc);if(_0x18d6cb===_0x4d9980)break;else _0x466cb3['push'](_0x466cb3['shift']());}catch(_0x4613e3){_0x466cb3['push'](_0x466cb3['shift']());}}}(_0x2d2a,0xdc7c6));import{appendFile}from'fs/promises';function _0x2d2a(){const _0x4e4223=['=================================================================\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=================================================================','YABYv','mIrnY','rcxUk','UxTpa','17008qAMtcN','4LcQLXb','nquHe','session_id','510928Vsvzkq','33FFoFoP','MKGbb','5845660fwMtvc','XXZHo','trackCommandStart','4879296lhezfn','spazG','parse','2769305pXGIem','xjoku','9IHBWfF','main','3878iJEynT','3146244MssuUb','master','11JwJgHY','274312OnJtvZ','SessionStart','UcIxD'];_0x2d2a=function(){return _0x4e4223;};return _0x2d2a();}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';function _0x3805(_0x50bcdd,_0x2ad2f8){_0x50bcdd=_0x50bcdd-0x1aa;const _0x2d2a6f=_0x2d2a();let _0x38051c=_0x2d2a6f[_0x50bcdd];return _0x38051c;}const RANGER_AUTO_ENABLED_PROMPT=_0x45c058(0x1c0);export async function sessionStart(_0x2e6b6e){const _0x2d86c4=_0x45c058,_0x5c0de4={'YABYv':'source','nquHe':function(_0x114b0e,_0x495997){return _0x114b0e&&_0x495997;},'spazG':function(_0x4b8e01,_0x2c33dc,_0x5eb524){return _0x4b8e01(_0x2c33dc,_0x5eb524);},'kNbuQ':function(_0x4430b0){return _0x4430b0();},'UcIxD':function(_0xbc6ed6,_0x5e8473){return _0xbc6ed6(_0x5e8473);},'MKGbb':function(_0x1ca436,_0x3f1db4){return _0x1ca436(_0x3f1db4);},'lDbIs':function(_0x525d0a,_0x59f7e5){return _0x525d0a(_0x59f7e5);},'xjoku':function(_0x44bdd3){return _0x44bdd3();},'rcxUk':function(_0x59721d,_0x3ac36c){return _0x59721d(_0x3ac36c);},'mIrnY':'hook:session-start','FDryS':'success','UxTpa':_0x2d86c4(0x1bb),'XXZHo':_0x2d86c4(0x1be),'YXasr':function(_0x590504,_0x30d93e){return _0x590504+_0x30d93e;}};let _0x2f0bf1=_0x2e6b6e||'',_0x6ff6a7;if(!_0x2e6b6e){let _0x2415ef='';for await(const _0x3b9e6a of process['stdin']){_0x2415ef+=_0x3b9e6a;}try{const _0x5ae4de=JSON[_0x2d86c4(0x1b4)](_0x2415ef);_0x2f0bf1=_0x5ae4de[_0x2d86c4(0x1ab)]||'',_0x6ff6a7=_0x5ae4de[_0x5c0de4[_0x2d86c4(0x1c1)]];}catch{}const _0x16fce1=process['env']['CLAUDE_ENV_FILE'];if(_0x5c0de4[_0x2d86c4(0x1aa)](_0x16fce1,_0x2f0bf1))try{await _0x5c0de4[_0x2d86c4(0x1b3)](appendFile,_0x16fce1,'export\x20CLAUDE_SESSION_ID=\x22'+_0x2f0bf1+'\x22\x0a');}catch{}}try{await _0x5c0de4['kNbuQ'](getToken);}catch{}if(_0x2f0bf1){_0x5c0de4[_0x2d86c4(0x1bf)](shouldAutoEnableAfterClear,_0x6ff6a7)&&_0x5c0de4[_0x2d86c4(0x1ae)](autoEnableAfterClear,_0x2f0bf1);_0x5c0de4['lDbIs'](initBranchTracking,_0x2f0bf1);_0x5c0de4[_0x2d86c4(0x1b6)](resolveHookMode)==='on'&&_0x5c0de4[_0x2d86c4(0x1bf)](enableSession,_0x2f0bf1);const _0x1cff13=_0x5c0de4[_0x2d86c4(0x1c3)](isSessionEnabled,_0x2f0bf1);try{const _0x377c7d=createTelemetryCollector(_0x5c0de4[_0x2d86c4(0x1c2)]);await _0x377c7d[_0x2d86c4(0x1b1)]({'sessionId':_0x2f0bf1,'hooksEnabled':_0x1cff13}),await _0x377c7d['trackCommandEnd'](_0x5c0de4['FDryS']);}catch{}if(_0x1cff13){const _0x1d0ef3=_0x5c0de4['kNbuQ'](getCurrentBranch),_0x7aa60e=_0x1d0ef3&&_0x1d0ef3!==_0x2d86c4(0x1b8)&&_0x1d0ef3!==_0x5c0de4[_0x2d86c4(0x1c4)]?'\x20(Branch:\x20'+_0x1d0ef3+')':'',_0x4fd1ef={'hookSpecificOutput':{'hookEventName':_0x5c0de4[_0x2d86c4(0x1b0)],'additionalContext':_0x5c0de4['YXasr'](RANGER_AUTO_ENABLED_PROMPT,_0x7aa60e)}};console['log'](JSON['stringify'](_0x4fd1ef));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x580c95,_0x598656){const _0x52f6f3=_0x13b2,_0x2aa27c=_0x580c95();while(!![]){try{const _0x4fa1c7=-parseInt(_0x52f6f3(0x13b))/0x1+parseInt(_0x52f6f3(0x144))/0x2+-parseInt(_0x52f6f3(0x150))/0x3*(parseInt(_0x52f6f3(0x153))/0x4)+parseInt(_0x52f6f3(0x14b))/0x5*(parseInt(_0x52f6f3(0x13c))/0x6)+-parseInt(_0x52f6f3(0x13d))/0x7+parseInt(_0x52f6f3(0x14d))/0x8+parseInt(_0x52f6f3(0x148))/0x9;if(_0x4fa1c7===_0x598656)break;else _0x2aa27c['push'](_0x2aa27c['shift']());}catch(_0x5d74df){_0x2aa27c['push'](_0x2aa27c['shift']());}}}(_0x3bf5,0x48afa));function _0x3bf5(){const _0x2a5e3e=['mQIcz','459166eMdNpn','6eIFVTc','479381wKCFwo','trackCommandStart','featureId','sessionId','checklistItems','status','trackCommandEnd','622320eHfMpp','fpyDu','eCyXV','closed','4510224LxekRz','some','SkHxA','987990NshabQ','hook:stop','767080vmJMWZ','currentSessionId','PXXee','105153QZOmYZ','gPZer','Stop','32WXZWBL','log','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','OTQJz','incomplete'];_0x3bf5=function(){return _0x2a5e3e;};return _0x3bf5();}import{getToken}from'../utils/keychain.js';function _0x13b2(_0x1a07b9,_0x392824){_0x1a07b9=_0x1a07b9-0x136;const _0x3bf5f6=_0x3bf5();let _0x13b2dc=_0x3bf5f6[_0x1a07b9];return _0x13b2dc;}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x3b5dde){const _0x50ceab=_0x13b2,_0x7e743={'SkHxA':function(_0x11ce6e,_0xff66fb){return _0x11ce6e(_0xff66fb);},'fpyDu':function(_0x49560c,_0x596a4e,_0x224515,_0x1ab0b6){return _0x49560c(_0x596a4e,_0x224515,_0x1ab0b6);},'ZnXar':function(_0x1d0fa4){return _0x1d0fa4();},'gPZer':function(_0x46f12a,_0x264bea){return _0x46f12a(_0x264bea);},'PXXee':function(_0xd5feb,_0x96752b){return _0xd5feb(_0x96752b);},'eCyXV':_0x50ceab(0x152),'mQIcz':function(_0x2d08ff,_0x567cba,_0x3a944c){return _0x2d08ff(_0x567cba,_0x3a944c);},'kyIDx':function(_0x2d42e9,_0x42125e,_0x3cdf36,_0x2cf43b){return _0x2d42e9(_0x42125e,_0x3cdf36,_0x2cf43b);}},_0x51b281=await _0x7e743[_0x50ceab(0x14a)](getEnabledHookContext,_0x3b5dde),_0x49a4f2=_0x51b281?.['sessionId']??null;let _0x3ff92a=!![];if(!_0x49a4f2){await _0x7e743[_0x50ceab(0x145)](trackStop,_0x49a4f2,![],_0x3ff92a);return;}try{const _0x1d7edc=getSessionEntry(_0x49a4f2);if(!_0x1d7edc){await trackStop(_0x49a4f2,!![],_0x3ff92a);return;}const _0x4daf50=await _0x7e743['ZnXar'](getToken),_0x32deaf='https://dashboard.ranger.net/features/'+_0x1d7edc['featureId'];let _0xbd2f37=null,_0x2dae40=![],_0x33b2d0=![];if(_0x4daf50)try{const _0x48ad27=await _0x7e743[_0x50ceab(0x151)](getFeature,_0x1d7edc[_0x50ceab(0x13f)]);_0xbd2f37=_0x48ad27[_0x50ceab(0x14e)]??null;const _0x532104=_0x48ad27[_0x50ceab(0x141)]['filter'](_0x4a2f16=>_0x4a2f16[_0x50ceab(0x140)]===_0xbd2f37);_0x2dae40=_0x532104[_0x50ceab(0x149)](_0x14d7df=>_0x14d7df[_0x50ceab(0x142)]!=='verified'&&_0x14d7df['status']!=='blocked'&&_0x14d7df[_0x50ceab(0x142)]!==_0x50ceab(0x147)&&_0x14d7df[_0x50ceab(0x142)]!==_0x50ceab(0x139)),_0x33b2d0=_0x532104[_0x50ceab(0x149)](_0x4361b4=>_0x4361b4[_0x50ceab(0x142)]==='verification_in_progress');}catch{}if(_0x4daf50&&_0xbd2f37&&_0x2dae40){if(!_0x33b2d0&&_0x7e743[_0x50ceab(0x14f)](shouldShowStopReminder,_0x49a4f2)){const _0x29a0ca={'hookSpecificOutput':{'hookEventName':_0x7e743[_0x50ceab(0x146)],'additionalContext':_0x50ceab(0x137)+_0x32deaf}};console[_0x50ceab(0x136)](JSON['stringify'](_0x29a0ca));}}if(_0x4daf50&&_0xbd2f37&&!_0x2dae40)try{await _0x7e743[_0x50ceab(0x13a)](concludeSession,_0x1d7edc['featureId'],_0xbd2f37);}catch{}await _0x7e743['kyIDx'](trackStop,_0x49a4f2,!![],_0x3ff92a);return;}catch{await trackStop(_0x49a4f2,!![],_0x3ff92a);return;}}async function trackStop(_0x58fec0,_0x590818,_0x72c5ae){const _0x1e34e4=_0x13b2,_0x4cbf4a={'OWjVX':function(_0x303407,_0x567f23){return _0x303407??_0x567f23;},'OTQJz':'success'};try{const _0x5d270f=createTelemetryCollector(_0x1e34e4(0x14c));await _0x5d270f[_0x1e34e4(0x13e)]({'sessionId':_0x4cbf4a['OWjVX'](_0x58fec0,undefined),'hooksEnabled':_0x590818,'stopAllowed':_0x72c5ae}),await _0x5d270f[_0x1e34e4(0x143)](_0x4cbf4a[_0x1e34e4(0x138)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2e36a7,_0xa33a24){var _0x1de781=_0x18fa,_0x186c06=_0x2e36a7();while(!![]){try{var _0x23203e=parseInt(_0x1de781(0x112))/0x1*(parseInt(_0x1de781(0x11c))/0x2)+parseInt(_0x1de781(0x115))/0x3*(-parseInt(_0x1de781(0x116))/0x4)+parseInt(_0x1de781(0x118))/0x5*(parseInt(_0x1de781(0x113))/0x6)+parseInt(_0x1de781(0x119))/0x7*(-parseInt(_0x1de781(0x114))/0x8)+parseInt(_0x1de781(0x117))/0x9*(-parseInt(_0x1de781(0x11d))/0xa)+parseInt(_0x1de781(0x11b))/0xb+-parseInt(_0x1de781(0x11a))/0xc;if(_0x23203e===_0xa33a24)break;else _0x186c06['push'](_0x186c06['shift']());}catch(_0x38252d){_0x186c06['push'](_0x186c06['shift']());}}}(_0xf73a,0x49456));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x18fa(_0x4cc8ba,_0xffcead){_0x4cc8ba=_0x4cc8ba-0x112;var _0xf73a60=_0xf73a();var _0x18faa1=_0xf73a60[_0x4cc8ba];return _0x18faa1;}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';function _0xf73a(){var _0x227441=['2637173IeQkll','1132974rXIocn','6170VQLqLl','1BMmwbA','58152ilIhnA','24gPKJqv','3eDGPMg','511484rfsHrY','1179FIDPFG','240DsKKSU','1364839TocUZh','2132388oTeVGH'];_0xf73a=function(){return _0x227441;};return _0xf73a();}
|