@ranger-testing/ranger-cli 3.1.6 → 3.1.7-alpha.34400c2-56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +2 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x2b83(_0x34fa45,_0x21c230){_0x34fa45=_0x34fa45-0x112;const _0x41116a=_0x4111();let _0x2b83db=_0x41116a[_0x34fa45];return _0x2b83db;}const _0x37cebc=_0x2b83;(function(_0x3d26bc,_0x1dce21){const _0x3b4919=_0x2b83,_0x1c991b=_0x3d26bc();while(!![]){try{const _0x433f34=parseInt(_0x3b4919(0x19f))/0x1+parseInt(_0x3b4919(0x14e))/0x2+-parseInt(_0x3b4919(0x1a7))/0x3+-parseInt(_0x3b4919(0x1ac))/0x4+parseInt(_0x3b4919(0x1e9))/0x5+parseInt(_0x3b4919(0x199))/0x6*(-parseInt(_0x3b4919(0x186))/0x7)+-parseInt(_0x3b4919(0x14c))/0x8;if(_0x433f34===_0x1dce21)break;else _0x1c991b['push'](_0x1c991b['shift']());}catch(_0x59f323){_0x1c991b['push'](_0x1c991b['shift']());}}}(_0x4111,0xccc1c));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2ab983 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=_0x37cebc(0x179),bold=_0x3852ff=>_0x37cebc(0x18a)+_0x3852ff+'\x1b[0m';function getGitRepoUrl(){const _0x40cebf=_0x37cebc,_0x13b9ad={'HBZjg':_0x40cebf(0x1b6)};try{const _0x21ca2f=execSync('git\x20remote\x20get-url\x20origin',{'encoding':'utf-8','stdio':['pipe',_0x13b9ad['HBZjg'],'pipe']})[_0x40cebf(0x144)]();return _0x21ca2f[_0x40cebf(0x17a)](/\.git$/,'')[_0x40cebf(0x17a)](/^git@github\.com:/,_0x40cebf(0x198))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5a29d6=_0x37cebc,_0x65347d={'yYvfK':function(_0xc3e924,_0x341e65,_0xd9857d){return _0xc3e924(_0x341e65,_0xd9857d);},'kGHEJ':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','HlKSK':_0x5a29d6(0x1b6)};try{return _0x65347d['yYvfK'](execSync,_0x65347d[_0x5a29d6(0x168)],{'encoding':_0x5a29d6(0x117),'stdio':[_0x65347d[_0x5a29d6(0x11f)],_0x5a29d6(0x1b6),'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5b5d5d=_0x37cebc,_0x285717={'datSe':function(_0x174d9e){return _0x174d9e();},'NBxob':_0x5b5d5d(0x117)},_0x194414=join(_0x285717['datSe'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x194414))return null;try{const _0x5ec97c=await readFile(_0x194414,_0x285717[_0x5b5d5d(0x136)]);return _0x5ec97c['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x4704f5){const _0x46a418=_0x37cebc,_0x4705e5={'xLSHb':function(_0x281cbb){return _0x281cbb();},'XspyM':function(_0x5c5737,_0x522eef,_0x2a2df1){return _0x5c5737(_0x522eef,_0x2a2df1);},'jZlBx':_0x46a418(0x117)},_0x5f39c9=_0x4705e5['xLSHb'](getRangerDir),_0x407076=_0x4705e5[_0x46a418(0x116)](join,_0x5f39c9,ACTIVE_FEATURE_FILE);!existsSync(_0x5f39c9)&&await mkdir(_0x5f39c9,{'recursive':!![]}),await writeFile(_0x407076,_0x4704f5,_0x4705e5['jZlBx']);}function getProgressDisplay(_0x182c37){const _0xd97474=_0x37cebc,_0x27b625={'ZgAvl':function(_0xec0206,_0x55e91a){return _0xec0206+_0x55e91a;},'cHLtp':function(_0x308599,_0x22f872){return _0x308599+_0x22f872;},'sfIDk':function(_0x51558a,_0x19ad29){return _0x51558a-_0x19ad29;}},_0x5bceb3=_0x182c37[_0xd97474(0x15c)]||0x0,_0x4c56f9=_0x182c37[_0xd97474(0x196)]||0x0,_0x122fe8=_0x182c37['blockedItems']||0x0,_0x5d9c4e=_0x182c37['incompleteItems']||0x0,_0xeecd3c=_0x182c37['pendingItems']||0x0,_0x19055f=_0x27b625[_0xd97474(0x191)](_0x5bceb3+_0x4c56f9+_0x122fe8,_0x5d9c4e)+_0xeecd3c;if(_0x19055f===0x0)return'-';const _0x48580f=0xa,_0x2eb2da=Math['round'](_0x5bceb3/_0x19055f*_0x48580f),_0x4bc0f4=_0x27b625['cHLtp']('█'['repeat'](_0x2eb2da),'░'['repeat'](_0x27b625[_0xd97474(0x187)](_0x48580f,_0x2eb2da))),_0x27d0d5=[];if(_0x122fe8>0x0)_0x27d0d5[_0xd97474(0x18f)](_0x122fe8+_0xd97474(0x1a1));if(_0x5d9c4e>0x0)_0x27d0d5[_0xd97474(0x18f)](_0x5d9c4e+'\x20incomplete');if(_0x4c56f9>0x0)_0x27d0d5['push'](_0x4c56f9+'\x20in\x20progress');const _0xe8fcd6=_0x27d0d5[_0xd97474(0x1b4)]>0x0?'\x20('+_0x27d0d5['join'](',\x20')+')':'';return _0x4bc0f4+'\x20'+_0x5bceb3+'/'+_0x19055f+'\x20verified'+_0xe8fcd6;}function getCurrentSessionItems(_0x541518,_0xf13050){const _0x461c3a=_0x37cebc;if(!_0x541518['currentSessionId'])return _0xf13050['filter'](_0x244abf=>!_0x244abf['sessionId']);return _0xf13050['filter'](_0x588d24=>_0x588d24['sessionId']===_0x541518[_0x461c3a(0x14d)]||!_0x588d24[_0x461c3a(0x135)]);}function displayFeature(_0x2d6308,_0xab4581){const _0x502a89=_0x37cebc,_0x363306={'QrBdH':function(_0x5aa2f7,_0x54788a){return _0x5aa2f7>_0x54788a;},'NbKLQ':function(_0x50ed8e,_0x1271a6){return _0x50ed8e===_0x1271a6;},'wbqne':function(_0x5087db,_0xea0735){return _0x5087db===_0xea0735;},'baBoy':function(_0x4f666b,_0x373ac3){return _0x4f666b===_0x373ac3;},'oZIbo':function(_0x537dcc,_0x5e8d14){return _0x537dcc===_0x5e8d14;},'Jnmcn':'closed','NxfCk':function(_0x504c4c,_0x149005){return _0x504c4c!==_0x149005;},'coOsP':'\x20[has\x20reviewer\x20feedback]','yQLRz':function(_0x23cd12,_0x576a74){return _0x23cd12+_0x576a74;},'fOTvO':_0x502a89(0x1ea),'NoaPO':function(_0x4fb2db,_0x27b8a5){return _0x4fb2db===_0x27b8a5;},'QgEBf':'approved'};console['log']('\x0a'+_0x2d6308['name']+'\x20('+_0x2d6308['dashboardUrl']+')');_0x2d6308[_0x502a89(0x130)]&&console[_0x502a89(0x1e6)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x2d6308[_0x502a89(0x130)]));_0x2d6308[_0x502a89(0x15b)]&&console[_0x502a89(0x1e6)](_0x502a89(0x11a)+_0x2d6308['description']);_0x2d6308['gitRepoUrl']&&console[_0x502a89(0x1e6)](_0x502a89(0x1aa)+_0x2d6308['gitRepoUrl']);_0x2d6308[_0x502a89(0x1cc)]&&console[_0x502a89(0x1e6)]('\x20\x20\x20Branch:\x20'+_0x2d6308[_0x502a89(0x1cc)]);console['log'](_0x502a89(0x153)+new Date(_0x2d6308['createdAt'])[_0x502a89(0x1d5)]());_0x2d6308[_0x502a89(0x173)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x2d6308[_0x502a89(0x173)])[_0x502a89(0x1d5)]());if(_0xab4581&&_0x363306['QrBdH'](_0xab4581[_0x502a89(0x1b4)],0x0)){console[_0x502a89(0x1e6)]('\x0a\x20\x20\x20Scenarios:');for(let _0x5683c3=0x0;_0x5683c3<_0xab4581['length'];_0x5683c3++){const _0x373b56=_0xab4581[_0x5683c3];let _0x2625cd;if(_0x363306[_0x502a89(0x157)](_0x373b56['status'],'closed')&&_0x373b56[_0x502a89(0x1e8)]==='approved')_0x2625cd='✅';else{if(_0x373b56[_0x502a89(0x163)]==='verified')_0x2625cd='🟢';else{if(_0x363306['wbqne'](_0x373b56[_0x502a89(0x163)],_0x502a89(0x1ea)))_0x2625cd='🟠';else{if(_0x363306['baBoy'](_0x373b56['status'],'blocked'))_0x2625cd='🛑';else{if(_0x363306['oZIbo'](_0x373b56[_0x502a89(0x163)],_0x363306[_0x502a89(0x1d1)]))_0x2625cd='⛔';else _0x373b56['status']===_0x502a89(0x138)?_0x2625cd='⏳':_0x2625cd='⬜';}}}}const _0x2ba535=_0x363306['QrBdH'](_0x373b56[_0x502a89(0x1cf)],0x1)?_0x502a89(0x1db)+_0x373b56[_0x502a89(0x1cf)]+')':'',_0x43a8de=_0x373b56[_0x502a89(0x1cf)]>0x1&&_0x373b56[_0x502a89(0x1c0)]&&_0x373b56[_0x502a89(0x163)]!==_0x363306['Jnmcn']&&_0x363306['NxfCk'](_0x373b56['status'],_0x502a89(0x152))?_0x363306[_0x502a89(0x17e)]:'';console[_0x502a89(0x1e6)](_0x502a89(0x124)+_0x363306[_0x502a89(0x15d)](_0x5683c3,0x1)+'.\x20'+_0x2625cd+'\x20'+_0x373b56[_0x502a89(0x15b)]+_0x2ba535+_0x43a8de);_0x373b56[_0x502a89(0x163)]==='blocked'&&_0x373b56[_0x502a89(0x1bf)]&&console['log'](_0x502a89(0x140)+_0x373b56[_0x502a89(0x1bf)]);_0x373b56[_0x502a89(0x163)]===_0x363306['fOTvO']&&_0x373b56[_0x502a89(0x1e5)]&&console['log'](_0x502a89(0x127)+_0x373b56[_0x502a89(0x1e5)]);if(_0x363306[_0x502a89(0x150)](_0x373b56['status'],'closed')&&_0x373b56[_0x502a89(0x1e8)]===_0x363306[_0x502a89(0x1c6)])console['log'](_0x502a89(0x1a4));else _0x363306[_0x502a89(0x114)](_0x373b56[_0x502a89(0x163)],_0x363306[_0x502a89(0x1d1)])&&_0x373b56[_0x502a89(0x123)]&&console[_0x502a89(0x1e6)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x373b56['canceledReason']);}}}export async function featureCreate(_0x44a02e,_0x1ddeb9){const _0x375f96=_0x37cebc,_0x224f9c={'waYbV':function(_0x497cbc,_0x443397){return _0x497cbc===_0x443397;},'MePlO':function(_0x45708b){return _0x45708b();},'YFpbF':function(_0x20c987,_0x17f988){return _0x20c987===_0x17f988;},'VHvQH':function(_0x3dee69){return _0x3dee69();},'zCUxR':function(_0x19190e,_0x45cdeb){return _0x19190e(_0x45cdeb);}},{envNames:_0x376f4d}=await getEnvNames();if(_0x224f9c['waYbV'](_0x376f4d[_0x375f96(0x1b4)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x4ad60a=0x0;try{_0x4ad60a=(await _0x224f9c[_0x375f96(0x1d3)](listCloudProfiles))[_0x375f96(0x1b4)];}catch{_0x4ad60a=0x1;}_0x224f9c[_0x375f96(0x19c)](_0x4ad60a,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x1230b2=>bold(_0x1230b2)));}const _0xe86bbe=_0x1ddeb9[_0x375f96(0x1b0)]?_0x1ddeb9[_0x375f96(0x1b0)][_0x375f96(0x18c)](_0x4af5d8=>_0x4af5d8[_0x375f96(0x144)]()):[],_0x58507d=getGitRepoUrl(),_0x23bb68=_0x224f9c['VHvQH'](getGitBranch);console['log'](_0x375f96(0x14f));const _0x5ca3f1=await createFeature({'name':_0x44a02e,'description':_0x1ddeb9['description'],'checklist':_0xe86bbe,'gitRepoUrl':_0x58507d,'gitBranch':_0x23bb68});await setActiveFeatureId(_0x5ca3f1['id']),await _0x224f9c['zCUxR'](tryStartCurrentSession,_0x5ca3f1['id']);const _0x566ef0=process[_0x375f96(0x1c5)]['CLAUDE_SESSION_ID'];_0x566ef0&®isterSession(_0x566ef0,_0x5ca3f1['id']),console[_0x375f96(0x1e6)](_0x375f96(0x151)+_0x5ca3f1['id']),displayFeature(_0x5ca3f1,_0x5ca3f1[_0x375f96(0x1a3)]),console[_0x375f96(0x1e6)](_0x375f96(0x13b));}export async function featureList(_0x3ac27f){const _0x48bf47=_0x37cebc,_0x3916c3={'dnGIO':function(_0x450370){return _0x450370();},'hVawp':function(_0x3d6fb9,_0x1bd66e){return _0x3d6fb9===_0x1bd66e;},'ogeDP':function(_0x1c928,_0x4e465e){return _0x1c928>_0x4e465e;},'PPTZd':function(_0x1bf2ed,_0x37321c){return _0x1bf2ed+_0x37321c;},'LVvfz':function(_0x35e37,_0x38be7b){return _0x35e37<_0x38be7b;},'eakmN':function(_0x53efcc,_0x2e03d6){return _0x53efcc!==_0x2e03d6;}},_0x217ab7={'limit':_0x3ac27f[_0x48bf47(0x188)]??0xa,'offset':_0x3ac27f[_0x48bf47(0x183)]??0x0,'includeDeleted':_0x3ac27f[_0x48bf47(0x1d4)]};_0x3ac27f['currentBranch']&&(_0x217ab7['gitRepoUrl']=_0x3916c3['dnGIO'](getGitRepoUrl),_0x217ab7[_0x48bf47(0x1cc)]=getGitBranch());const _0x5d35cc=await listFeatures(_0x217ab7);if(_0x3916c3['hVawp'](_0x5d35cc['items'][_0x48bf47(0x1b4)],0x0)){console[_0x48bf47(0x1e6)](_0x48bf47(0x16d));return;}const _0x32e2ee=_0x3916c3['ogeDP'](_0x5d35cc[_0x48bf47(0x1e3)],_0x5d35cc['items']['length'])?_0x48bf47(0x11e)+_0x5d35cc[_0x48bf47(0x139)][_0x48bf47(0x1b4)]+_0x48bf47(0x197)+_0x5d35cc[_0x48bf47(0x1e3)]:_0x5d35cc['totalCount']+_0x48bf47(0x160);console[_0x48bf47(0x1e6)]('\x0a'+_0x32e2ee+':\x0a');for(const _0x211f93 of _0x5d35cc['items']){const _0x469b58='1|3|5|4|0|2'['split']('|');let _0x221324=0x0;while(!![]){switch(_0x469b58[_0x221324++]){case'0':console[_0x48bf47(0x1e6)](_0x48bf47(0x153)+new Date(_0x211f93['createdAt'])['toLocaleDateString']());continue;case'1':console[_0x48bf47(0x1e6)](''+_0x211f93[_0x48bf47(0x1ed)]);continue;case'2':console[_0x48bf47(0x1e6)]('');continue;case'3':console[_0x48bf47(0x1e6)](_0x48bf47(0x137)+_0x211f93['id']);continue;case'4':_0x211f93['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x211f93['gitBranch']);continue;case'5':_0x211f93[_0x48bf47(0x130)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x211f93[_0x48bf47(0x130)]));continue;}break;}}const _0x59dc06=_0x217ab7[_0x48bf47(0x188)]??0xa,_0x3c7344=_0x3916c3['PPTZd'](_0x217ab7[_0x48bf47(0x183)]??0x0,_0x5d35cc['items'][_0x48bf47(0x1b4)]);if(_0x3916c3['LVvfz'](_0x3c7344,_0x5d35cc['totalCount'])){const _0x529ca2=_0x3916c3['eakmN'](_0x59dc06,0xa)?'\x20--limit\x20'+_0x59dc06:'',_0x14789f=_0x3ac27f['currentBranch']?'\x20--current-branch':'',_0x324c30=_0x3ac27f[_0x48bf47(0x1d4)]?'\x20--include-deleted':'';console[_0x48bf47(0x1e6)](_0x48bf47(0x155)+_0x3c7344+_0x529ca2+_0x14789f+_0x324c30);}}export async function featureShow(_0x20785d){const _0x566d88=_0x37cebc,_0x312ea2={'vhVCe':function(_0x2dfe14){return _0x2dfe14();},'asHyE':function(_0x1a7f19,_0x486457,_0x4ecd89){return _0x1a7f19(_0x486457,_0x4ecd89);}},_0x2ab0c0=_0x20785d||await _0x312ea2[_0x566d88(0x143)](getActiveFeatureId);if(!_0x2ab0c0)throw new Error(_0x566d88(0x121));const _0x593555=await getFeature(_0x2ab0c0);_0x312ea2['asHyE'](displayFeature,_0x593555,_0x593555[_0x566d88(0x1a3)]);}export async function featureResume(_0x4cc9bb){const _0x5dd37a=_0x37cebc,_0x42376a={'Tqvbu':function(_0x3f02cb){return _0x3f02cb();},'NuMjq':function(_0x283f5e,_0x4f175f){return _0x283f5e(_0x4f175f);},'ZXSfC':function(_0x596947,_0x47b830){return _0x596947||_0x47b830;},'rZXQT':'any','eixsX':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','jzpIa':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','mPSZq':function(_0x4c438d,_0x558d55){return _0x4c438d===_0x558d55;},'vgfnR':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','NHHAl':function(_0x46fa2f,_0x47512b){return _0x46fa2f(_0x47512b);},'PsABq':function(_0x515f52,_0x486470){return _0x515f52!==_0x486470;},'uIDsa':function(_0x15b8b1,_0x33680c,_0x84c3fa){return _0x15b8b1(_0x33680c,_0x84c3fa);},'PniVy':function(_0x207471,_0x438614){return _0x207471(_0x438614);}};if(_0x4cc9bb){const _0x323848=await getFeature(_0x4cc9bb);await setActiveFeatureId(_0x323848['id']);const _0x671710=_0x42376a[_0x5dd37a(0x1ec)](getGitBranch);_0x671710&&_0x671710!==_0x323848['gitBranch']&&(await updateFeature(_0x323848['id'],{'gitBranch':_0x671710}),console[_0x5dd37a(0x1e6)](_0x5dd37a(0x145)+_0x671710));console[_0x5dd37a(0x1e6)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x323848['name']+'\x20('+_0x323848['id']+')'),await tryStartCurrentSession(_0x323848['id']);const _0x1a4669=process[_0x5dd37a(0x1c5)]['CLAUDE_SESSION_ID'];_0x1a4669&®isterSession(_0x1a4669,_0x323848['id']);displayFeature(_0x323848,_0x323848['checklistItems']),await _0x42376a[_0x5dd37a(0x115)](printFeedbackNudge,_0x323848['id']);return;}const _0x13011a=getGitRepoUrl(),_0x581106=getGitBranch();if(!_0x13011a&&!_0x581106)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log'](_0x5dd37a(0x13a)+_0x42376a[_0x5dd37a(0x16b)](_0x13011a,'any')+_0x5dd37a(0x1cb)+_0x42376a[_0x5dd37a(0x16b)](_0x581106,_0x42376a[_0x5dd37a(0x1ba)])+_0x5dd37a(0x159));const _0x2220da=await listFeatures({'gitRepoUrl':_0x13011a,'gitBranch':_0x581106}),_0x287ce0=_0x2220da[_0x5dd37a(0x139)]['filter'](_0x684c83=>_0x684c83[_0x5dd37a(0x163)]?_0x684c83['status']!=='verified':!_0x684c83[_0x5dd37a(0x173)]);if(_0x287ce0[_0x5dd37a(0x1b4)]===0x0){console['log'](_0x42376a['eixsX']),console[_0x5dd37a(0x1e6)](_0x42376a[_0x5dd37a(0x1d7)]);return;}let _0xbd4b1a;if(_0x42376a[_0x5dd37a(0x15f)](_0x287ce0[_0x5dd37a(0x1b4)],0x1))_0xbd4b1a=_0x287ce0[0x0];else{const _0x4f6e1c=process[_0x5dd37a(0x156)]['isTTY']&&process[_0x5dd37a(0x1dc)]['isTTY'];if(!_0x4f6e1c){console['log'](_0x5dd37a(0x126));for(const _0x158190 of _0x287ce0){console[_0x5dd37a(0x1e6)]('\x20\x20'+_0x158190['name']),console[_0x5dd37a(0x1e6)](_0x5dd37a(0x128)+_0x158190['id']),_0x158190['stats']&&console['log'](_0x5dd37a(0x1d6)+getProgressDisplay(_0x158190[_0x5dd37a(0x130)])),_0x158190[_0x5dd37a(0x1cc)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x158190['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x535d78}=await _0x2ab983['prompt']([{'type':_0x5dd37a(0x169),'name':'selected','message':_0x42376a['vgfnR'],'choices':_0x287ce0['map'](_0xad558a=>({'name':_0xad558a[_0x5dd37a(0x1ed)]+'\x20('+_0xad558a['id']+')','value':_0xad558a['id']}))}]);_0xbd4b1a=_0x287ce0['find'](_0x50e820=>_0x50e820['id']===_0x535d78);}await _0x42376a['NHHAl'](setActiveFeatureId,_0xbd4b1a['id']);_0x581106&&_0x42376a[_0x5dd37a(0x1ce)](_0x581106,_0xbd4b1a[_0x5dd37a(0x1cc)])&&(await _0x42376a[_0x5dd37a(0x1a0)](updateFeature,_0xbd4b1a['id'],{'gitBranch':_0x581106}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x581106));console[_0x5dd37a(0x1e6)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0xbd4b1a['name']+'\x20('+_0xbd4b1a['id']+')'),await tryStartCurrentSession(_0xbd4b1a['id']);const _0x179949=await _0x42376a['NuMjq'](getFeature,_0xbd4b1a['id']),_0x1108c7=process[_0x5dd37a(0x1c5)]['CLAUDE_SESSION_ID'];_0x1108c7&&_0x42376a[_0x5dd37a(0x1a0)](registerSession,_0x1108c7,_0x179949['id']),displayFeature(_0x179949,_0x179949[_0x5dd37a(0x1a3)]),await _0x42376a[_0x5dd37a(0x1af)](printFeedbackNudge,_0x179949['id']);}async function printFeedbackNudge(_0x29c964){const _0x23055d=_0x37cebc,_0x3cba72={'SylOD':function(_0x571cf3,_0x3d23de){return _0x571cf3>_0x3d23de;},'rteNZ':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x514972}=await getActionItems(_0x29c964);let _0x275ccf=0x0,_0x21ebf1=0x0;for(const _0x17e7fb of _0x514972){const _0x526c5e=await getItemFeedback(_0x29c964,_0x17e7fb['id']);_0x3cba72[_0x23055d(0x189)](_0x526c5e['unaddressedComments']['length'],0x0)&&(_0x275ccf+=_0x526c5e['unaddressedComments']['length'],_0x21ebf1++);}_0x275ccf>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x275ccf+_0x23055d(0x122)+_0x21ebf1+'\x20scenario(s).'),console[_0x23055d(0x1e6)](_0x3cba72[_0x23055d(0x16c)]));}catch{}}async function tryStartCurrentSession(_0x575c68){const _0x2b85f1=_0x37cebc,_0x3bc71f={'LHmHP':function(_0x4e9679,_0x366367,_0x127ec5){return _0x4e9679(_0x366367,_0x127ec5);}};try{const {sessions:_0x3beb64}=await listFeatureSessions(_0x575c68),_0x20cf2f=_0x3beb64[_0x2b85f1(0x11b)](_0x5a14de=>_0x5a14de['status']===_0x2b85f1(0x1f1));_0x20cf2f&&(await _0x3bc71f[_0x2b85f1(0x148)](startSession,_0x575c68,_0x20cf2f['id']),console['log'](_0x2b85f1(0x181)+_0x20cf2f['iteration']));}catch{}}export async function featureReport(_0x452529,_0x2f2641){const _0x303ab8=_0x37cebc,_0x23aa31={'TnfWG':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','bVqUy':'\x0aGenerating\x20report...','eHmXH':function(_0x3cb13c,_0x5cdfee,_0x21c420,_0x2c23fc){return _0x3cb13c(_0x5cdfee,_0x21c420,_0x2c23fc);},'PCkpT':_0x303ab8(0x13e),'Bhsfb':function(_0x216c83,_0x283878,_0x247fca){return _0x216c83(_0x283878,_0x247fca);}},_0x399b6c=_0x452529||await getActiveFeatureId();if(!_0x399b6c)throw new Error(_0x23aa31[_0x303ab8(0x16a)]);console['log'](_0x23aa31[_0x303ab8(0x1ef)]);const _0x2ad722=await getFeatureReportMarkdown(_0x399b6c,{'style':_0x2f2641['style']}),_0x23a54a=_0x2f2641[_0x303ab8(0x1bd)]||_0x23aa31['eHmXH'](join,getRangerDir(),_0x23aa31[_0x303ab8(0x12d)],_0x399b6c+'.md'),_0x41b7f1=join(_0x23a54a,'..');!existsSync(_0x41b7f1)&&await _0x23aa31[_0x303ab8(0x1e0)](mkdir,_0x41b7f1,{'recursive':!![]}),await _0x23aa31['eHmXH'](writeFile,_0x23a54a,_0x2ad722,_0x303ab8(0x117)),console[_0x303ab8(0x1e6)]('\x0a✅\x20Report\x20generated:\x20'+_0x23a54a);}function getScenarioResult(_0x58dd67){const _0x54b223=_0x37cebc,_0x42c53c={'DALxf':'closed','vHAba':_0x54b223(0x138)};if(_0x58dd67[_0x54b223(0x163)]==='closed')return _0x58dd67[_0x54b223(0x1e8)]??_0x42c53c['DALxf'];if(_0x58dd67[_0x54b223(0x163)]===_0x42c53c['vHAba'])return _0x54b223(0x177);return _0x58dd67[_0x54b223(0x163)];}function getScenarioRationale(_0x3d601e,_0x23c4ea){const _0x1f5265=_0x37cebc,_0x57cdf9=_0x1f5265(0x185)[_0x1f5265(0x12a)]('|');let _0x321f01=0x0;while(!![]){switch(_0x57cdf9[_0x321f01++]){case'0':if(_0x23c4ea)return _0x23c4ea;continue;case'1':if(_0x3d601e[_0x1f5265(0x123)])return _0x3d601e[_0x1f5265(0x123)];continue;case'2':if(_0x3d601e[_0x1f5265(0x1eb)])return _0x3d601e['notes'];continue;case'3':return null;case'4':if(_0x3d601e['incompleteReason'])return _0x3d601e[_0x1f5265(0x1e5)];continue;case'5':if(_0x3d601e['blockedReason'])return _0x3d601e[_0x1f5265(0x1bf)];continue;}break;}}export async function featureReportPrDescription(_0x56b008,_0x51750a){const _0x56f097=_0x37cebc,_0x4ff138={'zAsYs':_0x56f097(0x195),'nfVIz':function(_0x505f0a,_0x3385e6){return _0x505f0a(_0x3385e6);},'jRcZt':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','gYUrf':function(_0x13c7cc,_0x4656e8){return _0x13c7cc<_0x4656e8;},'QIAgz':function(_0x13f318,_0x1c04e4){return _0x13f318===_0x1c04e4;},'mxEUD':_0x56f097(0x119)},_0x3fe2a0=_0x56b008||await getActiveFeatureId();if(!_0x3fe2a0)throw new Error(_0x4ff138['zAsYs']);const _0x47e0e4=await _0x4ff138[_0x56f097(0x17b)](getFeature,_0x3fe2a0),_0x249bed=_0x47e0e4['checklistItems']||[],_0x45419c=getCurrentSessionItems(_0x47e0e4,_0x249bed);_0x45419c[_0x56f097(0x1b4)]===0x0&&(console['error'](_0x4ff138['jRcZt']),process['exit'](0x1));const _0x54f35e=_0x51750a[_0x56f097(0x190)]??[],_0x169334=_0x54f35e['filter'](_0x7a920d=>!Number[_0x56f097(0x194)](_0x7a920d)||_0x7a920d<0x1||_0x7a920d>_0x45419c['length']);if(_0x169334['length']>0x0){console[_0x56f097(0x174)](_0x56f097(0x1c1)+_0x169334[_0x56f097(0x17d)](',\x20')),console['log'](_0x56f097(0x1ab));for(let _0x576edd=0x0;_0x4ff138[_0x56f097(0x11d)](_0x576edd,_0x45419c[_0x56f097(0x1b4)]);_0x576edd++){console['log']('\x20\x20'+(_0x576edd+0x1)+'.\x20'+_0x45419c[_0x576edd][_0x56f097(0x15b)]);}process['exit'](0x1);}const _0x1d2584=new Set(_0x54f35e['map'](_0x2b0f0a=>_0x2b0f0a-0x1)),_0x4fd8f0=_0x45419c['filter']((_0x46a0c2,_0x393a2c)=>!_0x1d2584['has'](_0x393a2c));_0x4ff138['QIAgz'](_0x4fd8f0[_0x56f097(0x1b4)],0x0)&&(console['error'](_0x4ff138[_0x56f097(0x129)]),process['exit'](0x1));if(_0x51750a[_0x56f097(0x1e4)])await outputJsonReport(_0x3fe2a0,_0x47e0e4,_0x4fd8f0);else{const _0x11b90a=await getFeatureReportMarkdown(_0x3fe2a0,{'itemIds':_0x4fd8f0[_0x56f097(0x18c)](_0x280c05=>_0x280c05['id'])});process[_0x56f097(0x1dc)][_0x56f097(0x134)](_0x11b90a[_0x56f097(0x133)]()+'\x0a');}}async function outputJsonReport(_0x165d3d,_0x16be59,_0x57e1ee){const _0x498853=_0x37cebc,_0xdb678={'fsQDh':function(_0x496a0d,_0x41e4f1){return _0x496a0d(_0x41e4f1);},'dkuzw':function(_0x953e42,_0x106bb8){return _0x953e42>_0x106bb8;},'cBPIY':function(_0xab58c3,_0xd635bb){return _0xab58c3===_0xd635bb;},'llPIv':function(_0xb87a8b,_0xc98aec){return _0xb87a8b(_0xc98aec);},'HrNkQ':function(_0x1aeef4,_0x5d229e,_0x1c18c4){return _0x1aeef4(_0x5d229e,_0x1c18c4);},'AOOym':function(_0x4519f0){return _0x4519f0();},'bZsRT':function(_0x189332,_0x4afe1a){return _0x189332(_0x4afe1a);}},_0x3a4ff3=_0xdb678[_0x498853(0x175)](getApiBaseUrl),_0x23e641=await _0xdb678[_0x498853(0x172)](getFeatureReport,_0x165d3d),_0x2c06eb=new Map(_0x23e641['checklistItems'][_0x498853(0x18c)](_0x4c24a9=>[_0x4c24a9['id'],_0x4c24a9])),_0x51c0b7=await Promise['all'](_0x57e1ee[_0x498853(0x18c)](async _0x5ba5ea=>{const _0x412601=_0x498853,_0x348701=_0x2c06eb['get'](_0x5ba5ea['id']),_0x4c3603=_0x348701?.[_0x412601(0x1cd)]??null;let _0x5bb35d=[];if(_0x5ba5ea['browserSessionId'])try{const {steps:_0x3926eb}=await _0xdb678['fsQDh'](getBrowserSessionSteps,_0x5ba5ea[_0x412601(0x1a8)]);_0xdb678['dkuzw'](_0x3926eb[_0x412601(0x1b4)],0x0)&&(_0x5bb35d=_0x3926eb[_0x412601(0x18c)](_0x1c51fc=>{const _0x5e755d=_0x412601,_0xfe5fe9=_0x1c51fc['assets']['find'](_0x3f7322=>_0x3f7322['assetType']===_0x5e755d(0x1c4)&&_0x3f7322[_0x5e755d(0x1ee)]==='after')??_0x1c51fc[_0x5e755d(0x1a2)][_0x5e755d(0x11b)](_0x3b2762=>_0x3b2762[_0x5e755d(0x154)]==='screenshot');let _0x16ebd3=null,_0x4dc759=null;if(_0xfe5fe9){const _0x1f7857=_0xfe5fe9['storage']['location'][_0x5e755d(0x12a)]('/')[_0x5e755d(0x164)]();_0x16ebd3=_0x3a4ff3+'/api/v1/mcp/browser-sessions/'+_0x5ba5ea['browserSessionId']+'/artifacts/'+_0x1f7857,_0x1f7857&&(_0x4dc759=_0x1f7857[_0x5e755d(0x17a)](/\.\w+$/,'')[_0x5e755d(0x17a)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x4dc759||_0x1c51fc[_0x5e755d(0x15b)]||_0x1c51fc['stepName']||'Step\x20'+_0x1c51fc[_0x5e755d(0x1d9)],'screenshot':_0x16ebd3,'is_key_step':_0x1c51fc[_0x5e755d(0x15e)]};}));}catch{}return _0xdb678[_0x412601(0x1c2)](_0x5bb35d[_0x412601(0x1b4)],0x0)&&_0x4c3603?.['screenshotUrls']&&(_0x5bb35d=_0x4c3603['screenshotUrls']['map']((_0x136de1,_0x3cb28d)=>({'description':_0x412601(0x1df)+(_0x3cb28d+0x1),'screenshot':_0x136de1,'is_key_step':![]}))),{'description':_0x5ba5ea[_0x412601(0x15b)],'result':_0xdb678[_0x412601(0x1d8)](getScenarioResult,_0x5ba5ea),'rationale':_0xdb678[_0x412601(0x12e)](getScenarioRationale,_0x5ba5ea,_0x4c3603?.['agentResponse']),'steps':_0x5bb35d};})),_0x14b0e7={'url':_0x16be59[_0x498853(0x17c)],'scenarios':_0x51c0b7};process[_0x498853(0x1dc)]['write'](JSON[_0x498853(0x14b)](_0x14b0e7,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x3600a1){const _0x3b126e=_0x37cebc,_0x3b2cb5={'oDzmz':function(_0x241986){return _0x241986();},'dcltL':function(_0x1d4433,_0x28519e){return _0x1d4433(_0x28519e);},'NyaNa':'Current\x20session\x20not\x20found.','onZlG':function(_0x272910,_0x54d5ef){return _0x272910===_0x54d5ef;},'shlTE':'completed','CDLPt':'\x0a✅\x20Session\x20is\x20already\x20completed.','iECDs':'in_progress','AtUgk':'\x0aConcluding\x20session...','YgXvV':function(_0x29936a,_0x1ce955,_0x490f5f){return _0x29936a(_0x1ce955,_0x490f5f);}},_0x4b4390=_0x3600a1||await _0x3b2cb5[_0x3b126e(0x15a)](getActiveFeatureId);if(!_0x4b4390)throw new Error(_0x3b126e(0x121));const _0x490f9c=await _0x3b2cb5['dcltL'](getFeature,_0x4b4390);if(!_0x490f9c[_0x3b126e(0x14d)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x4d60d9}=await listFeatureSessions(_0x4b4390),_0x3cceb7=_0x4d60d9[_0x3b126e(0x11b)](_0x14f6fd=>_0x14f6fd['id']===_0x490f9c[_0x3b126e(0x14d)]);if(!_0x3cceb7)throw new Error(_0x3b2cb5[_0x3b126e(0x1a6)]);if(_0x3b2cb5[_0x3b126e(0x125)](_0x3cceb7[_0x3b126e(0x163)],_0x3b2cb5['shlTE'])){console[_0x3b126e(0x1e6)](_0x3b2cb5[_0x3b126e(0x13f)]);return;}if(_0x3cceb7['status']!==_0x3b2cb5[_0x3b126e(0x1d2)])throw new Error(_0x3b126e(0x141)+_0x3cceb7[_0x3b126e(0x163)]);console['log'](_0x3b2cb5[_0x3b126e(0x166)]),await _0x3b2cb5['YgXvV'](concludeSession,_0x4b4390,_0x490f9c['currentSessionId']),console[_0x3b126e(0x1e6)](_0x3b126e(0x184)+_0x3cceb7['iteration']+'\x20concluded.'),console[_0x3b126e(0x1e6)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x538827){const _0x309a93=_0x37cebc,_0x2fb826={'MTDMq':function(_0x4d488e){return _0x4d488e();},'HPYUi':function(_0xb22842,_0x3e02c5){return _0xb22842(_0x3e02c5);},'cWxdW':function(_0x160dc7,_0xfc4ee){return _0x160dc7===_0xfc4ee;},'CiDcE':'in_progress'},_0x3421aa=_0x538827||await _0x2fb826[_0x309a93(0x1dd)](getActiveFeatureId);if(!_0x3421aa)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x4ff6c3=await _0x2fb826[_0x309a93(0x1b8)](getFeature,_0x3421aa);console['log'](_0x309a93(0x1de)+_0x4ff6c3['name']+'\x0a');const {sessions:_0x245518}=await listFeatureSessions(_0x3421aa);if(_0x2fb826[_0x309a93(0x1a5)](_0x245518['length'],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x9a3f7a of _0x245518){const _0x641d29=_0x2fb826[_0x309a93(0x1a5)](_0x9a3f7a[_0x309a93(0x163)],_0x309a93(0x1c3))?'✅':_0x2fb826[_0x309a93(0x1a5)](_0x9a3f7a[_0x309a93(0x163)],_0x2fb826['CiDcE'])?'🔄':'▶️';console['log'](_0x641d29+_0x309a93(0x12c)+_0x9a3f7a[_0x309a93(0x167)]+'\x20('+_0x9a3f7a['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x9a3f7a['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x9a3f7a[_0x309a93(0x1b2)])['toLocaleString']()),_0x9a3f7a[_0x309a93(0x173)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x9a3f7a[_0x309a93(0x173)])['toLocaleString']()),console[_0x309a93(0x1e6)]('');}}export async function featureAddScenario(_0x17b185,_0x202bb3){const _0x4926b2=_0x37cebc,_0x144132={'ZfLIu':_0x4926b2(0x121),'XQhHm':function(_0x32a1fb,_0x4a483f,_0x31e4c3){return _0x32a1fb(_0x4a483f,_0x31e4c3);}},_0x3ab675=_0x202bb3||await getActiveFeatureId();if(!_0x3ab675)throw new Error(_0x144132['ZfLIu']);const _0x6ba54b=await getFeature(_0x3ab675);if(_0x6ba54b[_0x4926b2(0x1e1)]&&!_0x6ba54b['latestReview']['submittedAt'])throw new Error(_0x4926b2(0x176)+_0x6ba54b[_0x4926b2(0x17c)]);await _0x144132[_0x4926b2(0x118)](createChecklistItem,_0x3ab675,_0x17b185);const _0x1dc413=await getFeature(_0x3ab675);console['log'](_0x4926b2(0x142)),displayFeature(_0x1dc413,_0x1dc413[_0x4926b2(0x1a3)]);}export async function featureEditScenario(_0x45d916,_0x38ac3a){const _0x28dada=_0x37cebc,_0x33a3dc={'mRhDN':function(_0x1ac5db){return _0x1ac5db();},'wTwVs':_0x28dada(0x1ad),'GUkzL':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','tDciM':function(_0x1cfc50,_0x5b551c){return _0x1cfc50===_0x5b551c;},'ZwiKv':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','ZNNVt':function(_0x4190b1,_0xa4c613){return _0x4190b1+_0xa4c613;},'ztvAs':function(_0x3782d1,_0x2478ed){return _0x3782d1>=_0x2478ed;},'OHliv':_0x28dada(0x1ab),'xZniM':function(_0x962f09,_0x566323){return _0x962f09<_0x566323;},'JJdBD':function(_0x5e2c23,_0x7159a9){return _0x5e2c23(_0x7159a9);}},_0x4443f2=_0x38ac3a['id']||await _0x33a3dc['mRhDN'](getActiveFeatureId);!_0x4443f2&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x33a3dc['wTwVs']),process['exit'](0x1));const _0x3f4bc4=await getFeature(_0x4443f2);_0x3f4bc4['latestReview']&&!_0x3f4bc4[_0x28dada(0x1e1)][_0x28dada(0x131)]&&(console[_0x28dada(0x174)](_0x33a3dc[_0x28dada(0x16f)]),console['error']('Please\x20finish\x20your\x20review\x20first:'),console[_0x28dada(0x174)]('\x20\x20'+_0x3f4bc4[_0x28dada(0x17c)]),process[_0x28dada(0x16e)](0x1));const _0x4b7baa=_0x3f4bc4['checklistItems']||[];_0x4b7baa[_0x28dada(0x1b4)]===0x0&&(console['error'](_0x28dada(0x12b)),process[_0x28dada(0x16e)](0x1));if(_0x33a3dc['tDciM'](_0x38ac3a['scenario'],undefined)){console['error'](_0x33a3dc['ZwiKv']),console[_0x28dada(0x1e6)]('\x0aAvailable\x20scenarios:');for(let _0x4b53c1=0x0;_0x4b53c1<_0x4b7baa[_0x28dada(0x1b4)];_0x4b53c1++){console[_0x28dada(0x1e6)]('\x20\x20'+_0x33a3dc['ZNNVt'](_0x4b53c1,0x1)+'.\x20'+_0x4b7baa[_0x4b53c1]['description']);}process['exit'](0x1);}const _0x3e9fc9=_0x38ac3a['scenario']-0x1;if(_0x3e9fc9<0x0||_0x33a3dc[_0x28dada(0x18e)](_0x3e9fc9,_0x4b7baa['length'])){console[_0x28dada(0x174)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x38ac3a['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x4b7baa['length']+'\x20scenarios.'),console[_0x28dada(0x1e6)](_0x33a3dc[_0x28dada(0x147)]);for(let _0x30ae0a=0x0;_0x33a3dc[_0x28dada(0x1ca)](_0x30ae0a,_0x4b7baa[_0x28dada(0x1b4)]);_0x30ae0a++){console[_0x28dada(0x1e6)]('\x20\x20'+_0x33a3dc[_0x28dada(0x171)](_0x30ae0a,0x1)+'.\x20'+_0x4b7baa[_0x30ae0a]['description']);}process['exit'](0x1);}const _0x44f088=_0x4b7baa[_0x3e9fc9];await updateChecklistItem(_0x4443f2,_0x44f088['id'],{'description':_0x45d916});const _0x5cd962=await _0x33a3dc['JJdBD'](getFeature,_0x4443f2);console[_0x28dada(0x1e6)](_0x28dada(0x162)),displayFeature(_0x5cd962,_0x5cd962['checklistItems']);}async function downloadFeedbackImage(_0x547a95,_0x1d4334){const _0x288aee=_0x37cebc,_0x455146={'QGjXR':function(_0x1c2e10){return _0x1c2e10();},'okoBY':function(_0x442a2b,_0xc65911,_0x4bf663){return _0x442a2b(_0xc65911,_0x4bf663);},'AlnBN':function(_0x510120,_0xb0acb7,_0xfe1f31){return _0x510120(_0xb0acb7,_0xfe1f31);},'AFEVU':function(_0x34035e,_0x4a7c54){return _0x34035e(_0x4a7c54);}};try{const _0x596987=join(_0x455146['QGjXR'](getRangerDir),_0x288aee(0x132));await _0x455146[_0x288aee(0x1d0)](mkdir,_0x596987,{'recursive':!![]});const _0x4b48ec=_0x455146[_0x288aee(0x1b5)](join,_0x596987,'comment_'+_0x1d4334+_0x288aee(0x18b)),_0x560c4e=await _0x455146[_0x288aee(0x158)](fetch,_0x547a95);if(!_0x560c4e['ok'])return null;const _0x382839=Buffer[_0x288aee(0x12f)](await _0x560c4e[_0x288aee(0x19e)]());return await _0x455146['okoBY'](writeFile,_0x4b48ec,_0x382839),_0x4b48ec;}catch{return null;}}function _0x4111(){const _0x25cc5e=['.png','map','qVkQX','ztvAs','push','excludeScenarios','ZgAvl','toLocaleDateString','short','isInteger','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','verificationInProgressItems','\x20of\x20','github.com/','66GDvKRO','\x20—\x20no\x20comments','textContent','YFpbF','Rycbn','arrayBuffer','486552xlcvPq','uIDsa','\x20blocked','assets','checklistItems','\x20\x20\x20\x20\x20\x20Approved','cWxdW','NyaNa','1798974ueMAqJ','browserSessionId','en-US','\x20\x20\x20Repository:\x20','\x0aAvailable\x20scenarios:','3313576deHRCY','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','PniVy','scenarios','UwIDv','createdAt','VJrrV','length','AlnBN','pipe','NuXZp','HPYUi','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','rZXQT','\x0a📋\x20Feedback\x20for:\x20','yzkvU','output','authorEmail','blockedReason','parentItemId','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','cBPIY','completed','screenshot','env','QgEBf','unaddressedComments','):\x20\x22','BHvFl','xZniM','\x20/\x20','gitBranch','linkedSession','PsABq','version','okoBY','Jnmcn','iECDs','MePlO','includeDeleted','toLocaleString','\x20\x20\x20\x20\x20Progress:\x20','jzpIa','llPIv','position','point','\x20(v','stdout','MTDMq','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','Screenshot\x20','Bhsfb','latestReview','vykgC','totalCount','json','incompleteReason','log','KIZdT','terminalReason','5400040IUodsN','incomplete','notes','Tqvbu','name','timing','bVqUy','canonicalFlow','ready','element','domRef','wbqne','NuMjq','XspyM','utf-8','XQhHm','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20\x20\x20Description:\x20','find','spatial','gYUrf','Showing\x20','HlKSK','Scenario\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','canceledReason','\x20\x20\x20','onZlG','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','\x20\x20\x20\x20\x20\x20Incomplete:\x20','\x20\x20\x20\x20\x20ID:\x20','mxEUD','split','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x20Session\x20','PCkpT','HrNkQ','from','stats','submittedAt','feedback-images','trimEnd','write','sessionId','NBxob','\x20\x20\x20ID:\x20','verification_in_progress','items','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x0a✅\x20Restored\x20feature\x20review:\x20','reports','CDLPt','\x20\x20\x20\x20\x20\x20Blocked:\x20','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0a✅\x20Scenario\x20added','vhVCe','trim','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20\x20Expected\x20flow:','OHliv','LHmHP',':\x20\x22','slice','stringify','5727280nbWvXX','currentSessionId','3107128COqWOx','\x0aCreating\x20feature\x20review...','NoaPO','\x0a✅\x20Feature\x20review\x20created:\x20','verified','\x20\x20\x20Created:\x20','assetType','Next\x20page:\x20ranger\x20list\x20--offset\x20','stdin','NbKLQ','AFEVU','...','oDzmz','description','verifiedItems','yQLRz','isKeyStep','mPSZq','\x20feature\x20review(s)\x20found','No\x20scenarios\x20found.','\x0a✅\x20Scenario\x20updated','status','pop','toFixed','AtUgk','iteration','kGHEJ','list','TnfWG','ZXSfC','rteNZ','\x0aNo\x20feature\x20reviews\x20found.','exit','GUkzL','Unknown','ZNNVt','bZsRT','completedAt','error','AOOym','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','in_progress','rTzFX','active-feature.txt','replace','nfVIz','dashboardUrl','join','coOsP','tIjFn','coordinates','\x20\x20\x20▶️\x20Started\x20session\x20','\x20—\x20','offset','\x0a✅\x20Session\x20','0|5|4|1|2|3','87486yfeoLv','sfIDk','limit','SylOD','\x1b[1m'];_0x4111=function(){return _0x25cc5e;};return _0x4111();}export async function featureGetReview(_0x22fe64){const _0x366319=_0x37cebc,_0x9f8ef0={'qVkQX':function(_0x1a8891){return _0x1a8891();},'rTzFX':function(_0x2dec2b,_0x102264){return _0x2dec2b(_0x102264);},'NuXZp':function(_0x3917ad,_0x35f793){return _0x3917ad(_0x35f793);},'tjLOT':function(_0x540b24,_0x4c4f91){return _0x540b24===_0x4c4f91;},'vykgC':_0x366319(0x161),'BzZTv':function(_0x31dffa,_0x19feb1,_0x4599cc){return _0x31dffa(_0x19feb1,_0x4599cc);},'BHvFl':'numeric','aYwlq':'\x20>\x20','VJrrV':_0x366319(0x112),'UwIDv':function(_0x341c3f,_0x6dbd4f){return _0x341c3f>=_0x6dbd4f;},'KIZdT':function(_0xe2c145,_0x18989e){return _0xe2c145+_0x18989e;}},_0x4c4bee=_0x22fe64||await _0x9f8ef0[_0x366319(0x18d)](getActiveFeatureId);if(!_0x4c4bee)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 _0x52efa3=await _0x9f8ef0[_0x366319(0x178)](getFeature,_0x4c4bee),{items:_0x4eae9a}=await _0x9f8ef0[_0x366319(0x1b7)](getActionItems,_0x4c4bee);console['log'](_0x366319(0x1bb)+_0x52efa3['name']+'\x20('+_0x52efa3['id']+')\x0a');if(_0x9f8ef0['tjLOT'](_0x4eae9a[_0x366319(0x1b4)],0x0)){console['log'](_0x9f8ef0[_0x366319(0x1e2)]);return;}for(let _0x3d1234=0x0;_0x3d1234<_0x4eae9a[_0x366319(0x1b4)];_0x3d1234++){const _0x496e26=_0x4eae9a[_0x3d1234],_0x2f3b67=_0x496e26['version']>0x1?'\x20(v'+_0x496e26['version']+')':'',_0x4dc238=await _0x9f8ef0['BzZTv'](getItemFeedback,_0x4c4bee,_0x496e26['id']);if(_0x4dc238[_0x366319(0x1c7)]['length']>0x0){console[_0x366319(0x1e6)](_0x366319(0x120)+(_0x3d1234+0x1)+_0x366319(0x149)+_0x496e26['description']+'\x22'+_0x2f3b67+_0x366319(0x182)+_0x4dc238['unaddressedComments'][_0x366319(0x1b4)]+'\x20unaddressed\x20comment(s)');for(const _0x3646d2 of _0x4dc238[_0x366319(0x1c7)]){const _0xd67f20=new Date(_0x3646d2[_0x366319(0x1b2)])[_0x366319(0x192)](_0x366319(0x1a9),{'month':_0x366319(0x193),'day':_0x9f8ef0[_0x366319(0x1c9)]}),_0x36ced9=_0x3646d2['authorName']||_0x3646d2[_0x366319(0x1be)]||_0x366319(0x170);console[_0x366319(0x1e6)]('\x20\x20💬\x20'+_0x36ced9+'\x20('+_0xd67f20+_0x366319(0x1c8)+_0x3646d2['content']+'\x22');if(_0x3646d2['assetUrl']){const _0x282b1a=await downloadFeedbackImage(_0x3646d2['assetUrl'],_0x3646d2['id']);_0x282b1a&&console[_0x366319(0x1e6)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x282b1a);}if(_0x3646d2['domRef']){const _0x3d3b00=_0x3646d2[_0x366319(0x113)]['selector']['split'](_0x9f8ef0['aYwlq'])[_0x366319(0x164)]()?.['split'](':')[0x0]||_0x9f8ef0[_0x366319(0x1b3)],_0x5f6136=_0x3646d2['domRef'][_0x366319(0x19b)]?'\x20\x22'+_0x3646d2[_0x366319(0x113)][_0x366319(0x19b)][_0x366319(0x14a)](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3d3b00+'>'+_0x5f6136),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x3646d2[_0x366319(0x113)]['selector']);}else{if(_0x3646d2['spatial']){const _0x226765=_0x3646d2[_0x366319(0x11c)][_0x366319(0x180)];_0x9f8ef0['tjLOT'](_0x3646d2[_0x366319(0x11c)]['type'],_0x366319(0x1da))&&_0x9f8ef0[_0x366319(0x1b1)](_0x226765['length'],0x2)?console['log'](_0x366319(0x13c)+_0x226765[0x0]['toFixed'](0x2)+',\x20'+_0x226765[0x1][_0x366319(0x165)](0x2)+')'):console[_0x366319(0x1e6)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3646d2[_0x366319(0x11c)]['type']+'\x20at\x20['+_0x226765['map'](_0x5b6f55=>_0x5b6f55[_0x366319(0x165)](0x2))['join'](',\x20')+']');}}}if(_0x4dc238[_0x366319(0x1f0)]){console['log'](_0x366319(0x146));for(const _0x48e31a of _0x4dc238['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x48e31a);}}}else console[_0x366319(0x1e6)]('Scenario\x20'+_0x9f8ef0[_0x366319(0x1e7)](_0x3d1234,0x1)+_0x366319(0x149)+_0x496e26[_0x366319(0x15b)]+'\x22'+_0x2f3b67+_0x366319(0x19a)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x366319(0x1e6)]('');}}export async function featureDelete(_0x4f0328){const _0x142547=_0x37cebc,_0x266e8b={'Rycbn':function(_0x49ee38){return _0x49ee38();},'pfDIb':function(_0x44d42a,_0x4fdf4e){return _0x44d42a(_0x4fdf4e);},'GbGnZ':function(_0x3776c8,_0x5ae6e6){return _0x3776c8+_0x5ae6e6;},'yzkvU':_0x142547(0x1ae)},_0x421ffd=_0x4f0328||await _0x266e8b[_0x142547(0x19d)](getActiveFeatureId);if(!_0x421ffd)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 _0x254967=await _0x266e8b['pfDIb'](getFeature,_0x421ffd);await softDeleteFeature(_0x421ffd),console['log'](_0x142547(0x1b9)+_0x254967['name']+'\x20('+_0x421ffd+')'),console['log'](_0x266e8b['GbGnZ'](_0x266e8b[_0x142547(0x1bc)],_0x421ffd));}export async function featureRestore(_0x225581){const _0x4e870a=_0x37cebc,_0x50fcbf={'tIjFn':function(_0x19b77e,_0x5878b1){return _0x19b77e(_0x5878b1);}};await _0x50fcbf['tIjFn'](restoreFeature,_0x225581);const _0x418077=await _0x50fcbf[_0x4e870a(0x17f)](getFeature,_0x225581);console['log'](_0x4e870a(0x13d)+_0x418077['name']+'\x20('+_0x225581+')'),displayFeature(_0x418077,_0x418077['checklistItems']);}
|
|
1
|
+
const _0x38f2a6=_0x27c7;(function(_0x296963,_0x151ec1){const _0xf20985=_0x27c7,_0x3d4d21=_0x296963();while(!![]){try{const _0xee07d9=-parseInt(_0xf20985(0x137))/0x1*(parseInt(_0xf20985(0x115))/0x2)+parseInt(_0xf20985(0x1ce))/0x3+parseInt(_0xf20985(0x14a))/0x4+-parseInt(_0xf20985(0x11b))/0x5+parseInt(_0xf20985(0x192))/0x6+parseInt(_0xf20985(0x1b2))/0x7*(parseInt(_0xf20985(0x198))/0x8)+-parseInt(_0xf20985(0x18a))/0x9;if(_0xee07d9===_0x151ec1)break;else _0x3d4d21['push'](_0x3d4d21['shift']());}catch(_0xaed219){_0x3d4d21['push'](_0x3d4d21['shift']());}}}(_0x21d2,0x41cb5));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2925d7 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=_0x533d92=>_0x38f2a6(0x173)+_0x533d92+_0x38f2a6(0x176);function getGitRepoUrl(){const _0x332235=_0x38f2a6,_0x54a2a0={'CnROB':function(_0x40da47,_0x376590,_0x87fbb1){return _0x40da47(_0x376590,_0x87fbb1);},'uAXFp':'git\x20remote\x20get-url\x20origin','YLpJL':_0x332235(0x11d),'Ciint':'pipe'};try{const _0x21f5e6=_0x54a2a0['CnROB'](execSync,_0x54a2a0['uAXFp'],{'encoding':_0x54a2a0[_0x332235(0x1af)],'stdio':[_0x332235(0x199),_0x54a2a0[_0x332235(0x186)],_0x332235(0x199)]})[_0x332235(0x161)]();return _0x21f5e6['replace'](/\.git$/,'')[_0x332235(0x141)](/^git@github\.com:/,_0x332235(0x154))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x52f19a=_0x38f2a6,_0x28498b={'QpiNu':function(_0x31c87d,_0x35ef7a,_0x5be23f){return _0x31c87d(_0x35ef7a,_0x5be23f);},'GziQK':_0x52f19a(0x120),'HUOKz':'pipe'};try{return _0x28498b[_0x52f19a(0x12c)](execSync,_0x28498b['GziQK'],{'encoding':'utf-8','stdio':['pipe',_0x52f19a(0x199),_0x28498b['HUOKz']]})[_0x52f19a(0x161)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x317985=_0x38f2a6,_0x1d4134={'fdgVc':function(_0x119f02,_0x1ad815){return _0x119f02(_0x1ad815);},'vLYZT':_0x317985(0x11d)},_0xedfadc=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x1d4134['fdgVc'](existsSync,_0xedfadc))return null;try{const _0x2248d6=await readFile(_0xedfadc,_0x1d4134['vLYZT']);return _0x2248d6['trim']()||null;}catch{return null;}}function _0x21d2(){const _0x17d694=['Zzram','from','ChJhM','stats','):\x20\x22','\x20incomplete','Current\x20session\x20not\x20found.','NuLfQ','19523QMHDvH','position','verified','items','latestReview','BZQXC','submittedAt','RaFic','\x20--limit\x20','scenarios','replace','Step\x20','currentBranch','content','excludeScenarios','\x20—\x20no\x20comments','\x20\x20\x20\x20\x20Progress:\x20','error','HUMRu','2056656czaPeE','screenshot','\x20\x20\x20Created:\x20','Next\x20page:\x20ranger\x20list\x20--offset\x20','hANQg','Cannot\x20conclude\x20session\x20with\x20status:\x20','RJdTf','in_progress','selector','browserSessionId','github.com/','find','incompleteReason','rcPmJ','isInteger','0|2|1|4|3|5','length','closed',':\x20\x22','PApQZ','...','stdin','style','trim','AhACh','stringify','vWqoT','toLocaleString','uSynA','verificationInProgressItems','\x20\x20\x20\x20\x20\x20Approved','scenario','trimEnd','\x20\x20\x20Description:\x20','\x20\x20\x20Progress:\x20','MsnCv','\x20\x20\x20\x20\x20Branch:\x20','env','description','QqliL','\x20/\x20','\x1b[1m','coordinates','\x20Session\x20','\x1b[0m','TTDNS','\x20concluded.','sessionId','\x20\x20\x20▶️\x20Started\x20session\x20','RANGER_TEST_USERNAME','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','completed','\x20—\x20','\x20feature\x20review(s)\x20found','\x20\x20\x20','createdAt','after','yNrCg','push','xJovq','Ciint','\x20\x20\x20Completed:\x20','gitRepoUrl','\x0a❌\x20Invalid\x20scenario\x20index:\x20','3701997BAwOhL','\x20scenario(s).','\x20--include-deleted','\x20\x20\x20\x20','toFixed','split','\x0a✅\x20Restored\x20feature\x20review:\x20','\x20\x20\x20\x20\x20ID:\x20','1010502RfFyud','mfmNQ','list','.png','terminalReason','pendingItems','840qhNQxp','pipe','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','Jgnbu','blockedItems','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','canonicalFlow','mTsBG','canceledReason','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x0a✅\x20Report\x20generated:\x20','approved','ejvtv','TIRwI','domRef','oecjU','LmJBv','exit','dashboardUrl','hEkiH','ocFFT','ZMzOI','YLpJL','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','IUnon','22085DeVXpZ','OpxBi','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','qhSXc','screenshotUrls','version','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','xbUEn','OrUNI','upztQ','assets','selected','Scenario\x20','\x0aConcluding\x20session...','\x0aCreating\x20feature\x20review...','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','gIOLe','parentItemId','type','log','map','\x20\x20\x20Updated\x20branch\x20to:\x20','unaddressedComments','pop','isTTY','notes','\x20in\x20progress','blockedReason','1565316ibDfac','BMfAc','cfkhz','kFfFQ','IVsso','write','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','gitBranch','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x20--current-branch','has','comment_','status','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','pcPcD','currentSessionId','completedAt','textContent','spatial','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x0a✅\x20Scenario\x20updated','vRRgR','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','stepName','feedback-images','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','nDVmS','timing','DrkaP','limit','element','join','sSuVY','vxIfq','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','BvykE','name','ywqKi','52nxcodk','tCfEj','filter','pgcra','OmJgH','checklistItems','1736020LzCrvV','\x0aAvailable\x20scenarios:','utf-8','\x20blocked','offset','git\x20rev-parse\x20--abbrev-ref\x20HEAD','dOBMD','ypIOB','No\x20active\x20session\x20for\x20this\x20feature\x20review.','ztWBd','iteration','yqvGF','\x0aGenerating\x20report...','\x0a✅\x20Resumed\x20feature\x20review:\x20','toLocaleDateString','repeat','eQtKX','QpiNu','Not\x20in\x20a\x20git\x20repository.','CLAUDE_SESSION_ID'];_0x21d2=function(){return _0x17d694;};return _0x21d2();}async function setActiveFeatureId(_0x3b2fc4){const _0x34018f=_0x38f2a6,_0x4707bd={'juhHr':function(_0x547160){return _0x547160();},'RbIGc':function(_0x199344,_0x3f5f00){return _0x199344(_0x3f5f00);},'QqliL':function(_0x24d6de,_0x483038,_0x58c9e4,_0x4515d9){return _0x24d6de(_0x483038,_0x58c9e4,_0x4515d9);},'FgKPZ':_0x34018f(0x11d)},_0x364cf5=_0x4707bd['juhHr'](getRangerDir),_0x335ebe=join(_0x364cf5,ACTIVE_FEATURE_FILE);!_0x4707bd['RbIGc'](existsSync,_0x364cf5)&&await mkdir(_0x364cf5,{'recursive':!![]}),await _0x4707bd[_0x34018f(0x171)](writeFile,_0x335ebe,_0x3b2fc4,_0x4707bd['FgKPZ']);}function getProgressDisplay(_0x2c2e1a){const _0xe529b6=_0x38f2a6,_0x106dd0={'FCcLz':function(_0x52daea,_0x17610b){return _0x52daea+_0x17610b;},'MYWau':function(_0x54b855,_0x22fca0){return _0x54b855+_0x22fca0;},'XjvlM':function(_0x369c77,_0x36c9ac){return _0x369c77===_0x36c9ac;},'XVjjC':function(_0xd1b471,_0x4c079e){return _0xd1b471/_0x4c079e;},'RxVBg':function(_0x48fbed,_0x5f4076){return _0x48fbed-_0x5f4076;}},_0x5699ca=_0x2c2e1a['verifiedItems']||0x0,_0x172abe=_0x2c2e1a[_0xe529b6(0x167)]||0x0,_0x565a83=_0x2c2e1a[_0xe529b6(0x19d)]||0x0,_0x5ea708=_0x2c2e1a['incompleteItems']||0x0,_0x434b8a=_0x2c2e1a[_0xe529b6(0x197)]||0x0,_0x521343=_0x106dd0['FCcLz'](_0x106dd0['MYWau'](_0x5699ca,_0x172abe),_0x565a83)+_0x5ea708+_0x434b8a;if(_0x106dd0['XjvlM'](_0x521343,0x0))return'-';const _0x45e18b=0xa,_0x55a73b=Math['round'](_0x106dd0['XVjjC'](_0x5699ca,_0x521343)*_0x45e18b),_0x52e882='█'[_0xe529b6(0x12a)](_0x55a73b)+'░'['repeat'](_0x106dd0['RxVBg'](_0x45e18b,_0x55a73b)),_0x21affd=[];if(_0x565a83>0x0)_0x21affd['push'](_0x565a83+_0xe529b6(0x11e));if(_0x5ea708>0x0)_0x21affd['push'](_0x5ea708+_0xe529b6(0x134));if(_0x172abe>0x0)_0x21affd[_0xe529b6(0x184)](_0x172abe+_0xe529b6(0x1cc));const _0x540df2=_0x21affd[_0xe529b6(0x15a)]>0x0?'\x20('+_0x21affd[_0xe529b6(0x10e)](',\x20')+')':'';return _0x52e882+'\x20'+_0x5699ca+'/'+_0x521343+'\x20verified'+_0x540df2;}function getCurrentSessionItems(_0x50bcb0,_0x3a426){const _0x466a58=_0x38f2a6;if(!_0x50bcb0[_0x466a58(0x1dd)])return _0x3a426[_0x466a58(0x117)](_0x256857=>!_0x256857['sessionId']);return _0x3a426['filter'](_0x20eb95=>_0x20eb95['sessionId']===_0x50bcb0[_0x466a58(0x1dd)]||!_0x20eb95[_0x466a58(0x179)]);}function displayFeature(_0xa4600b,_0x294a8f){const _0x43c94d=_0x38f2a6,_0xb66c7={'zfZnV':function(_0x14afcd,_0x3b8d06){return _0x14afcd>_0x3b8d06;},'MYUJq':'\x0a\x20\x20\x20Scenarios:','TKcMq':function(_0x2d16ec,_0x5d08d1){return _0x2d16ec<_0x5d08d1;},'tgAAZ':function(_0x48ba77,_0x4deeb8){return _0x48ba77===_0x4deeb8;},'cfkhz':_0x43c94d(0x15b),'mXVMN':'verified','upztQ':'incomplete','BvykE':'blocked','mfmNQ':'verification_in_progress','rcPmJ':function(_0xaf9525,_0x319d55){return _0xaf9525>_0x319d55;},'pcPcD':function(_0x51afe7,_0x34fccd){return _0x51afe7!==_0x34fccd;},'RJdTf':function(_0x2d7457,_0x110df5){return _0x2d7457!==_0x110df5;},'gIOLe':'\x20[has\x20reviewer\x20feedback]','zljZH':function(_0x44ca30,_0x8ea870){return _0x44ca30+_0x8ea870;},'dOBMD':function(_0x5986b7,_0x273b70){return _0x5986b7===_0x273b70;}};console[_0x43c94d(0x1c5)]('\x0a'+_0xa4600b[_0x43c94d(0x113)]+'\x20('+_0xa4600b[_0x43c94d(0x1ab)]+')');_0xa4600b['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0xa4600b['stats']));_0xa4600b['description']&&console['log'](_0x43c94d(0x16b)+_0xa4600b['description']);_0xa4600b[_0x43c94d(0x188)]&&console[_0x43c94d(0x1c5)]('\x20\x20\x20Repository:\x20'+_0xa4600b[_0x43c94d(0x188)]);_0xa4600b[_0x43c94d(0x1d5)]&&console['log']('\x20\x20\x20Branch:\x20'+_0xa4600b[_0x43c94d(0x1d5)]);console['log'](_0x43c94d(0x14c)+new Date(_0xa4600b[_0x43c94d(0x181)])[_0x43c94d(0x165)]());_0xa4600b['completedAt']&&console[_0x43c94d(0x1c5)](_0x43c94d(0x187)+new Date(_0xa4600b['completedAt'])['toLocaleString']());if(_0x294a8f&&_0xb66c7['zfZnV'](_0x294a8f[_0x43c94d(0x15a)],0x0)){console['log'](_0xb66c7['MYUJq']);for(let _0x4ce937=0x0;_0xb66c7['TKcMq'](_0x4ce937,_0x294a8f[_0x43c94d(0x15a)]);_0x4ce937++){const _0x4bebf7=_0x294a8f[_0x4ce937];let _0x5ebabe;if(_0xb66c7['tgAAZ'](_0x4bebf7[_0x43c94d(0x1da)],_0xb66c7[_0x43c94d(0x1d0)])&&_0xb66c7['tgAAZ'](_0x4bebf7['terminalReason'],_0x43c94d(0x1a4)))_0x5ebabe='✅';else{if(_0x4bebf7['status']===_0xb66c7['mXVMN'])_0x5ebabe='🟢';else{if(_0x4bebf7[_0x43c94d(0x1da)]===_0xb66c7[_0x43c94d(0x1bb)])_0x5ebabe='🟠';else{if(_0x4bebf7['status']===_0xb66c7[_0x43c94d(0x112)])_0x5ebabe='🛑';else{if(_0xb66c7['tgAAZ'](_0x4bebf7[_0x43c94d(0x1da)],'closed'))_0x5ebabe='⛔';else _0xb66c7['tgAAZ'](_0x4bebf7[_0x43c94d(0x1da)],_0xb66c7[_0x43c94d(0x193)])?_0x5ebabe='⏳':_0x5ebabe='⬜';}}}}const _0x591789=_0x4bebf7['version']>0x1?'\x20(v'+_0x4bebf7['version']+')':'',_0xd5d8e0=_0xb66c7[_0x43c94d(0x157)](_0x4bebf7[_0x43c94d(0x1b7)],0x1)&&_0x4bebf7[_0x43c94d(0x1c3)]&&_0xb66c7[_0x43c94d(0x1dc)](_0x4bebf7['status'],_0xb66c7['cfkhz'])&&_0xb66c7[_0x43c94d(0x150)](_0x4bebf7[_0x43c94d(0x1da)],_0xb66c7['mXVMN'])?_0xb66c7[_0x43c94d(0x1c2)]:'';console[_0x43c94d(0x1c5)](_0x43c94d(0x180)+_0xb66c7['zljZH'](_0x4ce937,0x1)+'.\x20'+_0x5ebabe+'\x20'+_0x4bebf7[_0x43c94d(0x170)]+_0x591789+_0xd5d8e0);_0x4bebf7[_0x43c94d(0x1da)]===_0xb66c7['BvykE']&&_0x4bebf7[_0x43c94d(0x1cd)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4bebf7[_0x43c94d(0x1cd)]);_0xb66c7['dOBMD'](_0x4bebf7['status'],'incomplete')&&_0x4bebf7[_0x43c94d(0x156)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x4bebf7['incompleteReason']);if(_0xb66c7['dOBMD'](_0x4bebf7['status'],_0xb66c7[_0x43c94d(0x1d0)])&&_0xb66c7[_0x43c94d(0x121)](_0x4bebf7[_0x43c94d(0x196)],_0x43c94d(0x1a4)))console[_0x43c94d(0x1c5)](_0x43c94d(0x168));else _0x4bebf7['status']===_0xb66c7['cfkhz']&&_0x4bebf7['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4bebf7[_0x43c94d(0x1a1)]);}}}export async function featureCreate(_0x167a0d,_0x4f5c3b){const _0x16a6e7=_0x38f2a6,_0x3fc3dc={'RlZQx':function(_0x34b8e7,_0x407531){return _0x34b8e7===_0x407531;},'BZQXC':function(_0x4da82d){return _0x4da82d();},'SoMIz':_0x16a6e7(0x1c0),'XTIMH':function(_0x38d06c,_0x1b8316){return _0x38d06c(_0x1b8316);},'IVsso':function(_0x2beb93,_0x1bcccd){return _0x2beb93(_0x1bcccd);},'FAIte':function(_0x2cad53,_0x259302,_0x177820){return _0x2cad53(_0x259302,_0x177820);}},{envNames:_0x23831b}=await getEnvNames();if(_0x3fc3dc['RlZQx'](_0x23831b['length'],0x0)&&!process['env'][_0x16a6e7(0x17b)]){let _0x52a5c8=0x0;try{_0x52a5c8=(await listCloudProfiles())[_0x16a6e7(0x15a)];}catch{_0x52a5c8=0x1;}_0x3fc3dc['RlZQx'](_0x52a5c8,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x21a33f=>bold(_0x21a33f)));}const _0x31e09d=_0x4f5c3b[_0x16a6e7(0x140)]?_0x4f5c3b[_0x16a6e7(0x140)]['map'](_0x3202ef=>_0x3202ef['trim']()):[],_0x26cc7f=_0x3fc3dc[_0x16a6e7(0x13c)](getGitRepoUrl),_0x194696=getGitBranch();console[_0x16a6e7(0x1c5)](_0x3fc3dc['SoMIz']);const _0x3ae5b5=await _0x3fc3dc['XTIMH'](createFeature,{'name':_0x167a0d,'description':_0x4f5c3b['description'],'checklist':_0x31e09d,'gitRepoUrl':_0x26cc7f,'gitBranch':_0x194696});await setActiveFeatureId(_0x3ae5b5['id']),await _0x3fc3dc[_0x16a6e7(0x1d2)](tryStartCurrentSession,_0x3ae5b5['id']);const _0x2e55c0=process[_0x16a6e7(0x16f)][_0x16a6e7(0x12e)];_0x2e55c0&&_0x3fc3dc['FAIte'](registerSession,_0x2e55c0,_0x3ae5b5['id']),console[_0x16a6e7(0x1c5)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x3ae5b5['id']),displayFeature(_0x3ae5b5,_0x3ae5b5[_0x16a6e7(0x11a)]),console[_0x16a6e7(0x1c5)](_0x16a6e7(0x1a2));}export async function featureList(_0x2a992f){const _0x39c573=_0x38f2a6,_0x15ee2c={'bcjZj':function(_0x70448b){return _0x70448b();},'fzVBp':function(_0x5bef19,_0x22899c){return _0x5bef19>_0x22899c;},'yNrCg':function(_0x5eb25c,_0x33091d){return _0x5eb25c+_0x33091d;},'uSynA':_0x39c573(0x18c)},_0xdbef39={'limit':_0x2a992f['limit']??0xa,'offset':_0x2a992f['offset']??0x0,'includeDeleted':_0x2a992f['includeDeleted']};_0x2a992f[_0x39c573(0x143)]&&(_0xdbef39[_0x39c573(0x188)]=getGitRepoUrl(),_0xdbef39['gitBranch']=_0x15ee2c['bcjZj'](getGitBranch));const _0x237e78=await listFeatures(_0xdbef39);if(_0x237e78['items']['length']===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x365b8a=_0x15ee2c['fzVBp'](_0x237e78['totalCount'],_0x237e78['items']['length'])?'Showing\x20'+_0x237e78['items'][_0x39c573(0x15a)]+'\x20of\x20'+_0x237e78['totalCount']:_0x237e78['totalCount']+_0x39c573(0x17f);console[_0x39c573(0x1c5)]('\x0a'+_0x365b8a+':\x0a');for(const _0x67f593 of _0x237e78['items']){const _0x299321=_0x39c573(0x159)[_0x39c573(0x18f)]('|');let _0x380134=0x0;while(!![]){switch(_0x299321[_0x380134++]){case'0':console[_0x39c573(0x1c5)](''+_0x67f593[_0x39c573(0x113)]);continue;case'1':_0x67f593[_0x39c573(0x132)]&&console[_0x39c573(0x1c5)](_0x39c573(0x16c)+getProgressDisplay(_0x67f593['stats']));continue;case'2':console[_0x39c573(0x1c5)]('\x20\x20\x20ID:\x20'+_0x67f593['id']);continue;case'3':console['log']('\x20\x20\x20Created:\x20'+new Date(_0x67f593[_0x39c573(0x181)])[_0x39c573(0x129)]());continue;case'4':_0x67f593[_0x39c573(0x1d5)]&&console[_0x39c573(0x1c5)]('\x20\x20\x20Branch:\x20'+_0x67f593['gitBranch']);continue;case'5':console[_0x39c573(0x1c5)]('');continue;}break;}}const _0x4d8e38=_0xdbef39[_0x39c573(0x1eb)]??0xa,_0x558c3a=_0x15ee2c[_0x39c573(0x183)](_0xdbef39[_0x39c573(0x11f)]??0x0,_0x237e78[_0x39c573(0x13a)][_0x39c573(0x15a)]);if(_0x558c3a<_0x237e78['totalCount']){const _0x1dc08b=_0x4d8e38!==0xa?_0x39c573(0x13f)+_0x4d8e38:'',_0x496d4c=_0x2a992f[_0x39c573(0x143)]?_0x39c573(0x1d7):'',_0x54d7cc=_0x2a992f['includeDeleted']?_0x15ee2c[_0x39c573(0x166)]:'';console['log'](_0x39c573(0x14d)+_0x558c3a+_0x1dc08b+_0x496d4c+_0x54d7cc);}}export async function featureShow(_0x1c971b){const _0x1ca107=_0x38f2a6,_0x1af91f={'JOrJg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','vxIfq':function(_0x230734,_0x490211){return _0x230734(_0x490211);},'lgKXh':function(_0x34c713,_0x316879,_0x4dc4a6){return _0x34c713(_0x316879,_0x4dc4a6);}},_0x211a4c=_0x1c971b||await getActiveFeatureId();if(!_0x211a4c)throw new Error(_0x1af91f['JOrJg']);const _0x3ac563=await _0x1af91f[_0x1ca107(0x110)](getFeature,_0x211a4c);_0x1af91f['lgKXh'](displayFeature,_0x3ac563,_0x3ac563[_0x1ca107(0x11a)]);}export async function featureResume(_0x39ecc8){const _0x4b3d95=_0x38f2a6,_0x2e1f09={'ztWBd':function(_0x52f2d0,_0x2a51c5){return _0x52f2d0(_0x2a51c5);},'OpxBi':function(_0x60f81d){return _0x60f81d();},'vRRgR':function(_0x3880cd,_0x4b132a,_0x3cf893){return _0x3880cd(_0x4b132a,_0x3cf893);},'RaFic':function(_0x174582,_0x2645c1,_0x573720){return _0x174582(_0x2645c1,_0x573720);},'rYcwh':'any','YrIzE':function(_0x69b42e,_0xd0609b){return _0x69b42e===_0xd0609b;},'YSWaj':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','eQaAv':_0x4b3d95(0x1d4),'BMfAc':function(_0x5d76b7,_0x60aed7){return _0x5d76b7!==_0x60aed7;}};if(_0x39ecc8){const _0x531add=await _0x2e1f09['ztWBd'](getFeature,_0x39ecc8);await _0x2e1f09[_0x4b3d95(0x124)](setActiveFeatureId,_0x531add['id']);const _0x59db2e=_0x2e1f09[_0x4b3d95(0x1b3)](getGitBranch);_0x59db2e&&_0x59db2e!==_0x531add['gitBranch']&&(await updateFeature(_0x531add['id'],{'gitBranch':_0x59db2e}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x59db2e));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x531add['name']+'\x20('+_0x531add['id']+')'),await tryStartCurrentSession(_0x531add['id']);const _0x34cf1e=process[_0x4b3d95(0x16f)]['CLAUDE_SESSION_ID'];_0x34cf1e&&_0x2e1f09[_0x4b3d95(0x1e3)](registerSession,_0x34cf1e,_0x531add['id']);_0x2e1f09['RaFic'](displayFeature,_0x531add,_0x531add['checklistItems']),await _0x2e1f09['ztWBd'](printFeedbackNudge,_0x531add['id']);return;}const _0x27a0b7=getGitRepoUrl(),_0x20118f=getGitBranch();if(!_0x27a0b7&&!_0x20118f)throw new Error(_0x4b3d95(0x12d));console['log'](_0x4b3d95(0x1b0)+(_0x27a0b7||'any')+_0x4b3d95(0x172)+(_0x20118f||_0x2e1f09['rYcwh'])+_0x4b3d95(0x15e));const _0x3215c4=await listFeatures({'gitRepoUrl':_0x27a0b7,'gitBranch':_0x20118f}),_0x5229b5=_0x3215c4[_0x4b3d95(0x13a)]['filter'](_0x2a95e5=>_0x2a95e5['status']?_0x2a95e5[_0x4b3d95(0x1da)]!==_0x4b3d95(0x139):!_0x2a95e5[_0x4b3d95(0x1de)]);if(_0x2e1f09['YrIzE'](_0x5229b5[_0x4b3d95(0x15a)],0x0)){console[_0x4b3d95(0x1c5)](_0x2e1f09['YSWaj']),console['log'](_0x2e1f09['eQaAv']);return;}let _0x3a0ec7;if(_0x5229b5['length']===0x1)_0x3a0ec7=_0x5229b5[0x0];else{const _0x5d4915=process[_0x4b3d95(0x15f)][_0x4b3d95(0x1ca)]&&process['stdout']['isTTY'];if(!_0x5d4915){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4e85a7 of _0x5229b5){console[_0x4b3d95(0x1c5)]('\x20\x20'+_0x4e85a7['name']),console['log'](_0x4b3d95(0x191)+_0x4e85a7['id']),_0x4e85a7['stats']&&console[_0x4b3d95(0x1c5)](_0x4b3d95(0x147)+_0x2e1f09['ztWBd'](getProgressDisplay,_0x4e85a7['stats'])),_0x4e85a7['gitBranch']&&console['log'](_0x4b3d95(0x16e)+_0x4e85a7[_0x4b3d95(0x1d5)]);}throw new Error(_0x4b3d95(0x1db));}const {selected:_0x54b0e9}=await _0x2925d7['prompt']([{'type':_0x4b3d95(0x194),'name':_0x4b3d95(0x1bd),'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x5229b5['map'](_0x3f696c=>({'name':_0x3f696c[_0x4b3d95(0x113)]+'\x20('+_0x3f696c['id']+')','value':_0x3f696c['id']}))}]);_0x3a0ec7=_0x5229b5[_0x4b3d95(0x155)](_0x254218=>_0x254218['id']===_0x54b0e9);}await _0x2e1f09[_0x4b3d95(0x124)](setActiveFeatureId,_0x3a0ec7['id']);_0x20118f&&_0x2e1f09[_0x4b3d95(0x1cf)](_0x20118f,_0x3a0ec7[_0x4b3d95(0x1d5)])&&(await _0x2e1f09[_0x4b3d95(0x13e)](updateFeature,_0x3a0ec7['id'],{'gitBranch':_0x20118f}),console[_0x4b3d95(0x1c5)](_0x4b3d95(0x1c7)+_0x20118f));console['log'](_0x4b3d95(0x128)+_0x3a0ec7[_0x4b3d95(0x113)]+'\x20('+_0x3a0ec7['id']+')'),await tryStartCurrentSession(_0x3a0ec7['id']);const _0x39d851=await getFeature(_0x3a0ec7['id']),_0x11f2ff=process['env'][_0x4b3d95(0x12e)];_0x11f2ff&®isterSession(_0x11f2ff,_0x39d851['id']),_0x2e1f09[_0x4b3d95(0x1e3)](displayFeature,_0x39d851,_0x39d851[_0x4b3d95(0x11a)]),await _0x2e1f09['ztWBd'](printFeedbackNudge,_0x39d851['id']);}async function printFeedbackNudge(_0x3b470c){const _0x39dd86=_0x38f2a6;try{const {items:_0x13c92a}=await getActionItems(_0x3b470c);let _0x2016bd=0x0,_0x219966=0x0;for(const _0x4aa660 of _0x13c92a){const _0x343b15=await getItemFeedback(_0x3b470c,_0x4aa660['id']);_0x343b15['unaddressedComments'][_0x39dd86(0x15a)]>0x0&&(_0x2016bd+=_0x343b15['unaddressedComments'][_0x39dd86(0x15a)],_0x219966++);}_0x2016bd>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x2016bd+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x219966+_0x39dd86(0x18b)),console[_0x39dd86(0x1c5)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x14348b){const _0x171804=_0x38f2a6;try{const {sessions:_0x53f6c0}=await listFeatureSessions(_0x14348b),_0x1f39f6=_0x53f6c0['find'](_0x63d45c=>_0x63d45c['status']==='ready');_0x1f39f6&&(await startSession(_0x14348b,_0x1f39f6['id']),console[_0x171804(0x1c5)](_0x171804(0x17a)+_0x1f39f6['iteration']));}catch{}}export async function featureReport(_0x30d393,_0x2d740e){const _0x8981ed=_0x38f2a6,_0x2eae1a={'IUnon':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','MsnCv':_0x8981ed(0x127),'DxEFD':function(_0x4db681,_0x3e6cce,_0x3755ec){return _0x4db681(_0x3e6cce,_0x3755ec);},'AhXlX':function(_0x174b66){return _0x174b66();},'QbWbM':'reports','AhACh':function(_0x41499a,_0x29265c,_0x1b427b){return _0x41499a(_0x29265c,_0x1b427b);},'womLI':function(_0x3ba9af,_0xff7bc1,_0x1234bf){return _0x3ba9af(_0xff7bc1,_0x1234bf);},'OrxFm':function(_0xcb0c36,_0x28d4bb,_0x517793,_0x75662){return _0xcb0c36(_0x28d4bb,_0x517793,_0x75662);}},_0x1da219=_0x30d393||await getActiveFeatureId();if(!_0x1da219)throw new Error(_0x2eae1a[_0x8981ed(0x1b1)]);console['log'](_0x2eae1a[_0x8981ed(0x16d)]);const _0x9b0719=await _0x2eae1a['DxEFD'](getFeatureReportMarkdown,_0x1da219,{'style':_0x2d740e[_0x8981ed(0x160)]}),_0x12c01c=_0x2d740e['output']||join(_0x2eae1a['AhXlX'](getRangerDir),_0x2eae1a['QbWbM'],_0x1da219+'.md'),_0xc308a=_0x2eae1a[_0x8981ed(0x162)](join,_0x12c01c,'..');!existsSync(_0xc308a)&&await _0x2eae1a['womLI'](mkdir,_0xc308a,{'recursive':!![]}),await _0x2eae1a['OrxFm'](writeFile,_0x12c01c,_0x9b0719,_0x8981ed(0x11d)),console['log'](_0x8981ed(0x1a3)+_0x12c01c);}function getScenarioResult(_0xde38e3){const _0x75eea=_0x38f2a6,_0x21e6e6={'HUMRu':_0x75eea(0x151)};if(_0xde38e3[_0x75eea(0x1da)]===_0x75eea(0x15b))return _0xde38e3[_0x75eea(0x196)]??'closed';if(_0xde38e3['status']==='verification_in_progress')return _0x21e6e6[_0x75eea(0x149)];return _0xde38e3[_0x75eea(0x1da)];}function getScenarioRationale(_0x1c6bd4,_0x4063c8){const _0x109058=_0x38f2a6;if(_0x4063c8)return _0x4063c8;if(_0x1c6bd4[_0x109058(0x1cd)])return _0x1c6bd4['blockedReason'];if(_0x1c6bd4['incompleteReason'])return _0x1c6bd4[_0x109058(0x156)];if(_0x1c6bd4[_0x109058(0x1a1)])return _0x1c6bd4['canceledReason'];if(_0x1c6bd4[_0x109058(0x1cb)])return _0x1c6bd4['notes'];return null;}export async function featureReportPrDescription(_0x1a8c5d,_0x2e363a){const _0x304d3a=_0x38f2a6,_0x4931eb={'ocFFT':function(_0x48dffc){return _0x48dffc();},'NuLfQ':function(_0x41607e,_0x26a2ff){return _0x41607e(_0x26a2ff);},'NHEmn':function(_0x3cfe5f,_0xc7576f,_0x103cb8){return _0x3cfe5f(_0xc7576f,_0x103cb8);},'TTDNS':_0x304d3a(0x19a),'nDVmS':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','hANQg':function(_0x5448a0,_0x31d66f,_0xab6745,_0xe866e5){return _0x5448a0(_0x31d66f,_0xab6745,_0xe866e5);}},_0x14fc00=_0x1a8c5d||await _0x4931eb[_0x304d3a(0x1ad)](getActiveFeatureId);if(!_0x14fc00)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0xda1148=await _0x4931eb[_0x304d3a(0x136)](getFeature,_0x14fc00),_0x187bf3=_0xda1148['checklistItems']||[],_0x3f6d29=_0x4931eb['NHEmn'](getCurrentSessionItems,_0xda1148,_0x187bf3);_0x3f6d29[_0x304d3a(0x15a)]===0x0&&(console[_0x304d3a(0x148)](_0x4931eb[_0x304d3a(0x177)]),process['exit'](0x1));const _0x1f2334=_0x2e363a[_0x304d3a(0x145)]??[],_0x384a1a=_0x1f2334['filter'](_0x22f3b2=>!Number[_0x304d3a(0x158)](_0x22f3b2)||_0x22f3b2<0x1||_0x22f3b2>_0x3f6d29['length']);if(_0x384a1a['length']>0x0){console[_0x304d3a(0x148)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x384a1a[_0x304d3a(0x10e)](',\x20')),console[_0x304d3a(0x1c5)]('\x0aAvailable\x20scenarios:');for(let _0x191c11=0x0;_0x191c11<_0x3f6d29[_0x304d3a(0x15a)];_0x191c11++){console[_0x304d3a(0x1c5)]('\x20\x20'+(_0x191c11+0x1)+'.\x20'+_0x3f6d29[_0x191c11]['description']);}process['exit'](0x1);}const _0x2d4475=new Set(_0x1f2334['map'](_0x30b2da=>_0x30b2da-0x1)),_0x35439b=_0x3f6d29[_0x304d3a(0x117)]((_0x4eca25,_0x389333)=>!_0x2d4475[_0x304d3a(0x1d8)](_0x389333));_0x35439b[_0x304d3a(0x15a)]===0x0&&(console[_0x304d3a(0x148)](_0x4931eb[_0x304d3a(0x1e8)]),process['exit'](0x1));if(_0x2e363a['json'])await _0x4931eb[_0x304d3a(0x14e)](outputJsonReport,_0x14fc00,_0xda1148,_0x35439b);else{const _0x2aaf61=await getFeatureReportMarkdown(_0x14fc00,{'itemIds':_0x35439b[_0x304d3a(0x1c6)](_0x1febcb=>_0x1febcb['id'])});process['stdout']['write'](_0x2aaf61[_0x304d3a(0x16a)]()+'\x0a');}}async function outputJsonReport(_0x101ee9,_0x54e535,_0x515a6c){const _0x5b45e0=_0x38f2a6,_0x53cf22={'tpmNZ':function(_0x502393,_0x58d914){return _0x502393>_0x58d914;},'PApQZ':function(_0x4ac690){return _0x4ac690();}},_0x27418b=_0x53cf22[_0x5b45e0(0x15d)](getApiBaseUrl),_0xa99f90=await getFeatureReport(_0x101ee9),_0x20eb59=new Map(_0xa99f90['checklistItems'][_0x5b45e0(0x1c6)](_0x3f44a0=>[_0x3f44a0['id'],_0x3f44a0])),_0x122b2e=await Promise['all'](_0x515a6c[_0x5b45e0(0x1c6)](async _0x3cd8bb=>{const _0x27d48d=_0x5b45e0,_0x455e29=_0x20eb59['get'](_0x3cd8bb['id']),_0x5c6794=_0x455e29?.['linkedSession']??null;let _0x171ad6=[];if(_0x3cd8bb[_0x27d48d(0x153)])try{const {steps:_0x4c4e2e}=await getBrowserSessionSteps(_0x3cd8bb['browserSessionId']);_0x53cf22['tpmNZ'](_0x4c4e2e[_0x27d48d(0x15a)],0x0)&&(_0x171ad6=_0x4c4e2e[_0x27d48d(0x1c6)](_0x58cbc0=>{const _0xc93600=_0x27d48d,_0x5a4107=_0x58cbc0[_0xc93600(0x1bc)]['find'](_0x575961=>_0x575961['assetType']==='screenshot'&&_0x575961[_0xc93600(0x1e9)]===_0xc93600(0x182))??_0x58cbc0['assets'][_0xc93600(0x155)](_0x5913b2=>_0x5913b2['assetType']===_0xc93600(0x14b));let _0x18411c=null,_0x14b321=null;if(_0x5a4107){const _0x370711=_0x5a4107['storage']['location'][_0xc93600(0x18f)]('/')[_0xc93600(0x1c9)]();_0x18411c=_0x27418b+'/api/v1/mcp/browser-sessions/'+_0x3cd8bb[_0xc93600(0x153)]+'/artifacts/'+_0x370711,_0x370711&&(_0x14b321=_0x370711[_0xc93600(0x141)](/\.\w+$/,'')[_0xc93600(0x141)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x14b321||_0x58cbc0[_0xc93600(0x170)]||_0x58cbc0[_0xc93600(0x1e5)]||_0xc93600(0x142)+_0x58cbc0[_0xc93600(0x138)],'screenshot':_0x18411c,'is_key_step':_0x58cbc0['isKeyStep']};}));}catch{}return _0x171ad6['length']===0x0&&_0x5c6794?.['screenshotUrls']&&(_0x171ad6=_0x5c6794[_0x27d48d(0x1b6)]['map']((_0x97201b,_0x4aecb7)=>({'description':'Screenshot\x20'+(_0x4aecb7+0x1),'screenshot':_0x97201b,'is_key_step':![]}))),{'description':_0x3cd8bb['description'],'result':getScenarioResult(_0x3cd8bb),'rationale':getScenarioRationale(_0x3cd8bb,_0x5c6794?.['agentResponse']),'steps':_0x171ad6};})),_0x45709b={'url':_0x54e535['dashboardUrl'],'scenarios':_0x122b2e};process['stdout'][_0x5b45e0(0x1d3)](JSON[_0x5b45e0(0x163)](_0x45709b,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x1a18ce){const _0x5c9750=_0x38f2a6,_0x2b7df4={'ejvtv':function(_0x47b53f){return _0x47b53f();},'IAVMI':function(_0x16c3e3,_0x4fbd28){return _0x16c3e3(_0x4fbd28);},'QAnEM':_0x5c9750(0x123),'kFfFQ':function(_0x4b3843,_0x4b21d4){return _0x4b3843(_0x4b21d4);},'Zzram':_0x5c9750(0x135),'pgcra':_0x5c9750(0x17d),'qhSXc':_0x5c9750(0x1bf),'UEpQP':function(_0x419dec,_0xdb8ebb,_0x29513b){return _0x419dec(_0xdb8ebb,_0x29513b);}},_0x4fc204=_0x1a18ce||await _0x2b7df4[_0x5c9750(0x1a5)](getActiveFeatureId);if(!_0x4fc204)throw new Error(_0x5c9750(0x111));const _0x36b04c=await _0x2b7df4['IAVMI'](getFeature,_0x4fc204);if(!_0x36b04c[_0x5c9750(0x1dd)])throw new Error(_0x2b7df4['QAnEM']);const {sessions:_0x11fa91}=await _0x2b7df4[_0x5c9750(0x1d1)](listFeatureSessions,_0x4fc204),_0x306c4a=_0x11fa91['find'](_0x262e14=>_0x262e14['id']===_0x36b04c[_0x5c9750(0x1dd)]);if(!_0x306c4a)throw new Error(_0x2b7df4[_0x5c9750(0x12f)]);if(_0x306c4a[_0x5c9750(0x1da)]===_0x2b7df4[_0x5c9750(0x118)]){console['log']('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x306c4a[_0x5c9750(0x1da)]!==_0x5c9750(0x151))throw new Error(_0x5c9750(0x14f)+_0x306c4a['status']);console['log'](_0x2b7df4[_0x5c9750(0x1b5)]),await _0x2b7df4['UEpQP'](concludeSession,_0x4fc204,_0x36b04c[_0x5c9750(0x1dd)]),console[_0x5c9750(0x1c5)]('\x0a✅\x20Session\x20'+_0x306c4a[_0x5c9750(0x125)]+_0x5c9750(0x178)),console['log'](_0x5c9750(0x19b));}export async function featureSessions(_0x1399e2){const _0x1112d4=_0x38f2a6,_0x5cce04={'oGDvL':function(_0x2fa890){return _0x2fa890();},'CyiSY':_0x1112d4(0x1e7),'xJovq':function(_0x432dbe,_0x11e5ed){return _0x432dbe(_0x11e5ed);},'Hkfrv':function(_0x11e761,_0xdfd382){return _0x11e761(_0xdfd382);},'ypIOB':function(_0x4e3c99,_0x1e097c){return _0x4e3c99===_0x1e097c;},'aLgEh':'completed','eQtKX':_0x1112d4(0x151)},_0x31fdf8=_0x1399e2||await _0x5cce04['oGDvL'](getActiveFeatureId);if(!_0x31fdf8)throw new Error(_0x5cce04['CyiSY']);const _0x10472c=await _0x5cce04[_0x1112d4(0x185)](getFeature,_0x31fdf8);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x10472c[_0x1112d4(0x113)]+'\x0a');const {sessions:_0x115715}=await _0x5cce04['Hkfrv'](listFeatureSessions,_0x31fdf8);if(_0x5cce04[_0x1112d4(0x122)](_0x115715[_0x1112d4(0x15a)],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x1c7b5e of _0x115715){const _0x3ef8a4=_0x5cce04['ypIOB'](_0x1c7b5e[_0x1112d4(0x1da)],_0x5cce04['aLgEh'])?'✅':_0x1c7b5e['status']===_0x5cce04[_0x1112d4(0x12b)]?'🔄':'▶️';console[_0x1112d4(0x1c5)](_0x3ef8a4+_0x1112d4(0x175)+_0x1c7b5e[_0x1112d4(0x125)]+'\x20('+_0x1c7b5e['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x1c7b5e[_0x1112d4(0x1da)]),console[_0x1112d4(0x1c5)](_0x1112d4(0x14c)+new Date(_0x1c7b5e['createdAt'])['toLocaleString']()),_0x1c7b5e[_0x1112d4(0x1de)]&&console[_0x1112d4(0x1c5)]('\x20\x20\x20Completed:\x20'+new Date(_0x1c7b5e[_0x1112d4(0x1de)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0xe4b353,_0x488185){const _0x19f0a3=_0x38f2a6,_0x57b7d5={'Nrehr':function(_0x293da7){return _0x293da7();},'OmJgH':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','mTsBG':function(_0x43f303,_0x5696fb,_0x566077){return _0x43f303(_0x5696fb,_0x566077);},'Jgnbu':function(_0x5a7ecd,_0x340967){return _0x5a7ecd(_0x340967);}},_0x506324=_0x488185||await _0x57b7d5['Nrehr'](getActiveFeatureId);if(!_0x506324)throw new Error(_0x57b7d5[_0x19f0a3(0x119)]);const _0x38f55f=await getFeature(_0x506324);if(_0x38f55f['latestReview']&&!_0x38f55f['latestReview']['submittedAt'])throw new Error(_0x19f0a3(0x19e)+_0x38f55f[_0x19f0a3(0x1ab)]);await _0x57b7d5[_0x19f0a3(0x1a0)](createChecklistItem,_0x506324,_0xe4b353);const _0x4b4067=await _0x57b7d5[_0x19f0a3(0x19c)](getFeature,_0x506324);console[_0x19f0a3(0x1c5)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x4b4067,_0x4b4067[_0x19f0a3(0x11a)]);}export async function featureEditScenario(_0x26f1e1,_0x592a53){const _0x3fb36e=_0x38f2a6,_0x50d9c9={'vWqoT':function(_0x23204f){return _0x23204f();},'pOeet':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','xbUEn':_0x3fb36e(0x1b4),'UJsBL':_0x3fb36e(0x1c1),'ykDnS':'Please\x20finish\x20your\x20review\x20first:','LmJBv':function(_0x539829,_0xb1989a){return _0x539829===_0xb1989a;},'kQEru':_0x3fb36e(0x1d6),'tPbcv':_0x3fb36e(0x1e1),'mooGj':_0x3fb36e(0x11c),'nEyoK':function(_0x6e9442,_0x409f68){return _0x6e9442<_0x409f68;},'oecjU':function(_0x37772e,_0x3e58c6){return _0x37772e+_0x3e58c6;},'sSuVY':function(_0x34abb2,_0x2d51bd){return _0x34abb2<_0x2d51bd;},'OrUNI':function(_0x5bcc53,_0x56f869,_0x3e57b7,_0x1c0b18){return _0x5bcc53(_0x56f869,_0x3e57b7,_0x1c0b18);}},_0x1d392e=_0x592a53['id']||await _0x50d9c9[_0x3fb36e(0x164)](getActiveFeatureId);!_0x1d392e&&(console[_0x3fb36e(0x148)](_0x50d9c9['pOeet']),console['error'](_0x50d9c9[_0x3fb36e(0x1b9)]),process[_0x3fb36e(0x1aa)](0x1));const _0x345024=await getFeature(_0x1d392e);_0x345024[_0x3fb36e(0x13b)]&&!_0x345024['latestReview'][_0x3fb36e(0x13d)]&&(console['error'](_0x50d9c9['UJsBL']),console[_0x3fb36e(0x148)](_0x50d9c9['ykDnS']),console['error']('\x20\x20'+_0x345024['dashboardUrl']),process[_0x3fb36e(0x1aa)](0x1));const _0x36a0db=_0x345024[_0x3fb36e(0x11a)]||[];_0x50d9c9[_0x3fb36e(0x1a9)](_0x36a0db['length'],0x0)&&(console[_0x3fb36e(0x148)](_0x50d9c9['kQEru']),process[_0x3fb36e(0x1aa)](0x1));if(_0x592a53[_0x3fb36e(0x169)]===undefined){console[_0x3fb36e(0x148)](_0x50d9c9['tPbcv']),console['log'](_0x50d9c9['mooGj']);for(let _0x4d0293=0x0;_0x50d9c9['nEyoK'](_0x4d0293,_0x36a0db[_0x3fb36e(0x15a)]);_0x4d0293++){console[_0x3fb36e(0x1c5)]('\x20\x20'+_0x50d9c9['oecjU'](_0x4d0293,0x1)+'.\x20'+_0x36a0db[_0x4d0293][_0x3fb36e(0x170)]);}process[_0x3fb36e(0x1aa)](0x1);}const _0x28c98c=_0x592a53[_0x3fb36e(0x169)]-0x1;if(_0x50d9c9[_0x3fb36e(0x10f)](_0x28c98c,0x0)||_0x28c98c>=_0x36a0db[_0x3fb36e(0x15a)]){console['error'](_0x3fb36e(0x189)+_0x592a53[_0x3fb36e(0x169)]+'.\x20Feature\x20review\x20has\x20'+_0x36a0db[_0x3fb36e(0x15a)]+'\x20scenarios.'),console['log']('\x0aAvailable\x20scenarios:');for(let _0x104607=0x0;_0x104607<_0x36a0db[_0x3fb36e(0x15a)];_0x104607++){console[_0x3fb36e(0x1c5)]('\x20\x20'+_0x50d9c9[_0x3fb36e(0x1a8)](_0x104607,0x1)+'.\x20'+_0x36a0db[_0x104607]['description']);}process['exit'](0x1);}const _0x2e9bae=_0x36a0db[_0x28c98c];await _0x50d9c9[_0x3fb36e(0x1ba)](updateChecklistItem,_0x1d392e,_0x2e9bae['id'],{'description':_0x26f1e1});const _0xf5e6c4=await getFeature(_0x1d392e);console[_0x3fb36e(0x1c5)](_0x3fb36e(0x1e2)),displayFeature(_0xf5e6c4,_0xf5e6c4[_0x3fb36e(0x11a)]);}async function downloadFeedbackImage(_0x35c706,_0x1100fd){const _0x46a3b5=_0x38f2a6,_0x506cdb={'yqvGF':function(_0x5809c3,_0x13b1f2,_0x5854b8){return _0x5809c3(_0x13b1f2,_0x5854b8);},'yOCtT':function(_0x24c5c1){return _0x24c5c1();},'ywqKi':function(_0x38ea1e,_0x4fc17e,_0x4a12e0){return _0x38ea1e(_0x4fc17e,_0x4a12e0);},'ZRTFI':function(_0xfedc4a,_0x5f5549,_0x5c97c1){return _0xfedc4a(_0x5f5549,_0x5c97c1);}};try{const _0x1be6e1=_0x506cdb[_0x46a3b5(0x126)](join,_0x506cdb['yOCtT'](getRangerDir),_0x46a3b5(0x1e6));await _0x506cdb[_0x46a3b5(0x114)](mkdir,_0x1be6e1,{'recursive':!![]});const _0x53ec3e=join(_0x1be6e1,_0x46a3b5(0x1d9)+_0x1100fd+_0x46a3b5(0x195)),_0x4ae19f=await fetch(_0x35c706);if(!_0x4ae19f['ok'])return null;const _0x508091=Buffer[_0x46a3b5(0x130)](await _0x4ae19f['arrayBuffer']());return await _0x506cdb['ZRTFI'](writeFile,_0x53ec3e,_0x508091),_0x53ec3e;}catch{return null;}}export async function featureGetReview(_0x3a18be){const _0x2bae57=_0x38f2a6,_0x12e064={'ZMzOI':function(_0x3b9cde,_0x2aa6bb){return _0x3b9cde(_0x2aa6bb);},'mfmba':function(_0x4f91ec,_0x1ab119){return _0x4f91ec===_0x1ab119;},'tCfEj':'No\x20scenarios\x20found.','bGKCq':function(_0xb2cc2c,_0x1cfb8c){return _0xb2cc2c<_0x1cfb8c;},'ChJhM':function(_0x42a8cf,_0x579209){return _0x42a8cf>_0x579209;},'tYvuA':'en-US','DrkaP':'numeric','TIRwI':function(_0x100a67,_0x4157f9,_0x41fd43){return _0x100a67(_0x4157f9,_0x41fd43);},'Ojnar':'point','cZxTQ':function(_0x1e0ab1,_0x30e8aa){return _0x1e0ab1+_0x30e8aa;}},_0x22ec43=_0x3a18be||await getActiveFeatureId();if(!_0x22ec43)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 _0x55ad3c=await getFeature(_0x22ec43),{items:_0x4634da}=await _0x12e064[_0x2bae57(0x1ae)](getActionItems,_0x22ec43);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x55ad3c['name']+'\x20('+_0x55ad3c['id']+')\x0a');if(_0x12e064['mfmba'](_0x4634da[_0x2bae57(0x15a)],0x0)){console['log'](_0x12e064[_0x2bae57(0x116)]);return;}for(let _0x122468=0x0;_0x12e064['bGKCq'](_0x122468,_0x4634da[_0x2bae57(0x15a)]);_0x122468++){const _0x3d2d22=_0x4634da[_0x122468],_0x108d00=_0x12e064['ChJhM'](_0x3d2d22[_0x2bae57(0x1b7)],0x1)?'\x20(v'+_0x3d2d22[_0x2bae57(0x1b7)]+')':'',_0x3f9d50=await getItemFeedback(_0x22ec43,_0x3d2d22['id']);if(_0x12e064[_0x2bae57(0x131)](_0x3f9d50[_0x2bae57(0x1c8)]['length'],0x0)){console[_0x2bae57(0x1c5)]('Scenario\x20'+(_0x122468+0x1)+_0x2bae57(0x15c)+_0x3d2d22[_0x2bae57(0x170)]+'\x22'+_0x108d00+_0x2bae57(0x17e)+_0x3f9d50['unaddressedComments'][_0x2bae57(0x15a)]+'\x20unaddressed\x20comment(s)');for(const _0x1bf3b2 of _0x3f9d50[_0x2bae57(0x1c8)]){const _0x5b286f=new Date(_0x1bf3b2['createdAt'])['toLocaleDateString'](_0x12e064['tYvuA'],{'month':'short','day':_0x12e064[_0x2bae57(0x1ea)]}),_0x383ea9=_0x1bf3b2['authorName']||_0x1bf3b2['authorEmail']||'Unknown';console['log']('\x20\x20💬\x20'+_0x383ea9+'\x20('+_0x5b286f+_0x2bae57(0x133)+_0x1bf3b2[_0x2bae57(0x144)]+'\x22');if(_0x1bf3b2['assetUrl']){const _0x1c8e11=await _0x12e064[_0x2bae57(0x1a6)](downloadFeedbackImage,_0x1bf3b2['assetUrl'],_0x1bf3b2['id']);_0x1c8e11&&console[_0x2bae57(0x1c5)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x1c8e11);}if(_0x1bf3b2[_0x2bae57(0x1a7)]){const _0x1aaf63=_0x1bf3b2['domRef'][_0x2bae57(0x152)][_0x2bae57(0x18f)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x2bae57(0x1ec),_0x569195=_0x1bf3b2['domRef'][_0x2bae57(0x1df)]?'\x20\x22'+_0x1bf3b2[_0x2bae57(0x1a7)][_0x2bae57(0x1df)]['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x2bae57(0x1e4)+_0x1aaf63+'>'+_0x569195),console[_0x2bae57(0x1c5)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x1bf3b2['domRef'][_0x2bae57(0x152)]);}else{if(_0x1bf3b2[_0x2bae57(0x1e0)]){const _0x1e709d=_0x1bf3b2[_0x2bae57(0x1e0)][_0x2bae57(0x174)];_0x1bf3b2[_0x2bae57(0x1e0)]['type']===_0x12e064['Ojnar']&&_0x1e709d[_0x2bae57(0x15a)]>=0x2?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x1e709d[0x0][_0x2bae57(0x18e)](0x2)+',\x20'+_0x1e709d[0x1][_0x2bae57(0x18e)](0x2)+')'):console[_0x2bae57(0x1c5)](_0x2bae57(0x1b8)+_0x1bf3b2['spatial'][_0x2bae57(0x1c4)]+'\x20at\x20['+_0x1e709d['map'](_0x18c4c4=>_0x18c4c4['toFixed'](0x2))[_0x2bae57(0x10e)](',\x20')+']');}}}if(_0x3f9d50[_0x2bae57(0x19f)]){console[_0x2bae57(0x1c5)]('\x20\x20Expected\x20flow:');for(const _0x158fb5 of _0x3f9d50[_0x2bae57(0x19f)][_0x2bae57(0x18f)]('\x0a')){console[_0x2bae57(0x1c5)](_0x2bae57(0x18d)+_0x158fb5);}}}else console[_0x2bae57(0x1c5)](_0x2bae57(0x1be)+_0x12e064['cZxTQ'](_0x122468,0x1)+_0x2bae57(0x15c)+_0x3d2d22['description']+'\x22'+_0x108d00+_0x2bae57(0x146)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}function _0x27c7(_0x10721b,_0xeea615){_0x10721b=_0x10721b-0x10e;const _0x21d2e7=_0x21d2();let _0x27c7d2=_0x21d2e7[_0x10721b];return _0x27c7d2;}export async function featureDelete(_0x77a332){const _0x155d57=_0x38f2a6,_0x1ca5c3={'ScwEX':function(_0x17f39f){return _0x17f39f();},'hEkiH':function(_0x1198e1,_0x1b1f04){return _0x1198e1+_0x1b1f04;}},_0x41b8e9=_0x77a332||await _0x1ca5c3['ScwEX'](getActiveFeatureId);if(!_0x41b8e9)throw new Error(_0x155d57(0x111));const _0x3e6913=await getFeature(_0x41b8e9);await softDeleteFeature(_0x41b8e9),console['log'](_0x155d57(0x17c)+_0x3e6913['name']+'\x20('+_0x41b8e9+')'),console['log'](_0x1ca5c3[_0x155d57(0x1ac)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x41b8e9));}export async function featureRestore(_0x3e5368){const _0x4895ed=_0x38f2a6;await restoreFeature(_0x3e5368);const _0x10d822=await getFeature(_0x3e5368);console['log'](_0x4895ed(0x190)+_0x10d822['name']+'\x20('+_0x3e5368+')'),displayFeature(_0x10d822,_0x10d822[_0x4895ed(0x11a)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x31bddd,_0x913836){const _0x558551=_0x30b7,_0x300bb1=_0x31bddd();while(!![]){try{const _0x3a6785=parseInt(_0x558551(0x122))/0x1*(parseInt(_0x558551(0x120))/0x2)+parseInt(_0x558551(0x123))/0x3+-parseInt(_0x558551(0x11d))/0x4+-parseInt(_0x558551(0x11f))/0x5*(parseInt(_0x558551(0x121))/0x6)+-parseInt(_0x558551(0x125))/0x7+parseInt(_0x558551(0x124))/0x8*(-parseInt(_0x558551(0x12b))/0x9)+parseInt(_0x558551(0x12c))/0xa;if(_0x3a6785===_0x913836)break;else _0x300bb1['push'](_0x300bb1['shift']());}catch(_0x197a39){_0x300bb1['push'](_0x300bb1['shift']());}}}(_0x2fb2,0xc47ae));function _0x30b7(_0x5e1bf2,_0x10bb16){_0x5e1bf2=_0x5e1bf2-0x11d;const _0x2fb2dd=_0x2fb2();let _0x30b78c=_0x2fb2dd[_0x5e1bf2];return _0x30b78c;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x2fb2(){const _0x5bbb23=['SIGTERM','81VMuLLs','27662030LUuLgR','once','3743156bXqCcU','error','187025XZETDY','223162bKjYjB','96POfZLP','4IzdYCU','3804546DZaOOy','1282584UGWTtq','4891257FzOzUa','VPsTm','SIGINT','Unknown\x20hook:\x20','Valid\x20hooks:\x20'];_0x2fb2=function(){return _0x5bbb23;};return _0x2fb2();}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 _0x57cb98=_0x30b7,_0x472e17={'VPsTm':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x323d92=()=>{process['exit'](0x0);};process[_0x57cb98(0x12d)](_0x57cb98(0x127),_0x323d92),process[_0x57cb98(0x12d)](_0x57cb98(0x12a),_0x323d92),process[_0x57cb98(0x12d)](_0x472e17[_0x57cb98(0x126)],_0x323d92),cancellationHandlersInstalled=!![];}export async function hook(_0x422da9,_0x10fccc){const _0x1bdfa9=_0x30b7,_0x318c06={'HLJCL':function(_0xfc1dd1){return _0xfc1dd1();},'EwYSa':function(_0x32977e,_0x211190){return _0x32977e(_0x211190);}};_0x318c06['HLJCL'](installCancellationHandlers);const _0x3c048e=HOOKS[_0x422da9];if(!_0x3c048e){const _0x16dff1=Object['keys'](HOOKS)['join'](',\x20');console[_0x1bdfa9(0x11e)](_0x1bdfa9(0x128)+_0x422da9),console[_0x1bdfa9(0x11e)](_0x1bdfa9(0x129)+_0x16dff1),process['exit'](0x1);}await _0x318c06['EwYSa'](_0x3c048e,_0x10fccc);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x1dd3e3,_0x746940){const _0x56235a=_0x3c94,_0x75a426=_0x1dd3e3();while(!![]){try{const _0x209628=-parseInt(_0x56235a(0x96))/0x1*(-parseInt(_0x56235a(0xa3))/0x2)+parseInt(_0x56235a(0x98))/0x3*(-parseInt(_0x56235a(0xa1))/0x4)+-parseInt(_0x56235a(0xa2))/0x5+-parseInt(_0x56235a(0xa0))/0x6*(-parseInt(_0x56235a(0x94))/0x7)+-parseInt(_0x56235a(0x9d))/0x8*(parseInt(_0x56235a(0x9e))/0x9)+parseInt(_0x56235a(0x9f))/0xa*(-parseInt(_0x56235a(0x97))/0xb)+parseInt(_0x56235a(0x99))/0xc;if(_0x209628===_0x746940)break;else _0x75a426['push'](_0x75a426['shift']());}catch(_0x478452){_0x75a426['push'](_0x75a426['shift']());}}}(_0x11be,0x99d0f));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x3c94(_0x5286ed,_0x2d704f){_0x5286ed=_0x5286ed-0x94;const _0x11be44=_0x11be();let _0x3c9468=_0x11be44[_0x5286ed];return _0x3c9468;}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.';function _0x11be(){const _0x5b5c8c=['WakNK','64PzLWdq','648639YDYmZV','3315890AcKCOx','6150570MjpWbo','3364IUDmgC','2808450CEmVoM','35198JJKlRd','session_id','7DweNBO','off','47zrQfUd','11efnyOi','3582qLgdQa','15021408hPZbeL','ayHsq','log'];_0x11be=function(){return _0x5b5c8c;};return _0x11be();}export async function autoPrompt(){const _0x49a0e8=_0x3c94,_0x1117dc={'ayHsq':function(_0x54ea5e,_0x8b1ac7){return _0x54ea5e===_0x8b1ac7;},'xgGDp':function(_0x37343d){return _0x37343d();},'WakNK':function(_0x13c8be,_0x332aad){return _0x13c8be(_0x332aad);}};if(_0x1117dc[_0x49a0e8(0x9a)](_0x1117dc['xgGDp'](resolveHookMode),_0x49a0e8(0x95)))return;const _0x125769=await readHookInput(),_0x40a22b=_0x125769?.[_0x49a0e8(0xa4)];if(!_0x40a22b)return;if(_0x1117dc[_0x49a0e8(0x9c)](isSessionEnabled,_0x40a22b)||hasSessionBeenPrompted(_0x40a22b))return;markSessionPrompted(_0x40a22b),console[_0x49a0e8(0x9b)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x25590e,_0x4e5901){const _0x3f9d6f=_0x5bae,_0x3f484c=_0x25590e();while(!![]){try{const _0x47b0a4=-parseInt(_0x3f9d6f(0xda))/0x1*(-parseInt(_0x3f9d6f(0xe0))/0x2)+parseInt(_0x3f9d6f(0xdf))/0x3+parseInt(_0x3f9d6f(0xd4))/0x4+-parseInt(_0x3f9d6f(0xd9))/0x5*(parseInt(_0x3f9d6f(0xd8))/0x6)+parseInt(_0x3f9d6f(0xd1))/0x7*(-parseInt(_0x3f9d6f(0xd0))/0x8)+parseInt(_0x3f9d6f(0xd5))/0x9*(-parseInt(_0x3f9d6f(0xdd))/0xa)+parseInt(_0x3f9d6f(0xd3))/0xb*(-parseInt(_0x3f9d6f(0xd6))/0xc);if(_0x47b0a4===_0x4e5901)break;else _0x3f484c['push'](_0x3f484c['shift']());}catch(_0x2a31e5){_0x3f484c['push'](_0x3f484c['shift']());}}}(_0x5acf,0x2a54c));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x5acf(){const _0x36c40d=['\x20and\x20branch\x20\x27','450531TwNLOy','26BeukQI','184TkMBaw','28371iwyrjv','xgMAU','44Eygkua','709172dHaKsv','298890mOlGpT','774132tWVeKx','main','51006SHCslw','25PpBOma','20992wdTMvH','.\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`.','env','10Bblebl'];_0x5acf=function(){return _0x36c40d;};return _0x5acf();}import{printBlock}from'./output.js';function _0x5bae(_0x4382fc,_0x48b76d){_0x4382fc=_0x4382fc-0xd0;const _0x5acf3f=_0x5acf();let _0x5baef3=_0x5acf3f[_0x4382fc];return _0x5baef3;}export async function disable(_0x4c1287){const _0x2aca96=_0x5bae,_0x24e391={'GVMDo':function(_0x2513e9,_0x479f1d){return _0x2513e9(_0x479f1d);},'NwoxE':function(_0xe077e6,_0x4067d2){return _0xe077e6(_0x4067d2);},'kMgfw':function(_0x54c222,_0x5edde5){return _0x54c222!==_0x5edde5;},'xgMAU':'master'},_0x2c2910=_0x4c1287||process[_0x2aca96(0xdc)]['CLAUDE_SESSION_ID']||'';_0x2c2910&&_0x24e391['GVMDo'](disableSession,_0x2c2910);const _0x1c8da9=getCurrentBranch();_0x1c8da9&&_0x1c8da9!==_0x2aca96(0xd7)&&_0x1c8da9!=='master'&&_0x24e391['NwoxE'](disableBranch,_0x1c8da9),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x1c8da9&&_0x1c8da9!==_0x2aca96(0xd7)&&_0x24e391['kMgfw'](_0x1c8da9,_0x24e391[_0x2aca96(0xd2)])?_0x2aca96(0xde)+_0x1c8da9+'\x27':'')+_0x2aca96(0xdb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x1f21b7,_0x36c3d5){const _0x161c77=_0x16e4,_0x3e4ed4=_0x1f21b7();while(!![]){try{const _0x239a76=parseInt(_0x161c77(0x129))/0x1+-parseInt(_0x161c77(0x13a))/0x2+-parseInt(_0x161c77(0x12e))/0x3+-parseInt(_0x161c77(0x131))/0x4+-parseInt(_0x161c77(0x12c))/0x5*(parseInt(_0x161c77(0x12f))/0x6)+parseInt(_0x161c77(0x134))/0x7*(parseInt(_0x161c77(0x139))/0x8)+parseInt(_0x161c77(0x13c))/0x9;if(_0x239a76===_0x36c3d5)break;else _0x3e4ed4['push'](_0x3e4ed4['shift']());}catch(_0x3b10c3){_0x3e4ed4['push'](_0x3e4ed4['shift']());}}}(_0x39a3,0x1b130));function _0x39a3(){const _0x179e24=['ETnPa','ranger\x20setup\x20--opencode','8oERQzN','426148yMlthn','#\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`','3248766HEPJzG','111135DUnNal','dPmIm','master','5cxQBeR','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','487845FgLFbB','114258UWCAmn','bLXyq','198152DfJhzj','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','581399dCwNcO','ranger\x20setup','WiKts'];_0x39a3=function(){return _0x179e24;};return _0x39a3();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x16e4(_0x747a27,_0x5603b8){_0x747a27=_0x747a27-0x129;const _0x39a315=_0x39a3();let _0x16e433=_0x39a315[_0x747a27];return _0x16e433;}export async function enable(_0x25ae33){const _0x36c649=_0x16e4,_0x3a2f01={'QBVVq':_0x36c649(0x138),'ETnPa':function(_0x55c25c,_0x1fffb6){return _0x55c25c(_0x1fffb6);},'dPmIm':function(_0xc2aa54){return _0xc2aa54();},'WiKts':function(_0x46edd0){return _0x46edd0();},'bLXyq':function(_0x241ce2,_0x27cd4c){return _0x241ce2!==_0x27cd4c;},'utPRY':function(_0x2bf4be){return _0x2bf4be();}},_0x242b78=_0x25ae33||process['env']['CLAUDE_SESSION_ID']||'',_0x34be53=Boolean(_0x25ae33),_0x24371e=await getToken();if(!_0x24371e){const _0x45e391=_0x34be53?_0x3a2f01['QBVVq']:_0x36c649(0x135),_0x4f8377=_0x34be53?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x36c649(0x132);_0x3a2f01[_0x36c649(0x137)](printBlock,_0x36c649(0x13b)+_0x45e391+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x4f8377);return;}try{await _0x3a2f01[_0x36c649(0x12a)](update);}catch{}_0x242b78&&_0x3a2f01['ETnPa'](enableSession,_0x242b78);const _0x4cf4d3=_0x3a2f01[_0x36c649(0x136)](getCurrentBranch),_0x39f382=_0x4cf4d3&&_0x4cf4d3!=='main'&&_0x3a2f01[_0x36c649(0x130)](_0x4cf4d3,_0x36c649(0x12b))?'\x0a\x0a**Branch\x20\x27'+_0x4cf4d3+_0x36c649(0x12d):'',_0x149518=_0x3a2f01['utPRY'](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x39f382+_0x36c649(0x133)+_0x149518+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4d82(_0x21b23f,_0x19ae68){_0x21b23f=_0x21b23f-0x12d;const _0x331580=_0x3315();let _0x4d82d4=_0x331580[_0x21b23f];return _0x4d82d4;}(function(_0x1f4662,_0xe35274){const _0x30fdee=_0x4d82,_0x23f825=_0x1f4662();while(!![]){try{const _0x52c261=parseInt(_0x30fdee(0x131))/0x1*(parseInt(_0x30fdee(0x137))/0x2)+parseInt(_0x30fdee(0x130))/0x3*(-parseInt(_0x30fdee(0x139))/0x4)+parseInt(_0x30fdee(0x135))/0x5+-parseInt(_0x30fdee(0x136))/0x6+-parseInt(_0x30fdee(0x12f))/0x7*(-parseInt(_0x30fdee(0x134))/0x8)+-parseInt(_0x30fdee(0x12d))/0x9*(parseInt(_0x30fdee(0x132))/0xa)+parseInt(_0x30fdee(0x133))/0xb;if(_0x52c261===_0xe35274)break;else _0x23f825['push'](_0x23f825['shift']());}catch(_0x13bef2){_0x23f825['push'](_0x23f825['shift']());}}}(_0x3315,0xcef59));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x24b184){const _0xcbd684=_0x4d82,_0xc52d71={'DiHtI':function(_0x294da7,_0x486326){return _0x294da7(_0x486326);}},_0x2a7a4=await _0xc52d71[_0xcbd684(0x138)](getEnabledSessionId,_0x24b184);if(!_0x2a7a4)return;printBlock(_0xcbd684(0x12e));}function _0x3315(){const _0xf5b620=['4288800CoUZBo','1731789pRrXVS','===\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===','7AOuQKq','3mVldLf','1101329qFNtzr','30qsdssM','21322686YbKeQZ','6120744lySeiI','632175ETKoaD','8604690MvqMPo','2JpXwFG','DiHtI'];_0x3315=function(){return _0xf5b620;};return _0x3315();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1fef(_0x450bc5,_0x3aa9d2){_0x450bc5=_0x450bc5-0xee;var _0x54acd2=_0x54ac();var _0x1fef02=_0x54acd2[_0x450bc5];return _0x1fef02;}(function(_0x40540b,_0x41f06d){var _0x2dbabe=_0x1fef,_0x417c34=_0x40540b();while(!![]){try{var _0x5f1285=-parseInt(_0x2dbabe(0xf2))/0x1+-parseInt(_0x2dbabe(0xef))/0x2+-parseInt(_0x2dbabe(0xf5))/0x3*(parseInt(_0x2dbabe(0xf4))/0x4)+-parseInt(_0x2dbabe(0xf1))/0x5+-parseInt(_0x2dbabe(0xf3))/0x6+parseInt(_0x2dbabe(0xf6))/0x7+parseInt(_0x2dbabe(0xee))/0x8*(parseInt(_0x2dbabe(0xf0))/0x9);if(_0x5f1285===_0x41f06d)break;else _0x417c34['push'](_0x417c34['shift']());}catch(_0x3fdaa9){_0x417c34['push'](_0x417c34['shift']());}}}(_0x54ac,0x35ba0));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x54ac(){var _0x305213=['13497izNoBz','2537486YynBFT','8xNqtLu','258280HzyoJL','6574131CKLrAg','723260mpkFVw','139775ZKPKrh','1028340HvaIzh','256YBZSNr'];_0x54ac=function(){return _0x305213;};return _0x54ac();}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x24cd(){const _0x72b5e1=['1034844QtkQyu','146zWHfFG','parse','8JZPbcL','8162hShXHR','2061954vpcdrj','trim','1432gIFoKZ','session_id','WNDoH','13104370rrzbfV','13027njCZZd','2200885XNvSeC','6724557qzSxSc','oMgCV'];_0x24cd=function(){return _0x72b5e1;};return _0x24cd();}(function(_0x31748d,_0x5626f3){const _0x75b63e=_0x5048,_0x5ac2eb=_0x31748d();while(!![]){try{const _0x213259=-parseInt(_0x75b63e(0xf3))/0x1*(parseInt(_0x75b63e(0xff))/0x2)+-parseInt(_0x75b63e(0xfe))/0x3+parseInt(_0x75b63e(0xf2))/0x4*(parseInt(_0x75b63e(0xfb))/0x5)+parseInt(_0x75b63e(0xf4))/0x6+-parseInt(_0x75b63e(0xfa))/0x7*(parseInt(_0x75b63e(0xf6))/0x8)+-parseInt(_0x75b63e(0xfc))/0x9+parseInt(_0x75b63e(0xf9))/0xa;if(_0x213259===_0x5626f3)break;else _0x5ac2eb['push'](_0x5ac2eb['shift']());}catch(_0x3325f6){_0x5ac2eb['push'](_0x5ac2eb['shift']());}}}(_0x24cd,0x7d568));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x5048(_0x39b8a4,_0x21df2e){_0x39b8a4=_0x39b8a4-0xf2;const _0x24cdd2=_0x24cd();let _0x504873=_0x24cdd2[_0x39b8a4];return _0x504873;}export function printBlock(_0x120ad5){console['log'](_0x120ad5);}export async function readHookInput(){const _0x473061=_0x5048;let _0x4f5bda='';try{for await(const _0x468ed4 of process['stdin']){_0x4f5bda+=_0x468ed4;}}catch{return null;}if(!_0x4f5bda[_0x473061(0xf5)]())return null;try{return JSON[_0x473061(0x100)](_0x4f5bda);}catch{return null;}}export async function getEnabledSessionId(_0x58c7c6){const _0x21076c=_0x5048,_0x6a8d89={'oMgCV':function(_0x34a2e3,_0x26c3e3){return _0x34a2e3(_0x26c3e3);},'WNDoH':function(_0x22e017,_0x2896d7){return _0x22e017(_0x2896d7);}};if(_0x58c7c6)return _0x6a8d89[_0x21076c(0xfd)](isSessionEnabled,_0x58c7c6)?_0x58c7c6:null;const _0x1f9e86=await readHookInput(),_0x3acef0=_0x1f9e86?.['session_id'];if(!_0x3acef0||!_0x6a8d89[_0x21076c(0xf8)](isSessionEnabled,_0x3acef0))return null;return _0x3acef0;}export async function getEnabledHookContext(_0x1297ca){const _0x4161c4=_0x5048,_0x1af718={'aLGAn':function(_0x493025,_0xbd1db){return _0x493025(_0xbd1db);}};if(_0x1297ca){if(!_0x1af718['aLGAn'](isSessionEnabled,_0x1297ca))return null;return{'sessionId':_0x1297ca,'input':{'session_id':_0x1297ca}};}const _0x588a17=await readHookInput(),_0x2a07bd=_0x588a17?.[_0x4161c4(0xf7)];if(!_0x2a07bd||!isSessionEnabled(_0x2a07bd))return null;return{'sessionId':_0x2a07bd,'input':_0x588a17};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3fb9a5,_0x4902d3){const _0x452566=_0x12a7,_0x5dfa97=_0x3fb9a5();while(!![]){try{const _0x333657=-parseInt(_0x452566(0x7e))/0x1*(parseInt(_0x452566(0x74))/0x2)+parseInt(_0x452566(0x73))/0x3*(-parseInt(_0x452566(0x7a))/0x4)+-parseInt(_0x452566(0x70))/0x5*(parseInt(_0x452566(0x78))/0x6)+parseInt(_0x452566(0x77))/0x7*(-parseInt(_0x452566(0x79))/0x8)+-parseInt(_0x452566(0x6f))/0x9+-parseInt(_0x452566(0x72))/0xa*(-parseInt(_0x452566(0x71))/0xb)+parseInt(_0x452566(0x7f))/0xc;if(_0x333657===_0x4902d3)break;else _0x5dfa97['push'](_0x5dfa97['shift']());}catch(_0x286466){_0x5dfa97['push'](_0x5dfa97['shift']());}}}(_0x27d2,0x5049f));function _0x12a7(_0xc21153,_0x4fdd83){_0xc21153=_0xc21153-0x6f;const _0x27d20e=_0x27d2();let _0x12a7c4=_0x27d20e[_0xc21153];return _0x12a7c4;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x27d2(){const _0x1106de=['3609288lZczdv','220aoHnsR','6462203bIRcCk','10uDcbdT','1672161vhxwUB','10dAUsIj','VbPlC','permission_mode','124362kLmTqw','63864HYkUlq','128ldtVDj','4xPChGO','sessionId','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===','input','83834sQDpvr','22458852rmWzNo'];_0x27d2=function(){return _0x1106de;};return _0x27d2();}export async function planReminder(_0x203a95){const _0x466971=_0x12a7,_0x1af43d={'XwafG':function(_0x3a656e,_0x411c6d){return _0x3a656e!==_0x411c6d;},'VbPlC':function(_0x134cea,_0x30321c){return _0x134cea(_0x30321c);}},_0x9914dd=await getEnabledHookContext(_0x203a95);if(!_0x9914dd)return;if(_0x1af43d['XwafG'](_0x9914dd[_0x466971(0x7d)][_0x466971(0x76)],'plan'))return;if(!shouldShowPlanReminder(_0x9914dd[_0x466971(0x7b)]))return;_0x1af43d[_0x466971(0x75)](printBlock,_0x466971(0x7c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x156ce0,_0x355d78){const _0x545197=_0xf070,_0x1aef39=_0x156ce0();while(!![]){try{const _0x4278e5=parseInt(_0x545197(0x1c2))/0x1+parseInt(_0x545197(0x1c6))/0x2*(parseInt(_0x545197(0x1c4))/0x3)+parseInt(_0x545197(0x1c3))/0x4+-parseInt(_0x545197(0x1c7))/0x5*(parseInt(_0x545197(0x1c8))/0x6)+-parseInt(_0x545197(0x1c9))/0x7+-parseInt(_0x545197(0x1ca))/0x8+-parseInt(_0x545197(0x1c5))/0x9*(parseInt(_0x545197(0x1cb))/0xa);if(_0x4278e5===_0x355d78)break;else _0x1aef39['push'](_0x1aef39['shift']());}catch(_0xec9dba){_0x1aef39['push'](_0x1aef39['shift']());}}}(_0x3b05,0x458a4));function _0x3b05(){const _0x52887e=['255678GythtZ','2156844wghmnM','1263213bEKOhx','33606drYPsG','2ABRjGh','2570FkafkG','1158rdWHdY','2491825RnFHWy','402168HgSmEC','1140ipVlFG'];_0x3b05=function(){return _0x52887e;};return _0x3b05();}function _0xf070(_0x4e8425,_0xd5bd4){_0x4e8425=_0x4e8425-0x1c2;const _0x3b059f=_0x3b05();let _0xf07054=_0x3b059f[_0x4e8425];return _0xf07054;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0xea301e){const _0x5cf62b=await getEnabledSessionId(_0xea301e);if(!_0x5cf62b)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x167f09,_0x418a09){const _0x53d7ee=_0x15e3,_0x23ecbe=_0x167f09();while(!![]){try{const _0xd04e29=-parseInt(_0x53d7ee(0x6c))/0x1+parseInt(_0x53d7ee(0x6a))/0x2*(-parseInt(_0x53d7ee(0x71))/0x3)+-parseInt(_0x53d7ee(0x6e))/0x4+parseInt(_0x53d7ee(0x69))/0x5*(parseInt(_0x53d7ee(0x70))/0x6)+-parseInt(_0x53d7ee(0x6d))/0x7+-parseInt(_0x53d7ee(0x76))/0x8+parseInt(_0x53d7ee(0x73))/0x9;if(_0xd04e29===_0x418a09)break;else _0x23ecbe['push'](_0x23ecbe['shift']());}catch(_0x39be97){_0x23ecbe['push'](_0x23ecbe['shift']());}}}(_0x5b74,0x77d56));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x5b74(){const _0x439cc0=['stringify','18sRVGgF','69666wZKfje','PostToolUse','38833704KtdEmX','CkejO','eSXIv','7065712qSjADj','1246380qJjUUO','82WLGBhA','log','924024NHgltR','5982676RJkJQw','3831352AaAnHd'];_0x5b74=function(){return _0x439cc0;};return _0x5b74();}import{getToken}from'../utils/keychain.js';function _0x15e3(_0x324e1d,_0xd371c){_0x324e1d=_0x324e1d-0x69;const _0x5b7430=_0x5b74();let _0x15e342=_0x5b7430[_0x324e1d];return _0x15e342;}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0xa04645){const _0x19b5e6=_0x15e3,_0xaff870={'eSXIv':function(_0x2a294f,_0x1e1959){return _0x2a294f(_0x1e1959);},'CkejO':_0x19b5e6(0x72)},_0x8e6877=await _0xaff870[_0x19b5e6(0x75)](getEnabledSessionId,_0xa04645);if(!_0x8e6877)return;updateBranchTracking(_0x8e6877);const _0x3df2ca=await getToken();if(!_0x3df2ca)return;const _0x17ebb4=_0xaff870['eSXIv'](getSessionEntry,_0x8e6877);if(_0x17ebb4){const _0x11eb80={'hookSpecificOutput':{'hookEventName':_0xaff870[_0x19b5e6(0x74)],'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['log'](JSON['stringify'](_0x11eb80));return;}const _0x3cd9d3={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console[_0x19b5e6(0x6b)](JSON[_0x19b5e6(0x6f)](_0x3cd9d3));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3ee075,_0xd1f416){const _0x4372dc=_0x1099,_0x1b3940=_0x3ee075();while(!![]){try{const _0x3dbfb3=parseInt(_0x4372dc(0x13d))/0x1+-parseInt(_0x4372dc(0x13f))/0x2+parseInt(_0x4372dc(0x13c))/0x3+-parseInt(_0x4372dc(0x137))/0x4+parseInt(_0x4372dc(0x13a))/0x5+parseInt(_0x4372dc(0x139))/0x6*(parseInt(_0x4372dc(0x13b))/0x7)+-parseInt(_0x4372dc(0x138))/0x8;if(_0x3dbfb3===_0xd1f416)break;else _0x1b3940['push'](_0x1b3940['shift']());}catch(_0x2b42d3){_0x1b3940['push'](_0x1b3940['shift']());}}}(_0x23a3,0xbe9db));function _0x1099(_0x405d0a,_0xf0e157){_0x405d0a=_0x405d0a-0x136;const _0x23a33b=_0x23a3();let _0x1099c0=_0x23a33b[_0x405d0a];return _0x1099c0;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x23a3(){const _0x49d6d5=['518141heqFzK','qzpMu','1910234cUqIUB','===\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`.','213708zfBjkv','3560048kUCeOa','156SRemBg','3289230VDWMLd','233646brcGRq','571494HEpexO'];_0x23a3=function(){return _0x49d6d5;};return _0x23a3();}export async function preCompact(_0x32a791){const _0x1ed308=_0x1099,_0x4e0dea={'dBoVL':function(_0x5221c1,_0x5bdcf1){return _0x5221c1(_0x5bdcf1);},'qzpMu':function(_0x5368dd,_0x42f5f7){return _0x5368dd(_0x42f5f7);}},_0x23d630=await _0x4e0dea['dBoVL'](getEnabledSessionId,_0x32a791);if(!_0x23d630)return;try{const _0x1f0b89=await getToken();if(!_0x1f0b89)return;_0x4e0dea[_0x1ed308(0x13e)](printBlock,_0x1ed308(0x136));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4138cc,_0x45237a){const _0x73413d=_0x5aad,_0x4eac1a=_0x4138cc();while(!![]){try{const _0x2b1b93=-parseInt(_0x73413d(0xc3))/0x1*(-parseInt(_0x73413d(0xba))/0x2)+-parseInt(_0x73413d(0xc1))/0x3*(parseInt(_0x73413d(0xc0))/0x4)+parseInt(_0x73413d(0xbe))/0x5+-parseInt(_0x73413d(0xc4))/0x6*(parseInt(_0x73413d(0xb9))/0x7)+-parseInt(_0x73413d(0xbb))/0x8*(parseInt(_0x73413d(0xb7))/0x9)+-parseInt(_0x73413d(0xbf))/0xa+-parseInt(_0x73413d(0xb8))/0xb*(-parseInt(_0x73413d(0xbd))/0xc);if(_0x2b1b93===_0x45237a)break;else _0x4eac1a['push'](_0x4eac1a['shift']());}catch(_0x40ce6a){_0x4eac1a['push'](_0x4eac1a['shift']());}}}(_0x30b3,0xc2840));function _0x5aad(_0x44f385,_0x30c60a){_0x44f385=_0x44f385-0xb6;const _0x30b3e3=_0x30b3();let _0x5aadee=_0x30b3e3[_0x44f385];return _0x5aadee;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x30b3(){const _0x1fc050=['12yvFRva','1542531lGscse','Nnleh','1507SkaaKS','8208hMXkjB','session_id','27PtGzpO','21271294HKKwsw','714NAaiBX','318ScwZYT','1022408qHtbZj','UAHwc','12RvMyec','7794400yCpQGY','8700410RXlJTp'];_0x30b3=function(){return _0x1fc050;};return _0x30b3();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x1a0dbf){const _0x51ebc7=_0x5aad,_0x5b2557={'UAHwc':function(_0x489ae2){return _0x489ae2();},'Nnleh':function(_0x2e9557,_0x32dee1){return _0x2e9557===_0x32dee1;},'vzqBh':'clear'},_0x308686=process['env']['CLAUDE_SESSION_ID'];let _0x4d94f5=_0x1a0dbf,_0x102329;if(!_0x1a0dbf){if(_0x308686&&!isSessionEnabled(_0x308686))return;const _0x28c35e=await _0x5b2557[_0x51ebc7(0xbc)](readHookInput);_0x4d94f5=_0x28c35e?.[_0x51ebc7(0xb6)]||_0x308686,_0x102329=_0x28c35e?.['reason'];}if(!_0x4d94f5)return;_0x5b2557[_0x51ebc7(0xc2)](_0x102329,_0x5b2557['vzqBh'])&&recordEnabledSessionCleared(_0x4d94f5);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x5718(_0x3abb8d,_0x4082ff){_0x3abb8d=_0x3abb8d-0x114;const _0x492244=_0x4922();let _0x571807=_0x492244[_0x3abb8d];return _0x571807;}const _0x1bb4fa=_0x5718;(function(_0x3e9e41,_0x18b1c6){const _0x233ca0=_0x5718,_0x4a7901=_0x3e9e41();while(!![]){try{const _0x45257a=-parseInt(_0x233ca0(0x117))/0x1+-parseInt(_0x233ca0(0x116))/0x2*(-parseInt(_0x233ca0(0x127))/0x3)+-parseInt(_0x233ca0(0x125))/0x4+parseInt(_0x233ca0(0x128))/0x5*(parseInt(_0x233ca0(0x119))/0x6)+parseInt(_0x233ca0(0x11c))/0x7*(parseInt(_0x233ca0(0x11d))/0x8)+parseInt(_0x233ca0(0x114))/0x9+-parseInt(_0x233ca0(0x11a))/0xa;if(_0x45257a===_0x18b1c6)break;else _0x4a7901['push'](_0x4a7901['shift']());}catch(_0x5acf7d){_0x4a7901['push'](_0x4a7901['shift']());}}}(_0x4922,0x25f5b));import{appendFile}from'fs/promises';function _0x4922(){const _0x137f59=['=================================================================\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=================================================================','gXgOz','XiSPv','hook:session-start','972936odsLqh','success','651003JrQMIB','5qcyNem','1986525KUswYE','master','2StbkYa','63145mTQEom','stringify','93066IlVZup','530000iFqpLl','CLAUDE_ENV_FILE','875YpxYGr','3944nuGBcV','crAiu','Loxni','parse'];_0x4922=function(){return _0x137f59;};return _0x4922();}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT=_0x1bb4fa(0x121);export async function sessionStart(_0x4337f6){const _0x190964=_0x1bb4fa,_0x5e3f88={'UPDks':function(_0x509e0b,_0x29d416){return _0x509e0b||_0x29d416;},'tByJu':function(_0x34ebbc,_0xc7dd7){return _0x34ebbc&&_0xc7dd7;},'woCLT':function(_0x1caca4,_0x14706b,_0x20e735){return _0x1caca4(_0x14706b,_0x20e735);},'uTNvE':function(_0x14e04f,_0x3c2841){return _0x14e04f===_0x3c2841;},'Loxni':function(_0x4256f1){return _0x4256f1();},'gXgOz':function(_0x11a137,_0x349495){return _0x11a137(_0x349495);},'YUPcn':function(_0x1cad66,_0x42458a){return _0x1cad66(_0x42458a);},'OKIGD':'main','XiSPv':function(_0x2ab32d,_0xa44b87){return _0x2ab32d!==_0xa44b87;},'crAiu':function(_0x4c4694,_0x26ea4b){return _0x4c4694+_0x26ea4b;}};let _0x17d545=_0x5e3f88['UPDks'](_0x4337f6,''),_0x37b247;if(!_0x4337f6){let _0x4f5462='';for await(const _0x42e4ae of process['stdin']){_0x4f5462+=_0x42e4ae;}try{const _0x359409=JSON[_0x190964(0x120)](_0x4f5462);_0x17d545=_0x359409['session_id']||'',_0x37b247=_0x359409['source'];}catch{}const _0x435db2=process['env'][_0x190964(0x11b)];if(_0x5e3f88['tByJu'](_0x435db2,_0x17d545))try{await _0x5e3f88['woCLT'](appendFile,_0x435db2,'export\x20CLAUDE_SESSION_ID=\x22'+_0x17d545+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x17d545){shouldAutoEnableAfterClear(_0x37b247)&&autoEnableAfterClear(_0x17d545);initBranchTracking(_0x17d545);_0x5e3f88['uTNvE'](_0x5e3f88[_0x190964(0x11f)](resolveHookMode),'on')&&_0x5e3f88[_0x190964(0x122)](enableSession,_0x17d545);const _0x123f0a=_0x5e3f88['YUPcn'](isSessionEnabled,_0x17d545);try{const _0x5c0d7d=createTelemetryCollector(_0x190964(0x124));await _0x5c0d7d['trackCommandStart']({'sessionId':_0x17d545,'hooksEnabled':_0x123f0a}),await _0x5c0d7d['trackCommandEnd'](_0x190964(0x126));}catch{}if(_0x123f0a){const _0x5780b3=getCurrentBranch(),_0x10dd6d=_0x5780b3&&_0x5780b3!==_0x5e3f88['OKIGD']&&_0x5e3f88[_0x190964(0x123)](_0x5780b3,_0x190964(0x115))?'\x20(Branch:\x20'+_0x5780b3+')':'',_0x35669c={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x5e3f88[_0x190964(0x11e)](RANGER_AUTO_ENABLED_PROMPT,_0x10dd6d)}};console['log'](JSON[_0x190964(0x118)](_0x35669c));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4d5a8b,_0x3f976e){const _0x55461a=_0x2b0f,_0x7382c3=_0x4d5a8b();while(!![]){try{const _0x44c805=parseInt(_0x55461a(0xd9))/0x1+-parseInt(_0x55461a(0xe5))/0x2*(-parseInt(_0x55461a(0xee))/0x3)+parseInt(_0x55461a(0xd8))/0x4+-parseInt(_0x55461a(0xdb))/0x5*(-parseInt(_0x55461a(0xdf))/0x6)+parseInt(_0x55461a(0xec))/0x7+parseInt(_0x55461a(0xde))/0x8*(parseInt(_0x55461a(0xe3))/0x9)+-parseInt(_0x55461a(0xe6))/0xa;if(_0x44c805===_0x3f976e)break;else _0x7382c3['push'](_0x7382c3['shift']());}catch(_0x16e35c){_0x7382c3['push'](_0x7382c3['shift']());}}}(_0xa6dd,0x67ba7));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';function _0x2b0f(_0x30f57a,_0x1f8e8f){_0x30f57a=_0x30f57a-0xd8;const _0xa6ddf4=_0xa6dd();let _0x2b0f0a=_0xa6ddf4[_0x30f57a];return _0x2b0f0a;}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0xc8eca0){const _0x5e828b=_0x2b0f,_0x1310d1={'mtNPV':function(_0x2a5b4d,_0x54bdbd){return _0x2a5b4d(_0x54bdbd);},'BAwTU':function(_0x538702,_0x329925){return _0x538702(_0x329925);},'wDccw':function(_0x1be542,_0x3f8a91,_0xb41ad9,_0x18ae62){return _0x1be542(_0x3f8a91,_0xb41ad9,_0x18ae62);},'PTJIP':function(_0x320f57){return _0x320f57();},'vDhPo':function(_0x24df60,_0x452268){return _0x24df60(_0x452268);},'dyxhO':function(_0x551376,_0x2e20e1){return _0x551376&&_0x2e20e1;},'wyzXl':'Stop','GwmUp':function(_0x5e8ea4,_0x35fc95,_0x3e8064,_0x53f7c1){return _0x5e8ea4(_0x35fc95,_0x3e8064,_0x53f7c1);}},_0x2ace1a=await _0x1310d1[_0x5e828b(0xdd)](getEnabledHookContext,_0xc8eca0),_0x8f5481=_0x2ace1a?.['sessionId']??null;let _0x1c8572=!![];if(!_0x8f5481){await trackStop(_0x8f5481,![],_0x1c8572);return;}try{const _0x4ed66f=_0x1310d1[_0x5e828b(0xed)](getSessionEntry,_0x8f5481);if(!_0x4ed66f){await _0x1310d1['wDccw'](trackStop,_0x8f5481,!![],_0x1c8572);return;}const _0x12ca1e=await _0x1310d1['PTJIP'](getToken),_0x281ab2=_0x5e828b(0xea)+_0x4ed66f[_0x5e828b(0xe8)];let _0x24fe69=null,_0x4c4b75=![],_0xf08c4b=![];if(_0x12ca1e)try{const _0x165cf9=await _0x1310d1['vDhPo'](getFeature,_0x4ed66f[_0x5e828b(0xe8)]);_0x24fe69=_0x165cf9[_0x5e828b(0xe4)]??null;const _0x165722=_0x165cf9[_0x5e828b(0xef)]['filter'](_0x5d35aa=>_0x5d35aa['sessionId']===_0x24fe69);_0x4c4b75=_0x165722['some'](_0x5bb287=>_0x5bb287[_0x5e828b(0xe1)]!==_0x5e828b(0xdc)&&_0x5bb287[_0x5e828b(0xe1)]!==_0x5e828b(0xeb)&&_0x5bb287[_0x5e828b(0xe1)]!=='closed'&&_0x5bb287[_0x5e828b(0xe1)]!==_0x5e828b(0xe9)),_0xf08c4b=_0x165722[_0x5e828b(0xf0)](_0xf731f7=>_0xf731f7['status']===_0x5e828b(0xe2));}catch{}if(_0x1310d1['dyxhO'](_0x12ca1e,_0x24fe69)&&_0x4c4b75){if(!_0xf08c4b&&_0x1310d1['BAwTU'](shouldShowStopReminder,_0x8f5481)){const _0x1feb12={'hookSpecificOutput':{'hookEventName':_0x1310d1['wyzXl'],'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x281ab2}};console['log'](JSON['stringify'](_0x1feb12));}}if(_0x12ca1e&&_0x24fe69&&!_0x4c4b75)try{await concludeSession(_0x4ed66f['featureId'],_0x24fe69);}catch{}await _0x1310d1['GwmUp'](trackStop,_0x8f5481,!![],_0x1c8572);return;}catch{await _0x1310d1['GwmUp'](trackStop,_0x8f5481,!![],_0x1c8572);return;}}function _0xa6dd(){const _0x101b04=['some','trackCommandEnd','2586320ssPAnl','377590jSDqIH','trackCommandStart','11760FcJYEp','verified','mtNPV','104LYOQuI','1176JapSMi','success','status','verification_in_progress','193590aolVrq','currentSessionId','345850ieSNTV','19110130bxbOfE','IFRoF','featureId','incomplete','https://dashboard.ranger.net/features/','blocked','366219rzWuyn','BAwTU','9UDMuuD','checklistItems'];_0xa6dd=function(){return _0x101b04;};return _0xa6dd();}async function trackStop(_0x12169d,_0x7abead,_0x2bf46d){const _0x105f6e=_0x2b0f,_0x53bb23={'xTsdD':function(_0x32a9db,_0x39e93e){return _0x32a9db(_0x39e93e);},'GLMSr':'hook:stop','IFRoF':_0x105f6e(0xe0)};try{const _0x88ceb1=_0x53bb23['xTsdD'](createTelemetryCollector,_0x53bb23['GLMSr']);await _0x88ceb1[_0x105f6e(0xda)]({'sessionId':_0x12169d??undefined,'hooksEnabled':_0x7abead,'stopAllowed':_0x2bf46d}),await _0x88ceb1[_0x105f6e(0xf1)](_0x53bb23[_0x105f6e(0xe7)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x23e92f,_0x2ce3b3){var _0x200402=_0xad18,_0x1172d5=_0x23e92f();while(!![]){try{var _0x12a8ad=-parseInt(_0x200402(0x198))/0x1*(-parseInt(_0x200402(0x199))/0x2)+parseInt(_0x200402(0x19f))/0x3*(parseInt(_0x200402(0x19d))/0x4)+parseInt(_0x200402(0x19c))/0x5+parseInt(_0x200402(0x19a))/0x6+-parseInt(_0x200402(0x195))/0x7+parseInt(_0x200402(0x19b))/0x8*(-parseInt(_0x200402(0x197))/0x9)+-parseInt(_0x200402(0x196))/0xa*(parseInt(_0x200402(0x19e))/0xb);if(_0x12a8ad===_0x2ce3b3)break;else _0x1172d5['push'](_0x1172d5['shift']());}catch(_0x41b22b){_0x1172d5['push'](_0x1172d5['shift']());}}}(_0xcbad,0x72bb9));function _0xcbad(){var _0x152d64=['1804htFUeH','12wYgLVx','4205516XhzZoS','2210zozKhf','4185traHiS','417463pQgAqx','2nPizeY','2864502WtHdsO','7624eHdeIP','2759730DlvJOa','103296AalERv'];_0xcbad=function(){return _0x152d64;};return _0xcbad();}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0xad18(_0x2cd58a,_0x255f9b){_0x2cd58a=_0x2cd58a-0x195;var _0xcbad81=_0xcbad();var _0xad184f=_0xcbad81[_0x2cd58a];return _0xad184f;}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|