@ranger-testing/ranger-cli 2.5.4-alpha.f6504c0-8 → 2.5.4-alpha.f940f0d-18
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/README.md +36 -14
- 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/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 -0
- 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/opencodeConfig.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/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/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/skills/ranger/SKILL.md +24 -8
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +35 -10
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3dcc19=_0x131a;(function(_0x34a7d3,_0x4f5350){const _0x2cae36=_0x131a,_0x189997=_0x34a7d3();while(!![]){try{const _0x534088=parseInt(_0x2cae36(0xf5))/0x1+-parseInt(_0x2cae36(0x1a5))/0x2+parseInt(_0x2cae36(0x176))/0x3+-parseInt(_0x2cae36(0xe0))/0x4+parseInt(_0x2cae36(0xf9))/0x5*(-parseInt(_0x2cae36(0x18a))/0x6)+-parseInt(_0x2cae36(0x14c))/0x7+parseInt(_0x2cae36(0xf1))/0x8;if(_0x534088===_0x4f5350)break;else _0x189997['push'](_0x189997['shift']());}catch(_0x531435){_0x189997['push'](_0x189997['shift']());}}}(_0xa8e7,0x24b58));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x3700c3 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x4153a6=>'\x1b[1m'+_0x4153a6+_0x3dcc19(0x115);function getGitRepoUrl(){const _0x1e71bf=_0x3dcc19,_0x55647c={'noJCk':_0x1e71bf(0x19f),'LAMgy':'pipe','btcMq':_0x1e71bf(0x119)};try{const _0x282b1e=execSync(_0x55647c['noJCk'],{'encoding':_0x1e71bf(0x168),'stdio':[_0x55647c['LAMgy'],_0x55647c[_0x1e71bf(0xc7)],'pipe']})[_0x1e71bf(0x11f)]();return _0x282b1e[_0x1e71bf(0x138)](/\.git$/,'')[_0x1e71bf(0x138)](/^git@github\.com:/,_0x55647c[_0x1e71bf(0xec)])[_0x1e71bf(0x138)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x8db22a=_0x3dcc19,_0x5b28d1={'drWQm':function(_0x3e743c,_0x30ae10,_0x20514a){return _0x3e743c(_0x30ae10,_0x20514a);},'dNrUD':_0x8db22a(0x168),'EHyar':_0x8db22a(0x13b)};try{return _0x5b28d1['drWQm'](execSync,_0x8db22a(0x15c),{'encoding':_0x5b28d1[_0x8db22a(0x16d)],'stdio':[_0x5b28d1[_0x8db22a(0x10e)],_0x5b28d1[_0x8db22a(0x10e)],'pipe']})[_0x8db22a(0x11f)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x19456b=_0x3dcc19,_0x4122d9={'vxjqe':function(_0x217d03,_0x44c93d,_0x6eede8){return _0x217d03(_0x44c93d,_0x6eede8);}},_0x42f89d=_0x4122d9['vxjqe'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x42f89d))return null;try{const _0x1d28bd=await readFile(_0x42f89d,_0x19456b(0x168));return _0x1d28bd[_0x19456b(0x11f)]()||null;}catch{return null;}}async function setActiveFeatureId(_0xcd7509){const _0x39cd6a={'jhign':function(_0x1a55aa,_0x11cb68){return _0x1a55aa(_0x11cb68);},'ZdrfO':'utf-8'},_0x28c5fb=getRangerDir(),_0x1e2f39=join(_0x28c5fb,ACTIVE_FEATURE_FILE);!_0x39cd6a['jhign'](existsSync,_0x28c5fb)&&await mkdir(_0x28c5fb,{'recursive':!![]}),await writeFile(_0x1e2f39,_0xcd7509,_0x39cd6a['ZdrfO']);}function getProgressDisplay(_0x4eeb7f){const _0x3b746d=_0x3dcc19,_0x9a20f={'QksJy':function(_0x3b1f41,_0x465f46){return _0x3b1f41===_0x465f46;},'JmvUw':function(_0x5223ce,_0x23faf5){return _0x5223ce*_0x23faf5;},'zQpKI':function(_0x4d9e9e,_0x9c85c2){return _0x4d9e9e/_0x9c85c2;},'LsfRi':function(_0x38537c,_0x3d1093){return _0x38537c+_0x3d1093;},'pMSDg':function(_0x2d07cc,_0x260071){return _0x2d07cc-_0x260071;},'DPfAE':function(_0x3be334,_0xbbc4be){return _0x3be334>_0xbbc4be;},'lRCgt':function(_0xb0aecc,_0x23e887){return _0xb0aecc>_0x23e887;}},_0x2d5cbb=_0x4eeb7f[_0x3b746d(0x133)]||0x0,_0x3ffe3f=_0x4eeb7f[_0x3b746d(0x199)]||0x0,_0x7ca17e=_0x4eeb7f['blockedItems']||0x0,_0x4e4849=_0x4eeb7f['incompleteItems']||0x0,_0x309952=_0x4eeb7f['pendingItems']||0x0,_0x81e7e=_0x2d5cbb+_0x3ffe3f+_0x7ca17e+_0x4e4849+_0x309952;if(_0x9a20f[_0x3b746d(0x143)](_0x81e7e,0x0))return'-';const _0x47be35=0xa,_0xb40333=Math['round'](_0x9a20f['JmvUw'](_0x9a20f['zQpKI'](_0x2d5cbb,_0x81e7e),_0x47be35)),_0x4eff1a=_0x9a20f['LsfRi']('█'[_0x3b746d(0x179)](_0xb40333),'░'[_0x3b746d(0x179)](_0x9a20f['pMSDg'](_0x47be35,_0xb40333))),_0x4bd112=[];if(_0x7ca17e>0x0)_0x4bd112['push'](_0x7ca17e+'\x20blocked');if(_0x4e4849>0x0)_0x4bd112['push'](_0x4e4849+_0x3b746d(0x163));if(_0x9a20f['DPfAE'](_0x3ffe3f,0x0))_0x4bd112[_0x3b746d(0xd0)](_0x3ffe3f+'\x20in\x20progress');const _0x4f50de=_0x9a20f[_0x3b746d(0x16c)](_0x4bd112[_0x3b746d(0xdb)],0x0)?'\x20('+_0x4bd112['join'](',\x20')+')':'';return _0x4eff1a+'\x20'+_0x2d5cbb+'/'+_0x81e7e+'\x20verified'+_0x4f50de;}function getCurrentSessionItems(_0x3e2afc,_0x17dd76){const _0x3b8329=_0x3dcc19;if(!_0x3e2afc[_0x3b8329(0xe1)])return _0x17dd76['filter'](_0x33122b=>!_0x33122b['sessionId']);return _0x17dd76['filter'](_0x43c3ab=>_0x43c3ab[_0x3b8329(0x18b)]===_0x3e2afc['currentSessionId']||!_0x43c3ab[_0x3b8329(0x18b)]);}function displayFeature(_0x328913,_0x4d5c9d){const _0x1a7713=_0x3dcc19,_0x401644={'DBQcb':_0x1a7713(0x17f),'cAtqN':function(_0x3659af,_0x650f84){return _0x3659af===_0x650f84;},'grSaC':_0x1a7713(0xfb),'pHdAn':'verified','tLBdG':_0x1a7713(0x13d),'oWtlu':function(_0x2e7812,_0x5aaa3e){return _0x2e7812===_0x5aaa3e;},'VTqxV':'verification_in_progress','vmbkb':function(_0x5045f3,_0x1beaee){return _0x5045f3>_0x1beaee;},'pqFzz':function(_0x584c0a,_0x3c3c3f){return _0x584c0a!==_0x3c3c3f;},'iZSEB':_0x1a7713(0x118),'ZPQvx':function(_0x2464a5,_0x4f049e){return _0x2464a5===_0x4f049e;},'ezpCw':function(_0x584dfb,_0x1e0ce6){return _0x584dfb===_0x1e0ce6;},'EoWOL':'approved','vafHN':function(_0x12c21f,_0xc5d89c){return _0x12c21f===_0xc5d89c;}};console['log']('\x0a'+_0x328913[_0x1a7713(0x140)]+'\x20('+_0x328913['dashboardUrl']+')');_0x328913['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x328913[_0x1a7713(0x130)]));_0x328913['description']&&console['log'](_0x1a7713(0x122)+_0x328913[_0x1a7713(0xd7)]);_0x328913['gitRepoUrl']&&console[_0x1a7713(0x173)]('\x20\x20\x20Repository:\x20'+_0x328913[_0x1a7713(0x17e)]);_0x328913[_0x1a7713(0x147)]&&console[_0x1a7713(0x173)](_0x1a7713(0x1a4)+_0x328913[_0x1a7713(0x147)]);console['log'](_0x1a7713(0x156)+new Date(_0x328913['createdAt'])['toLocaleString']());_0x328913[_0x1a7713(0x114)]&&console['log'](_0x1a7713(0x196)+new Date(_0x328913[_0x1a7713(0x114)])['toLocaleString']());if(_0x4d5c9d&&_0x4d5c9d[_0x1a7713(0xdb)]>0x0){console[_0x1a7713(0x173)](_0x401644[_0x1a7713(0x190)]);for(let _0x56935a=0x0;_0x56935a<_0x4d5c9d['length'];_0x56935a++){const _0x2844d3=_0x4d5c9d[_0x56935a];let _0x2a84cf;if(_0x401644[_0x1a7713(0x137)](_0x2844d3['status'],_0x401644['grSaC'])&&_0x2844d3['terminalReason']===_0x1a7713(0xf0))_0x2a84cf='✅';else{if(_0x401644['cAtqN'](_0x2844d3['status'],_0x401644['pHdAn']))_0x2a84cf='🟢';else{if(_0x2844d3['status']===_0x401644['tLBdG'])_0x2a84cf='🟠';else{if(_0x401644['cAtqN'](_0x2844d3['status'],'blocked'))_0x2a84cf='🛑';else{if(_0x401644['cAtqN'](_0x2844d3['status'],'closed'))_0x2a84cf='⛔';else _0x401644[_0x1a7713(0x14a)](_0x2844d3[_0x1a7713(0xe2)],_0x401644[_0x1a7713(0x17d)])?_0x2a84cf='⏳':_0x2a84cf='⬜';}}}}const _0x3b8a8c=_0x401644[_0x1a7713(0x109)](_0x2844d3[_0x1a7713(0x14e)],0x1)?_0x1a7713(0x181)+_0x2844d3['version']+')':'',_0x457b87=_0x2844d3[_0x1a7713(0x14e)]>0x1&&_0x2844d3[_0x1a7713(0x117)]&&_0x401644['pqFzz'](_0x2844d3[_0x1a7713(0xe2)],_0x1a7713(0xfb))&&_0x401644[_0x1a7713(0x10c)](_0x2844d3['status'],_0x401644['pHdAn'])?'\x20[has\x20reviewer\x20feedback]':'';console['log'](_0x1a7713(0xe3)+(_0x56935a+0x1)+'.\x20'+_0x2a84cf+'\x20'+_0x2844d3['description']+_0x3b8a8c+_0x457b87);_0x401644['cAtqN'](_0x2844d3['status'],_0x401644[_0x1a7713(0xf6)])&&_0x2844d3[_0x1a7713(0xfe)]&&console[_0x1a7713(0x173)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x2844d3[_0x1a7713(0xfe)]);_0x2844d3[_0x1a7713(0xe2)]===_0x1a7713(0x13d)&&_0x2844d3[_0x1a7713(0xd6)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x2844d3['incompleteReason']);if(_0x401644['ZPQvx'](_0x2844d3[_0x1a7713(0xe2)],_0x1a7713(0xfb))&&_0x401644['ezpCw'](_0x2844d3[_0x1a7713(0x127)],_0x401644['EoWOL']))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x401644['vafHN'](_0x2844d3[_0x1a7713(0xe2)],_0x401644['grSaC'])&&_0x2844d3[_0x1a7713(0xef)]&&console['log'](_0x1a7713(0x18d)+_0x2844d3['canceledReason']);}}}export async function featureCreate(_0x241465,_0x342006){const _0x12e965=_0x3dcc19,_0x270408={'alQyS':function(_0x2d7148){return _0x2d7148();},'OGyIG':_0x12e965(0x178),'sWCtW':function(_0x21e20b,_0x469e0a){return _0x21e20b(_0x469e0a);},'koEFa':function(_0x4a34a9,_0xad23c3){return _0x4a34a9(_0xad23c3);}},{envNames:_0x58cbbf}=await _0x270408['alQyS'](getEnvNames);if(_0x58cbbf['length']===0x0&&!process[_0x12e965(0x15e)][_0x12e965(0xc8)]){let _0x3b0926=0x0;try{_0x3b0926=(await listCloudProfiles())[_0x12e965(0xdb)];}catch{_0x3b0926=0x1;}_0x3b0926===0x0&&console[_0x12e965(0x167)]('\x0a'+formatProfileRequiredMessage(_0x1f5049=>bold(_0x1f5049)));}const _0x1354e7=_0x342006['scenarios']?_0x342006[_0x12e965(0x132)][_0x12e965(0x177)](_0x2092a5=>_0x2092a5['trim']()):[],_0x1fb890=_0x270408['alQyS'](getGitRepoUrl),_0x400b75=getGitBranch();console['log'](_0x270408[_0x12e965(0x1a0)]);const _0x276060=await createFeature({'name':_0x241465,'description':_0x342006[_0x12e965(0xd7)],'checklist':_0x1354e7,'gitRepoUrl':_0x1fb890,'gitBranch':_0x400b75});await _0x270408['sWCtW'](setActiveFeatureId,_0x276060['id']),await _0x270408['koEFa'](tryStartCurrentSession,_0x276060['id']);const _0x55a468=process['env'][_0x12e965(0x158)];_0x55a468&®isterSession(_0x55a468,_0x276060['id']),console['log'](_0x12e965(0xca)+_0x276060['id']),displayFeature(_0x276060,_0x276060['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x44d2f9){const _0x1c8063=_0x3dcc19,_0x54fdeb={'pInNb':function(_0x18523c){return _0x18523c();},'DedmT':'\x0aNo\x20feature\x20reviews\x20found.','sDhLB':function(_0x182d87,_0x5f008c){return _0x182d87>_0x5f008c;},'ucOyG':function(_0x58f6dd,_0x1b154c){return _0x58f6dd+_0x1b154c;},'UunaW':function(_0x472059,_0x90b19a){return _0x472059<_0x90b19a;},'wBWIQ':function(_0x251be7,_0x54ceb0){return _0x251be7!==_0x54ceb0;}},_0x4eb459={'limit':_0x44d2f9[_0x1c8063(0xd4)]??0xa,'offset':_0x44d2f9['offset']??0x0,'includeDeleted':_0x44d2f9[_0x1c8063(0xed)]};_0x44d2f9['currentBranch']&&(_0x4eb459['gitRepoUrl']=_0x54fdeb[_0x1c8063(0x13f)](getGitRepoUrl),_0x4eb459['gitBranch']=_0x54fdeb[_0x1c8063(0x13f)](getGitBranch));const _0x3c19dc=await listFeatures(_0x4eb459);if(_0x3c19dc[_0x1c8063(0x136)][_0x1c8063(0xdb)]===0x0){console[_0x1c8063(0x173)](_0x54fdeb[_0x1c8063(0x120)]);return;}const _0x1b3152=_0x54fdeb[_0x1c8063(0x183)](_0x3c19dc['totalCount'],_0x3c19dc[_0x1c8063(0x136)]['length'])?_0x1c8063(0x11b)+_0x3c19dc[_0x1c8063(0x136)][_0x1c8063(0xdb)]+_0x1c8063(0x175)+_0x3c19dc['totalCount']:_0x3c19dc[_0x1c8063(0x164)]+_0x1c8063(0x170);console['log']('\x0a'+_0x1b3152+':\x0a');for(const _0x5caab1 of _0x3c19dc[_0x1c8063(0x136)]){console[_0x1c8063(0x173)](''+_0x5caab1['name']),console['log']('\x20\x20\x20ID:\x20'+_0x5caab1['id']),_0x5caab1[_0x1c8063(0x130)]&&console[_0x1c8063(0x173)](_0x1c8063(0xe8)+getProgressDisplay(_0x5caab1['stats'])),_0x5caab1['gitBranch']&&console[_0x1c8063(0x173)]('\x20\x20\x20Branch:\x20'+_0x5caab1['gitBranch']),console['log'](_0x1c8063(0x156)+new Date(_0x5caab1['createdAt'])[_0x1c8063(0x104)]()),console[_0x1c8063(0x173)]('');}const _0x4caf8a=_0x4eb459['limit']??0xa,_0x12dd84=_0x54fdeb['ucOyG'](_0x4eb459[_0x1c8063(0x18e)]??0x0,_0x3c19dc['items']['length']);if(_0x54fdeb['UunaW'](_0x12dd84,_0x3c19dc[_0x1c8063(0x164)])){const _0x2e85f6=_0x54fdeb[_0x1c8063(0x184)](_0x4caf8a,0xa)?_0x1c8063(0x141)+_0x4caf8a:'',_0xc3d65d=_0x44d2f9['currentBranch']?_0x1c8063(0x106):'',_0x1e34ab=_0x44d2f9[_0x1c8063(0xed)]?'\x20--include-deleted':'';console[_0x1c8063(0x173)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x12dd84+_0x2e85f6+_0xc3d65d+_0x1e34ab);}}export async function featureShow(_0x4f4bb5){const _0x1570a8=_0x3dcc19,_0x3f6b8c={'PHxdx':function(_0xee27f0,_0x176bad){return _0xee27f0(_0x176bad);}},_0x233e34=_0x4f4bb5||await getActiveFeatureId();if(!_0x233e34)throw new Error(_0x1570a8(0xea));const _0x553bc8=await _0x3f6b8c[_0x1570a8(0x16b)](getFeature,_0x233e34);displayFeature(_0x553bc8,_0x553bc8['checklistItems']);}export async function featureResume(_0xf55936){const _0x45d2f9=_0x3dcc19,_0x477b4c={'fZpqe':function(_0x5c4cf0,_0x3aedb2){return _0x5c4cf0(_0x3aedb2);},'vNDmu':function(_0x38566d,_0x48fa9b,_0x48cbcc){return _0x38566d(_0x48fa9b,_0x48cbcc);},'MuPOf':function(_0x163c73,_0x405d91,_0x13d642){return _0x163c73(_0x405d91,_0x13d642);},'HGBIF':function(_0x7a920b,_0x4d672b){return _0x7a920b(_0x4d672b);},'HvOuV':function(_0x4e31f3){return _0x4e31f3();},'JYYrI':function(_0x2d38e1){return _0x2d38e1();},'MtRDN':_0x45d2f9(0x12c),'tXjpA':function(_0x5288fc,_0x36cb04){return _0x5288fc||_0x36cb04;},'AUNvY':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','kiVOF':_0x45d2f9(0x16f),'zSnIr':function(_0x26f27c,_0xeb045a){return _0x26f27c===_0xeb045a;},'wokdQ':_0x45d2f9(0x11a),'oFxZl':_0x45d2f9(0xdf),'hohMa':'list','cohrh':function(_0x5d5cd7,_0xa14428){return _0x5d5cd7!==_0xa14428;},'WaSFl':function(_0x37b70d,_0x57061d){return _0x37b70d(_0x57061d);}};if(_0xf55936){const _0x31ae62=await _0x477b4c['fZpqe'](getFeature,_0xf55936);await setActiveFeatureId(_0x31ae62['id']);const _0x4280f2=getGitBranch();_0x4280f2&&_0x4280f2!==_0x31ae62[_0x45d2f9(0x147)]&&(await _0x477b4c['vNDmu'](updateFeature,_0x31ae62['id'],{'gitBranch':_0x4280f2}),console[_0x45d2f9(0x173)](_0x45d2f9(0xd9)+_0x4280f2));console['log'](_0x45d2f9(0x10b)+_0x31ae62['name']+'\x20('+_0x31ae62['id']+')'),await _0x477b4c[_0x45d2f9(0x19e)](tryStartCurrentSession,_0x31ae62['id']);const _0xafd0d0=process['env']['CLAUDE_SESSION_ID'];_0xafd0d0&®isterSession(_0xafd0d0,_0x31ae62['id']);_0x477b4c['MuPOf'](displayFeature,_0x31ae62,_0x31ae62[_0x45d2f9(0x1a1)]),await _0x477b4c[_0x45d2f9(0x135)](printFeedbackNudge,_0x31ae62['id']);return;}const _0x41e768=_0x477b4c['HvOuV'](getGitRepoUrl),_0x2ec4a9=_0x477b4c['JYYrI'](getGitBranch);if(!_0x41e768&&!_0x2ec4a9)throw new Error(_0x477b4c['MtRDN']);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x477b4c[_0x45d2f9(0xf4)](_0x41e768,'any')+'\x20/\x20'+(_0x2ec4a9||_0x45d2f9(0x15a))+_0x45d2f9(0xe7));const _0x3c24ae=await listFeatures({'gitRepoUrl':_0x41e768,'gitBranch':_0x2ec4a9}),_0x340ef8=_0x3c24ae[_0x45d2f9(0x136)]['filter'](_0x185e10=>_0x185e10['status']?_0x185e10['status']!==_0x45d2f9(0x107):!_0x185e10[_0x45d2f9(0x114)]);if(_0x340ef8[_0x45d2f9(0xdb)]===0x0){console['log'](_0x477b4c[_0x45d2f9(0xff)]),console[_0x45d2f9(0x173)](_0x477b4c[_0x45d2f9(0x193)]);return;}let _0x557afb;if(_0x477b4c[_0x45d2f9(0x197)](_0x340ef8[_0x45d2f9(0xdb)],0x1))_0x557afb=_0x340ef8[0x0];else{const _0xe2cdf3=process[_0x45d2f9(0x139)][_0x45d2f9(0x18f)]&&process[_0x45d2f9(0x149)]['isTTY'];if(!_0xe2cdf3){console[_0x45d2f9(0x173)](_0x477b4c[_0x45d2f9(0x159)]);for(const _0x1c65c7 of _0x340ef8){console['log']('\x20\x20'+_0x1c65c7['name']),console[_0x45d2f9(0x173)]('\x20\x20\x20\x20\x20ID:\x20'+_0x1c65c7['id']),_0x1c65c7['stats']&&console[_0x45d2f9(0x173)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1c65c7[_0x45d2f9(0x130)])),_0x1c65c7['gitBranch']&&console[_0x45d2f9(0x173)](_0x45d2f9(0x12f)+_0x1c65c7['gitBranch']);}throw new Error(_0x477b4c['oFxZl']);}const {selected:_0xd9a586}=await _0x3700c3['prompt']([{'type':_0x477b4c['hohMa'],'name':_0x45d2f9(0xd8),'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x340ef8['map'](_0xf31569=>({'name':_0xf31569['name']+'\x20('+_0xf31569['id']+')','value':_0xf31569['id']}))}]);_0x557afb=_0x340ef8[_0x45d2f9(0x116)](_0x142b79=>_0x142b79['id']===_0xd9a586);}await _0x477b4c[_0x45d2f9(0x135)](setActiveFeatureId,_0x557afb['id']);_0x2ec4a9&&_0x477b4c[_0x45d2f9(0x131)](_0x2ec4a9,_0x557afb[_0x45d2f9(0x147)])&&(await updateFeature(_0x557afb['id'],{'gitBranch':_0x2ec4a9}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x2ec4a9));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x557afb['name']+'\x20('+_0x557afb['id']+')'),await tryStartCurrentSession(_0x557afb['id']);const _0x12fe89=await _0x477b4c[_0x45d2f9(0x19e)](getFeature,_0x557afb['id']),_0x15cef2=process['env'][_0x45d2f9(0x158)];_0x15cef2&®isterSession(_0x15cef2,_0x12fe89['id']),displayFeature(_0x12fe89,_0x12fe89['checklistItems']),await _0x477b4c['WaSFl'](printFeedbackNudge,_0x12fe89['id']);}async function printFeedbackNudge(_0x9c7c34){const _0x3dce34=_0x3dcc19,_0x4dfc65={'vPjlE':function(_0x22d2f1,_0x99d754){return _0x22d2f1(_0x99d754);},'OgvBr':function(_0x3682fb,_0x380b9e){return _0x3682fb>_0x380b9e;}};try{const {items:_0x408b16}=await _0x4dfc65['vPjlE'](getActionItems,_0x9c7c34);let _0x2ab626=0x0,_0x2a0dc6=0x0;for(const _0x1cd58a of _0x408b16){const _0x40c61d=await getItemFeedback(_0x9c7c34,_0x1cd58a['id']);_0x4dfc65[_0x3dce34(0x166)](_0x40c61d['unaddressedComments'][_0x3dce34(0xdb)],0x0)&&(_0x2ab626+=_0x40c61d['unaddressedComments'][_0x3dce34(0xdb)],_0x2a0dc6++);}_0x4dfc65[_0x3dce34(0x166)](_0x2ab626,0x0)&&(console['log'](_0x3dce34(0x12d)+_0x2ab626+_0x3dce34(0xf7)+_0x2a0dc6+_0x3dce34(0xdc)),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x26395a){const _0x7dae0c=_0x3dcc19;try{const {sessions:_0x3d94de}=await listFeatureSessions(_0x26395a),_0x3714cf=_0x3d94de['find'](_0x3a7358=>_0x3a7358[_0x7dae0c(0xe2)]===_0x7dae0c(0x13e));_0x3714cf&&(await startSession(_0x26395a,_0x3714cf['id']),console['log'](_0x7dae0c(0x171)+_0x3714cf[_0x7dae0c(0x105)]));}catch{}}export async function featureReport(_0x37f2b4,_0x285a25){const _0x1ef8cd=_0x3dcc19,_0x192872={'GcXNO':function(_0x1466a6){return _0x1466a6();},'dIoAl':_0x1ef8cd(0x112),'TTTdY':function(_0x8b196,_0x2fc263,_0x15bffb){return _0x8b196(_0x2fc263,_0x15bffb);},'epLTz':function(_0x1ba909,_0x1359e0,_0x28ead1,_0x372ed4){return _0x1ba909(_0x1359e0,_0x28ead1,_0x372ed4);},'mGlJO':function(_0xa5267d){return _0xa5267d();},'BWcOK':_0x1ef8cd(0xda),'QJqmw':function(_0x4e6a35,_0x195cc6){return _0x4e6a35(_0x195cc6);}},_0x26693c=_0x37f2b4||await _0x192872[_0x1ef8cd(0xc9)](getActiveFeatureId);if(!_0x26693c)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x1ef8cd(0x173)](_0x192872['dIoAl']);const _0xabee46=await _0x192872['TTTdY'](getFeatureReportMarkdown,_0x26693c,{'style':_0x285a25['style']}),_0xaebf60=_0x285a25['output']||_0x192872['epLTz'](join,_0x192872['mGlJO'](getRangerDir),_0x192872['BWcOK'],_0x26693c+_0x1ef8cd(0x11c)),_0x347f1e=join(_0xaebf60,'..');!_0x192872['QJqmw'](existsSync,_0x347f1e)&&await mkdir(_0x347f1e,{'recursive':!![]}),await _0x192872['epLTz'](writeFile,_0xaebf60,_0xabee46,'utf-8'),console[_0x1ef8cd(0x173)](_0x1ef8cd(0x1a3)+_0xaebf60);}function getScenarioResult(_0x5cc532){const _0x1ecaa4=_0x3dcc19,_0x1f5a8b={'PQEjy':function(_0x2dd91e,_0x298260){return _0x2dd91e===_0x298260;},'HOyrS':'closed','OfvoR':function(_0x36e0f4,_0x19b232){return _0x36e0f4===_0x19b232;},'stqkg':'verification_in_progress','LqoGE':_0x1ecaa4(0xde)};if(_0x1f5a8b[_0x1ecaa4(0x185)](_0x5cc532[_0x1ecaa4(0xe2)],'closed'))return _0x5cc532['terminalReason']??_0x1f5a8b['HOyrS'];if(_0x1f5a8b[_0x1ecaa4(0x198)](_0x5cc532['status'],_0x1f5a8b[_0x1ecaa4(0x1a7)]))return _0x1f5a8b[_0x1ecaa4(0xe4)];return _0x5cc532[_0x1ecaa4(0xe2)];}function getScenarioRationale(_0x1fcf15,_0x50106c){const _0x36f7ca=_0x3dcc19,_0x2fc52d={'igHTH':'3|4|5|1|2|0'},_0x6de8f4=_0x2fc52d['igHTH'][_0x36f7ca(0x128)]('|');let _0x34b4e8=0x0;while(!![]){switch(_0x6de8f4[_0x34b4e8++]){case'0':return null;case'1':if(_0x1fcf15[_0x36f7ca(0xef)])return _0x1fcf15[_0x36f7ca(0xef)];continue;case'2':if(_0x1fcf15['notes'])return _0x1fcf15['notes'];continue;case'3':if(_0x50106c)return _0x50106c;continue;case'4':if(_0x1fcf15['blockedReason'])return _0x1fcf15['blockedReason'];continue;case'5':if(_0x1fcf15['incompleteReason'])return _0x1fcf15[_0x36f7ca(0xd6)];continue;}break;}}function _0x131a(_0x20c407,_0xc6d20e){_0x20c407=_0x20c407-0xc7;const _0xa8e758=_0xa8e7();let _0x131a3b=_0xa8e758[_0x20c407];return _0x131a3b;}export async function featureReportPrDescription(_0x3339fa,_0x5ccc39){const _0x12aee2=_0x3dcc19,_0x39a94d={'fMnkU':function(_0x4cddb0){return _0x4cddb0();},'owYVA':function(_0x27d6bb,_0xfbe1cc){return _0x27d6bb(_0xfbe1cc);},'SEpAI':function(_0xc094a9,_0x2b7578){return _0xc094a9===_0x2b7578;},'XBdFU':function(_0x2e0c8b,_0x939812){return _0x2e0c8b>_0x939812;},'WYARW':'\x0aAvailable\x20scenarios:','bIdfl':function(_0x39290a,_0x1a86e7){return _0x39290a+_0x1a86e7;},'Squyg':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x28c6f2=_0x3339fa||await _0x39a94d['fMnkU'](getActiveFeatureId);if(!_0x28c6f2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x2c64eb=await _0x39a94d['owYVA'](getFeature,_0x28c6f2),_0x122ea6=_0x2c64eb[_0x12aee2(0x1a1)]||[],_0xf062bc=getCurrentSessionItems(_0x2c64eb,_0x122ea6);_0x39a94d[_0x12aee2(0x102)](_0xf062bc[_0x12aee2(0xdb)],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0xf2672e=_0x5ccc39[_0x12aee2(0x125)]??[],_0x1d15f1=_0xf2672e[_0x12aee2(0x121)](_0x289c97=>!Number[_0x12aee2(0x154)](_0x289c97)||_0x289c97<0x1||_0x289c97>_0xf062bc[_0x12aee2(0xdb)]);if(_0x39a94d['XBdFU'](_0x1d15f1['length'],0x0)){console[_0x12aee2(0x12e)](_0x12aee2(0x11e)+_0x1d15f1['join'](',\x20')),console['log'](_0x39a94d['WYARW']);for(let _0xb0c541=0x0;_0xb0c541<_0xf062bc['length'];_0xb0c541++){console['log']('\x20\x20'+_0x39a94d[_0x12aee2(0x111)](_0xb0c541,0x1)+'.\x20'+_0xf062bc[_0xb0c541]['description']);}process['exit'](0x1);}const _0x5e6091=new Set(_0xf2672e['map'](_0x195e8c=>_0x195e8c-0x1)),_0x1cc515=_0xf062bc[_0x12aee2(0x121)]((_0x332f1f,_0x41ee6b)=>!_0x5e6091[_0x12aee2(0x160)](_0x41ee6b));_0x39a94d[_0x12aee2(0x102)](_0x1cc515['length'],0x0)&&(console['error'](_0x39a94d['Squyg']),process[_0x12aee2(0x15d)](0x1));if(_0x5ccc39[_0x12aee2(0x14f)])await outputJsonReport(_0x28c6f2,_0x2c64eb,_0x1cc515);else{const _0x366b95=await getFeatureReportMarkdown(_0x28c6f2,{'itemIds':_0x1cc515['map'](_0xddd76c=>_0xddd76c['id'])});process[_0x12aee2(0x149)]['write'](_0x366b95[_0x12aee2(0x150)]()+'\x0a');}}async function outputJsonReport(_0x580462,_0x36c3a0,_0x5c87f2){const _0x3e6124=_0x3dcc19,_0x241c0d={'BtIey':function(_0x1ba93f,_0xce746f){return _0x1ba93f>_0xce746f;},'NWwMV':function(_0x3fb214,_0x239da1){return _0x3fb214(_0x239da1);},'MHwVx':function(_0x2bfd5b,_0x4d5561,_0x300ea0){return _0x2bfd5b(_0x4d5561,_0x300ea0);}},_0x1149b5=getApiBaseUrl(),_0x4c8f3f=await getFeatureReport(_0x580462),_0x3109a8=new Map(_0x4c8f3f['checklistItems'][_0x3e6124(0x177)](_0x3e391a=>[_0x3e391a['id'],_0x3e391a])),_0x2a876e=await Promise['all'](_0x5c87f2['map'](async _0x16f275=>{const _0x19fa62=_0x3e6124,_0x1bab8e=_0x3109a8['get'](_0x16f275['id']),_0x363697=_0x1bab8e?.[_0x19fa62(0x14d)]??null;let _0x14ecb5=[];if(_0x16f275['browserSessionId'])try{const {steps:_0x25cb92}=await getBrowserSessionSteps(_0x16f275['browserSessionId']);_0x241c0d['BtIey'](_0x25cb92[_0x19fa62(0xdb)],0x0)&&(_0x14ecb5=_0x25cb92[_0x19fa62(0x177)](_0x3e7b7d=>{const _0x5836dd=_0x19fa62,_0x4b8715=_0x3e7b7d[_0x5836dd(0x145)]['find'](_0x191dbe=>_0x191dbe['assetType']===_0x5836dd(0x19d)&&_0x191dbe['timing']===_0x5836dd(0x152))??_0x3e7b7d[_0x5836dd(0x145)]['find'](_0x385e39=>_0x385e39[_0x5836dd(0xee)]===_0x5836dd(0x19d));let _0x6d7ceb=null,_0x255d77=null;if(_0x4b8715){const _0x482cdc=_0x4b8715['storage'][_0x5836dd(0xcc)]['split']('/')['pop']();_0x6d7ceb=_0x1149b5+_0x5836dd(0x182)+_0x16f275['browserSessionId']+'/artifacts/'+_0x482cdc,_0x482cdc&&(_0x255d77=_0x482cdc[_0x5836dd(0x138)](/\.\w+$/,'')[_0x5836dd(0x138)](/^(key_)?\d+_/,'')[_0x5836dd(0x138)](/[-_]/g,'\x20'));}return{'description':_0x255d77||_0x3e7b7d[_0x5836dd(0xd7)]||_0x3e7b7d['stepName']||_0x5836dd(0x108)+_0x3e7b7d['position'],'screenshot':_0x6d7ceb,'is_key_step':_0x3e7b7d['isKeyStep']};}));}catch{}return _0x14ecb5[_0x19fa62(0xdb)]===0x0&&_0x363697?.[_0x19fa62(0x161)]&&(_0x14ecb5=_0x363697['screenshotUrls'][_0x19fa62(0x177)]((_0x36eec7,_0x39394d)=>({'description':'Screenshot\x20'+(_0x39394d+0x1),'screenshot':_0x36eec7,'is_key_step':![]}))),{'description':_0x16f275[_0x19fa62(0xd7)],'result':_0x241c0d['NWwMV'](getScenarioResult,_0x16f275),'rationale':_0x241c0d[_0x19fa62(0x18c)](getScenarioRationale,_0x16f275,_0x363697?.[_0x19fa62(0x16e)]),'steps':_0x14ecb5};})),_0x45b3d8={'url':_0x36c3a0[_0x3e6124(0x13c)],'scenarios':_0x2a876e};process['stdout'][_0x3e6124(0xfa)](JSON['stringify'](_0x45b3d8,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x296b6c){const _0x48fca9=_0x3dcc19,_0x28fe06={'MuGha':function(_0x116c92){return _0x116c92();},'RwJwZ':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','GXZqo':'Current\x20session\x20not\x20found.','HTEWP':function(_0x2f7fa9,_0x3c232d){return _0x2f7fa9===_0x3c232d;},'DDQCr':_0x48fca9(0x10a),'LCITk':_0x48fca9(0x123),'Iscuv':function(_0x3feb91,_0x485d9c){return _0x3feb91!==_0x485d9c;},'EWXcj':_0x48fca9(0xde),'acQby':'\x0aConcluding\x20session...'},_0x503e08=_0x296b6c||await _0x28fe06['MuGha'](getActiveFeatureId);if(!_0x503e08)throw new Error(_0x48fca9(0xea));const _0x90a7ec=await getFeature(_0x503e08);if(!_0x90a7ec[_0x48fca9(0xe1)])throw new Error(_0x28fe06[_0x48fca9(0x19a)]);const {sessions:_0xb75129}=await listFeatureSessions(_0x503e08),_0x8b9197=_0xb75129['find'](_0x4688e7=>_0x4688e7['id']===_0x90a7ec['currentSessionId']);if(!_0x8b9197)throw new Error(_0x28fe06[_0x48fca9(0xfc)]);if(_0x28fe06[_0x48fca9(0x1a6)](_0x8b9197['status'],_0x28fe06[_0x48fca9(0x113)])){console['log'](_0x28fe06['LCITk']);return;}if(_0x28fe06['Iscuv'](_0x8b9197[_0x48fca9(0xe2)],_0x28fe06['EWXcj']))throw new Error(_0x48fca9(0x191)+_0x8b9197['status']);console['log'](_0x28fe06[_0x48fca9(0x194)]),await concludeSession(_0x503e08,_0x90a7ec[_0x48fca9(0xe1)]),console[_0x48fca9(0x173)]('\x0a✅\x20Session\x20'+_0x8b9197[_0x48fca9(0x105)]+_0x48fca9(0x17b)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x56c8c1){const _0x340ed1=_0x3dcc19,_0x502ff4={'aXlXm':function(_0x2a95ac){return _0x2a95ac();},'yMpKd':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','VRSjl':function(_0x4f5ef7,_0x48439d){return _0x4f5ef7===_0x48439d;},'RhwRz':_0x340ed1(0x15f),'DkFFk':function(_0x17a19c,_0x3358fa){return _0x17a19c===_0x3358fa;},'iNFNe':'completed','LevFC':'in_progress'},_0x58b304=_0x56c8c1||await _0x502ff4[_0x340ed1(0x188)](getActiveFeatureId);if(!_0x58b304)throw new Error(_0x502ff4['yMpKd']);const _0x3ffd7c=await getFeature(_0x58b304);console[_0x340ed1(0x173)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x3ffd7c[_0x340ed1(0x140)]+'\x0a');const {sessions:_0xdbcce8}=await listFeatureSessions(_0x58b304);if(_0x502ff4[_0x340ed1(0x134)](_0xdbcce8[_0x340ed1(0xdb)],0x0)){console['log'](_0x502ff4[_0x340ed1(0x187)]);return;}for(const _0x3e2212 of _0xdbcce8){const _0x273c6f=_0x502ff4[_0x340ed1(0x172)](_0x3e2212['status'],_0x502ff4['iNFNe'])?'✅':_0x3e2212['status']===_0x502ff4['LevFC']?'🔄':'▶️';console['log'](_0x273c6f+_0x340ed1(0xe5)+_0x3e2212[_0x340ed1(0x105)]+'\x20('+_0x3e2212['id']+')'),console['log'](_0x340ed1(0x103)+_0x3e2212[_0x340ed1(0xe2)]),console[_0x340ed1(0x173)]('\x20\x20\x20Created:\x20'+new Date(_0x3e2212['createdAt'])['toLocaleString']()),_0x3e2212[_0x340ed1(0x114)]&&console['log'](_0x340ed1(0x196)+new Date(_0x3e2212['completedAt'])[_0x340ed1(0x151)]()),console['log']('');}}export async function featureAddScenario(_0x3fcbfc,_0x44179b){const _0x34fe0f=_0x3dcc19,_0x2e898a={'OmsMs':_0x34fe0f(0xea),'vvdTD':function(_0x24c25f,_0x2e6e4d){return _0x24c25f(_0x2e6e4d);},'MubnL':function(_0x48461e,_0x3cf2ea,_0x2c9d4a){return _0x48461e(_0x3cf2ea,_0x2c9d4a);}},_0x1735ff=_0x44179b||await getActiveFeatureId();if(!_0x1735ff)throw new Error(_0x2e898a['OmsMs']);const _0xb9705e=await _0x2e898a[_0x34fe0f(0x186)](getFeature,_0x1735ff);if(_0xb9705e[_0x34fe0f(0x15b)]&&!_0xb9705e['latestReview']['submittedAt'])throw new Error(_0x34fe0f(0x195)+_0xb9705e['dashboardUrl']);await _0x2e898a['MubnL'](createChecklistItem,_0x1735ff,_0x3fcbfc);const _0x50f16f=await getFeature(_0x1735ff);console[_0x34fe0f(0x173)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x50f16f,_0x50f16f[_0x34fe0f(0x1a1)]);}export async function featureEditScenario(_0x4345c0,_0x49c6f2){const _0x4503f3=_0x3dcc19,_0x3eb63a={'oVNQj':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','kBeYj':'Please\x20finish\x20your\x20review\x20first:','xIxZs':function(_0x1020a7,_0x3a3c78){return _0x1020a7===_0x3a3c78;},'zdLqq':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','uwxOe':'\x0aAvailable\x20scenarios:','BSvVu':function(_0xa79c5e,_0x35fd25){return _0xa79c5e<_0x35fd25;},'pmxkc':function(_0x174c9a,_0x5cfd80){return _0x174c9a+_0x5cfd80;},'vxZwJ':function(_0x5dd648,_0x2ea47d){return _0x5dd648-_0x2ea47d;},'NpRQW':function(_0x16246b,_0x3116ab){return _0x16246b<_0x3116ab;},'DOKkI':function(_0x4975b2,_0x2491fd){return _0x4975b2>=_0x2491fd;}},_0x271b26=_0x49c6f2['id']||await getActiveFeatureId();!_0x271b26&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x4503f3(0x12e)](_0x3eb63a['oVNQj']),process['exit'](0x1));const _0x10a68c=await getFeature(_0x271b26);_0x10a68c['latestReview']&&!_0x10a68c[_0x4503f3(0x15b)][_0x4503f3(0x17a)]&&(console[_0x4503f3(0x12e)](_0x4503f3(0x192)),console[_0x4503f3(0x12e)](_0x3eb63a[_0x4503f3(0x153)]),console[_0x4503f3(0x12e)]('\x20\x20'+_0x10a68c['dashboardUrl']),process['exit'](0x1));const _0x167de7=_0x10a68c['checklistItems']||[];_0x3eb63a['xIxZs'](_0x167de7[_0x4503f3(0xdb)],0x0)&&(console[_0x4503f3(0x12e)](_0x3eb63a['zdLqq']),process[_0x4503f3(0x15d)](0x1));if(_0x49c6f2['scenario']===undefined){console['error'](_0x4503f3(0x129)),console['log'](_0x3eb63a['uwxOe']);for(let _0x3594c5=0x0;_0x3eb63a[_0x4503f3(0x174)](_0x3594c5,_0x167de7[_0x4503f3(0xdb)]);_0x3594c5++){console[_0x4503f3(0x173)]('\x20\x20'+_0x3eb63a[_0x4503f3(0xe6)](_0x3594c5,0x1)+'.\x20'+_0x167de7[_0x3594c5][_0x4503f3(0xd7)]);}process[_0x4503f3(0x15d)](0x1);}const _0x542dad=_0x3eb63a['vxZwJ'](_0x49c6f2[_0x4503f3(0x124)],0x1);if(_0x3eb63a[_0x4503f3(0x169)](_0x542dad,0x0)||_0x3eb63a[_0x4503f3(0x189)](_0x542dad,_0x167de7[_0x4503f3(0xdb)])){console[_0x4503f3(0x12e)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x49c6f2[_0x4503f3(0x124)]+_0x4503f3(0x100)+_0x167de7[_0x4503f3(0xdb)]+'\x20scenarios.'),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2bf81f=0x0;_0x2bf81f<_0x167de7[_0x4503f3(0xdb)];_0x2bf81f++){console['log']('\x20\x20'+_0x3eb63a['pmxkc'](_0x2bf81f,0x1)+'.\x20'+_0x167de7[_0x2bf81f]['description']);}process[_0x4503f3(0x15d)](0x1);}const _0x5d515b=_0x167de7[_0x542dad];await updateChecklistItem(_0x271b26,_0x5d515b['id'],{'description':_0x4345c0});const _0x49b55e=await getFeature(_0x271b26);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x49b55e,_0x49b55e[_0x4503f3(0x1a1)]);}async function downloadFeedbackImage(_0x56865d,_0x5f1b49){const _0x580b17=_0x3dcc19,_0x585076={'JLVoO':_0x580b17(0x13a),'VFsaj':function(_0x153e34,_0xd4abad,_0x510341){return _0x153e34(_0xd4abad,_0x510341);}};try{const _0xd4674e=join(getRangerDir(),_0x585076[_0x580b17(0x180)]);await _0x585076['VFsaj'](mkdir,_0xd4674e,{'recursive':!![]});const _0x3bb87c=_0x585076['VFsaj'](join,_0xd4674e,_0x580b17(0x1a2)+_0x5f1b49+'.png'),_0x54303c=await fetch(_0x56865d);if(!_0x54303c['ok'])return null;const _0x27a0cc=Buffer['from'](await _0x54303c[_0x580b17(0x142)]());return await writeFile(_0x3bb87c,_0x27a0cc),_0x3bb87c;}catch{return null;}}export async function featureGetReview(_0x449435){const _0x237ec9=_0x3dcc19,_0x17d0dd={'bIpcT':function(_0x2110c2){return _0x2110c2();},'uutqs':_0x237ec9(0xea),'vJFfp':function(_0x549b8f,_0x4da0c8){return _0x549b8f(_0x4da0c8);},'LRbAC':function(_0x1f86b9,_0xb57359){return _0x1f86b9===_0xb57359;},'VWPiJ':_0x237ec9(0xd5),'SFLgy':function(_0x168729,_0x1f206b){return _0x168729>_0x1f206b;},'sORbJ':function(_0x4c6fef,_0x1a45b1,_0x33964a){return _0x4c6fef(_0x1a45b1,_0x33964a);},'UlJMd':'en-US','MvJdl':_0x237ec9(0xdd),'gtYlJ':'numeric','cSOGB':'\x20>\x20','FaKUH':function(_0x2b05da,_0x6620af){return _0x2b05da>=_0x6620af;},'JuzkX':function(_0x1a6dbf,_0x4ebf29){return _0x1a6dbf+_0x4ebf29;}},_0xdf8908=_0x449435||await _0x17d0dd[_0x237ec9(0xd2)](getActiveFeatureId);if(!_0xdf8908)throw new Error(_0x17d0dd[_0x237ec9(0x165)]);const _0x22218f=await getFeature(_0xdf8908),{items:_0x358069}=await _0x17d0dd['vJFfp'](getActionItems,_0xdf8908);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x22218f['name']+'\x20('+_0x22218f['id']+')\x0a');if(_0x17d0dd['LRbAC'](_0x358069['length'],0x0)){console['log'](_0x17d0dd['VWPiJ']);return;}for(let _0x3480e4=0x0;_0x3480e4<_0x358069[_0x237ec9(0xdb)];_0x3480e4++){const _0x12cb81=_0x358069[_0x3480e4],_0x1e5100=_0x17d0dd['SFLgy'](_0x12cb81[_0x237ec9(0x14e)],0x1)?'\x20(v'+_0x12cb81['version']+')':'',_0x3a483e=await _0x17d0dd[_0x237ec9(0x11d)](getItemFeedback,_0xdf8908,_0x12cb81['id']);if(_0x17d0dd[_0x237ec9(0x155)](_0x3a483e[_0x237ec9(0xf3)][_0x237ec9(0xdb)],0x0)){console[_0x237ec9(0x173)]('Scenario\x20'+(_0x3480e4+0x1)+':\x20\x22'+_0x12cb81['description']+'\x22'+_0x1e5100+_0x237ec9(0x126)+_0x3a483e['unaddressedComments'][_0x237ec9(0xdb)]+'\x20unaddressed\x20comment(s)');for(const _0x588228 of _0x3a483e['unaddressedComments']){const _0x272f36=new Date(_0x588228[_0x237ec9(0x144)])['toLocaleDateString'](_0x17d0dd[_0x237ec9(0x14b)],{'month':_0x17d0dd[_0x237ec9(0xd3)],'day':_0x17d0dd['gtYlJ']}),_0x4bbc43=_0x588228['authorName']||_0x588228['authorEmail']||'Unknown';console[_0x237ec9(0x173)](_0x237ec9(0x16a)+_0x4bbc43+'\x20('+_0x272f36+'):\x20\x22'+_0x588228[_0x237ec9(0x110)]+'\x22');if(_0x588228[_0x237ec9(0xeb)]){const _0x279cfd=await downloadFeedbackImage(_0x588228['assetUrl'],_0x588228['id']);_0x279cfd&&console[_0x237ec9(0x173)](_0x237ec9(0xd1)+_0x279cfd);}if(_0x588228['domRef']){const _0x1b3509=_0x588228['domRef'][_0x237ec9(0x12b)]['split'](_0x17d0dd['cSOGB'])['pop']()?.['split'](':')[0x0]||_0x237ec9(0x148),_0x39626d=_0x588228['domRef']['textContent']?'\x20\x22'+_0x588228[_0x237ec9(0xcb)][_0x237ec9(0xf8)][_0x237ec9(0x146)](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1b3509+'>'+_0x39626d),console[_0x237ec9(0x173)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x588228['domRef']['selector']);}else{if(_0x588228['spatial']){const _0x518fba=_0x588228['spatial'][_0x237ec9(0xf2)];_0x588228[_0x237ec9(0xe9)]['type']===_0x237ec9(0x19c)&&_0x17d0dd['FaKUH'](_0x518fba['length'],0x2)?console[_0x237ec9(0x173)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x518fba[0x0][_0x237ec9(0x19b)](0x2)+',\x20'+_0x518fba[0x1][_0x237ec9(0x19b)](0x2)+')'):console[_0x237ec9(0x173)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x588228[_0x237ec9(0xe9)]['type']+_0x237ec9(0xfd)+_0x518fba['map'](_0x2759a9=>_0x2759a9[_0x237ec9(0x19b)](0x2))[_0x237ec9(0xcf)](',\x20')+']');}}}if(_0x3a483e[_0x237ec9(0x10f)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x142db9 of _0x3a483e[_0x237ec9(0x10f)][_0x237ec9(0x128)]('\x0a')){console['log'](_0x237ec9(0xcd)+_0x142db9);}}}else console['log'](_0x237ec9(0x101)+_0x17d0dd[_0x237ec9(0xce)](_0x3480e4,0x1)+_0x237ec9(0x12a)+_0x12cb81[_0x237ec9(0xd7)]+'\x22'+_0x1e5100+_0x237ec9(0x17c)),console[_0x237ec9(0x173)](_0x237ec9(0x162));console[_0x237ec9(0x173)]('');}}export async function featureDelete(_0x2b98c5){const _0x2ed8fe=_0x3dcc19,_0x408143={'FpZGF':function(_0x1f6fd6,_0x136236){return _0x1f6fd6+_0x136236;}},_0x22123b=_0x2b98c5||await getActiveFeatureId();if(!_0x22123b)throw new Error(_0x2ed8fe(0xea));const _0x321c23=await getFeature(_0x22123b);await softDeleteFeature(_0x22123b),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x321c23['name']+'\x20('+_0x22123b+')'),console[_0x2ed8fe(0x173)](_0x408143[_0x2ed8fe(0x10d)](_0x2ed8fe(0x157),_0x22123b));}export async function featureRestore(_0xfa5ad5){await restoreFeature(_0xfa5ad5);const _0x4833ce=await getFeature(_0xfa5ad5);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4833ce['name']+'\x20('+_0xfa5ad5+')'),displayFeature(_0x4833ce,_0x4833ce['checklistItems']);}function _0xa8e7(){const _0x50f5b4=['coordinates','unaddressedComments','tXjpA','258256FiFPDn','iZSEB','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','textContent','223595cesVCx','write','closed','GXZqo','\x20at\x20[','blockedReason','AUNvY','.\x20Feature\x20review\x20has\x20','Scenario\x20','SEpAI','\x20\x20\x20Status:\x20','toLocaleDateString','iteration','\x20--current-branch','verified','Step\x20','vmbkb','completed','\x0a✅\x20Resumed\x20feature\x20review:\x20','pqFzz','FpZGF','EHyar','canonicalFlow','content','bIdfl','\x0aGenerating\x20report...','DDQCr','completedAt','\x1b[0m','find','parentItemId','blocked','github.com/','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','Showing\x20','.md','sORbJ','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','trim','DedmT','filter','\x20\x20\x20Description:\x20','\x0a✅\x20Session\x20is\x20already\x20completed.','scenario','excludeScenarios','\x20—\x20','terminalReason','split','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.',':\x20\x22','selector','Not\x20in\x20a\x20git\x20repository.','\x0a⚠️\x20\x20','error','\x20\x20\x20\x20\x20Branch:\x20','stats','cohrh','scenarios','verifiedItems','VRSjl','HGBIF','items','cAtqN','replace','stdin','feedback-images','pipe','dashboardUrl','incomplete','ready','pInNb','name','\x20--limit\x20','arrayBuffer','QksJy','createdAt','assets','slice','gitBranch','element','stdout','oWtlu','UlJMd','2042362muqZQB','linkedSession','version','json','trimEnd','toLocaleString','after','kBeYj','isInteger','SFLgy','\x20\x20\x20Created:\x20','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','CLAUDE_SESSION_ID','wokdQ','any','latestReview','git\x20rev-parse\x20--abbrev-ref\x20HEAD','exit','env','No\x20sessions\x20found.','has','screenshotUrls','\x20\x20✅\x20No\x20feedback\x20to\x20address','\x20incomplete','totalCount','uutqs','OgvBr','warn','utf-8','NpRQW','\x20\x20💬\x20','PHxdx','lRCgt','dNrUD','agentResponse','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x20feature\x20review(s)\x20found','\x20\x20\x20▶️\x20Started\x20session\x20','DkFFk','log','BSvVu','\x20of\x20','134124WMSSfM','map','\x0aCreating\x20feature\x20review...','repeat','submittedAt','\x20concluded.','\x20—\x20no\x20comments','VTqxV','gitRepoUrl','\x0a\x20\x20\x20Scenarios:','JLVoO','\x20(v','/api/v1/mcp/browser-sessions/','sDhLB','wBWIQ','PQEjy','vvdTD','RhwRz','aXlXm','DOKkI','24sqTdxl','sessionId','MHwVx','\x20\x20\x20\x20\x20\x20Cancelled:\x20','offset','isTTY','DBQcb','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','kiVOF','acQby','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x20\x20\x20Completed:\x20','zSnIr','OfvoR','verificationInProgressItems','RwJwZ','toFixed','point','screenshot','fZpqe','git\x20remote\x20get-url\x20origin','OGyIG','checklistItems','comment_','\x0a✅\x20Report\x20generated:\x20','\x20\x20\x20Branch:\x20','416946qxMooY','HTEWP','stqkg','LAMgy','RANGER_TEST_USERNAME','GcXNO','\x0a✅\x20Feature\x20review\x20created:\x20','domRef','location','\x20\x20\x20\x20','JuzkX','join','push','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','bIpcT','MvJdl','limit','No\x20scenarios\x20found.','incompleteReason','description','selected','\x20\x20\x20Updated\x20branch\x20to:\x20','reports','length','\x20scenario(s).','short','in_progress','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','893692zUcohl','currentSessionId','status','\x20\x20\x20','LqoGE','\x20Session\x20','pmxkc','...','\x20\x20\x20Progress:\x20','spatial','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','assetUrl','btcMq','includeDeleted','assetType','canceledReason','approved','5999472kXQKuB'];_0xa8e7=function(){return _0x50f5b4;};return _0xa8e7();}
|
|
1
|
+
const _0x455191=_0xea2f;(function(_0x359d55,_0x73b88e){const _0x44de3b=_0xea2f,_0x4e5b80=_0x359d55();while(!![]){try{const _0x43b49e=parseInt(_0x44de3b(0x12d))/0x1*(parseInt(_0x44de3b(0xd2))/0x2)+parseInt(_0x44de3b(0x121))/0x3*(parseInt(_0x44de3b(0x144))/0x4)+-parseInt(_0x44de3b(0x11b))/0x5+-parseInt(_0x44de3b(0xfe))/0x6*(parseInt(_0x44de3b(0x116))/0x7)+-parseInt(_0x44de3b(0x131))/0x8+-parseInt(_0x44de3b(0x15c))/0x9*(parseInt(_0x44de3b(0x10d))/0xa)+parseInt(_0x44de3b(0x162))/0xb;if(_0x43b49e===_0x73b88e)break;else _0x4e5b80['push'](_0x4e5b80['shift']());}catch(_0x59beb1){_0x4e5b80['push'](_0x4e5b80['shift']());}}}(_0x4f03,0xd8510));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x49b5e8 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=_0x455191(0xfa),bold=_0x529136=>_0x455191(0x184)+_0x529136+'\x1b[0m';function getGitRepoUrl(){const _0xffe878=_0x455191,_0x2e0ecb={'aaMgR':function(_0x5e661f,_0x4b9282,_0x322493){return _0x5e661f(_0x4b9282,_0x322493);},'JlihD':_0xffe878(0x182),'uQQec':'pipe','LYgRD':'github.com/'};try{const _0x306380=_0x2e0ecb['aaMgR'](execSync,_0x2e0ecb[_0xffe878(0x16a)],{'encoding':_0xffe878(0x1a5),'stdio':[_0x2e0ecb[_0xffe878(0x126)],_0x2e0ecb['uQQec'],_0x2e0ecb['uQQec']]})['trim']();return _0x306380[_0xffe878(0x192)](/\.git$/,'')[_0xffe878(0x192)](/^git@github\.com:/,_0x2e0ecb[_0xffe878(0x161)])[_0xffe878(0x192)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x247b84=_0x455191,_0x3ace9a={'wXNPI':_0x247b84(0x1a5),'jwYlB':_0x247b84(0x12e)};try{return execSync(_0x247b84(0x141),{'encoding':_0x3ace9a[_0x247b84(0xef)],'stdio':[_0x247b84(0x12e),_0x247b84(0x12e),_0x3ace9a[_0x247b84(0x114)]]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0xd56fd4={'PNtde':function(_0x34d083,_0x3b9e9e,_0x190d42){return _0x34d083(_0x3b9e9e,_0x190d42);},'MgDkV':function(_0x1045a0){return _0x1045a0();},'lrtUO':'utf-8'},_0x511aba=_0xd56fd4['PNtde'](join,_0xd56fd4['MgDkV'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x511aba))return null;try{const _0x4aa3eb=await _0xd56fd4['PNtde'](readFile,_0x511aba,_0xd56fd4['lrtUO']);return _0x4aa3eb['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x21b938){const _0x27d11f=_0x455191,_0x2f8f70={'VBkLd':function(_0x26fe22){return _0x26fe22();},'kDTzX':function(_0xd90a59,_0x236268,_0x1b39ed){return _0xd90a59(_0x236268,_0x1b39ed);},'HoeFG':function(_0x3a745b,_0x203639,_0x1d6d24,_0x18befe){return _0x3a745b(_0x203639,_0x1d6d24,_0x18befe);}},_0x5197c4=_0x2f8f70[_0x27d11f(0x17f)](getRangerDir),_0xc00c4e=join(_0x5197c4,ACTIVE_FEATURE_FILE);!existsSync(_0x5197c4)&&await _0x2f8f70[_0x27d11f(0x128)](mkdir,_0x5197c4,{'recursive':!![]}),await _0x2f8f70[_0x27d11f(0x150)](writeFile,_0xc00c4e,_0x21b938,'utf-8');}function getProgressDisplay(_0x5b54fb){const _0x32dd59=_0x455191,_0x392150={'AodpI':function(_0x3d76f5,_0x207f72){return _0x3d76f5+_0x207f72;},'EAmAQ':function(_0x22ce96,_0x509b11){return _0x22ce96===_0x509b11;},'UimQv':function(_0x1d9272,_0x33a413){return _0x1d9272*_0x33a413;},'YUJWP':function(_0x1bd9c6,_0x5da90c){return _0x1bd9c6-_0x5da90c;},'yfnZm':function(_0x4765df,_0x1dd426){return _0x4765df>_0x1dd426;}},_0x4e6f64=_0x5b54fb['verifiedItems']||0x0,_0x9383d1=_0x5b54fb[_0x32dd59(0x136)]||0x0,_0x264c7e=_0x5b54fb[_0x32dd59(0x119)]||0x0,_0x2b6143=_0x5b54fb[_0x32dd59(0xcc)]||0x0,_0x55543e=_0x5b54fb[_0x32dd59(0x16d)]||0x0,_0x1d5ac7=_0x392150[_0x32dd59(0x10f)](_0x4e6f64+_0x9383d1,_0x264c7e)+_0x2b6143+_0x55543e;if(_0x392150[_0x32dd59(0x17a)](_0x1d5ac7,0x0))return'-';const _0x3aedd3=0xa,_0x3268d4=Math['round'](_0x392150[_0x32dd59(0x129)](_0x4e6f64/_0x1d5ac7,_0x3aedd3)),_0x578466='█'['repeat'](_0x3268d4)+'░'[_0x32dd59(0xf4)](_0x392150['YUJWP'](_0x3aedd3,_0x3268d4)),_0xb820cd=[];if(_0x264c7e>0x0)_0xb820cd['push'](_0x264c7e+_0x32dd59(0x199));if(_0x392150[_0x32dd59(0x179)](_0x2b6143,0x0))_0xb820cd['push'](_0x2b6143+'\x20incomplete');if(_0x9383d1>0x0)_0xb820cd[_0x32dd59(0xf0)](_0x9383d1+'\x20in\x20progress');const _0x339adf=_0x392150['yfnZm'](_0xb820cd[_0x32dd59(0x19b)],0x0)?'\x20('+_0xb820cd[_0x32dd59(0x11a)](',\x20')+')':'';return _0x578466+'\x20'+_0x4e6f64+'/'+_0x1d5ac7+'\x20verified'+_0x339adf;}function getCurrentSessionItems(_0x367a6d,_0x446846){const _0x1adfac=_0x455191;if(!_0x367a6d[_0x1adfac(0x17d)])return _0x446846['filter'](_0x48bf26=>!_0x48bf26[_0x1adfac(0x18a)]);return _0x446846['filter'](_0xc60b2b=>_0xc60b2b[_0x1adfac(0x18a)]===_0x367a6d['currentSessionId']||!_0xc60b2b[_0x1adfac(0x18a)]);}function _0x4f03(){const _0x2d9638=['/artifacts/','\x20\x20\x20\x20\x20Progress:\x20','No\x20scenarios\x20found.','stats','ylNeY','latestReview','description','jEHkZ','RhhuZ','kSCSZ','write','toLocaleString','UbTfn','assetType','DFaVS','zfSiT','offset','wXNPI','push','):\x20\x22','get','YcArI','repeat','RsgbZ','VkABZ','\x20scenarios.','assets','blockedReason','active-feature.txt','in_progress','short','error','1542WLPlSB','\x0a✅\x20Resumed\x20feature\x20review:\x20','scenarios','JCSwn','incomplete','approved','trim','vrpql','\x20--current-branch','dashboardUrl','\x20\x20\x20\x20\x20📋\x20Selector:\x20','fxwYY','jdumC','textContent','\x20\x20\x20Branch:\x20','3948600wOEepS','pJhue','AodpI','asHeD','completedAt','.md','\x0a✅\x20Session\x20is\x20already\x20completed.','jwYlB','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','32088nzjWOM','screenshotUrls','type','blockedItems','join','4786470jycbpT','jCPPW','iftRX','mDLsj','all','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','54EcfLUg','agentResponse','RANGER_TEST_USERNAME','gitBranch','terminalReason','uQQec','\x0aConcluding\x20session...','kDTzX','UimQv','\x20\x20\x20ID:\x20','ready','scenario','5tNoTuk','pipe','\x20(v','has','11654224guGPEM','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20\x20Expected\x20flow:','verificationInProgressItems','linkedSession','No\x20active\x20session\x20for\x20this\x20feature\x20review.','tpRdg','\x20\x20\x20Created:\x20','incompleteReason','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','content','toLocaleDateString','limit','git\x20rev-parse\x20--abbrev-ref\x20HEAD','mTBuJ','XtFWL','210460PnhjYf','items','\x20\x20\x20\x20\x20\x20Blocked:\x20','yOAer','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','en-US','filter','Scenario\x20','AHwRP','\x0a⚠️\x20\x20','find','HoeFG','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','bPkSp','\x20—\x20','pjnTR','canonicalFlow','env','name','kWVZZ','\x20/\x20','\x0a❌\x20Invalid\x20scenario\x20index:\x20','9ZKqTAp','any','uqODk','\x0a\x20\x20\x20Scenarios:','uvRNy','LYgRD','39774757uttzAf','\x0a✅\x20Report\x20generated:\x20','authorName','stdout','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','submittedAt','sGjBc','version','JlihD','gitRepoUrl','isInteger','pendingItems','closed','dAKOv','log','split','reports','rNYCB','YpEBX','YVlzU','vPJVk','ohoQU','\x20\x20\x20\x20\x20\x20Incomplete:\x20','yfnZm','EAmAQ','isKeyStep','unaddressedComments','currentSessionId','selector','VBkLd','qGrpx','oGBpf','git\x20remote\x20get-url\x20origin','\x0a✅\x20Scenario\x20added','\x1b[1m','\x20\x20\x20Progress:\x20','createdAt','browserSessionId','ryDbh','domRef','sessionId','storage','\x20\x20\x20▶️\x20Started\x20session\x20','\x20--limit\x20','kppUY','bDdZT','spatial','Step\x20','replace','timing','qpjlv','\x20>\x20','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','wALUZ','WXXZS','\x20blocked','NNPBM','length','\x0a✅\x20Restored\x20feature\x20review:\x20','checklistItems','verification_in_progress','AoaAY','canceledReason','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','point','exit','\x0aNo\x20feature\x20reviews\x20found.','utf-8','slice','ziNyc','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','includeDeleted','\x20Session\x20','incompleteItems','\x20\x20\x20Repository:\x20','toFixed','PtwIt','\x0a✅\x20Scenario\x20updated','\x20scenario(s).','124038Fldfmx','status','map','cHaiC','YGNka','totalCount','Next\x20page:\x20ranger\x20list\x20--offset\x20','style','after','assetUrl','currentBranch','lckZM'];_0x4f03=function(){return _0x2d9638;};return _0x4f03();}function displayFeature(_0x3fff91,_0x4ffda3){const _0x9d6ec5=_0x455191,_0x37c34f={'ziNyc':function(_0x5a5ea6,_0x418280){return _0x5a5ea6>_0x418280;},'vrpql':_0x9d6ec5(0x15f),'DFaVS':function(_0x3c672c,_0x160f1e){return _0x3c672c===_0x160f1e;},'PtwIt':_0x9d6ec5(0x103),'YVlzU':_0x9d6ec5(0x102),'wALUZ':function(_0x4062eb,_0x514d31){return _0x4062eb===_0x514d31;},'uvRNy':_0x9d6ec5(0x16e),'fHrFs':_0x9d6ec5(0x19e),'rFFcl':function(_0x11c247,_0x260ab1){return _0x11c247>_0x260ab1;},'ohoQU':function(_0x3df8e0,_0x4658eb){return _0x3df8e0+_0x4658eb;},'bPkSp':function(_0x55cf4e,_0x27a9b4){return _0x55cf4e===_0x27a9b4;},'vXjPb':function(_0xe1364d,_0x2dc094){return _0xe1364d===_0x2dc094;}};console[_0x9d6ec5(0x170)]('\x0a'+_0x3fff91['name']+'\x20('+_0x3fff91[_0x9d6ec5(0x107)]+')');_0x3fff91[_0x9d6ec5(0xe1)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3fff91[_0x9d6ec5(0xe1)]));_0x3fff91[_0x9d6ec5(0xe4)]&&console[_0x9d6ec5(0x170)]('\x20\x20\x20Description:\x20'+_0x3fff91['description']);_0x3fff91['gitRepoUrl']&&console[_0x9d6ec5(0x170)](_0x9d6ec5(0xcd)+_0x3fff91[_0x9d6ec5(0x16b)]);_0x3fff91['gitBranch']&&console['log'](_0x9d6ec5(0x10c)+_0x3fff91['gitBranch']);console['log'](_0x9d6ec5(0x13a)+new Date(_0x3fff91[_0x9d6ec5(0x186)])['toLocaleString']());_0x3fff91['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3fff91['completedAt'])['toLocaleString']());if(_0x4ffda3&&_0x37c34f[_0x9d6ec5(0x1a7)](_0x4ffda3[_0x9d6ec5(0x19b)],0x0)){console['log'](_0x37c34f[_0x9d6ec5(0x105)]);for(let _0x88c204=0x0;_0x88c204<_0x4ffda3[_0x9d6ec5(0x19b)];_0x88c204++){const _0x589df8=_0x4ffda3[_0x88c204];let _0xb4b462;if(_0x37c34f[_0x9d6ec5(0xec)](_0x589df8['status'],_0x9d6ec5(0x16e))&&_0x589df8['terminalReason']===_0x37c34f[_0x9d6ec5(0xcf)])_0xb4b462='✅';else{if(_0x37c34f['DFaVS'](_0x589df8['status'],'verified'))_0xb4b462='🟢';else{if(_0x589df8['status']===_0x37c34f[_0x9d6ec5(0x175)])_0xb4b462='🟠';else{if(_0x37c34f['wALUZ'](_0x589df8['status'],'blocked'))_0xb4b462='🛑';else{if(_0x37c34f[_0x9d6ec5(0xec)](_0x589df8['status'],_0x37c34f[_0x9d6ec5(0x160)]))_0xb4b462='⛔';else _0x589df8['status']===_0x37c34f['fHrFs']?_0xb4b462='⏳':_0xb4b462='⬜';}}}}const _0x5c25d2=_0x37c34f['rFFcl'](_0x589df8[_0x9d6ec5(0x169)],0x1)?_0x9d6ec5(0x12f)+_0x589df8['version']+')':'',_0x5a9f5c=_0x589df8['version']>0x1&&_0x589df8['parentItemId']&&_0x589df8[_0x9d6ec5(0xd3)]!==_0x37c34f['uvRNy']&&_0x589df8['status']!=='verified'?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0x37c34f[_0x9d6ec5(0x177)](_0x88c204,0x1)+'.\x20'+_0xb4b462+'\x20'+_0x589df8['description']+_0x5c25d2+_0x5a9f5c);_0x589df8['status']==='blocked'&&_0x589df8['blockedReason']&&console[_0x9d6ec5(0x170)](_0x9d6ec5(0x146)+_0x589df8[_0x9d6ec5(0xf9)]);_0x37c34f[_0x9d6ec5(0x153)](_0x589df8[_0x9d6ec5(0xd3)],'incomplete')&&_0x589df8['incompleteReason']&&console['log'](_0x9d6ec5(0x178)+_0x589df8['incompleteReason']);if(_0x589df8[_0x9d6ec5(0xd3)]===_0x37c34f['uvRNy']&&_0x37c34f[_0x9d6ec5(0x197)](_0x589df8[_0x9d6ec5(0x125)],_0x9d6ec5(0x103)))console[_0x9d6ec5(0x170)]('\x20\x20\x20\x20\x20\x20Approved');else _0x37c34f['vXjPb'](_0x589df8['status'],_0x37c34f[_0x9d6ec5(0x160)])&&_0x589df8['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x589df8['canceledReason']);}}}export async function featureCreate(_0x25e41c,_0x3835b3){const _0x2e1050=_0x455191,_0x20da5b={'zfSiT':function(_0x282be5,_0x217655){return _0x282be5===_0x217655;},'RsgbZ':function(_0x31945d){return _0x31945d();},'AoaAY':'\x0aCreating\x20feature\x20review...','ONcpZ':function(_0x3e5a71,_0x3c3dbc){return _0x3e5a71(_0x3c3dbc);},'DlCdH':function(_0x4fcc28,_0x5310c8){return _0x4fcc28(_0x5310c8);},'NNPBM':function(_0x599c82,_0x226bdc){return _0x599c82(_0x226bdc);},'mmBxm':function(_0x34e4ea,_0x49d8b0,_0x4f6fd6){return _0x34e4ea(_0x49d8b0,_0x4f6fd6);}},{envNames:_0x3be200}=await getEnvNames();if(_0x3be200[_0x2e1050(0x19b)]===0x0&&!process['env'][_0x2e1050(0x123)]){let _0x4bf60c=0x0;try{_0x4bf60c=(await listCloudProfiles())[_0x2e1050(0x19b)];}catch{_0x4bf60c=0x1;}_0x20da5b[_0x2e1050(0xed)](_0x4bf60c,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x3b729d=>bold(_0x3b729d)));}const _0x4d5f44=_0x3835b3[_0x2e1050(0x100)]?_0x3835b3[_0x2e1050(0x100)]['map'](_0x5ac65c=>_0x5ac65c[_0x2e1050(0x104)]()):[],_0x29460b=getGitRepoUrl(),_0x4fcadd=_0x20da5b[_0x2e1050(0xf5)](getGitBranch);console['log'](_0x20da5b[_0x2e1050(0x19f)]);const _0x5b4ba6=await _0x20da5b['ONcpZ'](createFeature,{'name':_0x25e41c,'description':_0x3835b3[_0x2e1050(0xe4)],'checklist':_0x4d5f44,'gitRepoUrl':_0x29460b,'gitBranch':_0x4fcadd});await _0x20da5b['DlCdH'](setActiveFeatureId,_0x5b4ba6['id']),await _0x20da5b[_0x2e1050(0x19a)](tryStartCurrentSession,_0x5b4ba6['id']);const _0x1e148e=process[_0x2e1050(0x157)]['CLAUDE_SESSION_ID'];_0x1e148e&&_0x20da5b['mmBxm'](registerSession,_0x1e148e,_0x5b4ba6['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5b4ba6['id']),displayFeature(_0x5b4ba6,_0x5b4ba6[_0x2e1050(0x19d)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x486a01){const _0x528c80=_0x455191,_0x1be227={'WXXZS':function(_0x3197a6){return _0x3197a6();},'jCPPW':'1|5|4|2|0|3','OtAtF':function(_0x2f304,_0x5767e4){return _0x2f304(_0x5767e4);},'pEKft':'\x20--include-deleted'},_0x38da55={'limit':_0x486a01['limit']??0xa,'offset':_0x486a01['offset']??0x0,'includeDeleted':_0x486a01['includeDeleted']};_0x486a01[_0x528c80(0xdc)]&&(_0x38da55['gitRepoUrl']=_0x1be227[_0x528c80(0x198)](getGitRepoUrl),_0x38da55[_0x528c80(0x124)]=getGitBranch());const _0x30efcc=await listFeatures(_0x38da55);if(_0x30efcc[_0x528c80(0x145)]['length']===0x0){console['log'](_0x528c80(0x1a4));return;}const _0x361915=_0x30efcc[_0x528c80(0xd7)]>_0x30efcc['items'][_0x528c80(0x19b)]?'Showing\x20'+_0x30efcc['items']['length']+'\x20of\x20'+_0x30efcc[_0x528c80(0xd7)]:_0x30efcc[_0x528c80(0xd7)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x361915+':\x0a');for(const _0x3f59f7 of _0x30efcc['items']){const _0x45dceb=_0x1be227[_0x528c80(0x11c)]['split']('|');let _0x57cd56=0x0;while(!![]){switch(_0x45dceb[_0x57cd56++]){case'0':console['log'](_0x528c80(0x13a)+new Date(_0x3f59f7['createdAt'])['toLocaleDateString']());continue;case'1':console[_0x528c80(0x170)](''+_0x3f59f7[_0x528c80(0x158)]);continue;case'2':_0x3f59f7[_0x528c80(0x124)]&&console[_0x528c80(0x170)]('\x20\x20\x20Branch:\x20'+_0x3f59f7['gitBranch']);continue;case'3':console['log']('');continue;case'4':_0x3f59f7['stats']&&console[_0x528c80(0x170)](_0x528c80(0x185)+_0x1be227['OtAtF'](getProgressDisplay,_0x3f59f7['stats']));continue;case'5':console['log'](_0x528c80(0x12a)+_0x3f59f7['id']);continue;}break;}}const _0x48dbf8=_0x38da55[_0x528c80(0x140)]??0xa,_0x240f50=(_0x38da55[_0x528c80(0xee)]??0x0)+_0x30efcc['items']['length'];if(_0x240f50<_0x30efcc[_0x528c80(0xd7)]){const _0x5f4e2f=_0x48dbf8!==0xa?_0x528c80(0x18d)+_0x48dbf8:'',_0x1b4d2a=_0x486a01[_0x528c80(0xdc)]?_0x528c80(0x106):'',_0x404dbc=_0x486a01[_0x528c80(0x1a9)]?_0x1be227['pEKft']:'';console[_0x528c80(0x170)](_0x528c80(0xd8)+_0x240f50+_0x5f4e2f+_0x1b4d2a+_0x404dbc);}}export async function featureShow(_0x14d54d){const _0x4318dc=_0x455191,_0x2b20c6={'pJhue':function(_0x3360f5,_0x243cc1,_0x5614f9){return _0x3360f5(_0x243cc1,_0x5614f9);}},_0x183655=_0x14d54d||await getActiveFeatureId();if(!_0x183655)throw new Error(_0x4318dc(0x133));const _0x21d822=await getFeature(_0x183655);_0x2b20c6[_0x4318dc(0x10e)](displayFeature,_0x21d822,_0x21d822[_0x4318dc(0x19d)]);}export async function featureResume(_0x15beb3){const _0x1ef07c=_0x455191,_0x2eb68a={'qpjlv':function(_0x4da653,_0x3a0f9e){return _0x4da653(_0x3a0f9e);},'ryDbh':function(_0x3f7a5f){return _0x3f7a5f();},'InaGN':function(_0x4e7948,_0x14c639){return _0x4e7948!==_0x14c639;},'xhmeC':function(_0xebc01,_0x56f177,_0x1259d6){return _0xebc01(_0x56f177,_0x1259d6);},'fxwYY':function(_0x160706,_0x40d70c){return _0x160706(_0x40d70c);},'rNYCB':function(_0x39cb8a){return _0x39cb8a();},'NVSoZ':function(_0x5250b9,_0xc5f7c9){return _0x5250b9||_0xc5f7c9;},'hHgxq':_0x1ef07c(0x15d),'asHeD':'selected','dAKOv':function(_0x4bd0d3,_0x397aee){return _0x4bd0d3(_0x397aee);}};if(_0x15beb3){const _0x409118=await _0x2eb68a['qpjlv'](getFeature,_0x15beb3);await setActiveFeatureId(_0x409118['id']);const _0x555c4c=_0x2eb68a[_0x1ef07c(0x188)](getGitBranch);_0x555c4c&&_0x2eb68a['InaGN'](_0x555c4c,_0x409118['gitBranch'])&&(await _0x2eb68a['xhmeC'](updateFeature,_0x409118['id'],{'gitBranch':_0x555c4c}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x555c4c));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x409118[_0x1ef07c(0x158)]+'\x20('+_0x409118['id']+')'),await tryStartCurrentSession(_0x409118['id']);const _0x3c3c71=process['env']['CLAUDE_SESSION_ID'];_0x3c3c71&®isterSession(_0x3c3c71,_0x409118['id']);_0x2eb68a['xhmeC'](displayFeature,_0x409118,_0x409118['checklistItems']),await _0x2eb68a[_0x1ef07c(0x109)](printFeedbackNudge,_0x409118['id']);return;}const _0x7cf641=getGitRepoUrl(),_0x139047=_0x2eb68a[_0x1ef07c(0x173)](getGitBranch);if(!_0x7cf641&&!_0x139047)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x2eb68a['NVSoZ'](_0x7cf641,_0x2eb68a['hHgxq'])+_0x1ef07c(0x15a)+(_0x139047||_0x1ef07c(0x15d))+'...');const _0x17de42=await _0x2eb68a[_0x1ef07c(0x109)](listFeatures,{'gitRepoUrl':_0x7cf641,'gitBranch':_0x139047}),_0x229229=_0x17de42['items']['filter'](_0x2c4d0b=>_0x2c4d0b[_0x1ef07c(0xd3)]?_0x2c4d0b['status']!=='verified':!_0x2c4d0b['completedAt']);if(_0x229229[_0x1ef07c(0x19b)]===0x0){console[_0x1ef07c(0x170)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x1ef07c(0x170)](_0x1ef07c(0x166));return;}let _0x5d0fe1;if(_0x229229[_0x1ef07c(0x19b)]===0x1)_0x5d0fe1=_0x229229[0x0];else{const _0x4f98ae=process['stdin']['isTTY']&&process[_0x1ef07c(0x165)]['isTTY'];if(!_0x4f98ae){console['log'](_0x1ef07c(0x1a8));for(const _0x93184a of _0x229229){console['log']('\x20\x20'+_0x93184a['name']),console[_0x1ef07c(0x170)]('\x20\x20\x20\x20\x20ID:\x20'+_0x93184a['id']),_0x93184a['stats']&&console['log'](_0x1ef07c(0xdf)+_0x2eb68a['qpjlv'](getProgressDisplay,_0x93184a[_0x1ef07c(0xe1)])),_0x93184a[_0x1ef07c(0x124)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x93184a['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x94ecaf}=await _0x49b5e8['prompt']([{'type':'list','name':_0x2eb68a[_0x1ef07c(0x110)],'message':_0x1ef07c(0x115),'choices':_0x229229['map'](_0x419637=>({'name':_0x419637[_0x1ef07c(0x158)]+'\x20('+_0x419637['id']+')','value':_0x419637['id']}))}]);_0x5d0fe1=_0x229229[_0x1ef07c(0x14f)](_0x59cf4d=>_0x59cf4d['id']===_0x94ecaf);}await _0x2eb68a[_0x1ef07c(0x16f)](setActiveFeatureId,_0x5d0fe1['id']);_0x139047&&_0x139047!==_0x5d0fe1[_0x1ef07c(0x124)]&&(await updateFeature(_0x5d0fe1['id'],{'gitBranch':_0x139047}),console['log'](_0x1ef07c(0x152)+_0x139047));console['log'](_0x1ef07c(0xff)+_0x5d0fe1['name']+'\x20('+_0x5d0fe1['id']+')'),await _0x2eb68a[_0x1ef07c(0x194)](tryStartCurrentSession,_0x5d0fe1['id']);const _0x2fc5b3=await _0x2eb68a['dAKOv'](getFeature,_0x5d0fe1['id']),_0x1e0537=process['env']['CLAUDE_SESSION_ID'];_0x1e0537&®isterSession(_0x1e0537,_0x2fc5b3['id']),displayFeature(_0x2fc5b3,_0x2fc5b3['checklistItems']),await printFeedbackNudge(_0x2fc5b3['id']);}async function printFeedbackNudge(_0x4b250c){const _0x4a6e46=_0x455191;try{const {items:_0x277461}=await getActionItems(_0x4b250c);let _0x1a939e=0x0,_0x173c1a=0x0;for(const _0x6f4a41 of _0x277461){const _0x2bc67d=await getItemFeedback(_0x4b250c,_0x6f4a41['id']);_0x2bc67d['unaddressedComments']['length']>0x0&&(_0x1a939e+=_0x2bc67d['unaddressedComments'][_0x4a6e46(0x19b)],_0x173c1a++);}_0x1a939e>0x0&&(console[_0x4a6e46(0x170)](_0x4a6e46(0x14e)+_0x1a939e+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x173c1a+_0x4a6e46(0xd1)),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x20893b){const _0x573324=_0x455191,_0x519f8a={'AHwRP':function(_0x13c8b3,_0x9c9629){return _0x13c8b3(_0x9c9629);}};try{const {sessions:_0x41297c}=await _0x519f8a[_0x573324(0x14d)](listFeatureSessions,_0x20893b),_0xf705c6=_0x41297c['find'](_0x8a4735=>_0x8a4735['status']===_0x573324(0x12b));_0xf705c6&&(await startSession(_0x20893b,_0xf705c6['id']),console['log'](_0x573324(0x18c)+_0xf705c6['iteration']));}catch{}}function _0xea2f(_0x36d32,_0x41dad5){_0x36d32=_0x36d32-0xcc;const _0x4f039f=_0x4f03();let _0xea2fe4=_0x4f039f[_0x36d32];return _0xea2fe4;}export async function featureReport(_0x38209f,_0x50d07a){const _0x18de00=_0x455191,_0xe7de13={'mDLsj':function(_0x145a25){return _0x145a25();},'jWwMC':'\x0aGenerating\x20report...','jEHkZ':function(_0x5005fb,_0x67f808,_0x3fc0b9,_0x464bd2){return _0x5005fb(_0x67f808,_0x3fc0b9,_0x464bd2);},'HrjDH':function(_0x348fa7,_0xd5809c){return _0x348fa7(_0xd5809c);},'WtgBc':function(_0x35fce1,_0x404b1e,_0x321602){return _0x35fce1(_0x404b1e,_0x321602);}},_0x2ec03a=_0x38209f||await _0xe7de13[_0x18de00(0x11e)](getActiveFeatureId);if(!_0x2ec03a)throw new Error(_0x18de00(0x120));console['log'](_0xe7de13['jWwMC']);const _0x3cfb68=await getFeatureReportMarkdown(_0x2ec03a,{'style':_0x50d07a[_0x18de00(0xd9)]}),_0x34f96f=_0x50d07a['output']||_0xe7de13[_0x18de00(0xe5)](join,_0xe7de13[_0x18de00(0x11e)](getRangerDir),_0x18de00(0x172),_0x2ec03a+_0x18de00(0x112)),_0x4b644e=join(_0x34f96f,'..');!_0xe7de13['HrjDH'](existsSync,_0x4b644e)&&await _0xe7de13['WtgBc'](mkdir,_0x4b644e,{'recursive':!![]}),await _0xe7de13['jEHkZ'](writeFile,_0x34f96f,_0x3cfb68,'utf-8'),console['log'](_0x18de00(0x163)+_0x34f96f);}function getScenarioResult(_0x1dc3cd){const _0x5bd365=_0x455191,_0x53c795={'jdumC':function(_0x4cf2ae,_0x3f901e){return _0x4cf2ae===_0x3f901e;},'sGjBc':'closed','mRBgK':'verification_in_progress','uqODk':_0x5bd365(0xfb)};if(_0x53c795['jdumC'](_0x1dc3cd[_0x5bd365(0xd3)],_0x5bd365(0x16e)))return _0x1dc3cd['terminalReason']??_0x53c795[_0x5bd365(0x168)];if(_0x53c795[_0x5bd365(0x10a)](_0x1dc3cd[_0x5bd365(0xd3)],_0x53c795['mRBgK']))return _0x53c795[_0x5bd365(0x15e)];return _0x1dc3cd['status'];}function getScenarioRationale(_0x25f7c7,_0x5f126b){const _0x3d5ff1=_0x455191;if(_0x5f126b)return _0x5f126b;if(_0x25f7c7['blockedReason'])return _0x25f7c7[_0x3d5ff1(0xf9)];if(_0x25f7c7[_0x3d5ff1(0x13b)])return _0x25f7c7['incompleteReason'];if(_0x25f7c7['canceledReason'])return _0x25f7c7[_0x3d5ff1(0x1a0)];if(_0x25f7c7['notes'])return _0x25f7c7['notes'];return null;}export async function featureReportPrDescription(_0x972fe0,_0x2d08e9){const _0x23ef30=_0x455191,_0x5aca2e={'sRRLZ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','UWdzR':function(_0x26113c,_0x4f7b29,_0x3abaff){return _0x26113c(_0x4f7b29,_0x3abaff);},'ZwKRy':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','iQyBZ':function(_0x4fb5be,_0x12abb9){return _0x4fb5be+_0x12abb9;},'pCLCG':function(_0x224d13,_0x359437){return _0x224d13===_0x359437;},'tpRdg':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x5dd39e=_0x972fe0||await getActiveFeatureId();if(!_0x5dd39e)throw new Error(_0x5aca2e['sRRLZ']);const _0x23c05e=await getFeature(_0x5dd39e),_0x357595=_0x23c05e[_0x23ef30(0x19d)]||[],_0x41c68c=_0x5aca2e['UWdzR'](getCurrentSessionItems,_0x23c05e,_0x357595);_0x41c68c[_0x23ef30(0x19b)]===0x0&&(console['error'](_0x5aca2e['ZwKRy']),process['exit'](0x1));const _0x1becf5=_0x2d08e9['excludeScenarios']??[],_0x800b3a=_0x1becf5['filter'](_0x2af888=>!Number[_0x23ef30(0x16c)](_0x2af888)||_0x2af888<0x1||_0x2af888>_0x41c68c[_0x23ef30(0x19b)]);if(_0x800b3a[_0x23ef30(0x19b)]>0x0){console[_0x23ef30(0xfd)](_0x23ef30(0x151)+_0x800b3a[_0x23ef30(0x11a)](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2cc996=0x0;_0x2cc996<_0x41c68c['length'];_0x2cc996++){console['log']('\x20\x20'+_0x5aca2e['iQyBZ'](_0x2cc996,0x1)+'.\x20'+_0x41c68c[_0x2cc996]['description']);}process[_0x23ef30(0x1a3)](0x1);}const _0x25f875=new Set(_0x1becf5[_0x23ef30(0xd4)](_0x2747e6=>_0x2747e6-0x1)),_0x301bd5=_0x41c68c[_0x23ef30(0x14b)]((_0x1c104d,_0x4be15a)=>!_0x25f875[_0x23ef30(0x130)](_0x4be15a));_0x5aca2e['pCLCG'](_0x301bd5[_0x23ef30(0x19b)],0x0)&&(console['error'](_0x5aca2e[_0x23ef30(0x139)]),process[_0x23ef30(0x1a3)](0x1));if(_0x2d08e9['json'])await outputJsonReport(_0x5dd39e,_0x23c05e,_0x301bd5);else{const _0x237895=await getFeatureReportMarkdown(_0x5dd39e,{'itemIds':_0x301bd5['map'](_0x187d16=>_0x187d16['id'])});process[_0x23ef30(0x165)][_0x23ef30(0xe8)](_0x237895['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x4e459b,_0x4df671,_0x158848){const _0x10af0c=_0x455191,_0xc7d74e={'yOAer':function(_0x4d892a,_0x1cf148){return _0x4d892a(_0x1cf148);},'qfhoC':function(_0x5a1d36,_0x4cd4e0){return _0x5a1d36>_0x4cd4e0;},'YpEBX':function(_0x251cb8){return _0x251cb8();}},_0x58f43f=_0xc7d74e[_0x10af0c(0x174)](getApiBaseUrl),_0x502e6f=await getFeatureReport(_0x4e459b),_0x3e3076=new Map(_0x502e6f[_0x10af0c(0x19d)][_0x10af0c(0xd4)](_0x56bf0c=>[_0x56bf0c['id'],_0x56bf0c])),_0x5b5b49=await Promise[_0x10af0c(0x11f)](_0x158848[_0x10af0c(0xd4)](async _0x286121=>{const _0x206fe0=_0x10af0c,_0x5a0a96=_0x3e3076[_0x206fe0(0xf2)](_0x286121['id']),_0x315a05=_0x5a0a96?.[_0x206fe0(0x137)]??null;let _0x4edd4f=[];if(_0x286121['browserSessionId'])try{const {steps:_0x4662f7}=await _0xc7d74e['yOAer'](getBrowserSessionSteps,_0x286121[_0x206fe0(0x187)]);_0xc7d74e['qfhoC'](_0x4662f7['length'],0x0)&&(_0x4edd4f=_0x4662f7[_0x206fe0(0xd4)](_0x29144c=>{const _0xd2b2ac=_0x206fe0,_0x41aec2=_0x29144c['assets'][_0xd2b2ac(0x14f)](_0x243fef=>_0x243fef[_0xd2b2ac(0xeb)]==='screenshot'&&_0x243fef[_0xd2b2ac(0x193)]===_0xd2b2ac(0xda))??_0x29144c[_0xd2b2ac(0xf8)][_0xd2b2ac(0x14f)](_0x3188e0=>_0x3188e0[_0xd2b2ac(0xeb)]==='screenshot');let _0x548224=null,_0x4c5029=null;if(_0x41aec2){const _0xd7dc54=_0x41aec2[_0xd2b2ac(0x18b)]['location'][_0xd2b2ac(0x171)]('/')['pop']();_0x548224=_0x58f43f+'/api/v1/mcp/browser-sessions/'+_0x286121[_0xd2b2ac(0x187)]+_0xd2b2ac(0xde)+_0xd7dc54,_0xd7dc54&&(_0x4c5029=_0xd7dc54[_0xd2b2ac(0x192)](/\.\w+$/,'')[_0xd2b2ac(0x192)](/^(key_)?\d+_/,'')[_0xd2b2ac(0x192)](/[-_]/g,'\x20'));}return{'description':_0x4c5029||_0x29144c['description']||_0x29144c['stepName']||_0xd2b2ac(0x191)+_0x29144c['position'],'screenshot':_0x548224,'is_key_step':_0x29144c[_0xd2b2ac(0x17b)]};}));}catch{}return _0x4edd4f['length']===0x0&&_0x315a05?.['screenshotUrls']&&(_0x4edd4f=_0x315a05[_0x206fe0(0x117)][_0x206fe0(0xd4)]((_0x417ac2,_0x5adc53)=>({'description':'Screenshot\x20'+(_0x5adc53+0x1),'screenshot':_0x417ac2,'is_key_step':![]}))),{'description':_0x286121[_0x206fe0(0xe4)],'result':_0xc7d74e[_0x206fe0(0x147)](getScenarioResult,_0x286121),'rationale':getScenarioRationale(_0x286121,_0x315a05?.[_0x206fe0(0x122)]),'steps':_0x4edd4f};})),_0x42a526={'url':_0x4df671[_0x10af0c(0x107)],'scenarios':_0x5b5b49};process['stdout']['write'](JSON['stringify'](_0x42a526,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x168cfd){const _0x47e6c8=_0x455191,_0x37ba81={'JCSwn':function(_0x1dc737){return _0x1dc737();},'oGBpf':'completed','lckZM':function(_0x5caf77,_0x45cc18){return _0x5caf77!==_0x45cc18;}},_0x240fae=_0x168cfd||await _0x37ba81[_0x47e6c8(0x101)](getActiveFeatureId);if(!_0x240fae)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 _0x29c456=await getFeature(_0x240fae);if(!_0x29c456['currentSessionId'])throw new Error(_0x47e6c8(0x138));const {sessions:_0x4c78e7}=await listFeatureSessions(_0x240fae),_0x5b4f4f=_0x4c78e7['find'](_0x241b45=>_0x241b45['id']===_0x29c456['currentSessionId']);if(!_0x5b4f4f)throw new Error('Current\x20session\x20not\x20found.');if(_0x5b4f4f[_0x47e6c8(0xd3)]===_0x37ba81[_0x47e6c8(0x181)]){console[_0x47e6c8(0x170)](_0x47e6c8(0x113));return;}if(_0x37ba81[_0x47e6c8(0xdd)](_0x5b4f4f[_0x47e6c8(0xd3)],_0x47e6c8(0xfb)))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x5b4f4f['status']);console['log'](_0x47e6c8(0x127)),await concludeSession(_0x240fae,_0x29c456[_0x47e6c8(0x17d)]),console[_0x47e6c8(0x170)]('\x0a✅\x20Session\x20'+_0x5b4f4f['iteration']+'\x20concluded.'),console[_0x47e6c8(0x170)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x429ddc){const _0x270719=_0x455191,_0x5d463c={'sIjqG':function(_0x51e36c){return _0x51e36c();},'XtFWL':function(_0xc381c0,_0x4af47f){return _0xc381c0(_0x4af47f);},'UAzdt':function(_0x465dff,_0x55fc74){return _0x465dff===_0x55fc74;},'QQxSa':'completed'},_0x5a59c8=_0x429ddc||await _0x5d463c['sIjqG'](getActiveFeatureId);if(!_0x5a59c8)throw new Error(_0x270719(0x120));const _0x1ca129=await _0x5d463c[_0x270719(0x143)](getFeature,_0x5a59c8);console[_0x270719(0x170)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x1ca129[_0x270719(0x158)]+'\x0a');const {sessions:_0x45e712}=await listFeatureSessions(_0x5a59c8);if(_0x5d463c['UAzdt'](_0x45e712[_0x270719(0x19b)],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x357a33 of _0x45e712){const _0x206e5d=_0x357a33['status']===_0x5d463c['QQxSa']?'✅':_0x357a33[_0x270719(0xd3)]==='in_progress'?'🔄':'▶️';console['log'](_0x206e5d+_0x270719(0x1aa)+_0x357a33['iteration']+'\x20('+_0x357a33['id']+')'),console[_0x270719(0x170)]('\x20\x20\x20Status:\x20'+_0x357a33['status']),console[_0x270719(0x170)]('\x20\x20\x20Created:\x20'+new Date(_0x357a33['createdAt'])[_0x270719(0xe9)]()),_0x357a33['completedAt']&&console[_0x270719(0x170)]('\x20\x20\x20Completed:\x20'+new Date(_0x357a33[_0x270719(0x111)])[_0x270719(0xe9)]()),console[_0x270719(0x170)]('');}}export async function featureAddScenario(_0x28b292,_0x3ec5b8){const _0x5a86a1=_0x455191,_0x2d2d1d={'ZFMPI':function(_0x63e4a8){return _0x63e4a8();},'WczBY':function(_0x15aab5,_0xf75251,_0x7e41c2){return _0x15aab5(_0xf75251,_0x7e41c2);}},_0x54ee5d=_0x3ec5b8||await _0x2d2d1d['ZFMPI'](getActiveFeatureId);if(!_0x54ee5d)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 _0x977a83=await getFeature(_0x54ee5d);if(_0x977a83[_0x5a86a1(0xe3)]&&!_0x977a83['latestReview'][_0x5a86a1(0x167)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x977a83['dashboardUrl']);await _0x2d2d1d['WczBY'](createChecklistItem,_0x54ee5d,_0x28b292);const _0x231715=await getFeature(_0x54ee5d);console[_0x5a86a1(0x170)](_0x5a86a1(0x183)),displayFeature(_0x231715,_0x231715[_0x5a86a1(0x19d)]);}export async function featureEditScenario(_0x16cc0c,_0x2ed000){const _0x4a145a=_0x455191,_0x944d23={'OuXWm':function(_0x154c3e,_0x4589c1){return _0x154c3e(_0x4589c1);},'kSCSZ':'Please\x20finish\x20your\x20review\x20first:','vVcAh':function(_0x2c40d1,_0x5ba2f6){return _0x2c40d1===_0x5ba2f6;},'kWVZZ':_0x4a145a(0x1a1),'RhhuZ':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','klDff':'\x0aAvailable\x20scenarios:','YcArI':function(_0x11bbd5,_0x3d5d20){return _0x11bbd5<_0x3d5d20;},'OLTil':function(_0x337e8d,_0x3b2dbc){return _0x337e8d>=_0x3b2dbc;},'cHaiC':function(_0x2bbe0e,_0x345a67){return _0x2bbe0e+_0x345a67;},'pjnTR':function(_0x3a6bae,_0x1ccae2,_0x2da972,_0x4732cc){return _0x3a6bae(_0x1ccae2,_0x2da972,_0x4732cc);}},_0x443e80=_0x2ed000['id']||await getActiveFeatureId();!_0x443e80&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x4a145a(0xfd)](_0x4a145a(0x196)),process[_0x4a145a(0x1a3)](0x1));const _0x16719e=await _0x944d23['OuXWm'](getFeature,_0x443e80);_0x16719e[_0x4a145a(0xe3)]&&!_0x16719e['latestReview']['submittedAt']&&(console['error'](_0x4a145a(0x149)),console[_0x4a145a(0xfd)](_0x944d23[_0x4a145a(0xe7)]),console[_0x4a145a(0xfd)]('\x20\x20'+_0x16719e['dashboardUrl']),process[_0x4a145a(0x1a3)](0x1));const _0x446625=_0x16719e[_0x4a145a(0x19d)]||[];_0x944d23['vVcAh'](_0x446625['length'],0x0)&&(console[_0x4a145a(0xfd)](_0x944d23[_0x4a145a(0x159)]),process['exit'](0x1));if(_0x2ed000['scenario']===undefined){console['error'](_0x944d23[_0x4a145a(0xe6)]),console['log'](_0x944d23['klDff']);for(let _0x46d5fd=0x0;_0x46d5fd<_0x446625[_0x4a145a(0x19b)];_0x46d5fd++){console[_0x4a145a(0x170)]('\x20\x20'+(_0x46d5fd+0x1)+'.\x20'+_0x446625[_0x46d5fd]['description']);}process['exit'](0x1);}const _0x1f8653=_0x2ed000[_0x4a145a(0x12c)]-0x1;if(_0x944d23['YcArI'](_0x1f8653,0x0)||_0x944d23['OLTil'](_0x1f8653,_0x446625['length'])){console[_0x4a145a(0xfd)](_0x4a145a(0x15b)+_0x2ed000[_0x4a145a(0x12c)]+'.\x20Feature\x20review\x20has\x20'+_0x446625['length']+_0x4a145a(0xf7)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x335a1d=0x0;_0x944d23[_0x4a145a(0xf3)](_0x335a1d,_0x446625['length']);_0x335a1d++){console[_0x4a145a(0x170)]('\x20\x20'+_0x944d23[_0x4a145a(0xd5)](_0x335a1d,0x1)+'.\x20'+_0x446625[_0x335a1d][_0x4a145a(0xe4)]);}process[_0x4a145a(0x1a3)](0x1);}const _0x124b8d=_0x446625[_0x1f8653];await _0x944d23[_0x4a145a(0x155)](updateChecklistItem,_0x443e80,_0x124b8d['id'],{'description':_0x16cc0c});const _0xc50a13=await getFeature(_0x443e80);console['log'](_0x4a145a(0xd0)),displayFeature(_0xc50a13,_0xc50a13[_0x4a145a(0x19d)]);}async function downloadFeedbackImage(_0x171724,_0x152daa){const _0x56f26b=_0x455191,_0x5f06de={'mTBuJ':function(_0x210915,_0x37bb85,_0x36b8d9){return _0x210915(_0x37bb85,_0x36b8d9);},'iftRX':'feedback-images'};try{const _0x33b31d=_0x5f06de[_0x56f26b(0x142)](join,getRangerDir(),_0x5f06de[_0x56f26b(0x11d)]);await _0x5f06de[_0x56f26b(0x142)](mkdir,_0x33b31d,{'recursive':!![]});const _0x62742e=join(_0x33b31d,'comment_'+_0x152daa+'.png'),_0x1d943e=await fetch(_0x171724);if(!_0x1d943e['ok'])return null;const _0x55c536=Buffer['from'](await _0x1d943e['arrayBuffer']());return await writeFile(_0x62742e,_0x55c536),_0x62742e;}catch{return null;}}export async function featureGetReview(_0x4fb15c){const _0x159b6c=_0x455191,_0x211776={'bDdZT':_0x159b6c(0x133),'kppUY':function(_0x3b7428,_0x493369){return _0x3b7428(_0x493369);},'vPJVk':function(_0xeb1253,_0x5b0f5d){return _0xeb1253===_0x5b0f5d;},'BHgAY':_0x159b6c(0xe0),'JqDta':function(_0x4d9fb5,_0x296e43){return _0x4d9fb5<_0x296e43;},'uBJQJ':function(_0x15484e,_0x53e3cb){return _0x15484e>_0x53e3cb;},'iuRLJ':function(_0x548f31,_0x28f75b){return _0x548f31>_0x28f75b;},'qGrpx':function(_0x4f9a2f,_0x53275a){return _0x4f9a2f+_0x53275a;},'ylNeY':_0x159b6c(0x14a),'YGNka':'Unknown','UbTfn':function(_0x1342d1,_0x3f0ee7){return _0x1342d1===_0x3f0ee7;}},_0x25c1fe=_0x4fb15c||await getActiveFeatureId();if(!_0x25c1fe)throw new Error(_0x211776[_0x159b6c(0x18f)]);const _0x1d0ff7=await getFeature(_0x25c1fe),{items:_0x521281}=await _0x211776[_0x159b6c(0x18e)](getActionItems,_0x25c1fe);console[_0x159b6c(0x170)]('\x0a📋\x20Feedback\x20for:\x20'+_0x1d0ff7['name']+'\x20('+_0x1d0ff7['id']+')\x0a');if(_0x211776[_0x159b6c(0x176)](_0x521281['length'],0x0)){console[_0x159b6c(0x170)](_0x211776['BHgAY']);return;}for(let _0x26668b=0x0;_0x211776['JqDta'](_0x26668b,_0x521281[_0x159b6c(0x19b)]);_0x26668b++){const _0x369b20=_0x521281[_0x26668b],_0x2a1f71=_0x211776['uBJQJ'](_0x369b20[_0x159b6c(0x169)],0x1)?'\x20(v'+_0x369b20['version']+')':'',_0x2485f1=await getItemFeedback(_0x25c1fe,_0x369b20['id']);if(_0x211776['iuRLJ'](_0x2485f1[_0x159b6c(0x17c)][_0x159b6c(0x19b)],0x0)){console[_0x159b6c(0x170)](_0x159b6c(0x14c)+_0x211776[_0x159b6c(0x180)](_0x26668b,0x1)+':\x20\x22'+_0x369b20['description']+'\x22'+_0x2a1f71+_0x159b6c(0x154)+_0x2485f1[_0x159b6c(0x17c)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x343b63 of _0x2485f1['unaddressedComments']){const _0xdcedb=new Date(_0x343b63[_0x159b6c(0x186)])[_0x159b6c(0x13f)](_0x211776[_0x159b6c(0xe2)],{'month':_0x159b6c(0xfc),'day':'numeric'}),_0xf36755=_0x343b63[_0x159b6c(0x164)]||_0x343b63['authorEmail']||_0x211776[_0x159b6c(0xd6)];console['log']('\x20\x20💬\x20'+_0xf36755+'\x20('+_0xdcedb+_0x159b6c(0xf1)+_0x343b63[_0x159b6c(0x13e)]+'\x22');if(_0x343b63[_0x159b6c(0xdb)]){const _0x7682a3=await downloadFeedbackImage(_0x343b63['assetUrl'],_0x343b63['id']);_0x7682a3&&console[_0x159b6c(0x170)](_0x159b6c(0x13c)+_0x7682a3);}if(_0x343b63['domRef']){const _0x36ca1e=_0x343b63[_0x159b6c(0x189)][_0x159b6c(0x17e)]['split'](_0x159b6c(0x195))['pop']()?.[_0x159b6c(0x171)](':')[0x0]||'element',_0x5d7ee8=_0x343b63['domRef']['textContent']?'\x20\x22'+_0x343b63['domRef'][_0x159b6c(0x10b)][_0x159b6c(0x1a6)](0x0,0x3c)+'\x22':'';console['log'](_0x159b6c(0x148)+_0x36ca1e+'>'+_0x5d7ee8),console[_0x159b6c(0x170)](_0x159b6c(0x108)+_0x343b63['domRef']['selector']);}else{if(_0x343b63[_0x159b6c(0x190)]){const _0x413377=_0x343b63['spatial']['coordinates'];_0x211776[_0x159b6c(0xea)](_0x343b63['spatial']['type'],_0x159b6c(0x1a2))&&_0x413377['length']>=0x2?console['log'](_0x159b6c(0x132)+_0x413377[0x0][_0x159b6c(0xce)](0x2)+',\x20'+_0x413377[0x1]['toFixed'](0x2)+')'):console[_0x159b6c(0x170)](_0x159b6c(0x13d)+_0x343b63[_0x159b6c(0x190)][_0x159b6c(0x118)]+'\x20at\x20['+_0x413377['map'](_0x379d26=>_0x379d26[_0x159b6c(0xce)](0x2))['join'](',\x20')+']');}}}if(_0x2485f1['canonicalFlow']){console['log'](_0x159b6c(0x135));for(const _0x508c52 of _0x2485f1[_0x159b6c(0x156)][_0x159b6c(0x171)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x508c52);}}}else console['log']('Scenario\x20'+(_0x26668b+0x1)+':\x20\x22'+_0x369b20['description']+'\x22'+_0x2a1f71+'\x20—\x20no\x20comments'),console[_0x159b6c(0x170)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x1f5f43){const _0x5f3992=_0x455191,_0x2582b4={'VkABZ':function(_0x5599ed,_0x4afacb){return _0x5599ed+_0x4afacb;},'ixGVO':_0x5f3992(0x134)},_0x4c7c6c=_0x1f5f43||await getActiveFeatureId();if(!_0x4c7c6c)throw new Error(_0x5f3992(0x133));const _0xec401c=await getFeature(_0x4c7c6c);await softDeleteFeature(_0x4c7c6c),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0xec401c['name']+'\x20('+_0x4c7c6c+')'),console[_0x5f3992(0x170)](_0x2582b4[_0x5f3992(0xf6)](_0x2582b4['ixGVO'],_0x4c7c6c));}export async function featureRestore(_0x1d6b6e){const _0x3539cf=_0x455191,_0x2efde8={'iipao':function(_0x36257e,_0xc0f324){return _0x36257e(_0xc0f324);}};await restoreFeature(_0x1d6b6e);const _0x2130cc=await _0x2efde8['iipao'](getFeature,_0x1d6b6e);console[_0x3539cf(0x170)](_0x3539cf(0x19c)+_0x2130cc[_0x3539cf(0x158)]+'\x20('+_0x1d6b6e+')'),displayFeature(_0x2130cc,_0x2130cc[_0x3539cf(0x19d)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2937(){const _0x2f7923=['Unknown\x20hook:\x20','180824UuPAHW','SIGHUP','938451wAwDJl','NLNoW','300345CTwiXB','lQmTf','141944xZvNKR','error','SIGINT','357190bVFWoq','42PtZQTN','20LsKTwv','216ADAzbI','once','2064768qfKkOm','1431134oqJZhO','exit','keys','lezPa'];_0x2937=function(){return _0x2f7923;};return _0x2937();}(function(_0x316110,_0x2f0472){const _0x2d80f1=_0x2c64,_0x43c510=_0x316110();while(!![]){try{const _0x54b786=parseInt(_0x2d80f1(0x12c))/0x1+-parseInt(_0x2d80f1(0x135))/0x2+parseInt(_0x2d80f1(0x13c))/0x3+-parseInt(_0x2d80f1(0x131))/0x4*(parseInt(_0x2d80f1(0x13e))/0x5)+parseInt(_0x2d80f1(0x130))/0x6*(-parseInt(_0x2d80f1(0x13a))/0x7)+parseInt(_0x2d80f1(0x134))/0x8+-parseInt(_0x2d80f1(0x132))/0x9*(-parseInt(_0x2d80f1(0x12f))/0xa);if(_0x54b786===_0x2f0472)break;else _0x43c510['push'](_0x43c510['shift']());}catch(_0x11ad95){_0x43c510['push'](_0x43c510['shift']());}}}(_0x2937,0x5b281));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 _0x2c64(_0x39719e,_0x5638cf){_0x39719e=_0x39719e-0x12c;const _0x293717=_0x2937();let _0x2c6492=_0x293717[_0x39719e];return _0x2c6492;}function installCancellationHandlers(){const _0x1319df=_0x2c64,_0x2396d4={'lQmTf':_0x1319df(0x12e),'lnbFa':'SIGTERM','NLNoW':_0x1319df(0x13b)};if(cancellationHandlersInstalled)return;const _0x139cda=()=>{const _0x5e2757=_0x1319df;process[_0x5e2757(0x136)](0x0);};process[_0x1319df(0x133)](_0x2396d4[_0x1319df(0x13f)],_0x139cda),process[_0x1319df(0x133)](_0x2396d4['lnbFa'],_0x139cda),process[_0x1319df(0x133)](_0x2396d4[_0x1319df(0x13d)],_0x139cda),cancellationHandlersInstalled=!![];}export async function hook(_0x4c2ec4,_0x36f820){const _0x410c57=_0x2c64,_0x54cde3={'lezPa':function(_0x199ec2){return _0x199ec2();}};_0x54cde3[_0x410c57(0x138)](installCancellationHandlers);const _0x526f41=HOOKS[_0x4c2ec4];if(!_0x526f41){const _0x582af0=Object[_0x410c57(0x137)](HOOKS)['join'](',\x20');console[_0x410c57(0x12d)](_0x410c57(0x139)+_0x4c2ec4),console['error']('Valid\x20hooks:\x20'+_0x582af0),process['exit'](0x1);}await _0x526f41(_0x36f820);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x27bb14=_0x1b62;(function(_0x46eb97,_0x2f0361){const _0x622e2a=_0x1b62,_0x3d55a9=_0x46eb97();while(!![]){try{const _0x726c4b=-parseInt(_0x622e2a(0x108))/0x1+-parseInt(_0x622e2a(0xff))/0x2*(parseInt(_0x622e2a(0x101))/0x3)+parseInt(_0x622e2a(0x104))/0x4*(-parseInt(_0x622e2a(0x100))/0x5)+-parseInt(_0x622e2a(0x103))/0x6*(-parseInt(_0x622e2a(0x109))/0x7)+parseInt(_0x622e2a(0x10a))/0x8+parseInt(_0x622e2a(0xfe))/0x9+parseInt(_0x622e2a(0x10b))/0xa*(parseInt(_0x622e2a(0x102))/0xb);if(_0x726c4b===_0x2f0361)break;else _0x3d55a9['push'](_0x3d55a9['shift']());}catch(_0x5c1fd9){_0x3d55a9['push'](_0x3d55a9['shift']());}}}(_0x4487,0xd8005));function _0x4487(){const _0x46c026=['7450344LdegvE','2GMdLPk','3634165PeaLhX','4536087WgnSBE','352TqEGDh','10413162SavHUG','8ZGiddm','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','vsHYz','session_id','369175lyrmRO','7otkLxh','8660576sXlUdK','179280wLDOqC'];_0x4487=function(){return _0x46c026;};return _0x4487();}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x27bb14(0x105);function _0x1b62(_0x2ed6fd,_0x47618e){_0x2ed6fd=_0x2ed6fd-0xfe;const _0x448738=_0x4487();let _0x1b6208=_0x448738[_0x2ed6fd];return _0x1b6208;}export async function autoPrompt(){const _0x25e51a=_0x27bb14,_0x39f85a={'OQsVT':function(_0x44db0f,_0x5aa35a){return _0x44db0f(_0x5aa35a);},'vsHYz':function(_0x36939e,_0x36d7ca){return _0x36939e(_0x36d7ca);}},_0x1c79fd=await readHookInput(),_0x47f946=_0x1c79fd?.[_0x25e51a(0x107)];if(!_0x47f946)return;if(isSessionEnabled(_0x47f946)||_0x39f85a['OQsVT'](hasSessionBeenPrompted,_0x47f946))return;_0x39f85a[_0x25e51a(0x106)](markSessionPrompted,_0x47f946),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4b104b,_0x5cf4f3){const _0x18074e=_0xf44e,_0x51cee0=_0x4b104b();while(!![]){try{const _0x3a3007=parseInt(_0x18074e(0x11b))/0x1*(-parseInt(_0x18074e(0x111))/0x2)+parseInt(_0x18074e(0x113))/0x3*(-parseInt(_0x18074e(0x117))/0x4)+-parseInt(_0x18074e(0x11c))/0x5+parseInt(_0x18074e(0x112))/0x6*(parseInt(_0x18074e(0x118))/0x7)+parseInt(_0x18074e(0x11f))/0x8+-parseInt(_0x18074e(0x115))/0x9*(parseInt(_0x18074e(0x110))/0xa)+parseInt(_0x18074e(0x11a))/0xb*(parseInt(_0x18074e(0x114))/0xc);if(_0x3a3007===_0x5cf4f3)break;else _0x51cee0['push'](_0x51cee0['shift']());}catch(_0x5c8812){_0x51cee0['push'](_0x51cee0['shift']());}}}(_0x3ec0,0x2b180));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0xf44e(_0x117b2f,_0x25fb29){_0x117b2f=_0x117b2f-0x10e;const _0x3ec09e=_0x3ec0();let _0xf44e6=_0x3ec09e[_0x117b2f];return _0xf44e6;}function _0x3ec0(){const _0x39660c=['mixoZ','2363720QfflhO','gAzzr','.\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`.','LtsOz','7280CAyctm','2hOnSpT','103530nNssXa','62385VCyfnl','12276UcwwWi','2214Xjmtoq','eGlUn','20KvvZBp','77lwqrEe','lNZjk','3421WdQEwf','59421EtfJtY','1422135TuIDNY','env'];_0x3ec0=function(){return _0x39660c;};return _0x3ec0();}export async function disable(_0x1e02f2){const _0x25f66=_0xf44e,_0x1bcb90={'eGlUn':function(_0x32bfad,_0x28b6f9){return _0x32bfad(_0x28b6f9);},'lNZjk':function(_0x135445){return _0x135445();},'mixoZ':'main','LtsOz':'master','gAzzr':function(_0x1b9c3d,_0x4d1123){return _0x1b9c3d!==_0x4d1123;}},_0xc3dddf=_0x1e02f2||process[_0x25f66(0x11d)]['CLAUDE_SESSION_ID']||'';_0xc3dddf&&_0x1bcb90['eGlUn'](disableSession,_0xc3dddf);const _0x58f919=_0x1bcb90[_0x25f66(0x119)](getCurrentBranch);_0x58f919&&_0x58f919!==_0x1bcb90[_0x25f66(0x11e)]&&_0x58f919!==_0x1bcb90['LtsOz']&&_0x1bcb90[_0x25f66(0x116)](disableBranch,_0x58f919),_0x1bcb90['eGlUn'](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x58f919&&_0x1bcb90[_0x25f66(0x120)](_0x58f919,_0x1bcb90['mixoZ'])&&_0x58f919!==_0x1bcb90[_0x25f66(0x10f)]?'\x20and\x20branch\x20\x27'+_0x58f919+'\x27':'')+_0x25f66(0x10e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x39b220,_0x235886){const _0x13ccaf=_0x3961,_0xea22b4=_0x39b220();while(!![]){try{const _0xcdb987=parseInt(_0x13ccaf(0x186))/0x1*(parseInt(_0x13ccaf(0x18c))/0x2)+parseInt(_0x13ccaf(0x18a))/0x3+-parseInt(_0x13ccaf(0x19a))/0x4+-parseInt(_0x13ccaf(0x18b))/0x5+parseInt(_0x13ccaf(0x188))/0x6+parseInt(_0x13ccaf(0x193))/0x7*(parseInt(_0x13ccaf(0x195))/0x8)+parseInt(_0x13ccaf(0x198))/0x9*(-parseInt(_0x13ccaf(0x191))/0xa);if(_0xcdb987===_0x235886)break;else _0xea22b4['push'](_0xea22b4['shift']());}catch(_0xdb8a9a){_0xea22b4['push'](_0xea22b4['shift']());}}}(_0x1fb9,0x24a85));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x1fb9(){const _0x45532e=['8kawFdc','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','5463whscdf','syWaE','309716BlERcb','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','master','5ExEBei','lrUbf','789762euhsDG','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','166797eKrHRM','876390lErPPf','94504XssQKz','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','vIswA','CLAUDE_SESSION_ID','\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`.','3370ogZYBb','ranger\x20setup','1287503hAKCoS','ranger\x20setup\x20--opencode'];_0x1fb9=function(){return _0x45532e;};return _0x1fb9();}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x3961(_0x43120e,_0x3d8d85){_0x43120e=_0x43120e-0x186;const _0x1fb9c1=_0x1fb9();let _0x3961ec=_0x1fb9c1[_0x43120e];return _0x3961ec;}import{update}from'../update.js';export async function enable(_0x1f385f){const _0x3914cf=_0x3961,_0x150c27={'HTUms':function(_0x197001){return _0x197001();},'vIswA':_0x3914cf(0x196),'lrUbf':function(_0xc785c6,_0x3fc2f6){return _0xc785c6(_0x3fc2f6);},'syWaE':function(_0x2f2b8e,_0x42ded0){return _0x2f2b8e!==_0x42ded0;},'jIATF':'main','TqIJY':function(_0xf0b88,_0x31697d){return _0xf0b88!==_0x31697d;}},_0x16d140=_0x1f385f||process['env'][_0x3914cf(0x18f)]||'',_0x354e01=Boolean(_0x1f385f),_0x37464c=await _0x150c27['HTUms'](getToken);if(!_0x37464c){const _0x504919=_0x354e01?_0x3914cf(0x194):_0x3914cf(0x192),_0xdb8a64=_0x354e01?_0x150c27[_0x3914cf(0x18e)]:_0x3914cf(0x189);_0x150c27[_0x3914cf(0x187)](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`'+_0x504919+_0x3914cf(0x18d)+_0xdb8a64);return;}try{await update();}catch{}_0x16d140&&_0x150c27[_0x3914cf(0x187)](enableSession,_0x16d140);const _0x24305e=getCurrentBranch(),_0x5bd65a=_0x24305e&&_0x150c27[_0x3914cf(0x199)](_0x24305e,_0x150c27['jIATF'])&&_0x150c27['TqIJY'](_0x24305e,_0x3914cf(0x19c))?'\x0a\x0a**Branch\x20\x27'+_0x24305e+_0x3914cf(0x19b):'',_0x5f047d=_0x150c27['HTUms'](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x5bd65a+_0x3914cf(0x197)+_0x5f047d+_0x3914cf(0x190));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1fda(){const _0x4f3024=['1305muXYSD','5CkIVlj','7082208MySxDy','3982mcitjJ','578391XzqczX','2253937lvhyLP','326644diRxdo','62640ZrlhmG','24iIETKa','50xDyTZx','585584bBZKUg'];_0x1fda=function(){return _0x4f3024;};return _0x1fda();}(function(_0x1ddafe,_0x364994){const _0x51218e=_0x98fd,_0x24a6a1=_0x1ddafe();while(!![]){try{const _0x5ea4da=-parseInt(_0x51218e(0x1aa))/0x1+parseInt(_0x51218e(0x1b2))/0x2*(-parseInt(_0x51218e(0x1af))/0x3)+-parseInt(_0x51218e(0x1ae))/0x4*(parseInt(_0x51218e(0x1b0))/0x5)+parseInt(_0x51218e(0x1ac))/0x6*(parseInt(_0x51218e(0x1b4))/0x7)+-parseInt(_0x51218e(0x1ab))/0x8+parseInt(_0x51218e(0x1b1))/0x9+parseInt(_0x51218e(0x1ad))/0xa*(parseInt(_0x51218e(0x1b3))/0xb);if(_0x5ea4da===_0x364994)break;else _0x24a6a1['push'](_0x24a6a1['shift']());}catch(_0x231433){_0x24a6a1['push'](_0x24a6a1['shift']());}}}(_0x1fda,0xf1e6a));function _0x98fd(_0x56359c,_0x3acd14){_0x56359c=_0x56359c-0x1aa;const _0x1fda3c=_0x1fda();let _0x98fd44=_0x1fda3c[_0x56359c];return _0x98fd44;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1af829){const _0x531442=await getEnabledSessionId(_0x1af829);if(!_0x531442)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1f7ff3,_0x3e5962){var _0x29947b=_0x4cb1,_0x14e367=_0x1f7ff3();while(!![]){try{var _0x7d67dc=parseInt(_0x29947b(0x171))/0x1+-parseInt(_0x29947b(0x16e))/0x2*(-parseInt(_0x29947b(0x16b))/0x3)+-parseInt(_0x29947b(0x172))/0x4*(-parseInt(_0x29947b(0x16a))/0x5)+-parseInt(_0x29947b(0x170))/0x6+-parseInt(_0x29947b(0x16d))/0x7+-parseInt(_0x29947b(0x16f))/0x8*(-parseInt(_0x29947b(0x173))/0x9)+-parseInt(_0x29947b(0x16c))/0xa*(-parseInt(_0x29947b(0x174))/0xb);if(_0x7d67dc===_0x3e5962)break;else _0x14e367['push'](_0x14e367['shift']());}catch(_0x29b229){_0x14e367['push'](_0x14e367['shift']());}}}(_0x1054,0x48749));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x1054(){var _0x276bcb=['595032lDZbLt','460548ZnqGfp','13752KipAVV','9DaNEzs','3597nmglRR','65tMUMyA','91983VNhwAA','6850oNPlmU','4117456gAovOh','6VRwsWB','1303496zaOTaR'];_0x1054=function(){return _0x276bcb;};return _0x1054();}function _0x4cb1(_0x350ef2,_0x3e2218){_0x350ef2=_0x350ef2-0x16a;var _0x105492=_0x1054();var _0x4cb163=_0x105492[_0x350ef2];return _0x4cb163;}export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1841cc,_0x3ad853){const _0xb3a766=_0x5ca7,_0x24e022=_0x1841cc();while(!![]){try{const _0x111b63=parseInt(_0xb3a766(0x130))/0x1*(-parseInt(_0xb3a766(0x12a))/0x2)+-parseInt(_0xb3a766(0x12b))/0x3+-parseInt(_0xb3a766(0x12e))/0x4*(parseInt(_0xb3a766(0x135))/0x5)+-parseInt(_0xb3a766(0x133))/0x6+parseInt(_0xb3a766(0x12c))/0x7+parseInt(_0xb3a766(0x131))/0x8+parseInt(_0xb3a766(0x136))/0x9*(parseInt(_0xb3a766(0x134))/0xa);if(_0x111b63===_0x3ad853)break;else _0x24e022['push'](_0x24e022['shift']());}catch(_0x37cd25){_0x24e022['push'](_0x24e022['shift']());}}}(_0x24d1,0xf1d61));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x5ca7(_0x51b6d3,_0x58eb19){_0x51b6d3=_0x51b6d3-0x12a;const _0x24d1a3=_0x24d1();let _0x5ca70f=_0x24d1a3[_0x51b6d3];return _0x5ca70f;}function _0x24d1(){const _0x1d0254=['KHqPg','143426AjaUAA','7581568LHNssG','session_id','655476VnQDri','3010dEnEUt','4071790AchTYZ','62991bbYOiX','6sExrAA','4487913jCNenR','5502133WFECdJ','trim','4jOrDGr'];_0x24d1=function(){return _0x1d0254;};return _0x24d1();}export function printBlock(_0x32f220){console['log'](_0x32f220);}export async function readHookInput(){const _0x3708fa=_0x5ca7;let _0x4fb71f='';try{for await(const _0x1cc667 of process['stdin']){_0x4fb71f+=_0x1cc667;}}catch{return null;}if(!_0x4fb71f[_0x3708fa(0x12d)]())return null;try{return JSON['parse'](_0x4fb71f);}catch{return null;}}export async function getEnabledSessionId(_0x23e251){const _0x1bfbf3=_0x5ca7,_0x2c82b9={'KHqPg':function(_0x4f1d3b){return _0x4f1d3b();}};if(_0x23e251)return isSessionEnabled(_0x23e251)?_0x23e251:null;const _0x51d1f2=await _0x2c82b9[_0x1bfbf3(0x12f)](readHookInput),_0x23e0a6=_0x51d1f2?.[_0x1bfbf3(0x132)];if(!_0x23e0a6||!isSessionEnabled(_0x23e0a6))return null;return _0x23e0a6;}export async function getEnabledHookContext(_0x190a15){const _0x1dee1a={'lwNnk':function(_0x3229f6,_0xa8d6b4){return _0x3229f6(_0xa8d6b4);},'mpGOG':function(_0x223f24){return _0x223f24();}};if(_0x190a15){if(!_0x1dee1a['lwNnk'](isSessionEnabled,_0x190a15))return null;return{'sessionId':_0x190a15,'input':{'session_id':_0x190a15}};}const _0x4280c5=await _0x1dee1a['mpGOG'](readHookInput),_0x598e72=_0x4280c5?.['session_id'];if(!_0x598e72||!isSessionEnabled(_0x598e72))return null;return{'sessionId':_0x598e72,'input':_0x4280c5};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3729c4,_0x47d4b4){const _0x23bc96=_0x5d6a,_0x50ffd0=_0x3729c4();while(!![]){try{const _0x4e683e=parseInt(_0x23bc96(0x190))/0x1+-parseInt(_0x23bc96(0x199))/0x2*(-parseInt(_0x23bc96(0x196))/0x3)+parseInt(_0x23bc96(0x18e))/0x4*(-parseInt(_0x23bc96(0x192))/0x5)+parseInt(_0x23bc96(0x197))/0x6+parseInt(_0x23bc96(0x18f))/0x7+-parseInt(_0x23bc96(0x193))/0x8+-parseInt(_0x23bc96(0x191))/0x9;if(_0x4e683e===_0x47d4b4)break;else _0x50ffd0['push'](_0x50ffd0['shift']());}catch(_0xb7137e){_0x50ffd0['push'](_0x50ffd0['shift']());}}}(_0xd0dc,0xa7807));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0xd0dc(){const _0x405d75=['7119438aUawSn','input','19340RDVbLt','2132vPxsNC','4789526QdBNci','586120ZBWZAh','7321131LXjVng','265mJfYJZ','7510288tTPioF','===\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===','YFtPz','3tpNgFt'];_0xd0dc=function(){return _0x405d75;};return _0xd0dc();}function _0x5d6a(_0x1f2dd6,_0x228c14){_0x1f2dd6=_0x1f2dd6-0x18e;const _0xd0dc7f=_0xd0dc();let _0x5d6a8e=_0xd0dc7f[_0x1f2dd6];return _0x5d6a8e;}export async function planReminder(_0x568be6){const _0xa44dfc=_0x5d6a,_0x38cc96={'YFtPz':function(_0x8f0f26,_0x3d0282){return _0x8f0f26(_0x3d0282);},'ewLtf':function(_0x20c858,_0x3ca45b){return _0x20c858!==_0x3ca45b;},'PVoKh':'plan'},_0x550f4=await _0x38cc96[_0xa44dfc(0x195)](getEnabledHookContext,_0x568be6);if(!_0x550f4)return;if(_0x38cc96['ewLtf'](_0x550f4[_0xa44dfc(0x198)]['permission_mode'],_0x38cc96['PVoKh']))return;if(!shouldShowPlanReminder(_0x550f4['sessionId']))return;_0x38cc96[_0xa44dfc(0x195)](printBlock,_0xa44dfc(0x194));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x38540b,_0x5d1312){const _0x3a286d=_0x48e8,_0x530968=_0x38540b();while(!![]){try{const _0x23111a=-parseInt(_0x3a286d(0x1af))/0x1*(parseInt(_0x3a286d(0x1b3))/0x2)+parseInt(_0x3a286d(0x1b4))/0x3*(-parseInt(_0x3a286d(0x1ad))/0x4)+-parseInt(_0x3a286d(0x1b1))/0x5+-parseInt(_0x3a286d(0x1b0))/0x6+-parseInt(_0x3a286d(0x1ae))/0x7+parseInt(_0x3a286d(0x1b2))/0x8*(parseInt(_0x3a286d(0x1b5))/0x9)+-parseInt(_0x3a286d(0x1b6))/0xa*(-parseInt(_0x3a286d(0x1b7))/0xb);if(_0x23111a===_0x5d1312)break;else _0x530968['push'](_0x530968['shift']());}catch(_0x5cc5d9){_0x530968['push'](_0x530968['shift']());}}}(_0x5ef4,0xba476));function _0x48e8(_0x5125d0,_0x456ee2){_0x5125d0=_0x5125d0-0x1ad;const _0x5ef413=_0x5ef4();let _0x48e822=_0x5ef413[_0x5125d0];return _0x48e822;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x5ef4(){const _0x2d0cdc=['9IHVrUM','20591340GOKior','11rlHDeV','1604068xacBPr','1570856FUnVbG','202823AupWyW','3780324OECsbk','3386575oMvGCv','6715848vJZdOT','2NbbvcZ','3MrNIrn'];_0x5ef4=function(){return _0x2d0cdc;};return _0x5ef4();}export async function planStart(_0x38d0e5){const _0x844ba2=await getEnabledSessionId(_0x38d0e5);if(!_0x844ba2)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x28d6cf,_0x16d2f0){const _0x389075=_0x5e0a,_0x572a13=_0x28d6cf();while(!![]){try{const _0x43a65f=-parseInt(_0x389075(0x1ca))/0x1+-parseInt(_0x389075(0x1cf))/0x2+-parseInt(_0x389075(0x1c9))/0x3*(parseInt(_0x389075(0x1d5))/0x4)+parseInt(_0x389075(0x1cc))/0x5*(parseInt(_0x389075(0x1cb))/0x6)+parseInt(_0x389075(0x1d3))/0x7*(-parseInt(_0x389075(0x1c8))/0x8)+parseInt(_0x389075(0x1d0))/0x9*(-parseInt(_0x389075(0x1d2))/0xa)+parseInt(_0x389075(0x1ce))/0xb;if(_0x43a65f===_0x16d2f0)break;else _0x572a13['push'](_0x572a13['shift']());}catch(_0x5d6b20){_0x572a13['push'](_0x572a13['shift']());}}}(_0x15d6,0x255ec));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x15d6(){const _0x5975f1=['qOUfZ','27524gaysAJ','88bUzvqE','111ufHVFN','116637sStwqV','42dQxZra','21985aarUDz','stringify','11407968cfOPPb','350524TlLygf','903627JZeoVq','log','20rcKtiO','106589VAMrPJ'];_0x15d6=function(){return _0x5975f1;};return _0x15d6();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x5e0a(_0x587264,_0x44ce3f){_0x587264=_0x587264-0x1c8;const _0x15d6b6=_0x15d6();let _0x5e0abd=_0x15d6b6[_0x587264];return _0x5e0abd;}export async function postEdit(_0x259fcb){const _0x53daf2=_0x5e0a,_0x346d72={'ALLJu':function(_0x42de77){return _0x42de77();},'ONXpH':function(_0x39c6ef,_0x97eae7){return _0x39c6ef(_0x97eae7);},'qOUfZ':'PostToolUse'},_0x28b5f1=await getEnabledSessionId(_0x259fcb);if(!_0x28b5f1)return;updateBranchTracking(_0x28b5f1);const _0xd404b7=await _0x346d72['ALLJu'](getToken);if(!_0xd404b7)return;const _0x520f9c=_0x346d72['ONXpH'](getSessionEntry,_0x28b5f1);if(_0x520f9c){const _0x4345c0={'hookSpecificOutput':{'hookEventName':_0x346d72['qOUfZ'],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x53daf2(0x1d1)](JSON['stringify'](_0x4345c0));return;}const _0x1bb3ff={'hookSpecificOutput':{'hookEventName':_0x346d72[_0x53daf2(0x1d4)],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON[_0x53daf2(0x1cd)](_0x1bb3ff));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2d07(){const _0x2468f0=['3108010RCrYJK','1980410QIApmL','uAnjm','1vQXyDp','108vVFOBw','43410xhRFor','2419884xxdhDr','5062032NHOVAJ','375056rPoeGz','35lzrNkZ','99JTkNLs','4147782MgCIPy'];_0x2d07=function(){return _0x2468f0;};return _0x2d07();}(function(_0x40e638,_0x4e6a7c){const _0x3b4f6d=_0x9277,_0x2debdc=_0x40e638();while(!![]){try{const _0x3fbd2c=parseInt(_0x3b4f6d(0x83))/0x1*(-parseInt(_0x3b4f6d(0x80))/0x2)+parseInt(_0x3b4f6d(0x7b))/0x3+parseInt(_0x3b4f6d(0x78))/0x4*(parseInt(_0x3b4f6d(0x79))/0x5)+-parseInt(_0x3b4f6d(0x7f))/0x6+-parseInt(_0x3b4f6d(0x7d))/0x7*(parseInt(_0x3b4f6d(0x7c))/0x8)+-parseInt(_0x3b4f6d(0x7a))/0x9+parseInt(_0x3b4f6d(0x81))/0xa*(parseInt(_0x3b4f6d(0x7e))/0xb);if(_0x3fbd2c===_0x4e6a7c)break;else _0x2debdc['push'](_0x2debdc['shift']());}catch(_0x57243e){_0x2debdc['push'](_0x2debdc['shift']());}}}(_0x2d07,0xe9493));import{getToken}from'../utils/keychain.js';function _0x9277(_0x5cca74,_0x405ee6){_0x5cca74=_0x5cca74-0x78;const _0x2d07bb=_0x2d07();let _0x927706=_0x2d07bb[_0x5cca74];return _0x927706;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2f16b0){const _0x4a8236=_0x9277,_0x55e800={'uAnjm':function(_0xe7e007,_0x4e2a1f){return _0xe7e007(_0x4e2a1f);}},_0x4d4f76=await _0x55e800[_0x4a8236(0x82)](getEnabledSessionId,_0x2f16b0);if(!_0x4d4f76)return;try{const _0x51b84e=await getToken();if(!_0x51b84e)return;_0x55e800[_0x4a8236(0x82)](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1512(_0x45d0a3,_0x4aaf29){_0x45d0a3=_0x45d0a3-0x160;const _0x48c965=_0x48c9();let _0x151269=_0x48c965[_0x45d0a3];return _0x151269;}(function(_0x422efe,_0x387d6a){const _0x39dee8=_0x1512,_0x3e849f=_0x422efe();while(!![]){try{const _0x8dcbe4=-parseInt(_0x39dee8(0x164))/0x1+parseInt(_0x39dee8(0x16d))/0x2+parseInt(_0x39dee8(0x170))/0x3+parseInt(_0x39dee8(0x163))/0x4*(parseInt(_0x39dee8(0x168))/0x5)+-parseInt(_0x39dee8(0x162))/0x6+parseInt(_0x39dee8(0x160))/0x7*(-parseInt(_0x39dee8(0x166))/0x8)+parseInt(_0x39dee8(0x167))/0x9*(-parseInt(_0x39dee8(0x16a))/0xa);if(_0x8dcbe4===_0x387d6a)break;else _0x3e849f['push'](_0x3e849f['shift']());}catch(_0x3b10c3){_0x3e849f['push'](_0x3e849f['shift']());}}}(_0x48c9,0x85a9c));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x5b8898){const _0x230021=_0x1512,_0x54bd55={'WhnNm':function(_0x33bdfe,_0x34fcb3){return _0x33bdfe(_0x34fcb3);},'NgpqM':function(_0x5a7fb3){return _0x5a7fb3();},'XcMXl':function(_0x2a118c,_0x300516){return _0x2a118c===_0x300516;},'qwOab':'clear'},_0x4aee41=process[_0x230021(0x16c)]['CLAUDE_SESSION_ID'];let _0x59256c=_0x5b8898,_0x5a38e3;if(!_0x5b8898){if(_0x4aee41&&!_0x54bd55[_0x230021(0x165)](isSessionEnabled,_0x4aee41))return;const _0xe9841d=await _0x54bd55[_0x230021(0x169)](readHookInput);_0x59256c=_0xe9841d?.[_0x230021(0x16f)]||_0x4aee41,_0x5a38e3=_0xe9841d?.[_0x230021(0x161)];}if(!_0x59256c)return;_0x54bd55[_0x230021(0x16e)](_0x5a38e3,_0x54bd55[_0x230021(0x16b)])&&recordEnabledSessionCleared(_0x59256c);}function _0x48c9(){const _0x22bef4=['env','1615870rYOULn','XcMXl','session_id','2999142MNBFHX','3851491ripjdY','reason','2962314jaiZSR','1845308ZLbxDn','314367EWofIo','WhnNm','8vvAlLE','142119HyfaCE','5YZIgZn','NgpqM','230JVWhFI','qwOab'];_0x48c9=function(){return _0x22bef4;};return _0x48c9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1234(_0x36f2f8,_0x28a29e){_0x36f2f8=_0x36f2f8-0x1c7;const _0x277f91=_0x277f();let _0x123498=_0x277f91[_0x36f2f8];return _0x123498;}function _0x277f(){const _0x48b726=['AJrgR','7374880BnRXDX','gHjMS','860725Kvaxza','stdin','1607920PPeCyE','626732xUtWRR','master','GnWqe','CvbBJ','session_id','success','9GnWZtN','mKeqw','trackCommandEnd','\x20(Branch:\x20','env','main','2477363AcTMFs','8562yvHIlx','6AHMxKV','OmRth','export\x20CLAUDE_SESSION_ID=\x22','130444OgfiOU','1ZqlYWA'];_0x277f=function(){return _0x48b726;};return _0x277f();}(function(_0x1c0702,_0x3fb540){const _0x2cd269=_0x1234,_0x4ddcb0=_0x1c0702();while(!![]){try{const _0x593605=parseInt(_0x2cd269(0x1db))/0x1*(-parseInt(_0x2cd269(0x1da))/0x2)+-parseInt(_0x2cd269(0x1d6))/0x3+-parseInt(_0x2cd269(0x1c9))/0x4+-parseInt(_0x2cd269(0x1df))/0x5*(parseInt(_0x2cd269(0x1d7))/0x6)+-parseInt(_0x2cd269(0x1d5))/0x7+parseInt(_0x2cd269(0x1c8))/0x8+parseInt(_0x2cd269(0x1cf))/0x9*(parseInt(_0x2cd269(0x1dd))/0xa);if(_0x593605===_0x3fb540)break;else _0x4ddcb0['push'](_0x4ddcb0['shift']());}catch(_0x4b31ae){_0x4ddcb0['push'](_0x4ddcb0['shift']());}}}(_0x277f,0x2dd11));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.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(_0x153b12){const _0x5d1970=_0x1234,_0x1559e0={'mKeqw':function(_0x2480d1,_0x4b5a15){return _0x2480d1||_0x4b5a15;},'OmRth':function(_0x1ab09b,_0x34a6a0){return _0x1ab09b&&_0x34a6a0;},'AJrgR':function(_0x2229c2,_0x3bf38a){return _0x2229c2(_0x3bf38a);},'mNEhn':function(_0x86532e,_0x2e2029){return _0x86532e(_0x2e2029);},'GnWqe':function(_0x594769,_0x1ad236){return _0x594769(_0x1ad236);},'CvbBJ':function(_0x364200,_0x96b720){return _0x364200(_0x96b720);},'aYvTu':_0x5d1970(0x1ce),'zAJUO':function(_0x414666){return _0x414666();},'AoUUs':function(_0x167288,_0x40bafc){return _0x167288!==_0x40bafc;},'hHwsX':_0x5d1970(0x1ca),'gHjMS':'SessionStart','EUlbd':function(_0xe353a3,_0x2bb37b){return _0xe353a3+_0x2bb37b;}};let _0x1d6212=_0x1559e0[_0x5d1970(0x1d0)](_0x153b12,''),_0x55ce07;if(!_0x153b12){let _0x198370='';for await(const _0x53a067 of process[_0x5d1970(0x1c7)]){_0x198370+=_0x53a067;}try{const _0x1ec182=JSON['parse'](_0x198370);_0x1d6212=_0x1ec182[_0x5d1970(0x1cd)]||'',_0x55ce07=_0x1ec182['source'];}catch{}const _0x103411=process[_0x5d1970(0x1d3)]['CLAUDE_ENV_FILE'];if(_0x1559e0[_0x5d1970(0x1d8)](_0x103411,_0x1d6212))try{await appendFile(_0x103411,_0x5d1970(0x1d9)+_0x1d6212+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x1d6212){_0x1559e0['AJrgR'](shouldAutoEnableAfterClear,_0x55ce07)&&_0x1559e0[_0x5d1970(0x1dc)](autoEnableAfterClear,_0x1d6212);_0x1559e0['mNEhn'](initBranchTracking,_0x1d6212);const _0x30a6de=_0x1559e0[_0x5d1970(0x1cb)](isSessionEnabled,_0x1d6212);try{const _0x501404=_0x1559e0[_0x5d1970(0x1cc)](createTelemetryCollector,'hook:session-start');await _0x501404['trackCommandStart']({'sessionId':_0x1d6212,'hooksEnabled':_0x30a6de}),await _0x501404[_0x5d1970(0x1d1)](_0x1559e0['aYvTu']);}catch{}if(_0x30a6de){const _0x3de5c0=_0x1559e0['zAJUO'](getCurrentBranch),_0x1fcaf7=_0x3de5c0&&_0x3de5c0!==_0x5d1970(0x1d4)&&_0x1559e0['AoUUs'](_0x3de5c0,_0x1559e0['hHwsX'])?_0x5d1970(0x1d2)+_0x3de5c0+')':'',_0x823c51={'hookSpecificOutput':{'hookEventName':_0x1559e0[_0x5d1970(0x1de)],'additionalContext':_0x1559e0['EUlbd'](RANGER_AUTO_ENABLED_PROMPT,_0x1fcaf7)}};console['log'](JSON['stringify'](_0x823c51));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x330250,_0x2110d9){const _0x561d6d=_0x2d2d,_0x17b6c0=_0x330250();while(!![]){try{const _0x4338ca=-parseInt(_0x561d6d(0x1fb))/0x1+-parseInt(_0x561d6d(0x1f5))/0x2+-parseInt(_0x561d6d(0x200))/0x3*(-parseInt(_0x561d6d(0x1f8))/0x4)+parseInt(_0x561d6d(0x1ed))/0x5*(-parseInt(_0x561d6d(0x1ec))/0x6)+-parseInt(_0x561d6d(0x1f0))/0x7*(-parseInt(_0x561d6d(0x202))/0x8)+-parseInt(_0x561d6d(0x1eb))/0x9+parseInt(_0x561d6d(0x1f7))/0xa*(-parseInt(_0x561d6d(0x1ea))/0xb);if(_0x4338ca===_0x2110d9)break;else _0x17b6c0['push'](_0x17b6c0['shift']());}catch(_0x30cb59){_0x17b6c0['push'](_0x17b6c0['shift']());}}}(_0x97f1,0xb33f3));function _0x97f1(){const _0x30a70f=['139040pwMTGk','currentSessionId','22190RJRIej','4HtRtHj','status','featureId','617442VhaEat','log','incomplete','jLgut','sessionId','4254021VLzUPn','filter','11686152CagYcX','hvxWQ','meQVj','checklistItems','1243KgCVzF','4173579gZxEAw','636978hLynGN','35lyOlRl','verification_in_progress','closed','7nwrfMi','trackCommandEnd','https://dashboard.ranger.net/features/','wbNng','trackCommandStart'];_0x97f1=function(){return _0x30a70f;};return _0x97f1();}function _0x2d2d(_0x3d6185,_0x2f2349){_0x3d6185=_0x3d6185-0x1e7;const _0x97f1b0=_0x97f1();let _0x2d2d54=_0x97f1b0[_0x3d6185];return _0x2d2d54;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x81b3b3){const _0x4a7b2f=_0x2d2d,_0x307aee={'jLgut':function(_0x4ef216,_0x4c995f){return _0x4ef216(_0x4c995f);},'wbNng':function(_0x36d3c8,_0x28c11e,_0x4c5861,_0x50bda7){return _0x36d3c8(_0x28c11e,_0x4c5861,_0x50bda7);},'hvxWQ':function(_0x37a6b4,_0x181600){return _0x37a6b4&&_0x181600;},'VBqFn':function(_0x1e0a45,_0x361597,_0x270aba){return _0x1e0a45(_0x361597,_0x270aba);}},_0x3d9976=await getEnabledHookContext(_0x81b3b3),_0x3821a0=_0x3d9976?.[_0x4a7b2f(0x1ff)]??null;let _0x464744=!![];if(!_0x3821a0){await trackStop(_0x3821a0,![],_0x464744);return;}try{const _0x2bfa2a=_0x307aee[_0x4a7b2f(0x1fe)](getSessionEntry,_0x3821a0);if(!_0x2bfa2a){await _0x307aee[_0x4a7b2f(0x1f3)](trackStop,_0x3821a0,!![],_0x464744);return;}const _0x4c9f6e=await getToken(),_0x53632f=_0x4a7b2f(0x1f2)+_0x2bfa2a[_0x4a7b2f(0x1fa)];let _0x3f47b6=null,_0x300820=![],_0x56ca50=![];if(_0x4c9f6e)try{const _0x2728a9=await getFeature(_0x2bfa2a['featureId']);_0x3f47b6=_0x2728a9[_0x4a7b2f(0x1f6)]??null;const _0x710b02=_0x2728a9[_0x4a7b2f(0x1e9)][_0x4a7b2f(0x201)](_0x1b2075=>_0x1b2075['sessionId']===_0x3f47b6);_0x300820=_0x710b02['some'](_0x359481=>_0x359481[_0x4a7b2f(0x1f9)]!=='verified'&&_0x359481[_0x4a7b2f(0x1f9)]!=='blocked'&&_0x359481['status']!==_0x4a7b2f(0x1ef)&&_0x359481[_0x4a7b2f(0x1f9)]!==_0x4a7b2f(0x1fd)),_0x56ca50=_0x710b02['some'](_0x1d1ea2=>_0x1d1ea2['status']===_0x4a7b2f(0x1ee));}catch{}if(_0x307aee[_0x4a7b2f(0x1e7)](_0x4c9f6e,_0x3f47b6)&&_0x300820){if(!_0x56ca50&&shouldShowStopReminder(_0x3821a0)){const _0x2502a6={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x53632f}};console[_0x4a7b2f(0x1fc)](JSON['stringify'](_0x2502a6));}}if(_0x4c9f6e&&_0x3f47b6&&!_0x300820)try{await _0x307aee['VBqFn'](concludeSession,_0x2bfa2a[_0x4a7b2f(0x1fa)],_0x3f47b6);}catch{}await _0x307aee[_0x4a7b2f(0x1f3)](trackStop,_0x3821a0,!![],_0x464744);return;}catch{await trackStop(_0x3821a0,!![],_0x464744);return;}}async function trackStop(_0x4ee478,_0x155568,_0x4f4f8d){const _0x2b7ccc=_0x2d2d,_0x50e056={'UJrYS':function(_0x1ff926,_0x2132f0){return _0x1ff926(_0x2132f0);},'eHEeR':'hook:stop','BLrBW':function(_0x1335fc,_0x4d2304){return _0x1335fc??_0x4d2304;},'meQVj':'success'};try{const _0x4bd717=_0x50e056['UJrYS'](createTelemetryCollector,_0x50e056['eHEeR']);await _0x4bd717[_0x2b7ccc(0x1f4)]({'sessionId':_0x50e056['BLrBW'](_0x4ee478,undefined),'hooksEnabled':_0x155568,'stopAllowed':_0x4f4f8d}),await _0x4bd717[_0x2b7ccc(0x1f1)](_0x50e056[_0x2b7ccc(0x1e8)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5decab,_0x4d8c14){var _0x3a0d59=_0x4a0b,_0xf5747f=_0x5decab();while(!![]){try{var _0x1e43a8=parseInt(_0x3a0d59(0x87))/0x1*(parseInt(_0x3a0d59(0x8f))/0x2)+-parseInt(_0x3a0d59(0x8d))/0x3*(-parseInt(_0x3a0d59(0x89))/0x4)+-parseInt(_0x3a0d59(0x8b))/0x5*(parseInt(_0x3a0d59(0x86))/0x6)+parseInt(_0x3a0d59(0x8a))/0x7+-parseInt(_0x3a0d59(0x8c))/0x8*(parseInt(_0x3a0d59(0x88))/0x9)+parseInt(_0x3a0d59(0x85))/0xa+-parseInt(_0x3a0d59(0x8e))/0xb;if(_0x1e43a8===_0x4d8c14)break;else _0xf5747f['push'](_0xf5747f['shift']());}catch(_0x2910e6){_0xf5747f['push'](_0xf5747f['shift']());}}}(_0x1079,0x42bf0));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{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x4a0b(_0x7637bd,_0x3468c2){_0x7637bd=_0x7637bd-0x85;var _0x10796e=_0x1079();var _0x4a0b00=_0x10796e[_0x7637bd];return _0x4a0b00;}export{envList}from'./env.js';function _0x1079(){var _0x14de17=['10098dFyXvT','16ZAoqRm','3763130JVpwXV','48865AVICCh','2288qZzHUx','306834XxoFca','9724088AnVicp','2698gJutWA','2113730UDOEpC','138RmbDdn','404MopZVg'];_0x1079=function(){return _0x14de17;};return _0x1079();}export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|