@ranger-testing/ranger-cli 3.1.6 → 3.1.7-alpha.62f152a-54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
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 _0x5d5956=_0x5e92;(function(_0x35c68a,_0x55dbe6){const _0x1e0a2e=_0x5e92,_0x18397e=_0x35c68a();while(!![]){try{const _0x4f7c2c=parseInt(_0x1e0a2e(0x148))/0x1+-parseInt(_0x1e0a2e(0x191))/0x2+-parseInt(_0x1e0a2e(0x141))/0x3*(parseInt(_0x1e0a2e(0x18b))/0x4)+parseInt(_0x1e0a2e(0xcb))/0x5*(-parseInt(_0x1e0a2e(0xc6))/0x6)+-parseInt(_0x1e0a2e(0x16e))/0x7*(parseInt(_0x1e0a2e(0x14c))/0x8)+-parseInt(_0x1e0a2e(0xe8))/0x9+-parseInt(_0x1e0a2e(0x154))/0xa*(-parseInt(_0x1e0a2e(0x129))/0xb);if(_0x4f7c2c===_0x55dbe6)break;else _0x18397e['push'](_0x18397e['shift']());}catch(_0x1a6ee5){_0x18397e['push'](_0x18397e['shift']());}}}(_0x29cf,0xad206));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x248dba from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';function _0x5e92(_0xba33dd,_0x372c7e){_0xba33dd=_0xba33dd-0xb2;const _0x29cf92=_0x29cf();let _0x5e929c=_0x29cf92[_0xba33dd];return _0x5e929c;}import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x5d5956(0x140),bold=_0x8e41ba=>'\x1b[1m'+_0x8e41ba+_0x5d5956(0xed);function getGitRepoUrl(){const _0x5b3a24=_0x5d5956,_0x36baf4={'fafMu':_0x5b3a24(0x104),'SRHHt':'pipe','lYFHQ':_0x5b3a24(0x195)};try{const _0x34f3ed=execSync('git\x20remote\x20get-url\x20origin',{'encoding':_0x36baf4[_0x5b3a24(0x168)],'stdio':[_0x36baf4['SRHHt'],_0x5b3a24(0x11d),_0x36baf4[_0x5b3a24(0xda)]]})['trim']();return _0x34f3ed['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x36baf4[_0x5b3a24(0xf1)])[_0x5b3a24(0x10a)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5cea38=_0x5d5956,_0x9f1802={'bQtkK':_0x5cea38(0x11d)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x5cea38(0x104),'stdio':[_0x5cea38(0x11d),_0x9f1802['bQtkK'],'pipe']})['trim']();}catch{return undefined;}}function _0x29cf(){const _0x1cb61e=['\x20\x20\x20\x20','notes','map','7772310IDVLVm','screenshotUrls','ZpZIZ','iXyWW','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x1b[0m','write','faBXx','trim','lYFHQ','textContent','timing','.md','latestReview','exit','QiUxX','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','KSGUP','gpzko','vPoPk','\x20unaddressed\x20comment(s)','\x0aAvailable\x20scenarios:','\x0aCreating\x20feature\x20review...','MNPQO','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','dashboardUrl','mhGHI','utf-8','WRrSn','Rvkuz','\x20[has\x20reviewer\x20feedback]','sfOVy','\x20\x20\x20\x20\x20\x20Cancelled:\x20','replace','gitBranch','\x20--current-branch','Scenario\x20','\x20\x20\x20Branch:\x20','exdef','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','incompleteReason','type','submittedAt','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','\x20of\x20','.png','\x0a✅\x20Scenario\x20added','warn','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','isKeyStep','completed','toLocaleString','pipe','hcIME','NHimL','version','wrfsh','iteration','Step\x20','scenarios','VmMeM','\x0a✅\x20Feature\x20review\x20created:\x20','IVRqN','NCZwt','198kvOEUP','tutNj',':\x20\x22','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ArsYX','in_progress','Next\x20page:\x20ranger\x20list\x20--offset\x20','GpBzC','comment_','toLocaleDateString','verified','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x20\x20💬\x20','assetUrl','Current\x20session\x20not\x20found.','canceledReason','LJLGm','screenshot','checklistItems','numeric','uFSiB','Screenshot\x20','CLAUDE_SESSION_ID','active-feature.txt','1959osNPmN','NXkOD','blockedReason','\x20\x20\x20▶️\x20Started\x20session\x20','totalCount','browserSessionId','\x20at\x20[','1071177iqYrmO','stats','join','split','37216PRDyqj','description','\x20\x20\x20Status:\x20','terminalReason','currentBranch','jIEqb','\x20in\x20progress','\x0a📋\x20Feedback\x20for:\x20','1531330UhljOZ','verificationInProgressItems','/artifacts/','EzeLW','env','iuwhg','CbcTR','aHWAJ','gitRepoUrl','blockedItems','nMstv','incomplete','error','parentItemId','TvWFh','assetType','nBuyR','closed','items','\x20\x20\x20Completed:\x20','fafMu','prompt','DYmVG','yXwYF','push','ISYio','1099ekjgvn','scenario','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20incomplete','xGwwJ','point','zbgmP','DoDhT','AvbHz','\x20\x20\x20Created:\x20','UJrDs','cDUPJ','TsBgt','unaddressedComments','JrZNV','EpJEh','spatial','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','excludeScenarios','aGvWy','\x20\x20\x20\x20\x20\x20Blocked:\x20','toFixed','length','HUepx','createdAt','\x20\x20Expected\x20flow:','canonicalFlow','\x20>\x20','1224CHJtns','...','\x0aGenerating\x20report...','sessionId','\x20\x20\x20\x20\x20ID:\x20','No\x20sessions\x20found.','172646YGCDJs','mnBVC','HCBQs','\x20\x20\x20Updated\x20branch\x20to:\x20','github.com/','authorEmail','coordinates','\x20/\x20','\x20(v','\x0a❌\x20Invalid\x20scenario\x20index:\x20','pop','\x20\x20\x20','Obfgh','isInteger','authorName','BdFgo','style','cQqpz','FzLwS','\x20scenarios.','\x20scenario(s).','NkZwQ','content','completedAt','stdout','TtLzY','filter','pTaEv','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','JpzxA','offset','fUYLu','isTTY','Showing\x20','has','domRef','jzdWI','name','\x20\x20\x20\x20\x20\x20Incomplete:\x20','json','\x20\x20✅\x20No\x20feedback\x20to\x20address','60yyEmxz','No\x20scenarios\x20found.','ijPxE','en-US','NmVVj','619175eQyKiz','MRObw','PKWtL','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','ZVRjK','limit','currentSessionId','verification_in_progress','lzYDe','log','selector','reports','YDspR','includeDeleted','XGFMH','SRHHt','short','\x20\x20\x20Description:\x20','\x20verified','find','NGuMl','status','JIlBo','RaDCe','Unknown','list'];_0x29cf=function(){return _0x1cb61e;};return _0x29cf();}export async function getActiveFeatureId(){const _0x366412=_0x5d5956,_0x435214=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x435214))return null;try{const _0x480407=await readFile(_0x435214,_0x366412(0x104));return _0x480407['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x56a2b9){const _0x16beee=_0x5d5956,_0x264428={'SYpeM':function(_0x340867){return _0x340867();},'nMstv':function(_0x43edd5,_0xd5c092,_0x50b289){return _0x43edd5(_0xd5c092,_0x50b289);},'faBXx':function(_0x50c964,_0x5ae57a,_0x165856){return _0x50c964(_0x5ae57a,_0x165856);},'iXyWW':function(_0x347187,_0x332af7,_0x3d5a91,_0x172e53){return _0x347187(_0x332af7,_0x3d5a91,_0x172e53);},'iBbrC':'utf-8'},_0x31bc88=_0x264428['SYpeM'](getRangerDir),_0x12fa65=_0x264428[_0x16beee(0x15e)](join,_0x31bc88,ACTIVE_FEATURE_FILE);!existsSync(_0x31bc88)&&await _0x264428[_0x16beee(0xef)](mkdir,_0x31bc88,{'recursive':!![]}),await _0x264428[_0x16beee(0xeb)](writeFile,_0x12fa65,_0x56a2b9,_0x264428['iBbrC']);}function getProgressDisplay(_0x1722c0){const _0x12ba01=_0x5d5956,_0x1408ad={'GpBzC':function(_0x4a7897,_0x151f94){return _0x4a7897+_0x151f94;},'NmVVj':function(_0x4e7e24,_0x43fdeb){return _0x4e7e24+_0x43fdeb;},'Obfgh':function(_0x542f5b,_0xb04e06){return _0x542f5b/_0xb04e06;},'xGwwJ':function(_0x57176c,_0x1b5b18){return _0x57176c>_0x1b5b18;}},_0x10bd0b=_0x1722c0['verifiedItems']||0x0,_0x536dfe=_0x1722c0[_0x12ba01(0x155)]||0x0,_0x52f4d2=_0x1722c0[_0x12ba01(0x15d)]||0x0,_0x4784c7=_0x1722c0['incompleteItems']||0x0,_0xd5d87a=_0x1722c0['pendingItems']||0x0,_0x1e0dd1=_0x1408ad[_0x12ba01(0x130)](_0x1408ad['GpBzC'](_0x1408ad[_0x12ba01(0x130)](_0x1408ad[_0x12ba01(0xca)](_0x10bd0b,_0x536dfe),_0x52f4d2),_0x4784c7),_0xd5d87a);if(_0x1e0dd1===0x0)return'-';const _0x53ea15=0xa,_0x41dcaa=Math['round'](_0x1408ad[_0x12ba01(0x19d)](_0x10bd0b,_0x1e0dd1)*_0x53ea15),_0xd5892b='█'['repeat'](_0x41dcaa)+'░'['repeat'](_0x53ea15-_0x41dcaa),_0x3bf25a=[];if(_0x1408ad[_0x12ba01(0x173)](_0x52f4d2,0x0))_0x3bf25a[_0x12ba01(0x16c)](_0x52f4d2+'\x20blocked');if(_0x4784c7>0x0)_0x3bf25a['push'](_0x4784c7+_0x12ba01(0x172));if(_0x536dfe>0x0)_0x3bf25a['push'](_0x536dfe+_0x12ba01(0x152));const _0x161c30=_0x3bf25a['length']>0x0?'\x20('+_0x3bf25a['join'](',\x20')+')':'';return _0xd5892b+'\x20'+_0x10bd0b+'/'+_0x1e0dd1+_0x12ba01(0xdd)+_0x161c30;}function getCurrentSessionItems(_0x5f57e2,_0x336917){const _0x525d5d=_0x5d5956;if(!_0x5f57e2['currentSessionId'])return _0x336917[_0x525d5d(0xb5)](_0xa30083=>!_0xa30083[_0x525d5d(0x18e)]);return _0x336917['filter'](_0x34228a=>_0x34228a['sessionId']===_0x5f57e2[_0x525d5d(0xd1)]||!_0x34228a[_0x525d5d(0x18e)]);}function displayFeature(_0x1a5e21,_0x1e2cfc){const _0x1c7a47=_0x5d5956,_0x26a354={'ijPxE':'\x0a\x20\x20\x20Scenarios:','tSsHA':function(_0xfa9ea7,_0x184f0b){return _0xfa9ea7<_0x184f0b;},'hcIME':function(_0x4aaeea,_0xbbc5d9){return _0x4aaeea===_0xbbc5d9;},'AiwmK':'approved','NHimL':_0x1c7a47(0x133),'exdef':_0x1c7a47(0x15f),'FzLwS':function(_0x2398e9,_0x2da7cd){return _0x2398e9===_0x2da7cd;},'ZxsOn':_0x1c7a47(0x165),'JtVjl':function(_0x43157b,_0x484b6c){return _0x43157b>_0x484b6c;},'jIEqb':function(_0x5166d8,_0x1b74ab){return _0x5166d8>_0x1b74ab;},'juhHY':function(_0x4bacdc,_0x3c5006){return _0x4bacdc!==_0x3c5006;},'FnnoI':function(_0x1fb265,_0x9f553c){return _0x1fb265!==_0x9f553c;},'pTaEv':function(_0x22a9cc,_0x624e69){return _0x22a9cc+_0x624e69;},'LJLGm':function(_0x1f0db6,_0x35c697){return _0x1f0db6===_0x35c697;}};console[_0x1c7a47(0xd4)]('\x0a'+_0x1a5e21[_0x1c7a47(0xc2)]+'\x20('+_0x1a5e21[_0x1c7a47(0x102)]+')');_0x1a5e21[_0x1c7a47(0x149)]&&console[_0x1c7a47(0xd4)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1a5e21['stats']));_0x1a5e21['description']&&console[_0x1c7a47(0xd4)](_0x1c7a47(0xdc)+_0x1a5e21['description']);_0x1a5e21[_0x1c7a47(0x15c)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x1a5e21[_0x1c7a47(0x15c)]);_0x1a5e21[_0x1c7a47(0x10b)]&&console[_0x1c7a47(0xd4)]('\x20\x20\x20Branch:\x20'+_0x1a5e21['gitBranch']);console[_0x1c7a47(0xd4)](_0x1c7a47(0x178)+new Date(_0x1a5e21['createdAt'])[_0x1c7a47(0x11c)]());_0x1a5e21[_0x1c7a47(0xb2)]&&console[_0x1c7a47(0xd4)]('\x20\x20\x20Completed:\x20'+new Date(_0x1a5e21[_0x1c7a47(0xb2)])['toLocaleString']());if(_0x1e2cfc&&_0x1e2cfc[_0x1c7a47(0x185)]>0x0){console[_0x1c7a47(0xd4)](_0x26a354[_0x1c7a47(0xc8)]);for(let _0x2faff3=0x0;_0x26a354['tSsHA'](_0x2faff3,_0x1e2cfc['length']);_0x2faff3++){const _0x599223=_0x1e2cfc[_0x2faff3];let _0x389755;if(_0x26a354[_0x1c7a47(0x11e)](_0x599223['status'],_0x1c7a47(0x165))&&_0x26a354[_0x1c7a47(0x11e)](_0x599223['terminalReason'],_0x26a354['AiwmK']))_0x389755='✅';else{if(_0x599223[_0x1c7a47(0xe0)]===_0x26a354[_0x1c7a47(0x11f)])_0x389755='🟢';else{if(_0x599223['status']===_0x26a354[_0x1c7a47(0x10f)])_0x389755='🟠';else{if(_0x599223[_0x1c7a47(0xe0)]==='blocked')_0x389755='🛑';else{if(_0x26a354[_0x1c7a47(0x1a3)](_0x599223[_0x1c7a47(0xe0)],_0x26a354['ZxsOn']))_0x389755='⛔';else _0x599223[_0x1c7a47(0xe0)]==='verification_in_progress'?_0x389755='⏳':_0x389755='⬜';}}}}const _0x5e520c=_0x26a354['JtVjl'](_0x599223['version'],0x1)?'\x20(v'+_0x599223[_0x1c7a47(0x120)]+')':'',_0x49da2c=_0x26a354[_0x1c7a47(0x151)](_0x599223[_0x1c7a47(0x120)],0x1)&&_0x599223[_0x1c7a47(0x161)]&&_0x26a354['juhHY'](_0x599223['status'],_0x1c7a47(0x165))&&_0x26a354['FnnoI'](_0x599223[_0x1c7a47(0xe0)],_0x1c7a47(0x133))?_0x1c7a47(0x107):'';console[_0x1c7a47(0xd4)](_0x1c7a47(0x19c)+_0x26a354[_0x1c7a47(0xb6)](_0x2faff3,0x1)+'.\x20'+_0x389755+'\x20'+_0x599223[_0x1c7a47(0x14d)]+_0x5e520c+_0x49da2c);_0x599223['status']==='blocked'&&_0x599223[_0x1c7a47(0x143)]&&console[_0x1c7a47(0xd4)](_0x1c7a47(0x183)+_0x599223[_0x1c7a47(0x143)]);_0x599223[_0x1c7a47(0xe0)]===_0x1c7a47(0x15f)&&_0x599223['incompleteReason']&&console[_0x1c7a47(0xd4)](_0x1c7a47(0xc3)+_0x599223[_0x1c7a47(0x111)]);if(_0x599223['status']===_0x1c7a47(0x165)&&_0x599223['terminalReason']===_0x26a354['AiwmK'])console[_0x1c7a47(0xd4)]('\x20\x20\x20\x20\x20\x20Approved');else _0x26a354[_0x1c7a47(0x139)](_0x599223[_0x1c7a47(0xe0)],'closed')&&_0x599223['canceledReason']&&console[_0x1c7a47(0xd4)](_0x1c7a47(0x109)+_0x599223[_0x1c7a47(0x138)]);}}}export async function featureCreate(_0x2f8af0,_0x365c25){const _0x2c17d6=_0x5d5956,_0x1c88cf={'uFSiB':function(_0x2391d2,_0x31f7c5){return _0x2391d2===_0x31f7c5;},'IyqyF':function(_0x471389,_0x54623a){return _0x471389===_0x54623a;},'ZVRjK':function(_0x37cbe3,_0x4baa70){return _0x37cbe3(_0x4baa70);},'KSGUP':function(_0x3fbf05){return _0x3fbf05();},'TvWFh':function(_0x47fe1f){return _0x47fe1f();},'fUYLu':_0x2c17d6(0xfe),'Rvkuz':function(_0x5c1393,_0xd15c4d){return _0x5c1393(_0xd15c4d);},'doBvE':function(_0x1c94d0,_0x41dcc5,_0x4a1ce9){return _0x1c94d0(_0x41dcc5,_0x4a1ce9);}},{envNames:_0x9ef060}=await getEnvNames();if(_0x1c88cf[_0x2c17d6(0x13d)](_0x9ef060[_0x2c17d6(0x185)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x569c8c=0x0;try{_0x569c8c=(await listCloudProfiles())[_0x2c17d6(0x185)];}catch{_0x569c8c=0x1;}_0x1c88cf['IyqyF'](_0x569c8c,0x0)&&console[_0x2c17d6(0x118)]('\x0a'+_0x1c88cf[_0x2c17d6(0xcf)](formatProfileRequiredMessage,_0x3b759e=>bold(_0x3b759e)));}const _0x22d0a1=_0x365c25[_0x2c17d6(0x124)]?_0x365c25[_0x2c17d6(0x124)][_0x2c17d6(0xe7)](_0x4b58a2=>_0x4b58a2[_0x2c17d6(0xf0)]()):[],_0x4a8eeb=_0x1c88cf[_0x2c17d6(0xf9)](getGitRepoUrl),_0x3bc57f=_0x1c88cf[_0x2c17d6(0x162)](getGitBranch);console['log'](_0x1c88cf[_0x2c17d6(0xbc)]);const _0x17c5a5=await _0x1c88cf[_0x2c17d6(0x106)](createFeature,{'name':_0x2f8af0,'description':_0x365c25['description'],'checklist':_0x22d0a1,'gitRepoUrl':_0x4a8eeb,'gitBranch':_0x3bc57f});await setActiveFeatureId(_0x17c5a5['id']),await tryStartCurrentSession(_0x17c5a5['id']);const _0x48ab28=process['env'][_0x2c17d6(0x13f)];_0x48ab28&®isterSession(_0x48ab28,_0x17c5a5['id']),console['log'](_0x2c17d6(0x126)+_0x17c5a5['id']),_0x1c88cf['doBvE'](displayFeature,_0x17c5a5,_0x17c5a5[_0x2c17d6(0x13b)]),console[_0x2c17d6(0xd4)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x10c2c9){const _0x5e6fdd=_0x5d5956,_0x2c5388={'zbgmP':function(_0x57ab69,_0x37558f){return _0x57ab69(_0x37558f);},'DoDhT':function(_0x10c798,_0x39faa1){return _0x10c798>_0x39faa1;},'UdJlZ':function(_0x5c1a8a,_0x44ad5c){return _0x5c1a8a+_0x44ad5c;},'PExKk':_0x5e6fdd(0x10c)},_0x489eee={'limit':_0x10c2c9['limit']??0xa,'offset':_0x10c2c9['offset']??0x0,'includeDeleted':_0x10c2c9[_0x5e6fdd(0xd8)]};_0x10c2c9['currentBranch']&&(_0x489eee['gitRepoUrl']=getGitRepoUrl(),_0x489eee['gitBranch']=getGitBranch());const _0x56183a=await _0x2c5388[_0x5e6fdd(0x175)](listFeatures,_0x489eee);if(_0x56183a['items'][_0x5e6fdd(0x185)]===0x0){console[_0x5e6fdd(0xd4)](_0x5e6fdd(0xb7));return;}const _0x3c54e9=_0x2c5388[_0x5e6fdd(0x176)](_0x56183a[_0x5e6fdd(0x145)],_0x56183a[_0x5e6fdd(0x166)][_0x5e6fdd(0x185)])?_0x5e6fdd(0xbe)+_0x56183a[_0x5e6fdd(0x166)][_0x5e6fdd(0x185)]+_0x5e6fdd(0x115)+_0x56183a['totalCount']:_0x56183a['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x5e6fdd(0xd4)]('\x0a'+_0x3c54e9+':\x0a');for(const _0x50532e of _0x56183a['items']){console['log'](''+_0x50532e['name']),console['log']('\x20\x20\x20ID:\x20'+_0x50532e['id']),_0x50532e['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x50532e['stats'])),_0x50532e['gitBranch']&&console['log'](_0x5e6fdd(0x10e)+_0x50532e[_0x5e6fdd(0x10b)]),console[_0x5e6fdd(0xd4)]('\x20\x20\x20Created:\x20'+new Date(_0x50532e[_0x5e6fdd(0x187)])['toLocaleDateString']()),console['log']('');}const _0x159702=_0x489eee[_0x5e6fdd(0xd0)]??0xa,_0x7963ff=_0x2c5388['UdJlZ'](_0x489eee[_0x5e6fdd(0xbb)]??0x0,_0x56183a['items'][_0x5e6fdd(0x185)]);if(_0x7963ff<_0x56183a['totalCount']){const _0x41c23f=_0x159702!==0xa?'\x20--limit\x20'+_0x159702:'',_0x417083=_0x10c2c9[_0x5e6fdd(0x150)]?_0x2c5388['PExKk']:'',_0x5ab939=_0x10c2c9[_0x5e6fdd(0xd8)]?'\x20--include-deleted':'';console['log'](_0x5e6fdd(0x12f)+_0x7963ff+_0x41c23f+_0x417083+_0x5ab939);}}export async function featureShow(_0xc4b611){const _0x4f103f=_0x5d5956,_0x1dcfea={'mhGHI':function(_0xc09ed5){return _0xc09ed5();}},_0x5d5368=_0xc4b611||await _0x1dcfea[_0x4f103f(0x103)](getActiveFeatureId);if(!_0x5d5368)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x26f1b2=await getFeature(_0x5d5368);displayFeature(_0x26f1b2,_0x26f1b2['checklistItems']);}export async function featureResume(_0xb2358d){const _0x179007=_0x5d5956,_0x3760a0={'UJrDs':function(_0x170884,_0x39fe49){return _0x170884(_0x39fe49);},'wrfsh':function(_0xa2dd8c,_0x58c35c,_0x2f3ce7){return _0xa2dd8c(_0x58c35c,_0x2f3ce7);},'XqOfh':function(_0x17b23c){return _0x17b23c();},'uHjdL':'Not\x20in\x20a\x20git\x20repository.','HUepx':function(_0x210920,_0x509588){return _0x210920||_0x509588;},'RaDCe':'any','OOeRH':function(_0x476f45,_0x413621){return _0x476f45(_0x413621);},'byEvO':_0x179007(0x170),'ArsYX':function(_0x2d2d7a,_0x51d977){return _0x2d2d7a(_0x51d977);},'RFAoG':function(_0x5a28a5,_0x1097bb){return _0x5a28a5!==_0x1097bb;},'NGuMl':function(_0x256f69,_0x499556){return _0x256f69(_0x499556);},'RPswZ':function(_0x412e8e,_0x14d6ac){return _0x412e8e(_0x14d6ac);}};if(_0xb2358d){const _0x3ea45a=await getFeature(_0xb2358d);await setActiveFeatureId(_0x3ea45a['id']);const _0x54c7db=getGitBranch();_0x54c7db&&_0x54c7db!==_0x3ea45a[_0x179007(0x10b)]&&(await updateFeature(_0x3ea45a['id'],{'gitBranch':_0x54c7db}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x54c7db));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3ea45a[_0x179007(0xc2)]+'\x20('+_0x3ea45a['id']+')'),await _0x3760a0[_0x179007(0x179)](tryStartCurrentSession,_0x3ea45a['id']);const _0x237562=process[_0x179007(0x158)]['CLAUDE_SESSION_ID'];_0x237562&®isterSession(_0x237562,_0x3ea45a['id']);_0x3760a0['wrfsh'](displayFeature,_0x3ea45a,_0x3ea45a['checklistItems']),await printFeedbackNudge(_0x3ea45a['id']);return;}const _0x489624=getGitRepoUrl(),_0x52b10f=_0x3760a0['XqOfh'](getGitBranch);if(!_0x489624&&!_0x52b10f)throw new Error(_0x3760a0['uHjdL']);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x3760a0[_0x179007(0x186)](_0x489624,'any')+_0x179007(0x198)+_0x3760a0['HUepx'](_0x52b10f,_0x3760a0[_0x179007(0xe2)])+_0x179007(0x18c));const _0x49dab3=await listFeatures({'gitRepoUrl':_0x489624,'gitBranch':_0x52b10f}),_0x4e1e28=_0x49dab3['items'][_0x179007(0xb5)](_0x246997=>_0x246997['status']?_0x246997['status']!=='verified':!_0x246997['completedAt']);if(_0x4e1e28['length']===0x0){console[_0x179007(0xd4)](_0x179007(0x110)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x2a3a22;if(_0x4e1e28['length']===0x1)_0x2a3a22=_0x4e1e28[0x0];else{const _0x1b92f4=process['stdin']['isTTY']&&process[_0x179007(0xb3)][_0x179007(0xbd)];if(!_0x1b92f4){console['log'](_0x179007(0xce));for(const _0x286a80 of _0x4e1e28){console[_0x179007(0xd4)]('\x20\x20'+_0x286a80['name']),console[_0x179007(0xd4)](_0x179007(0x18f)+_0x286a80['id']),_0x286a80[_0x179007(0x149)]&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x3760a0['OOeRH'](getProgressDisplay,_0x286a80[_0x179007(0x149)])),_0x286a80['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x286a80[_0x179007(0x10b)]);}throw new Error(_0x179007(0x114));}const {selected:_0x53054a}=await _0x248dba[_0x179007(0x169)]([{'type':_0x179007(0xe4),'name':'selected','message':_0x3760a0['byEvO'],'choices':_0x4e1e28['map'](_0x20e0a8=>({'name':_0x20e0a8['name']+'\x20('+_0x20e0a8['id']+')','value':_0x20e0a8['id']}))}]);_0x2a3a22=_0x4e1e28[_0x179007(0xde)](_0x282b9f=>_0x282b9f['id']===_0x53054a);}await _0x3760a0[_0x179007(0x12d)](setActiveFeatureId,_0x2a3a22['id']);_0x52b10f&&_0x3760a0['RFAoG'](_0x52b10f,_0x2a3a22[_0x179007(0x10b)])&&(await _0x3760a0[_0x179007(0x121)](updateFeature,_0x2a3a22['id'],{'gitBranch':_0x52b10f}),console[_0x179007(0xd4)](_0x179007(0x194)+_0x52b10f));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x2a3a22['name']+'\x20('+_0x2a3a22['id']+')'),await tryStartCurrentSession(_0x2a3a22['id']);const _0x1f5290=await _0x3760a0[_0x179007(0xdf)](getFeature,_0x2a3a22['id']),_0x2d3668=process['env'][_0x179007(0x13f)];_0x2d3668&&_0x3760a0[_0x179007(0x121)](registerSession,_0x2d3668,_0x1f5290['id']),_0x3760a0['wrfsh'](displayFeature,_0x1f5290,_0x1f5290['checklistItems']),await _0x3760a0['RPswZ'](printFeedbackNudge,_0x1f5290['id']);}async function printFeedbackNudge(_0x5d5f9b){const _0x121d48=_0x5d5956,_0x475518={'QiUxX':function(_0x2e93b9,_0x19a037){return _0x2e93b9(_0x19a037);},'ISYio':function(_0x1ea101,_0x353886,_0x532f7c){return _0x1ea101(_0x353886,_0x532f7c);},'NILYU':_0x121d48(0xf8)};try{const {items:_0x7ab318}=await _0x475518[_0x121d48(0xf7)](getActionItems,_0x5d5f9b);let _0x52ae2c=0x0,_0x51e5df=0x0;for(const _0x2f59a5 of _0x7ab318){const _0x1316f7=await _0x475518[_0x121d48(0x16d)](getItemFeedback,_0x5d5f9b,_0x2f59a5['id']);_0x1316f7['unaddressedComments'][_0x121d48(0x185)]>0x0&&(_0x52ae2c+=_0x1316f7[_0x121d48(0x17c)]['length'],_0x51e5df++);}_0x52ae2c>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x52ae2c+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x51e5df+_0x121d48(0x1a5)),console['log'](_0x475518['NILYU']));}catch{}}async function tryStartCurrentSession(_0x459198){const _0x49e57a=_0x5d5956;try{const {sessions:_0x383828}=await listFeatureSessions(_0x459198),_0x59109a=_0x383828[_0x49e57a(0xde)](_0x5b4d66=>_0x5b4d66[_0x49e57a(0xe0)]==='ready');_0x59109a&&(await startSession(_0x459198,_0x59109a['id']),console[_0x49e57a(0xd4)](_0x49e57a(0x144)+_0x59109a[_0x49e57a(0x122)]));}catch{}}export async function featureReport(_0x5dbc38,_0xa12328){const _0x3b01e4=_0x5d5956,_0x2f50c8={'TsBgt':function(_0x186b7e){return _0x186b7e();},'NHTEL':_0x3b01e4(0xb9),'SRSVM':_0x3b01e4(0x18d),'sfOVy':function(_0x4d3890,_0x4b0a32,_0x10a247,_0x319264){return _0x4d3890(_0x4b0a32,_0x10a247,_0x319264);},'NXkOD':_0x3b01e4(0xd6),'vPoPk':function(_0x52d4f0,_0x399fed,_0x4fb263){return _0x52d4f0(_0x399fed,_0x4fb263);},'mnBVC':function(_0x5ccc7a,_0x458d89,_0x3a17b1,_0x362943){return _0x5ccc7a(_0x458d89,_0x3a17b1,_0x362943);}},_0x3960fe=_0x5dbc38||await _0x2f50c8[_0x3b01e4(0x17b)](getActiveFeatureId);if(!_0x3960fe)throw new Error(_0x2f50c8['NHTEL']);console['log'](_0x2f50c8['SRSVM']);const _0x132f8a=await getFeatureReportMarkdown(_0x3960fe,{'style':_0xa12328[_0x3b01e4(0x1a1)]}),_0x17bcc3=_0xa12328['output']||_0x2f50c8[_0x3b01e4(0x108)](join,_0x2f50c8['TsBgt'](getRangerDir),_0x2f50c8[_0x3b01e4(0x142)],_0x3960fe+_0x3b01e4(0xf4)),_0x514800=join(_0x17bcc3,'..');!existsSync(_0x514800)&&await _0x2f50c8[_0x3b01e4(0xfb)](mkdir,_0x514800,{'recursive':!![]}),await _0x2f50c8[_0x3b01e4(0x192)](writeFile,_0x17bcc3,_0x132f8a,_0x3b01e4(0x104)),console[_0x3b01e4(0xd4)]('\x0a✅\x20Report\x20generated:\x20'+_0x17bcc3);}function getScenarioResult(_0x2a7d20){const _0x296af0=_0x5d5956,_0x1f50e7={'Kefmo':function(_0x32dd61,_0x25600e){return _0x32dd61===_0x25600e;},'ZpZIZ':_0x296af0(0x165),'gGgPw':_0x296af0(0xd2),'cDUPJ':_0x296af0(0x12e)};if(_0x1f50e7['Kefmo'](_0x2a7d20['status'],_0x1f50e7[_0x296af0(0xea)]))return _0x2a7d20[_0x296af0(0x14f)]??_0x1f50e7['ZpZIZ'];if(_0x2a7d20['status']===_0x1f50e7['gGgPw'])return _0x1f50e7[_0x296af0(0x17a)];return _0x2a7d20['status'];}function getScenarioRationale(_0x4706bb,_0x21803a){const _0x15df80=_0x5d5956,_0x370753='0|3|4|1|5|2'[_0x15df80(0x14b)]('|');let _0x5d8165=0x0;while(!![]){switch(_0x370753[_0x5d8165++]){case'0':if(_0x21803a)return _0x21803a;continue;case'1':if(_0x4706bb[_0x15df80(0x138)])return _0x4706bb['canceledReason'];continue;case'2':return null;case'3':if(_0x4706bb[_0x15df80(0x143)])return _0x4706bb[_0x15df80(0x143)];continue;case'4':if(_0x4706bb[_0x15df80(0x111)])return _0x4706bb[_0x15df80(0x111)];continue;case'5':if(_0x4706bb[_0x15df80(0xe6)])return _0x4706bb[_0x15df80(0xe6)];continue;}break;}}export async function featureReportPrDescription(_0x1d13fc,_0x539a82){const _0x4dc279=_0x5d5956,_0x12bdac={'XGFMH':_0x4dc279(0xb9),'uKDyG':function(_0x519265,_0x4e02f5,_0x469f88){return _0x519265(_0x4e02f5,_0x469f88);},'JrZNV':function(_0x217694,_0x34ed73){return _0x217694===_0x34ed73;},'sPEXI':function(_0x2572f1,_0x58f823){return _0x2572f1>_0x58f823;},'DYmVG':_0x4dc279(0xfd),'bqNiX':_0x4dc279(0x180),'YDspR':function(_0x5965c5,_0x6db81d,_0x44ce9d,_0x438ed9){return _0x5965c5(_0x6db81d,_0x44ce9d,_0x438ed9);},'BWuzs':function(_0xfc8a0,_0x10de22,_0x51cb09){return _0xfc8a0(_0x10de22,_0x51cb09);}},_0x5dc3fb=_0x1d13fc||await getActiveFeatureId();if(!_0x5dc3fb)throw new Error(_0x12bdac[_0x4dc279(0xd9)]);const _0x340a9d=await getFeature(_0x5dc3fb),_0x31ddcf=_0x340a9d[_0x4dc279(0x13b)]||[],_0x321e29=_0x12bdac['uKDyG'](getCurrentSessionItems,_0x340a9d,_0x31ddcf);_0x12bdac[_0x4dc279(0x17d)](_0x321e29['length'],0x0)&&(console['error'](_0x4dc279(0x134)),process['exit'](0x1));const _0x262c28=_0x539a82[_0x4dc279(0x181)]??[],_0x3517d5=_0x262c28[_0x4dc279(0xb5)](_0x36c774=>!Number[_0x4dc279(0x19e)](_0x36c774)||_0x36c774<0x1||_0x36c774>_0x321e29['length']);if(_0x12bdac['sPEXI'](_0x3517d5['length'],0x0)){console[_0x4dc279(0x160)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x3517d5[_0x4dc279(0x14a)](',\x20')),console['log'](_0x12bdac[_0x4dc279(0x16a)]);for(let _0x428712=0x0;_0x428712<_0x321e29['length'];_0x428712++){console['log']('\x20\x20'+(_0x428712+0x1)+'.\x20'+_0x321e29[_0x428712][_0x4dc279(0x14d)]);}process[_0x4dc279(0xf6)](0x1);}const _0x18a4e3=new Set(_0x262c28[_0x4dc279(0xe7)](_0x53abc7=>_0x53abc7-0x1)),_0x3eebf1=_0x321e29['filter']((_0x504211,_0x23827b)=>!_0x18a4e3[_0x4dc279(0xbf)](_0x23827b));_0x3eebf1[_0x4dc279(0x185)]===0x0&&(console['error'](_0x12bdac['bqNiX']),process[_0x4dc279(0xf6)](0x1));if(_0x539a82[_0x4dc279(0xc4)])await _0x12bdac[_0x4dc279(0xd7)](outputJsonReport,_0x5dc3fb,_0x340a9d,_0x3eebf1);else{const _0x3b5e57=await _0x12bdac['BWuzs'](getFeatureReportMarkdown,_0x5dc3fb,{'itemIds':_0x3eebf1[_0x4dc279(0xe7)](_0x3adb89=>_0x3adb89['id'])});process[_0x4dc279(0xb3)]['write'](_0x3b5e57['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x55f494,_0x565d0f,_0x151ccf){const _0x14b476=_0x5d5956,_0x314d8b={'HCBQs':function(_0x39e318,_0x3805ca){return _0x39e318>_0x3805ca;},'AvbHz':function(_0x279ff6){return _0x279ff6();},'JpzxA':function(_0xdde353,_0xf59b5a){return _0xdde353+_0xf59b5a;}},_0x3f13d5=_0x314d8b[_0x14b476(0x177)](getApiBaseUrl),_0x45eeae=await getFeatureReport(_0x55f494),_0x1c7886=new Map(_0x45eeae[_0x14b476(0x13b)]['map'](_0x14a245=>[_0x14a245['id'],_0x14a245])),_0xecca0e=await Promise['all'](_0x151ccf[_0x14b476(0xe7)](async _0x3d72ed=>{const _0x4540a4=_0x14b476,_0x469260=_0x1c7886['get'](_0x3d72ed['id']),_0x1324ff=_0x469260?.['linkedSession']??null;let _0x515a3e=[];if(_0x3d72ed['browserSessionId'])try{const {steps:_0x3e03ae}=await getBrowserSessionSteps(_0x3d72ed[_0x4540a4(0x146)]);_0x314d8b[_0x4540a4(0x193)](_0x3e03ae['length'],0x0)&&(_0x515a3e=_0x3e03ae['map'](_0x420195=>{const _0x21681a=_0x4540a4,_0x57ce24=_0x420195['assets']['find'](_0x3d9991=>_0x3d9991[_0x21681a(0x163)]==='screenshot'&&_0x3d9991[_0x21681a(0xf3)]==='after')??_0x420195['assets']['find'](_0x3fd2ac=>_0x3fd2ac['assetType']===_0x21681a(0x13a));let _0x292403=null,_0x212de0=null;if(_0x57ce24){const _0x5ecd2c=_0x57ce24['storage']['location']['split']('/')[_0x21681a(0x19b)]();_0x292403=_0x3f13d5+'/api/v1/mcp/browser-sessions/'+_0x3d72ed[_0x21681a(0x146)]+_0x21681a(0x156)+_0x5ecd2c,_0x5ecd2c&&(_0x212de0=_0x5ecd2c['replace'](/\.\w+$/,'')[_0x21681a(0x10a)](/^(key_)?\d+_/,'')[_0x21681a(0x10a)](/[-_]/g,'\x20'));}return{'description':_0x212de0||_0x420195[_0x21681a(0x14d)]||_0x420195['stepName']||_0x21681a(0x123)+_0x420195['position'],'screenshot':_0x292403,'is_key_step':_0x420195[_0x21681a(0x11a)]};}));}catch{}return _0x515a3e[_0x4540a4(0x185)]===0x0&&_0x1324ff?.[_0x4540a4(0xe9)]&&(_0x515a3e=_0x1324ff['screenshotUrls']['map']((_0x5d4770,_0x48f6dd)=>({'description':_0x4540a4(0x13e)+(_0x48f6dd+0x1),'screenshot':_0x5d4770,'is_key_step':![]}))),{'description':_0x3d72ed[_0x4540a4(0x14d)],'result':getScenarioResult(_0x3d72ed),'rationale':getScenarioRationale(_0x3d72ed,_0x1324ff?.['agentResponse']),'steps':_0x515a3e};})),_0x852c89={'url':_0x565d0f['dashboardUrl'],'scenarios':_0xecca0e};process[_0x14b476(0xb3)][_0x14b476(0xee)](_0x314d8b[_0x14b476(0xba)](JSON['stringify'](_0x852c89,null,0x2),'\x0a'));}export async function featureConcludeSession(_0xec255c){const _0xdacafd=_0x5d5956,_0x9cb1c7={'BdFgo':_0xdacafd(0x171),'JIlBo':function(_0x51547d,_0x3c4982){return _0x51547d(_0x3c4982);},'NCZwt':_0xdacafd(0x137),'TkKQB':'\x0a✅\x20Session\x20is\x20already\x20completed.','HmLmv':function(_0xee4921,_0x599a79){return _0xee4921!==_0x599a79;},'cQqpz':'in_progress','slanv':'\x0aConcluding\x20session...'},_0x2d73bb=_0xec255c||await getActiveFeatureId();if(!_0x2d73bb)throw new Error(_0x9cb1c7[_0xdacafd(0x1a0)]);const _0x4e64e2=await _0x9cb1c7[_0xdacafd(0xe1)](getFeature,_0x2d73bb);if(!_0x4e64e2[_0xdacafd(0xd1)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0xcf1d58}=await listFeatureSessions(_0x2d73bb),_0x2ace0c=_0xcf1d58['find'](_0x1c8513=>_0x1c8513['id']===_0x4e64e2[_0xdacafd(0xd1)]);if(!_0x2ace0c)throw new Error(_0x9cb1c7[_0xdacafd(0x128)]);if(_0x2ace0c['status']===_0xdacafd(0x11b)){console[_0xdacafd(0xd4)](_0x9cb1c7['TkKQB']);return;}if(_0x9cb1c7['HmLmv'](_0x2ace0c['status'],_0x9cb1c7[_0xdacafd(0x1a2)]))throw new Error(_0xdacafd(0x100)+_0x2ace0c['status']);console[_0xdacafd(0xd4)](_0x9cb1c7['slanv']),await concludeSession(_0x2d73bb,_0x4e64e2['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x2ace0c['iteration']+'\x20concluded.'),console[_0xdacafd(0xd4)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5994b5){const _0x3cdc82=_0x5d5956,_0x1fa361={'aGvWy':function(_0x3a1b40,_0x1e48d0){return _0x3a1b40(_0x1e48d0);},'MNPQO':_0x3cdc82(0x11b),'MRObw':'in_progress'},_0x480c79=_0x5994b5||await getActiveFeatureId();if(!_0x480c79)throw new Error(_0x3cdc82(0xb9));const _0x3d9ef2=await _0x1fa361[_0x3cdc82(0x182)](getFeature,_0x480c79);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x3d9ef2['name']+'\x0a');const {sessions:_0x579d72}=await listFeatureSessions(_0x480c79);if(_0x579d72[_0x3cdc82(0x185)]===0x0){console['log'](_0x3cdc82(0x190));return;}for(const _0x12798d of _0x579d72){const _0x172398=_0x12798d['status']===_0x1fa361[_0x3cdc82(0xff)]?'✅':_0x12798d['status']===_0x1fa361[_0x3cdc82(0xcc)]?'🔄':'▶️';console[_0x3cdc82(0xd4)](_0x172398+'\x20Session\x20'+_0x12798d[_0x3cdc82(0x122)]+'\x20('+_0x12798d['id']+')'),console['log'](_0x3cdc82(0x14e)+_0x12798d[_0x3cdc82(0xe0)]),console['log'](_0x3cdc82(0x178)+new Date(_0x12798d['createdAt'])[_0x3cdc82(0x11c)]()),_0x12798d['completedAt']&&console[_0x3cdc82(0xd4)](_0x3cdc82(0x167)+new Date(_0x12798d[_0x3cdc82(0xb2)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x1704c6,_0x1c319e){const _0x51f6b2=_0x5d5956,_0x2472d2={'cSRQE':function(_0x50a672,_0x48c418){return _0x50a672(_0x48c418);},'jzdWI':function(_0xcd6312,_0x1e5e61,_0x184dec){return _0xcd6312(_0x1e5e61,_0x184dec);},'syGsj':function(_0x194346,_0x4af2ee,_0x43c827){return _0x194346(_0x4af2ee,_0x43c827);}},_0x38b4fa=_0x1c319e||await getActiveFeatureId();if(!_0x38b4fa)throw new Error(_0x51f6b2(0x171));const _0x50b13d=await _0x2472d2['cSRQE'](getFeature,_0x38b4fa);if(_0x50b13d['latestReview']&&!_0x50b13d[_0x51f6b2(0xf5)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x50b13d[_0x51f6b2(0x102)]);await _0x2472d2[_0x51f6b2(0xc1)](createChecklistItem,_0x38b4fa,_0x1704c6);const _0x3e95a6=await getFeature(_0x38b4fa);console['log'](_0x51f6b2(0x117)),_0x2472d2['syGsj'](displayFeature,_0x3e95a6,_0x3e95a6[_0x51f6b2(0x13b)]);}export async function featureEditScenario(_0x2bfa67,_0x350341){const _0x136199=_0x5d5956,_0x2e26de={'aHWAJ':_0x136199(0x119),'Cixjr':function(_0x15af54,_0x4526ad){return _0x15af54(_0x4526ad);},'NkZwQ':'Please\x20finish\x20your\x20review\x20first:','nBuyR':function(_0x5dbc8b,_0x2390fc){return _0x5dbc8b===_0x2390fc;},'yXwYF':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','CbcTR':_0x136199(0xfd),'gpzko':function(_0x16ff05,_0x270202){return _0x16ff05+_0x270202;},'VmMeM':function(_0x9d386f,_0x46c62e){return _0x9d386f-_0x46c62e;},'WRrSn':function(_0x9b7e7d,_0x4e411a){return _0x9b7e7d>=_0x4e411a;},'csTGG':function(_0x17f02a,_0x4b24a7){return _0x17f02a<_0x4b24a7;},'sLwVw':function(_0x4cd70d,_0x464008){return _0x4cd70d(_0x464008);},'EpJEh':function(_0xae8544,_0x1592d3,_0x574bd9){return _0xae8544(_0x1592d3,_0x574bd9);}},_0x3ac923=_0x350341['id']||await getActiveFeatureId();!_0x3ac923&&(console['error'](_0x2e26de[_0x136199(0x15b)]),console[_0x136199(0x160)](_0x136199(0x12c)),process[_0x136199(0xf6)](0x1));const _0x29ce53=await _0x2e26de['Cixjr'](getFeature,_0x3ac923);_0x29ce53['latestReview']&&!_0x29ce53['latestReview'][_0x136199(0x113)]&&(console[_0x136199(0x160)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console['error'](_0x2e26de[_0x136199(0x1a6)]),console[_0x136199(0x160)]('\x20\x20'+_0x29ce53['dashboardUrl']),process[_0x136199(0xf6)](0x1));const _0x4ea700=_0x29ce53['checklistItems']||[];_0x2e26de[_0x136199(0x164)](_0x4ea700['length'],0x0)&&(console['error'](_0x2e26de[_0x136199(0x16b)]),process[_0x136199(0xf6)](0x1));if(_0x350341['scenario']===undefined){console['error'](_0x136199(0x101)),console['log'](_0x2e26de[_0x136199(0x15a)]);for(let _0x5ea496=0x0;_0x5ea496<_0x4ea700[_0x136199(0x185)];_0x5ea496++){console['log']('\x20\x20'+_0x2e26de[_0x136199(0xfa)](_0x5ea496,0x1)+'.\x20'+_0x4ea700[_0x5ea496]['description']);}process['exit'](0x1);}const _0x593a8c=_0x2e26de[_0x136199(0x125)](_0x350341[_0x136199(0x16f)],0x1);if(_0x593a8c<0x0||_0x2e26de[_0x136199(0x105)](_0x593a8c,_0x4ea700[_0x136199(0x185)])){console[_0x136199(0x160)](_0x136199(0x19a)+_0x350341[_0x136199(0x16f)]+'.\x20Feature\x20review\x20has\x20'+_0x4ea700[_0x136199(0x185)]+_0x136199(0x1a4)),console[_0x136199(0xd4)]('\x0aAvailable\x20scenarios:');for(let _0x1069cb=0x0;_0x2e26de['csTGG'](_0x1069cb,_0x4ea700['length']);_0x1069cb++){console[_0x136199(0xd4)]('\x20\x20'+_0x2e26de[_0x136199(0xfa)](_0x1069cb,0x1)+'.\x20'+_0x4ea700[_0x1069cb][_0x136199(0x14d)]);}process[_0x136199(0xf6)](0x1);}const _0x1130da=_0x4ea700[_0x593a8c];await updateChecklistItem(_0x3ac923,_0x1130da['id'],{'description':_0x2bfa67});const _0x4522b3=await _0x2e26de['sLwVw'](getFeature,_0x3ac923);console[_0x136199(0xd4)]('\x0a✅\x20Scenario\x20updated'),_0x2e26de[_0x136199(0x17e)](displayFeature,_0x4522b3,_0x4522b3[_0x136199(0x13b)]);}async function downloadFeedbackImage(_0x2f9eb1,_0x2d928f){const _0x15e434=_0x5d5956,_0x48eac0={'TTuyw':'feedback-images','SfufA':function(_0x4e9588,_0x4a1b25,_0x3e2f02){return _0x4e9588(_0x4a1b25,_0x3e2f02);},'OvHpV':function(_0x346fe9,_0x355e9b){return _0x346fe9(_0x355e9b);}};try{const _0x3028b2=join(getRangerDir(),_0x48eac0['TTuyw']);await mkdir(_0x3028b2,{'recursive':!![]});const _0xbabb13=_0x48eac0['SfufA'](join,_0x3028b2,_0x15e434(0x131)+_0x2d928f+_0x15e434(0x116)),_0x4330b9=await _0x48eac0['OvHpV'](fetch,_0x2f9eb1);if(!_0x4330b9['ok'])return null;const _0x4436bf=Buffer['from'](await _0x4330b9['arrayBuffer']());return await writeFile(_0xbabb13,_0x4436bf),_0xbabb13;}catch{return null;}}export async function featureGetReview(_0x53c2a4){const _0x43a207=_0x5d5956,_0x24cd06={'IVRqN':function(_0x515bcd){return _0x515bcd();},'iuwhg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','tutNj':function(_0x20649b,_0x1c5c22){return _0x20649b(_0x1c5c22);},'EzeLW':function(_0x3138d0,_0x40f40e){return _0x3138d0===_0x40f40e;},'iCdZZ':_0x43a207(0xc7),'ShgdV':function(_0x209a7a,_0x48fed4){return _0x209a7a<_0x48fed4;},'QBuHX':function(_0x36ae8f,_0x4e82b4){return _0x36ae8f>_0x4e82b4;},'TtLzY':function(_0x316095,_0x289869,_0x4541ca){return _0x316095(_0x289869,_0x4541ca);},'lzYDe':function(_0x46ad82,_0x3edd80){return _0x46ad82+_0x3edd80;},'RTxYo':_0x43a207(0xdb),'LdNsD':function(_0x8ebb22,_0x5c525e){return _0x8ebb22+_0x5c525e;}},_0x1a1ff4=_0x53c2a4||await _0x24cd06[_0x43a207(0x127)](getActiveFeatureId);if(!_0x1a1ff4)throw new Error(_0x24cd06[_0x43a207(0x159)]);const _0xa55bb3=await _0x24cd06[_0x43a207(0x12a)](getFeature,_0x1a1ff4),{items:_0x43d673}=await getActionItems(_0x1a1ff4);console[_0x43a207(0xd4)](_0x43a207(0x153)+_0xa55bb3[_0x43a207(0xc2)]+'\x20('+_0xa55bb3['id']+')\x0a');if(_0x24cd06[_0x43a207(0x157)](_0x43d673[_0x43a207(0x185)],0x0)){console[_0x43a207(0xd4)](_0x24cd06['iCdZZ']);return;}for(let _0x2e16e3=0x0;_0x24cd06['ShgdV'](_0x2e16e3,_0x43d673['length']);_0x2e16e3++){const _0x180c23=_0x43d673[_0x2e16e3],_0xfda70d=_0x24cd06['QBuHX'](_0x180c23['version'],0x1)?_0x43a207(0x199)+_0x180c23['version']+')':'',_0x33a977=await _0x24cd06[_0x43a207(0xb4)](getItemFeedback,_0x1a1ff4,_0x180c23['id']);if(_0x33a977['unaddressedComments']['length']>0x0){console['log'](_0x43a207(0x10d)+_0x24cd06[_0x43a207(0xd3)](_0x2e16e3,0x1)+_0x43a207(0x12b)+_0x180c23['description']+'\x22'+_0xfda70d+'\x20—\x20'+_0x33a977['unaddressedComments'][_0x43a207(0x185)]+_0x43a207(0xfc));for(const _0x54d387 of _0x33a977[_0x43a207(0x17c)]){const _0x55e566=new Date(_0x54d387['createdAt'])[_0x43a207(0x132)](_0x43a207(0xc9),{'month':_0x24cd06['RTxYo'],'day':_0x43a207(0x13c)}),_0x4a8d98=_0x54d387[_0x43a207(0x19f)]||_0x54d387[_0x43a207(0x196)]||_0x43a207(0xe3);console['log'](_0x43a207(0x135)+_0x4a8d98+'\x20('+_0x55e566+'):\x20\x22'+_0x54d387[_0x43a207(0x1a7)]+'\x22');if(_0x54d387[_0x43a207(0x136)]){const _0x565090=await downloadFeedbackImage(_0x54d387['assetUrl'],_0x54d387['id']);_0x565090&&console[_0x43a207(0xd4)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x565090);}if(_0x54d387['domRef']){const _0x2ac355=_0x54d387[_0x43a207(0xc0)][_0x43a207(0xd5)]['split'](_0x43a207(0x18a))[_0x43a207(0x19b)]()?.[_0x43a207(0x14b)](':')[0x0]||'element',_0x8fdb5=_0x54d387['domRef'][_0x43a207(0xf2)]?'\x20\x22'+_0x54d387[_0x43a207(0xc0)][_0x43a207(0xf2)]['slice'](0x0,0x3c)+'\x22':'';console[_0x43a207(0xd4)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x2ac355+'>'+_0x8fdb5),console[_0x43a207(0xd4)](_0x43a207(0xec)+_0x54d387['domRef']['selector']);}else{if(_0x54d387[_0x43a207(0x17f)]){const _0x4c657d=_0x54d387['spatial'][_0x43a207(0x197)];_0x24cd06[_0x43a207(0x157)](_0x54d387[_0x43a207(0x17f)][_0x43a207(0x112)],_0x43a207(0x174))&&_0x4c657d[_0x43a207(0x185)]>=0x2?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4c657d[0x0][_0x43a207(0x184)](0x2)+',\x20'+_0x4c657d[0x1][_0x43a207(0x184)](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x54d387[_0x43a207(0x17f)][_0x43a207(0x112)]+_0x43a207(0x147)+_0x4c657d[_0x43a207(0xe7)](_0x4931fe=>_0x4931fe[_0x43a207(0x184)](0x2))[_0x43a207(0x14a)](',\x20')+']');}}}if(_0x33a977[_0x43a207(0x189)]){console['log'](_0x43a207(0x188));for(const _0x1f3f86 of _0x33a977[_0x43a207(0x189)][_0x43a207(0x14b)]('\x0a')){console[_0x43a207(0xd4)](_0x43a207(0xe5)+_0x1f3f86);}}}else console[_0x43a207(0xd4)]('Scenario\x20'+_0x24cd06['LdNsD'](_0x2e16e3,0x1)+':\x20\x22'+_0x180c23['description']+'\x22'+_0xfda70d+'\x20—\x20no\x20comments'),console[_0x43a207(0xd4)](_0x43a207(0xc5));console[_0x43a207(0xd4)]('');}}export async function featureDelete(_0x744bfd){const _0x5be361=_0x5d5956,_0x4364bb={'zZXvm':_0x5be361(0x171),'RprKc':function(_0x821403,_0x33b91d){return _0x821403(_0x33b91d);},'PKWtL':_0x5be361(0xb8)},_0x90ac8f=_0x744bfd||await getActiveFeatureId();if(!_0x90ac8f)throw new Error(_0x4364bb['zZXvm']);const _0x427f95=await _0x4364bb['RprKc'](getFeature,_0x90ac8f);await softDeleteFeature(_0x90ac8f),console[_0x5be361(0xd4)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x427f95[_0x5be361(0xc2)]+'\x20('+_0x90ac8f+')'),console[_0x5be361(0xd4)](_0x4364bb[_0x5be361(0xcd)]+_0x90ac8f);}export async function featureRestore(_0x14dbf5){const _0x3b6134=_0x5d5956,_0x3c35f9={'jNOeU':function(_0x429246,_0x15ee57){return _0x429246(_0x15ee57);}};await _0x3c35f9['jNOeU'](restoreFeature,_0x14dbf5);const _0x539fb4=await getFeature(_0x14dbf5);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x539fb4['name']+'\x20('+_0x14dbf5+')'),displayFeature(_0x539fb4,_0x539fb4[_0x3b6134(0x13b)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x501fd6,_0x18cbac){const _0x348a1c=_0x5073,_0x55a98b=_0x501fd6();while(!![]){try{const _0x1a19d0=-parseInt(_0x348a1c(0xa3))/0x1*(parseInt(_0x348a1c(0x9e))/0x2)+parseInt(_0x348a1c(0xa1))/0x3+parseInt(_0x348a1c(0xa0))/0x4*(-parseInt(_0x348a1c(0x9f))/0x5)+-parseInt(_0x348a1c(0x9b))/0x6+-parseInt(_0x348a1c(0xa4))/0x7*(parseInt(_0x348a1c(0x9c))/0x8)+-parseInt(_0x348a1c(0x97))/0x9+parseInt(_0x348a1c(0x96))/0xa*(parseInt(_0x348a1c(0x99))/0xb);if(_0x1a19d0===_0x18cbac)break;else _0x55a98b['push'](_0x55a98b['shift']());}catch(_0x3248e0){_0x55a98b['push'](_0x55a98b['shift']());}}}(_0x6dd8,0x1db49));function _0x5073(_0x261361,_0x3cfde0){_0x261361=_0x261361-0x96;const _0x6dd8ab=_0x6dd8();let _0x5073b3=_0x6dd8ab[_0x261361];return _0x5073b3;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x51937d=_0x5073,_0x1cd7c6={'RsDPY':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x3453c6=()=>{process['exit'](0x0);};process[_0x51937d(0x9d)]('SIGINT',_0x3453c6),process['once']('SIGTERM',_0x3453c6),process['once'](_0x1cd7c6['RsDPY'],_0x3453c6),cancellationHandlersInstalled=!![];}export async function hook(_0x546306,_0x2e4783){const _0x434fce=_0x5073;installCancellationHandlers();const _0x32850=HOOKS[_0x546306];if(!_0x32850){const _0x6651b9=Object[_0x434fce(0x98)](HOOKS)[_0x434fce(0xa2)](',\x20');console['error'](_0x434fce(0x9a)+_0x546306),console['error']('Valid\x20hooks:\x20'+_0x6651b9),process['exit'](0x1);}await _0x32850(_0x2e4783);}function _0x6dd8(){const _0x13ec80=['358230Vgdqks','4YbXgsk','660081NYUFiH','join','168394GuvnwK','875GDfIjL','4021430yqmLkS','1735929pBYEGJ','keys','11juBzrS','Unknown\x20hook:\x20','382206aSTQMi','248KmtXFI','once','2dgQoET'];_0x6dd8=function(){return _0x13ec80;};return _0x6dd8();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x34ec(){const _0x5b1ce9=['2682260GeDuYN','session_id','15mdoSfk','104267Giqceo','192330cEuFZS','6OuEAWy','16513970eSeuNV','291426UzNLGn','656KQiqmA','5661908FkcCxj','136qUUEhM','log','11925QlWuDs','Pgpvb'];_0x34ec=function(){return _0x5b1ce9;};return _0x34ec();}(function(_0x58f0fb,_0x52c803){const _0x2198a0=_0x43f6,_0x308ab1=_0x58f0fb();while(!![]){try{const _0x288211=-parseInt(_0x2198a0(0x1cc))/0x1*(parseInt(_0x2198a0(0x1ce))/0x2)+-parseInt(_0x2198a0(0x1c7))/0x3*(parseInt(_0x2198a0(0x1d1))/0x4)+-parseInt(_0x2198a0(0x1cb))/0x5*(parseInt(_0x2198a0(0x1d0))/0x6)+parseInt(_0x2198a0(0x1d2))/0x7+parseInt(_0x2198a0(0x1d3))/0x8*(-parseInt(_0x2198a0(0x1cd))/0x9)+-parseInt(_0x2198a0(0x1c9))/0xa+parseInt(_0x2198a0(0x1cf))/0xb;if(_0x288211===_0x52c803)break;else _0x308ab1['push'](_0x308ab1['shift']());}catch(_0x49b9e7){_0x308ab1['push'](_0x308ab1['shift']());}}}(_0x34ec,0x8ab78));import{readHookInput}from'./output.js';function _0x43f6(_0x233930,_0x36f377){_0x233930=_0x233930-0x1c6;const _0x34ecdb=_0x34ec();let _0x43f668=_0x34ecdb[_0x233930];return _0x43f668;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT='\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.';export async function autoPrompt(){const _0x32662d=_0x43f6,_0x1bd220={'Pgpvb':function(_0x26768e){return _0x26768e();},'xEEYp':'off','mUkYT':function(_0x43787a,_0x1a3d44){return _0x43787a(_0x1a3d44);}};if(_0x1bd220[_0x32662d(0x1c8)](resolveHookMode)===_0x1bd220['xEEYp'])return;const _0x4451fe=await readHookInput(),_0x80f97=_0x4451fe?.[_0x32662d(0x1ca)];if(!_0x80f97)return;if(_0x1bd220['mUkYT'](isSessionEnabled,_0x80f97)||_0x1bd220['mUkYT'](hasSessionBeenPrompted,_0x80f97))return;markSessionPrompted(_0x80f97),console[_0x32662d(0x1c6)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x52e1ff,_0x3041ef){const _0x3e67ff=_0x580c,_0x5731e0=_0x52e1ff();while(!![]){try{const _0x401b27=parseInt(_0x3e67ff(0x73))/0x1+parseInt(_0x3e67ff(0x79))/0x2+parseInt(_0x3e67ff(0x71))/0x3*(-parseInt(_0x3e67ff(0x6f))/0x4)+parseInt(_0x3e67ff(0x70))/0x5+-parseInt(_0x3e67ff(0x78))/0x6+parseInt(_0x3e67ff(0x74))/0x7+-parseInt(_0x3e67ff(0x72))/0x8*(-parseInt(_0x3e67ff(0x75))/0x9);if(_0x401b27===_0x3041ef)break;else _0x5731e0['push'](_0x5731e0['shift']());}catch(_0x2392be){_0x5731e0['push'](_0x5731e0['shift']());}}}(_0x595f,0xcbe03));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x595f(){const _0x57b0ba=['.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','5164020VOcxXD','1280366ENvUcy','334644MTXsLE','404025plalKI','15IgsUmG','375992HwOnYX','756402YBRVZu','3469641KxeKXc','27lAIePh','master'];_0x595f=function(){return _0x57b0ba;};return _0x595f();}function _0x580c(_0xb00fed,_0x5bf161){_0xb00fed=_0xb00fed-0x6f;const _0x595f01=_0x595f();let _0x580cc7=_0x595f01[_0xb00fed];return _0x580cc7;}import{printBlock}from'./output.js';export async function disable(_0x47dc8d){const _0x136367=_0x580c,_0x48bb44={'kYsBj':function(_0x2e6da1,_0x416f4e){return _0x2e6da1!==_0x416f4e;},'XeTCJ':_0x136367(0x76),'OGPrs':function(_0x41f5e9,_0x11dc0a){return _0x41f5e9!==_0x11dc0a;}},_0x3483d6=_0x47dc8d||process['env']['CLAUDE_SESSION_ID']||'';_0x3483d6&&disableSession(_0x3483d6);const _0x532ffb=getCurrentBranch();_0x532ffb&&_0x48bb44['kYsBj'](_0x532ffb,'main')&&_0x532ffb!==_0x48bb44['XeTCJ']&&disableBranch(_0x532ffb),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x532ffb&&_0x532ffb!=='main'&&_0x48bb44['OGPrs'](_0x532ffb,_0x136367(0x76))?'\x20and\x20branch\x20\x27'+_0x532ffb+'\x27':'')+_0x136367(0x77));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x12bfa6,_0xfd8e0b){const _0x33b172=_0x1a47,_0x247b76=_0x12bfa6();while(!![]){try{const _0x5d9813=-parseInt(_0x33b172(0x137))/0x1*(parseInt(_0x33b172(0x134))/0x2)+-parseInt(_0x33b172(0x13d))/0x3*(-parseInt(_0x33b172(0x13b))/0x4)+parseInt(_0x33b172(0x13c))/0x5+parseInt(_0x33b172(0x136))/0x6+-parseInt(_0x33b172(0x135))/0x7+parseInt(_0x33b172(0x133))/0x8+-parseInt(_0x33b172(0x138))/0x9;if(_0x5d9813===_0xfd8e0b)break;else _0x247b76['push'](_0x247b76['shift']());}catch(_0x4498be){_0x247b76['push'](_0x247b76['shift']());}}}(_0x5ba1,0x8b65e));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x5ba1(){const _0x359cf6=['5802MQdpdv','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','ranger\x20setup\x20--opencode','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','master','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','main','924216zXUktW','8546KcEogO','1644629fUqGAC','2600844UBBpRG','137HRruxB','11544363eXRYdA','#\x20RANGER\x20ENABLED','VmTOo','2188Iaxnnd','5335650tQuTGl'];_0x5ba1=function(){return _0x359cf6;};return _0x5ba1();}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x1a47(_0x41dcc1,_0x50f055){_0x41dcc1=_0x41dcc1-0x12d;const _0x5ba1eb=_0x5ba1();let _0x1a478b=_0x5ba1eb[_0x41dcc1];return _0x1a478b;}export async function enable(_0x272a06){const _0x3d58c9=_0x1a47,_0x18d7cf={'VmTOo':function(_0x35eb85,_0x49db56){return _0x35eb85(_0x49db56);},'uDSRJ':_0x3d58c9(0x12e),'jQMpu':function(_0x47c67b,_0x30d58d){return _0x47c67b(_0x30d58d);},'LMSNO':function(_0x16a83f,_0x4300d2){return _0x16a83f!==_0x4300d2;},'pPMlE':_0x3d58c9(0x132)},_0x4f1974=_0x272a06||process['env']['CLAUDE_SESSION_ID']||'',_0x1c42c3=_0x18d7cf[_0x3d58c9(0x13a)](Boolean,_0x272a06),_0x9bb647=await getToken();if(!_0x9bb647){const _0xa01b81=_0x1c42c3?_0x18d7cf['uDSRJ']:'ranger\x20setup',_0x19b916=_0x1c42c3?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x3d58c9(0x12d);_0x18d7cf['jQMpu'](printBlock,'#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0xa01b81+_0x3d58c9(0x131)+_0x19b916);return;}try{await update();}catch{}_0x4f1974&&enableSession(_0x4f1974);const _0x5288a9=getCurrentBranch(),_0x59c0e0=_0x5288a9&&_0x18d7cf['LMSNO'](_0x5288a9,_0x18d7cf['pPMlE'])&&_0x18d7cf['LMSNO'](_0x5288a9,_0x3d58c9(0x130))?'\x0a\x0a**Branch\x20\x27'+_0x5288a9+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x16798d=getRangerSkillContent();_0x18d7cf['jQMpu'](printBlock,_0x3d58c9(0x139)+_0x59c0e0+_0x3d58c9(0x12f)+_0x16798d+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x935050,_0x213ffc){const _0x27ef16=_0x229e,_0x38223e=_0x935050();while(!![]){try{const _0x3ea7c9=-parseInt(_0x27ef16(0x170))/0x1*(parseInt(_0x27ef16(0x16d))/0x2)+-parseInt(_0x27ef16(0x175))/0x3*(-parseInt(_0x27ef16(0x174))/0x4)+-parseInt(_0x27ef16(0x178))/0x5+-parseInt(_0x27ef16(0x171))/0x6*(parseInt(_0x27ef16(0x177))/0x7)+parseInt(_0x27ef16(0x173))/0x8*(-parseInt(_0x27ef16(0x16e))/0x9)+parseInt(_0x27ef16(0x16f))/0xa*(-parseInt(_0x27ef16(0x176))/0xb)+parseInt(_0x27ef16(0x172))/0xc;if(_0x3ea7c9===_0x213ffc)break;else _0x38223e['push'](_0x38223e['shift']());}catch(_0xb32fbf){_0x38223e['push'](_0x38223e['shift']());}}}(_0x3ec0,0xa870e));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x55e796){const _0x45372d={'IiWFJ':function(_0x43d443,_0x49344d){return _0x43d443(_0x49344d);},'PkpGb':function(_0xd4f719,_0x4f9089){return _0xd4f719(_0x4f9089);}},_0x1af84a=await _0x45372d['IiWFJ'](getEnabledSessionId,_0x55e796);if(!_0x1af84a)return;_0x45372d['PkpGb'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x229e(_0x2b23b7,_0x4b5dc7){_0x2b23b7=_0x2b23b7-0x16d;const _0x3ec055=_0x3ec0();let _0x229e68=_0x3ec055[_0x2b23b7];return _0x229e68;}function _0x3ec0(){const _0x535ea9=['10588PVsyZi','1542JJLxOt','2493854gpIpyc','7zgStmJ','5014950XgSqgt','1657386AdNTEC','12906DkQmMc','20vQmuXo','1XRtfTP','973314dVMOlC','23832840hAECXw','1168UFlhXi'];_0x3ec0=function(){return _0x535ea9;};return _0x3ec0();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x421324,_0x4ceadf){var _0x36e9c3=_0x25b0,_0xa456f3=_0x421324();while(!![]){try{var _0xa470a=-parseInt(_0x36e9c3(0x1e6))/0x1+-parseInt(_0x36e9c3(0x1e7))/0x2+-parseInt(_0x36e9c3(0x1e9))/0x3+-parseInt(_0x36e9c3(0x1ec))/0x4+-parseInt(_0x36e9c3(0x1ea))/0x5+parseInt(_0x36e9c3(0x1e8))/0x6+parseInt(_0x36e9c3(0x1eb))/0x7;if(_0xa470a===_0x4ceadf)break;else _0xa456f3['push'](_0xa456f3['shift']());}catch(_0x255120){_0xa456f3['push'](_0xa456f3['shift']());}}}(_0x3072,0xa2c0d));function _0x3072(){var _0x5ec6a6=['7361994LlWpNA','166548sgCZsb','4797430Mxvkvq','20781999qbaXyl','3724676XsaTNt','1144031IFmZgl','878034JPHGGy'];_0x3072=function(){return _0x5ec6a6;};return _0x3072();}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x25b0(_0x52941a,_0x4ba2b5){_0x52941a=_0x52941a-0x1e6;var _0x307243=_0x3072();var _0x25b015=_0x307243[_0x52941a];return _0x25b015;}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x254ad6,_0x4da5f9){const _0x494835=_0x4dab,_0x5b4b3e=_0x254ad6();while(!![]){try{const _0x27c5e1=-parseInt(_0x494835(0xf8))/0x1*(parseInt(_0x494835(0xf5))/0x2)+-parseInt(_0x494835(0xed))/0x3+-parseInt(_0x494835(0xf0))/0x4*(-parseInt(_0x494835(0xf6))/0x5)+-parseInt(_0x494835(0xef))/0x6+parseInt(_0x494835(0xf4))/0x7+-parseInt(_0x494835(0xec))/0x8+-parseInt(_0x494835(0xeb))/0x9*(-parseInt(_0x494835(0xee))/0xa);if(_0x27c5e1===_0x4da5f9)break;else _0x5b4b3e['push'](_0x5b4b3e['shift']());}catch(_0x5368fd){_0x5b4b3e['push'](_0x5b4b3e['shift']());}}}(_0x263b,0xc98cd));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x31f486){console['log'](_0x31f486);}export async function readHookInput(){const _0x53eec3=_0x4dab;let _0x3eb1ce='';try{for await(const _0x1a31a7 of process['stdin']){_0x3eb1ce+=_0x1a31a7;}}catch{return null;}if(!_0x3eb1ce[_0x53eec3(0xf1)]())return null;try{return JSON[_0x53eec3(0xf7)](_0x3eb1ce);}catch{return null;}}function _0x263b(){const _0x2cf5b2=['797176bDUxuZ','trim','XUWSo','ASnBa','10821951sNGFMS','2MvIsix','15FXrXCs','parse','1388447rgoiAz','24350211tCuwYg','9410760xTyyYA','3188025UXjOvU','10dzVOBB','2378628suSWGD'];_0x263b=function(){return _0x2cf5b2;};return _0x263b();}export async function getEnabledSessionId(_0x2dc6e6){const _0x4b108c=_0x4dab,_0x287331={'fHWyk':function(_0x5428a4){return _0x5428a4();},'ASnBa':function(_0x249bd1,_0x4e8255){return _0x249bd1(_0x4e8255);}};if(_0x2dc6e6)return isSessionEnabled(_0x2dc6e6)?_0x2dc6e6:null;const _0x382e49=await _0x287331['fHWyk'](readHookInput),_0x11fc51=_0x382e49?.['session_id'];if(!_0x11fc51||!_0x287331[_0x4b108c(0xf3)](isSessionEnabled,_0x11fc51))return null;return _0x11fc51;}function _0x4dab(_0x7987b0,_0x15ef99){_0x7987b0=_0x7987b0-0xeb;const _0x263b80=_0x263b();let _0x4dab19=_0x263b80[_0x7987b0];return _0x4dab19;}export async function getEnabledHookContext(_0x33e772){const _0xe3d470=_0x4dab,_0x43048b={'XUWSo':function(_0x26b430,_0x473584){return _0x26b430(_0x473584);}};if(_0x33e772){if(!isSessionEnabled(_0x33e772))return null;return{'sessionId':_0x33e772,'input':{'session_id':_0x33e772}};}const _0x1656f4=await readHookInput(),_0x26e52c=_0x1656f4?.['session_id'];if(!_0x26e52c||!_0x43048b[_0xe3d470(0xf2)](isSessionEnabled,_0x26e52c))return null;return{'sessionId':_0x26e52c,'input':_0x1656f4};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x598ccd,_0x1653f2){const _0x354e0c=_0x49ae,_0x3fff4d=_0x598ccd();while(!![]){try{const _0x3bb40d=parseInt(_0x354e0c(0xb8))/0x1*(-parseInt(_0x354e0c(0xba))/0x2)+parseInt(_0x354e0c(0xbc))/0x3+-parseInt(_0x354e0c(0xb5))/0x4*(-parseInt(_0x354e0c(0xbb))/0x5)+parseInt(_0x354e0c(0xb9))/0x6+-parseInt(_0x354e0c(0xbe))/0x7+-parseInt(_0x354e0c(0xb7))/0x8*(-parseInt(_0x354e0c(0xbd))/0x9)+parseInt(_0x354e0c(0xb4))/0xa*(parseInt(_0x354e0c(0xb6))/0xb);if(_0x3bb40d===_0x1653f2)break;else _0x3fff4d['push'](_0x3fff4d['shift']());}catch(_0x1274ae){_0x3fff4d['push'](_0x3fff4d['shift']());}}}(_0x1d02,0x3f4f3));import{printBlock,getEnabledHookContext}from'./output.js';function _0x49ae(_0x28ce5d,_0x1ae140){_0x28ce5d=_0x28ce5d-0xb4;const _0x1d0259=_0x1d02();let _0x49ae5c=_0x1d0259[_0x28ce5d];return _0x49ae5c;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x3b95c4){const _0x29be91={'HATAe':function(_0x53125c,_0x36c111){return _0x53125c(_0x36c111);},'ibYRb':function(_0x3d9322,_0x523f60){return _0x3d9322!==_0x523f60;}},_0x2b2258=await _0x29be91['HATAe'](getEnabledHookContext,_0x3b95c4);if(!_0x2b2258)return;if(_0x29be91['ibYRb'](_0x2b2258['input']['permission_mode'],'plan'))return;if(!shouldShowPlanReminder(_0x2b2258['sessionId']))return;_0x29be91['HATAe'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x1d02(){const _0x51d3d6=['176rjLkEW','16SKomWF','363587DNQvfe','877656WFIAjD','2JxBbXN','32055TinUWP','949368rUhQlu','144729BuHshF','1489558SWShkd','60740HcdYtr','152rinegk'];_0x1d02=function(){return _0x51d3d6;};return _0x1d02();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x11ab79,_0x12477b){const _0x169e0e=_0x3a0b,_0x42f255=_0x11ab79();while(!![]){try{const _0x403028=-parseInt(_0x169e0e(0x1ac))/0x1+-parseInt(_0x169e0e(0x1b2))/0x2*(-parseInt(_0x169e0e(0x1b1))/0x3)+parseInt(_0x169e0e(0x1b3))/0x4+parseInt(_0x169e0e(0x1b0))/0x5*(parseInt(_0x169e0e(0x1ad))/0x6)+-parseInt(_0x169e0e(0x1a9))/0x7*(-parseInt(_0x169e0e(0x1af))/0x8)+parseInt(_0x169e0e(0x1ae))/0x9*(-parseInt(_0x169e0e(0x1aa))/0xa)+-parseInt(_0x169e0e(0x1a8))/0xb;if(_0x403028===_0x12477b)break;else _0x42f255['push'](_0x42f255['shift']());}catch(_0x13201c){_0x42f255['push'](_0x42f255['shift']());}}}(_0xf93d,0xcc962));function _0xf93d(){const _0x3f9875=['4002901bjGdFm','406930jkJgxY','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===','348260qNXoRf','8597862bCBpiQ','9KMmBiK','16vQfFmp','5wdBGPv','4884693GRXHij','2uCdbiK','5764080lXiBun','48608725bWYkCP'];_0xf93d=function(){return _0x3f9875;};return _0xf93d();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x3a0b(_0x57acc7,_0x55e7fb){_0x57acc7=_0x57acc7-0x1a8;const _0xf93da8=_0xf93d();let _0x3a0b00=_0xf93da8[_0x57acc7];return _0x3a0b00;}export async function planStart(_0x485f5b){const _0x44739e=_0x3a0b,_0x3ef60b=await getEnabledSessionId(_0x485f5b);if(!_0x3ef60b)return;printBlock(_0x44739e(0x1ab));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2c5d(){const _0x1b69bc=['985580Fkruui','695904SHVRaA','63880AXUBci','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','log','rKhvN','862932phjzsT','208292WytRJG','12swYeqg','PostToolUse','270GkWYAT','stringify','28452NJvJqD','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).','21095nSFIIl','117usiuzY'];_0x2c5d=function(){return _0x1b69bc;};return _0x2c5d();}(function(_0x12fb9c,_0x554cbd){const _0x5c6673=_0x21f7,_0x1bef65=_0x12fb9c();while(!![]){try{const _0x5308a2=parseInt(_0x5c6673(0xaa))/0x1+parseInt(_0x5c6673(0x9f))/0x2*(parseInt(_0x5c6673(0xab))/0x3)+parseInt(_0x5c6673(0xa4))/0x4+parseInt(_0x5c6673(0xa1))/0x5*(-parseInt(_0x5c6673(0xad))/0x6)+-parseInt(_0x5c6673(0xa9))/0x7+parseInt(_0x5c6673(0xa5))/0x8*(parseInt(_0x5c6673(0xa2))/0x9)+-parseInt(_0x5c6673(0xa3))/0xa;if(_0x5308a2===_0x554cbd)break;else _0x1bef65['push'](_0x1bef65['shift']());}catch(_0x37fc88){_0x1bef65['push'](_0x1bef65['shift']());}}}(_0x2c5d,0x200d8));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x21f7(_0x358d84,_0x2046c8){_0x358d84=_0x358d84-0x9f;const _0x2c5dfa=_0x2c5d();let _0x21f72b=_0x2c5dfa[_0x358d84];return _0x21f72b;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x3be904){const _0x533a87=_0x21f7,_0x190e51={'rKhvN':function(_0x6493fb,_0x5cafd3){return _0x6493fb(_0x5cafd3);},'khGEI':function(_0x415e1d){return _0x415e1d();},'HfpVw':_0x533a87(0xac)},_0x3153dc=await _0x190e51[_0x533a87(0xa8)](getEnabledSessionId,_0x3be904);if(!_0x3153dc)return;updateBranchTracking(_0x3153dc);const _0x590d9e=await _0x190e51['khGEI'](getToken);if(!_0x590d9e)return;const _0x156621=getSessionEntry(_0x3153dc);if(_0x156621){const _0x2cbf8d={'hookSpecificOutput':{'hookEventName':_0x190e51['HfpVw'],'additionalContext':_0x533a87(0xa0)}};console[_0x533a87(0xa7)](JSON[_0x533a87(0xae)](_0x2cbf8d));return;}const _0x18718f={'hookSpecificOutput':{'hookEventName':_0x190e51['HfpVw'],'additionalContext':_0x533a87(0xa6)}};console['log'](JSON['stringify'](_0x18718f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2cd945,_0x481a67){const _0x359a03=_0x5473,_0x3cc1b6=_0x2cd945();while(!![]){try{const _0x42ff15=parseInt(_0x359a03(0x18c))/0x1*(parseInt(_0x359a03(0x18b))/0x2)+parseInt(_0x359a03(0x187))/0x3+parseInt(_0x359a03(0x184))/0x4*(parseInt(_0x359a03(0x189))/0x5)+parseInt(_0x359a03(0x183))/0x6*(parseInt(_0x359a03(0x186))/0x7)+-parseInt(_0x359a03(0x18d))/0x8+-parseInt(_0x359a03(0x188))/0x9*(parseInt(_0x359a03(0x185))/0xa)+parseInt(_0x359a03(0x18a))/0xb;if(_0x42ff15===_0x481a67)break;else _0x3cc1b6['push'](_0x3cc1b6['shift']());}catch(_0x2648a6){_0x3cc1b6['push'](_0x3cc1b6['shift']());}}}(_0x1305,0x568ee));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0xc14bb9){const _0x5450f2={'yTAdh':function(_0x548351){return _0x548351();}},_0x4131fc=await getEnabledSessionId(_0xc14bb9);if(!_0x4131fc)return;try{const _0x4e099a=await _0x5450f2['yTAdh'](getToken);if(!_0x4e099a)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}function _0x5473(_0x16de16,_0x5dff29){_0x16de16=_0x16de16-0x183;const _0x1305ab=_0x1305();let _0x54730c=_0x1305ab[_0x16de16];return _0x54730c;}function _0x1305(){const _0x50640e=['20JYiGiX','148423fxjeSd','51782VnJcpl','22gSytyW','2383816pEuyoK','2926338LhjpZV','189212ZLVyUo','10pIlboq','7HoThFD','39834xLZFGi','5587101LLJwBs'];_0x1305=function(){return _0x50640e;};return _0x1305();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x45e1(_0x3c2967,_0x3effd4){_0x3c2967=_0x3c2967-0x1cd;const _0x5b09f7=_0x5b09();let _0x45e1fd=_0x5b09f7[_0x3c2967];return _0x45e1fd;}function _0x5b09(){const _0xb92083=['344016Crazel','51355ppHNBL','68049OpkkYK','36QpybYe','938520WZxKbZ','1000835ADdZCd','63bPwZWF','2774868yOyBFB','SGvJR','522DsmaZo','clear','340pVUkSk','reason','209yNSgvP','327736wyRbBb'];_0x5b09=function(){return _0xb92083;};return _0x5b09();}(function(_0x4ad08b,_0x39f7c8){const _0x12004e=_0x45e1,_0xf5c028=_0x4ad08b();while(!![]){try{const _0xa4fb44=-parseInt(_0x12004e(0x1d8))/0x1+-parseInt(_0x12004e(0x1d3))/0x2+-parseInt(_0x12004e(0x1d6))/0x3*(parseInt(_0x12004e(0x1d2))/0x4)+parseInt(_0x12004e(0x1d4))/0x5*(-parseInt(_0x12004e(0x1cd))/0x6)+-parseInt(_0x12004e(0x1d9))/0x7*(parseInt(_0x12004e(0x1d7))/0x8)+-parseInt(_0x12004e(0x1d5))/0x9*(-parseInt(_0x12004e(0x1cf))/0xa)+parseInt(_0x12004e(0x1d1))/0xb*(parseInt(_0x12004e(0x1da))/0xc);if(_0xa4fb44===_0x39f7c8)break;else _0xf5c028['push'](_0xf5c028['shift']());}catch(_0x397a8c){_0xf5c028['push'](_0xf5c028['shift']());}}}(_0x5b09,0x85180));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x3e5a59){const _0x195100=_0x45e1,_0xdb5ccc={'SGvJR':_0x195100(0x1ce)},_0x333245=process['env']['CLAUDE_SESSION_ID'];let _0x50f078=_0x3e5a59,_0x4e47ed;if(!_0x3e5a59){if(_0x333245&&!isSessionEnabled(_0x333245))return;const _0x25c510=await readHookInput();_0x50f078=_0x25c510?.['session_id']||_0x333245,_0x4e47ed=_0x25c510?.[_0x195100(0x1d0)];}if(!_0x50f078)return;_0x4e47ed===_0xdb5ccc[_0x195100(0x1db)]&&recordEnabledSessionCleared(_0x50f078);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x138b54,_0x5953fc){const _0x4b5311=_0x3209,_0x37b6fc=_0x138b54();while(!![]){try{const _0x4db9b1=parseInt(_0x4b5311(0x10a))/0x1*(parseInt(_0x4b5311(0x10d))/0x2)+parseInt(_0x4b5311(0x113))/0x3*(parseInt(_0x4b5311(0x10c))/0x4)+parseInt(_0x4b5311(0x101))/0x5+parseInt(_0x4b5311(0xff))/0x6+-parseInt(_0x4b5311(0xfa))/0x7+parseInt(_0x4b5311(0x112))/0x8+-parseInt(_0x4b5311(0xf9))/0x9;if(_0x4db9b1===_0x5953fc)break;else _0x37b6fc['push'](_0x37b6fc['shift']());}catch(_0x4ea76b){_0x37b6fc['push'](_0x37b6fc['shift']());}}}(_0x441f,0xe2b4d));function _0x441f(){const _0xbc3e1d=['sUWyp','Nqypd','1499348HxNXDh','OVvhl','791860wgelXP','2UzkXLF','nazvC','session_id','log','CLAUDE_ENV_FILE','403392nNralm','3MsRJAO','XOrQt','source','15424209lCStpt','8648878YeaZWs','env','lsmlW','stdin','export\x20CLAUDE_SESSION_ID=\x22','2799066LxUFlW','IYmMw','8318480LILclN','sknqk','trackCommandEnd','main','master','SessionStart','success'];_0x441f=function(){return _0xbc3e1d;};return _0x441f();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x3209(_0x162afc,_0x32a6d4){_0x162afc=_0x162afc-0xf9;const _0x441feb=_0x441f();let _0x32098c=_0x441feb[_0x162afc];return _0x32098c;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0xca9fe){const _0x8ce517=_0x3209,_0x4beb96={'sXmsX':function(_0x2793fc,_0x1e8f66){return _0x2793fc||_0x1e8f66;},'NFRQR':function(_0x668c4a,_0x1f0a1f){return _0x668c4a&&_0x1f0a1f;},'DwWJv':function(_0x6cb7ba,_0x3abff2,_0x24190d){return _0x6cb7ba(_0x3abff2,_0x24190d);},'sUWyp':function(_0x2d2664,_0x132048){return _0x2d2664(_0x132048);},'sknqk':function(_0x5b4793,_0x382e9d){return _0x5b4793(_0x382e9d);},'VWmHB':function(_0x14c55b,_0xbf825f){return _0x14c55b(_0xbf825f);},'Nqypd':function(_0x44920f){return _0x44920f();},'OVvhl':function(_0x2d9ab2,_0x1b9667){return _0x2d9ab2(_0x1b9667);},'IYmMw':function(_0x2a2ba2,_0x2064a6){return _0x2a2ba2(_0x2064a6);},'XOrQt':function(_0x369b55,_0x1aaadf){return _0x369b55!==_0x1aaadf;},'nazvC':_0x8ce517(0x106),'lsmlW':function(_0x5351fd,_0x497e3c){return _0x5351fd+_0x497e3c;}};let _0x2e6d10=_0x4beb96['sXmsX'](_0xca9fe,''),_0x4808f9;if(!_0xca9fe){let _0xc4b5fc='';for await(const _0x25f550 of process[_0x8ce517(0xfd)]){_0xc4b5fc+=_0x25f550;}try{const _0xa5e589=JSON['parse'](_0xc4b5fc);_0x2e6d10=_0xa5e589[_0x8ce517(0x10f)]||'',_0x4808f9=_0xa5e589[_0x8ce517(0x115)];}catch{}const _0xdff244=process[_0x8ce517(0xfb)][_0x8ce517(0x111)];if(_0x4beb96['NFRQR'](_0xdff244,_0x2e6d10))try{await _0x4beb96['DwWJv'](appendFile,_0xdff244,_0x8ce517(0xfe)+_0x2e6d10+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x2e6d10){_0x4beb96[_0x8ce517(0x108)](shouldAutoEnableAfterClear,_0x4808f9)&&_0x4beb96[_0x8ce517(0x102)](autoEnableAfterClear,_0x2e6d10);_0x4beb96['VWmHB'](initBranchTracking,_0x2e6d10);_0x4beb96[_0x8ce517(0x109)](resolveHookMode)==='on'&&_0x4beb96[_0x8ce517(0x10b)](enableSession,_0x2e6d10);const _0x3ec4d7=isSessionEnabled(_0x2e6d10);try{const _0x108f06=_0x4beb96[_0x8ce517(0x100)](createTelemetryCollector,'hook:session-start');await _0x108f06['trackCommandStart']({'sessionId':_0x2e6d10,'hooksEnabled':_0x3ec4d7}),await _0x108f06[_0x8ce517(0x103)](_0x8ce517(0x107));}catch{}if(_0x3ec4d7){const _0x4bdab2=_0x4beb96['Nqypd'](getCurrentBranch),_0x16112f=_0x4bdab2&&_0x4bdab2!==_0x8ce517(0x104)&&_0x4beb96[_0x8ce517(0x114)](_0x4bdab2,_0x8ce517(0x105))?'\x20(Branch:\x20'+_0x4bdab2+')':'',_0x4152b1={'hookSpecificOutput':{'hookEventName':_0x4beb96[_0x8ce517(0x10e)],'additionalContext':_0x4beb96[_0x8ce517(0xfc)](RANGER_AUTO_ENABLED_PROMPT,_0x16112f)}};console[_0x8ce517(0x110)](JSON['stringify'](_0x4152b1));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4bc6d7,_0x430e83){const _0x3e7dd1=_0x2201,_0x32bd77=_0x4bc6d7();while(!![]){try{const _0x6bc243=-parseInt(_0x3e7dd1(0x1ac))/0x1*(parseInt(_0x3e7dd1(0x1a7))/0x2)+-parseInt(_0x3e7dd1(0x1b1))/0x3+parseInt(_0x3e7dd1(0x1aa))/0x4+parseInt(_0x3e7dd1(0x1a9))/0x5*(parseInt(_0x3e7dd1(0x1af))/0x6)+-parseInt(_0x3e7dd1(0x1b2))/0x7*(-parseInt(_0x3e7dd1(0x1b6))/0x8)+-parseInt(_0x3e7dd1(0x1a8))/0x9+parseInt(_0x3e7dd1(0x1b0))/0xa;if(_0x6bc243===_0x430e83)break;else _0x32bd77['push'](_0x32bd77['shift']());}catch(_0x4f62d6){_0x32bd77['push'](_0x32bd77['shift']());}}}(_0x58ca,0x2ce3a));function _0x2201(_0xb12611,_0x62a339){_0xb12611=_0xb12611-0x1a7;const _0x58ca6e=_0x58ca();let _0x22014f=_0x58ca6e[_0xb12611];return _0x22014f;}import{getToken}from'../utils/keychain.js';function _0x58ca(){const _0x519213=['stringify','status','138yyPiGJ','1256544cgPquG','341345qqxgwE','315376kSSLue','trackCommandEnd','5202wzDIQH','sessionId','HXKyP','6WWbbaz','7070740nCejoL','871860sshbov','7OxtoCK','some','hook:stop','featureId','950824DAjFix','kcMDU','trackCommandStart','RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20','log','Stop'];_0x58ca=function(){return _0x519213;};return _0x58ca();}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0xf94a0e){const _0x2a046a=_0x2201,_0x1cccc4={'kcMDU':function(_0x28a18d,_0x595b78){return _0x28a18d(_0x595b78);},'ElhpB':_0x2a046a(0x1bb),'efrXk':function(_0x2ff2ef,_0x2c88eb,_0x4b746d,_0x71f29e){return _0x2ff2ef(_0x2c88eb,_0x4b746d,_0x71f29e);}},_0x1c23b5=await _0x1cccc4['kcMDU'](getEnabledHookContext,_0xf94a0e),_0x44c403=_0x1c23b5?.[_0x2a046a(0x1ad)]??null;let _0x17d2e8=!![];if(!_0x44c403){await trackStop(_0x44c403,![],_0x17d2e8);return;}try{const _0x59d807=getSessionEntry(_0x44c403);if(!_0x59d807){await trackStop(_0x44c403,!![],_0x17d2e8);return;}const _0x1e9d40=await getToken(),_0x4de82a='https://dashboard.ranger.net/features/'+_0x59d807['featureId'];let _0x10b934=null,_0x3585c0=![],_0x3b7674=![];if(_0x1e9d40)try{const _0x2da885=await getFeature(_0x59d807[_0x2a046a(0x1b5)]);_0x10b934=_0x2da885['currentSessionId']??null;const _0x436c27=_0x2da885['checklistItems']['filter'](_0x519112=>_0x519112['sessionId']===_0x10b934);_0x3585c0=_0x436c27[_0x2a046a(0x1b3)](_0x29fff8=>_0x29fff8['status']!=='verified'&&_0x29fff8[_0x2a046a(0x1bd)]!=='blocked'&&_0x29fff8[_0x2a046a(0x1bd)]!=='closed'&&_0x29fff8[_0x2a046a(0x1bd)]!=='incomplete'),_0x3b7674=_0x436c27[_0x2a046a(0x1b3)](_0x4c318e=>_0x4c318e['status']==='verification_in_progress');}catch{}if(_0x1e9d40&&_0x10b934&&_0x3585c0){if(!_0x3b7674&&_0x1cccc4[_0x2a046a(0x1b7)](shouldShowStopReminder,_0x44c403)){const _0x59b509={'hookSpecificOutput':{'hookEventName':_0x1cccc4['ElhpB'],'additionalContext':_0x2a046a(0x1b9)+_0x4de82a}};console[_0x2a046a(0x1ba)](JSON[_0x2a046a(0x1bc)](_0x59b509));}}if(_0x1e9d40&&_0x10b934&&!_0x3585c0)try{await concludeSession(_0x59d807['featureId'],_0x10b934);}catch{}await _0x1cccc4['efrXk'](trackStop,_0x44c403,!![],_0x17d2e8);return;}catch{await trackStop(_0x44c403,!![],_0x17d2e8);return;}}async function trackStop(_0x2ea343,_0x27bc3b,_0x12effd){const _0x158c0e=_0x2201,_0x4fcd2f={'HXKyP':_0x158c0e(0x1b4),'VNcTq':function(_0x35d786,_0x345b06){return _0x35d786??_0x345b06;}};try{const _0x47128d=createTelemetryCollector(_0x4fcd2f[_0x158c0e(0x1ae)]);await _0x47128d[_0x158c0e(0x1b8)]({'sessionId':_0x4fcd2f['VNcTq'](_0x2ea343,undefined),'hooksEnabled':_0x27bc3b,'stopAllowed':_0x12effd}),await _0x47128d[_0x158c0e(0x1ab)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24fe5b,_0x10b675){var _0x1bbb51=_0x403a,_0x821093=_0x24fe5b();while(!![]){try{var _0x2b34cd=parseInt(_0x1bbb51(0x1d3))/0x1*(-parseInt(_0x1bbb51(0x1cd))/0x2)+parseInt(_0x1bbb51(0x1d2))/0x3+-parseInt(_0x1bbb51(0x1d4))/0x4+-parseInt(_0x1bbb51(0x1d1))/0x5+-parseInt(_0x1bbb51(0x1d5))/0x6*(parseInt(_0x1bbb51(0x1cf))/0x7)+-parseInt(_0x1bbb51(0x1ce))/0x8+parseInt(_0x1bbb51(0x1d0))/0x9;if(_0x2b34cd===_0x10b675)break;else _0x821093['push'](_0x821093['shift']());}catch(_0x5dbf47){_0x821093['push'](_0x821093['shift']());}}}(_0x1ed0,0x6a649));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x1ed0(){var _0x403880=['2989420QzbyAk','1838961qDVNyJ','184udzwcA','443032KQnNVj','6UGbGbK','6118MPYXhc','725056GlKsCz','4160527sYazPC','16013601NrQaQD'];_0x1ed0=function(){return _0x403880;};return _0x1ed0();}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x403a(_0x2e65a6,_0x2fcbf7){_0x2e65a6=_0x2e65a6-0x1cd;var _0x1ed03e=_0x1ed0();var _0x403add=_0x1ed03e[_0x2e65a6];return _0x403add;}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|