@ranger-testing/ranger-cli 3.1.7-alpha.9ed0a8d-59 → 3.1.7-alpha.a5be4ca-60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/scenarioOriginCheck.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +14 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3c358f,_0x18a5a1){const _0x47892b=_0x458e,_0x421462=_0x3c358f();while(!![]){try{const _0x58e73e=parseInt(_0x47892b(0x185))/0x1*(-parseInt(_0x47892b(0x1e8))/0x2)+-parseInt(_0x47892b(0x1cc))/0x3+-parseInt(_0x47892b(0x1f1))/0x4+parseInt(_0x47892b(0x1ba))/0x5+-parseInt(_0x47892b(0x166))/0x6+parseInt(_0x47892b(0x21e))/0x7+parseInt(_0x47892b(0x216))/0x8;if(_0x58e73e===_0x18a5a1)break;else _0x421462['push'](_0x421462['shift']());}catch(_0x3f4d27){_0x421462['push'](_0x421462['shift']());}}}(_0x4253,0x46833));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0xfe6480 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=_0x7affdd=>'\x1b[1m'+_0x7affdd+'\x1b[0m';function getGitRepoUrl(){const _0x2e8750=_0x458e,_0x54b8aa={'IqDJp':'git\x20remote\x20get-url\x20origin','orcfJ':_0x2e8750(0x200)};try{const _0x310885=execSync(_0x54b8aa['IqDJp'],{'encoding':_0x2e8750(0x228),'stdio':[_0x54b8aa['orcfJ'],'pipe',_0x54b8aa[_0x2e8750(0x1b8)]]})[_0x2e8750(0x197)]();return _0x310885['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x2e8750(0x1c0))[_0x2e8750(0x18a)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x34cb69=_0x458e,_0x516929={'wRGbw':function(_0x540317,_0x57eb48,_0x2dc2b4){return _0x540317(_0x57eb48,_0x2dc2b4);},'fnkWb':'git\x20rev-parse\x20--abbrev-ref\x20HEAD'};try{return _0x516929[_0x34cb69(0x18b)](execSync,_0x516929[_0x34cb69(0x17f)],{'encoding':_0x34cb69(0x228),'stdio':['pipe','pipe','pipe']})[_0x34cb69(0x197)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5c0942=_0x458e,_0x534406={'Vcvwt':function(_0x5447e0){return _0x5447e0();},'KGERI':function(_0x1309d8,_0xc56f37){return _0x1309d8(_0xc56f37);},'aNRYZ':function(_0x14d008,_0x5e3d21,_0x8d8fa8){return _0x14d008(_0x5e3d21,_0x8d8fa8);},'VMdJl':'utf-8'},_0xdc6911=join(_0x534406[_0x5c0942(0x190)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x534406['KGERI'](existsSync,_0xdc6911))return null;try{const _0x59e6a2=await _0x534406['aNRYZ'](readFile,_0xdc6911,_0x534406[_0x5c0942(0x1ee)]);return _0x59e6a2[_0x5c0942(0x197)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x3b828e){const _0x214437=_0x458e,_0x3a670c={'hGDEG':function(_0x167c58,_0xa4d09f,_0x2f77be){return _0x167c58(_0xa4d09f,_0x2f77be);},'dCuUI':function(_0x8c13d5,_0x49ede0){return _0x8c13d5(_0x49ede0);},'CKeIG':function(_0x1700f6,_0x384512,_0x2da58a,_0x239e14){return _0x1700f6(_0x384512,_0x2da58a,_0x239e14);}},_0x596f72=getRangerDir(),_0x1bb553=_0x3a670c['hGDEG'](join,_0x596f72,ACTIVE_FEATURE_FILE);!_0x3a670c[_0x214437(0x1ff)](existsSync,_0x596f72)&&await mkdir(_0x596f72,{'recursive':!![]}),await _0x3a670c[_0x214437(0x186)](writeFile,_0x1bb553,_0x3b828e,'utf-8');}function getProgressDisplay(_0x17e627){const _0x36943f=_0x458e,_0x422dd2={'nsDuD':function(_0x591f81,_0x54bfbd){return _0x591f81===_0x54bfbd;},'LdVbs':function(_0x3292b0,_0x53119e){return _0x3292b0*_0x53119e;},'FpjNC':function(_0x58ad97,_0x28402a){return _0x58ad97/_0x28402a;},'RDKQT':function(_0xec5fd3,_0x32f050){return _0xec5fd3>_0x32f050;},'CTCsb':function(_0x487612,_0x58ddce){return _0x487612>_0x58ddce;}},_0x4518a9=_0x17e627[_0x36943f(0x18c)]||0x0,_0x50fec6=_0x17e627[_0x36943f(0x1bb)]||0x0,_0x7d3f10=_0x17e627['blockedItems']||0x0,_0x2189ec=_0x17e627['incompleteItems']||0x0,_0x205866=_0x17e627['pendingItems']||0x0,_0x5298c2=_0x4518a9+_0x50fec6+_0x7d3f10+_0x2189ec+_0x205866;if(_0x422dd2[_0x36943f(0x211)](_0x5298c2,0x0))return'-';const _0x488777=0xa,_0x31f0f4=Math[_0x36943f(0x223)](_0x422dd2[_0x36943f(0x1f2)](_0x422dd2['FpjNC'](_0x4518a9,_0x5298c2),_0x488777)),_0x4022e6='█'['repeat'](_0x31f0f4)+'░'[_0x36943f(0x204)](_0x488777-_0x31f0f4),_0x1c044c=[];if(_0x7d3f10>0x0)_0x1c044c['push'](_0x7d3f10+_0x36943f(0x1ac));if(_0x422dd2[_0x36943f(0x188)](_0x2189ec,0x0))_0x1c044c[_0x36943f(0x20a)](_0x2189ec+_0x36943f(0x1a2));if(_0x422dd2['CTCsb'](_0x50fec6,0x0))_0x1c044c['push'](_0x50fec6+_0x36943f(0x174));const _0x842896=_0x1c044c['length']>0x0?'\x20('+_0x1c044c[_0x36943f(0x1af)](',\x20')+')':'';return _0x4022e6+'\x20'+_0x4518a9+'/'+_0x5298c2+'\x20verified'+_0x842896;}function getCurrentSessionItems(_0x40ca16,_0x29826d){const _0x48b5e1=_0x458e;if(!_0x40ca16['currentSessionId'])return _0x29826d['filter'](_0x5a8552=>!_0x5a8552[_0x48b5e1(0x1bf)]);return _0x29826d['filter'](_0x168d03=>_0x168d03['sessionId']===_0x40ca16[_0x48b5e1(0x1a7)]||!_0x168d03[_0x48b5e1(0x1bf)]);}function displayFeature(_0x237a9a,_0x54435a){const _0xf4668b=_0x458e,_0x179934={'WQyST':function(_0x4762db,_0x15974c){return _0x4762db>_0x15974c;},'OdJeq':function(_0x92e2c5,_0x23e4d3){return _0x92e2c5<_0x23e4d3;},'IMiND':'closed','drXQb':function(_0x4abbf7,_0x2d7045){return _0x4abbf7===_0x2d7045;},'ZojMm':_0xf4668b(0x219),'QMkMf':_0xf4668b(0x1dc),'iHyAa':function(_0xe2f6dc,_0x327265){return _0xe2f6dc===_0x327265;},'DECMT':'verification_in_progress','ypeAf':'approved'};console[_0xf4668b(0x1fc)]('\x0a'+_0x237a9a['name']+'\x20('+_0x237a9a[_0xf4668b(0x1d8)]+')');_0x237a9a['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x237a9a[_0xf4668b(0x1da)]));_0x237a9a[_0xf4668b(0x1e5)]&&console['log'](_0xf4668b(0x173)+_0x237a9a[_0xf4668b(0x1e5)]);_0x237a9a['gitRepoUrl']&&console['log'](_0xf4668b(0x1c9)+_0x237a9a['gitRepoUrl']);_0x237a9a['gitBranch']&&console[_0xf4668b(0x1fc)](_0xf4668b(0x1cd)+_0x237a9a[_0xf4668b(0x235)]);console[_0xf4668b(0x1fc)](_0xf4668b(0x1b4)+new Date(_0x237a9a[_0xf4668b(0x1ad)])['toLocaleString']());_0x237a9a[_0xf4668b(0x21a)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x237a9a[_0xf4668b(0x21a)])[_0xf4668b(0x230)]());if(_0x54435a&&_0x179934['WQyST'](_0x54435a[_0xf4668b(0x19a)],0x0)){console['log'](_0xf4668b(0x161));for(let _0x3810b9=0x0;_0x179934['OdJeq'](_0x3810b9,_0x54435a['length']);_0x3810b9++){const _0xcda9b8=_0x54435a[_0x3810b9];let _0x2463df;if(_0xcda9b8['status']===_0x179934[_0xf4668b(0x1a6)]&&_0x179934[_0xf4668b(0x1cb)](_0xcda9b8[_0xf4668b(0x1f9)],'approved'))_0x2463df='✅';else{if(_0x179934['drXQb'](_0xcda9b8[_0xf4668b(0x179)],_0x179934[_0xf4668b(0x231)]))_0x2463df='🟢';else{if(_0xcda9b8[_0xf4668b(0x179)]===_0x179934[_0xf4668b(0x19c)])_0x2463df='🟠';else{if(_0xcda9b8['status']==='blocked')_0x2463df='🛑';else{if(_0x179934['iHyAa'](_0xcda9b8['status'],'closed'))_0x2463df='⛔';else _0xcda9b8['status']===_0x179934['DECMT']?_0x2463df='⏳':_0x2463df='⬜';}}}}const _0x5ad53b=_0xcda9b8['version']>0x1?_0xf4668b(0x19b)+_0xcda9b8[_0xf4668b(0x201)]+')':'',_0xbb9a68=_0xcda9b8['version']>0x1&&_0xcda9b8[_0xf4668b(0x1db)]&&_0xcda9b8[_0xf4668b(0x179)]!==_0xf4668b(0x199)&&_0xcda9b8[_0xf4668b(0x179)]!==_0xf4668b(0x219)?'\x20[has\x20reviewer\x20feedback]':'';console[_0xf4668b(0x1fc)]('\x20\x20\x20'+(_0x3810b9+0x1)+'.\x20'+_0x2463df+'\x20'+_0xcda9b8['description']+_0x5ad53b+_0xbb9a68);_0xcda9b8[_0xf4668b(0x179)]===_0xf4668b(0x1a5)&&_0xcda9b8[_0xf4668b(0x1f4)]&&console[_0xf4668b(0x1fc)](_0xf4668b(0x192)+_0xcda9b8[_0xf4668b(0x1f4)]);_0xcda9b8['status']===_0x179934[_0xf4668b(0x19c)]&&_0xcda9b8['incompleteReason']&&console['log'](_0xf4668b(0x191)+_0xcda9b8[_0xf4668b(0x1e1)]);if(_0xcda9b8[_0xf4668b(0x179)]===_0xf4668b(0x199)&&_0x179934[_0xf4668b(0x226)](_0xcda9b8[_0xf4668b(0x1f9)],_0x179934['ypeAf']))console[_0xf4668b(0x1fc)](_0xf4668b(0x17a));else _0x179934['drXQb'](_0xcda9b8['status'],_0xf4668b(0x199))&&_0xcda9b8['canceledReason']&&console[_0xf4668b(0x1fc)](_0xf4668b(0x1b5)+_0xcda9b8[_0xf4668b(0x1aa)]);}}}export async function featureCreate(_0x337419,_0x3097a1){const _0xf7d005=_0x458e,_0xb521c7={'BooAR':function(_0x32f062){return _0x32f062();},'zUMgb':function(_0x369596){return _0x369596();},'cqsbu':function(_0xe9c6e,_0x48964a){return _0xe9c6e(_0x48964a);},'lXGuj':function(_0x2a80cc,_0x53ddea){return _0x2a80cc(_0x53ddea);},'NDuMk':function(_0x4fbf3b,_0x251b77,_0x1aa1e9){return _0x4fbf3b(_0x251b77,_0x1aa1e9);}},{envNames:_0x1140b6}=await _0xb521c7[_0xf7d005(0x1e2)](getEnvNames);if(_0x1140b6['length']===0x0&&!process['env']['RANGER_TEST_USERNAME']){let _0x450735=0x0;try{_0x450735=(await listCloudProfiles())['length'];}catch{_0x450735=0x1;}_0x450735===0x0&&console[_0xf7d005(0x1fa)]('\x0a'+formatProfileRequiredMessage(_0x3599ff=>bold(_0x3599ff)));}const _0xda5674=_0x3097a1['scenarios']?_0x3097a1['scenarios'][_0xf7d005(0x212)](_0x426859=>_0x426859['trim']()):[],_0x37d146=getGitRepoUrl(),_0xb1b096=_0xb521c7[_0xf7d005(0x1c6)](getGitBranch);console[_0xf7d005(0x1fc)](_0xf7d005(0x22e));const _0x103c7a=await createFeature({'name':_0x337419,'description':_0x3097a1['description'],'checklist':_0xda5674,'gitRepoUrl':_0x37d146,'gitBranch':_0xb1b096});await _0xb521c7[_0xf7d005(0x20c)](setActiveFeatureId,_0x103c7a['id']),await _0xb521c7[_0xf7d005(0x22d)](tryStartCurrentSession,_0x103c7a['id']);const _0x37e605=process['env']['CLAUDE_SESSION_ID'];_0x37e605&®isterSession(_0x37e605,_0x103c7a['id']),console[_0xf7d005(0x1fc)](_0xf7d005(0x21f)+_0x103c7a['id']),_0xb521c7['NDuMk'](displayFeature,_0x103c7a,_0x103c7a[_0xf7d005(0x1c5)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x4c7019){const _0x2728fd=_0x458e,_0x137838={'vfNDc':function(_0x2e5958){return _0x2e5958();},'EAzqC':function(_0x311850,_0x53d719){return _0x311850(_0x53d719);},'DrwTm':function(_0x57fa0a,_0x33ce78){return _0x57fa0a+_0x33ce78;},'nqUJr':function(_0x142068,_0x1c0ad1){return _0x142068<_0x1c0ad1;},'fdKmT':function(_0x2f1c53,_0x2ff85e){return _0x2f1c53!==_0x2ff85e;},'RfhEb':_0x2728fd(0x1f8)},_0x31d099={'limit':_0x4c7019[_0x2728fd(0x1a3)]??0xa,'offset':_0x4c7019['offset']??0x0,'includeDeleted':_0x4c7019['includeDeleted']};_0x4c7019['currentBranch']&&(_0x31d099['gitRepoUrl']=_0x137838['vfNDc'](getGitRepoUrl),_0x31d099[_0x2728fd(0x235)]=getGitBranch());const _0x302b19=await listFeatures(_0x31d099);if(_0x302b19['items']['length']===0x0){console['log'](_0x2728fd(0x1c4));return;}const _0x57285b=_0x302b19['totalCount']>_0x302b19['items']['length']?_0x2728fd(0x175)+_0x302b19['items'][_0x2728fd(0x19a)]+_0x2728fd(0x1e3)+_0x302b19['totalCount']:_0x302b19[_0x2728fd(0x1bc)]+'\x20feature\x20review(s)\x20found';console[_0x2728fd(0x1fc)]('\x0a'+_0x57285b+':\x0a');for(const _0x71cc88 of _0x302b19['items']){const _0x3a9931='5|2|1|4|3|0'[_0x2728fd(0x18f)]('|');let _0x15b0eb=0x0;while(!![]){switch(_0x3a9931[_0x15b0eb++]){case'0':console[_0x2728fd(0x1fc)]('');continue;case'1':_0x71cc88[_0x2728fd(0x1da)]&&console[_0x2728fd(0x1fc)](_0x2728fd(0x176)+_0x137838[_0x2728fd(0x1a4)](getProgressDisplay,_0x71cc88[_0x2728fd(0x1da)]));continue;case'2':console['log']('\x20\x20\x20ID:\x20'+_0x71cc88['id']);continue;case'3':console['log']('\x20\x20\x20Created:\x20'+new Date(_0x71cc88['createdAt'])['toLocaleDateString']());continue;case'4':_0x71cc88['gitBranch']&&console[_0x2728fd(0x1fc)](_0x2728fd(0x1cd)+_0x71cc88['gitBranch']);continue;case'5':console[_0x2728fd(0x1fc)](''+_0x71cc88['name']);continue;}break;}}const _0x512be5=_0x31d099['limit']??0xa,_0x25be56=_0x137838[_0x2728fd(0x215)](_0x31d099['offset']??0x0,_0x302b19[_0x2728fd(0x196)][_0x2728fd(0x19a)]);if(_0x137838[_0x2728fd(0x1a1)](_0x25be56,_0x302b19['totalCount'])){const _0x237130=_0x137838[_0x2728fd(0x229)](_0x512be5,0xa)?_0x2728fd(0x1bd)+_0x512be5:'',_0x2f7a46=_0x4c7019[_0x2728fd(0x210)]?_0x2728fd(0x172):'',_0x13d209=_0x4c7019['includeDeleted']?_0x137838[_0x2728fd(0x18d)]:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x25be56+_0x237130+_0x2f7a46+_0x13d209);}}export async function featureShow(_0x50b279){const _0x48f401=_0x458e,_0x68c898={'dmMXS':function(_0x1bd636){return _0x1bd636();},'YJpFG':function(_0x1293f6,_0x43359c){return _0x1293f6(_0x43359c);}},_0x17941e=_0x50b279||await _0x68c898['dmMXS'](getActiveFeatureId);if(!_0x17941e)throw new Error(_0x48f401(0x1dd));const _0x28a6dd=await _0x68c898['YJpFG'](getFeature,_0x17941e);displayFeature(_0x28a6dd,_0x28a6dd['checklistItems']);}export async function featureResume(_0x3be458){const _0x141540=_0x458e,_0x11b330={'WAonp':function(_0x11ab1c,_0x53a574){return _0x11ab1c(_0x53a574);},'OTyoT':function(_0x1f5a69,_0x2febf7){return _0x1f5a69(_0x2febf7);},'DOvYi':function(_0x38b776,_0x46a8fb,_0x18c034){return _0x38b776(_0x46a8fb,_0x18c034);},'UsBun':function(_0x546150){return _0x546150();},'zSjOg':function(_0x1aec4e,_0x174d6e){return _0x1aec4e||_0x174d6e;},'cfIQr':function(_0xdfff32,_0x4b5dac){return _0xdfff32||_0x4b5dac;},'mbMyK':function(_0x3a755f,_0x3cdd74){return _0x3a755f===_0x3cdd74;},'YpoUz':_0x141540(0x1b2),'eCEhJ':_0x141540(0x205),'LCVjG':function(_0x22b0af,_0x217866){return _0x22b0af(_0x217866);},'PVvLx':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','pGBwN':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','PVasC':function(_0x227045,_0x27e1d8){return _0x227045(_0x27e1d8);},'Lzyig':function(_0x173f7f,_0x5a728a){return _0x173f7f!==_0x5a728a;}};if(_0x3be458){const _0x1e2e4b=await _0x11b330['WAonp'](getFeature,_0x3be458);await _0x11b330[_0x141540(0x207)](setActiveFeatureId,_0x1e2e4b['id']);const _0x2aaaa=getGitBranch();_0x2aaaa&&_0x2aaaa!==_0x1e2e4b['gitBranch']&&(await updateFeature(_0x1e2e4b['id'],{'gitBranch':_0x2aaaa}),console[_0x141540(0x1fc)](_0x141540(0x227)+_0x2aaaa));console[_0x141540(0x1fc)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x1e2e4b[_0x141540(0x224)]+'\x20('+_0x1e2e4b['id']+')'),await tryStartCurrentSession(_0x1e2e4b['id']);const _0x4b265a=process['env']['CLAUDE_SESSION_ID'];_0x4b265a&&_0x11b330[_0x141540(0x189)](registerSession,_0x4b265a,_0x1e2e4b['id']);displayFeature(_0x1e2e4b,_0x1e2e4b[_0x141540(0x1c5)]),await printFeedbackNudge(_0x1e2e4b['id']);return;}const _0x72603a=getGitRepoUrl(),_0x1db6af=_0x11b330['UsBun'](getGitBranch);if(!_0x72603a&&!_0x1db6af)throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x141540(0x1fc)](_0x141540(0x163)+_0x11b330['zSjOg'](_0x72603a,_0x141540(0x184))+'\x20/\x20'+_0x11b330[_0x141540(0x16f)](_0x1db6af,_0x141540(0x184))+_0x141540(0x162));const _0x20cb9a=await listFeatures({'gitRepoUrl':_0x72603a,'gitBranch':_0x1db6af}),_0x514887=_0x20cb9a[_0x141540(0x196)]['filter'](_0x20c53d=>_0x20c53d['status']?_0x20c53d[_0x141540(0x179)]!==_0x141540(0x219):!_0x20c53d[_0x141540(0x21a)]);if(_0x11b330[_0x141540(0x1ab)](_0x514887['length'],0x0)){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x141540(0x1fc)](_0x11b330[_0x141540(0x1ec)]);return;}let _0x5c8a60;if(_0x11b330[_0x141540(0x1ab)](_0x514887[_0x141540(0x19a)],0x1))_0x5c8a60=_0x514887[0x0];else{const _0x3295af=process['stdin'][_0x141540(0x22a)]&&process['stdout']['isTTY'];if(!_0x3295af){console[_0x141540(0x1fc)](_0x11b330[_0x141540(0x22c)]);for(const _0x5372f8 of _0x514887){console[_0x141540(0x1fc)]('\x20\x20'+_0x5372f8[_0x141540(0x224)]),console['log'](_0x141540(0x1f5)+_0x5372f8['id']),_0x5372f8['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x11b330[_0x141540(0x21d)](getProgressDisplay,_0x5372f8[_0x141540(0x1da)])),_0x5372f8['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x5372f8[_0x141540(0x235)]);}throw new Error(_0x11b330['PVvLx']);}const {selected:_0x59c31e}=await _0xfe6480[_0x141540(0x22f)]([{'type':_0x141540(0x1c1),'name':'selected','message':_0x11b330['pGBwN'],'choices':_0x514887['map'](_0x1186f1=>({'name':_0x1186f1[_0x141540(0x224)]+'\x20('+_0x1186f1['id']+')','value':_0x1186f1['id']}))}]);_0x5c8a60=_0x514887['find'](_0x2c6bf6=>_0x2c6bf6['id']===_0x59c31e);}await _0x11b330['PVasC'](setActiveFeatureId,_0x5c8a60['id']);_0x1db6af&&_0x11b330[_0x141540(0x19f)](_0x1db6af,_0x5c8a60['gitBranch'])&&(await updateFeature(_0x5c8a60['id'],{'gitBranch':_0x1db6af}),console[_0x141540(0x1fc)](_0x141540(0x227)+_0x1db6af));console[_0x141540(0x1fc)](_0x141540(0x1ef)+_0x5c8a60['name']+'\x20('+_0x5c8a60['id']+')'),await tryStartCurrentSession(_0x5c8a60['id']);const _0x2327b9=await getFeature(_0x5c8a60['id']),_0x4109ec=process[_0x141540(0x1ed)]['CLAUDE_SESSION_ID'];_0x4109ec&®isterSession(_0x4109ec,_0x2327b9['id']),displayFeature(_0x2327b9,_0x2327b9[_0x141540(0x1c5)]),await printFeedbackNudge(_0x2327b9['id']);}async function printFeedbackNudge(_0x4f0f21){const _0x5837f6=_0x458e,_0x23831f={'eZNaL':function(_0x28b431,_0x24f0d9){return _0x28b431(_0x24f0d9);},'Rgpde':function(_0x8cf4c2,_0x199d98){return _0x8cf4c2>_0x199d98;}};try{const {items:_0xac2930}=await _0x23831f['eZNaL'](getActionItems,_0x4f0f21);let _0x57f2cf=0x0,_0x15c566=0x0;for(const _0x4768ac of _0xac2930){const _0x49e2e7=await getItemFeedback(_0x4f0f21,_0x4768ac['id']);_0x49e2e7['unaddressedComments'][_0x5837f6(0x19a)]>0x0&&(_0x57f2cf+=_0x49e2e7[_0x5837f6(0x169)][_0x5837f6(0x19a)],_0x15c566++);}_0x23831f['Rgpde'](_0x57f2cf,0x0)&&(console[_0x5837f6(0x1fc)]('\x0a⚠️\x20\x20'+_0x57f2cf+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x15c566+_0x5837f6(0x1b6)),console[_0x5837f6(0x1fc)](_0x5837f6(0x1b9)));}catch{}}async function tryStartCurrentSession(_0x46ff77){const _0x31735f=_0x458e,_0x32a767={'rFUWZ':function(_0xd7f664,_0x9df611){return _0xd7f664(_0x9df611);},'wlCvw':function(_0x89ceda,_0x1946ec,_0x244915){return _0x89ceda(_0x1946ec,_0x244915);}};try{const {sessions:_0x4bdfb8}=await _0x32a767['rFUWZ'](listFeatureSessions,_0x46ff77),_0x3789e2=_0x4bdfb8['find'](_0xc2ce82=>_0xc2ce82[_0x31735f(0x179)]==='ready');_0x3789e2&&(await _0x32a767[_0x31735f(0x220)](startSession,_0x46ff77,_0x3789e2['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x3789e2['iteration']));}catch{}}export async function featureReport(_0x38fbc3,_0x300f77){const _0xeb684e=_0x458e,_0x3ea340={'cfxFV':_0xeb684e(0x233),'ggciJ':function(_0x1c152b,_0x39c8e1,_0x58920b){return _0x1c152b(_0x39c8e1,_0x58920b);},'XgcGT':function(_0x5c140e,_0x1ba2cd,_0x3f8565,_0x15c61b){return _0x5c140e(_0x1ba2cd,_0x3f8565,_0x15c61b);},'fDlaZ':'reports','tjtuK':function(_0x58465b,_0x45f73b,_0x3c05ba){return _0x58465b(_0x45f73b,_0x3c05ba);}},_0x18f554=_0x38fbc3||await getActiveFeatureId();if(!_0x18f554)throw new Error(_0xeb684e(0x1f7));console['log'](_0x3ea340[_0xeb684e(0x1e0)]);const _0x103bf7=await _0x3ea340['ggciJ'](getFeatureReportMarkdown,_0x18f554,{'style':_0x300f77[_0xeb684e(0x1be)]}),_0x596e84=_0x300f77['output']||_0x3ea340['XgcGT'](join,getRangerDir(),_0x3ea340['fDlaZ'],_0x18f554+_0xeb684e(0x160)),_0x2d9852=_0x3ea340[_0xeb684e(0x17e)](join,_0x596e84,'..');!existsSync(_0x2d9852)&&await mkdir(_0x2d9852,{'recursive':!![]}),await _0x3ea340['XgcGT'](writeFile,_0x596e84,_0x103bf7,_0xeb684e(0x228)),console[_0xeb684e(0x1fc)](_0xeb684e(0x168)+_0x596e84);}function getScenarioResult(_0x1fdd07){const _0x15d4ee=_0x458e,_0x1a9c0d={'VyizU':function(_0x436fcd,_0x32c359){return _0x436fcd===_0x32c359;},'RBpZa':'closed','oxgPX':'in_progress'};if(_0x1a9c0d['VyizU'](_0x1fdd07['status'],_0x1a9c0d['RBpZa']))return _0x1fdd07[_0x15d4ee(0x1f9)]??_0x1a9c0d['RBpZa'];if(_0x1fdd07['status']===_0x15d4ee(0x1cf))return _0x1a9c0d[_0x15d4ee(0x194)];return _0x1fdd07['status'];}function getScenarioRationale(_0x33418f,_0x34bd5d){const _0x16797a=_0x458e;if(_0x34bd5d)return _0x34bd5d;if(_0x33418f[_0x16797a(0x1f4)])return _0x33418f[_0x16797a(0x1f4)];if(_0x33418f['incompleteReason'])return _0x33418f[_0x16797a(0x1e1)];if(_0x33418f['canceledReason'])return _0x33418f['canceledReason'];if(_0x33418f['notes'])return _0x33418f['notes'];return null;}export async function featureReportPrDescription(_0x61e59e,_0x264950){const _0x15f8a2=_0x458e,_0x41237a={'mtZxN':function(_0x5a3c46){return _0x5a3c46();},'zGnDZ':function(_0x4ecbb4,_0x58b080){return _0x4ecbb4(_0x58b080);},'FAVTE':function(_0x365219,_0x2a2367,_0x112ba6){return _0x365219(_0x2a2367,_0x112ba6);},'wVsiO':function(_0x164c59,_0x436202){return _0x164c59>_0x436202;},'jjtcX':'\x0aAvailable\x20scenarios:','eicWI':function(_0x30c414,_0x1126ba){return _0x30c414===_0x1126ba;},'SIRkU':_0x15f8a2(0x20f),'Ieftt':function(_0x527860,_0x2a4c41,_0x146c6d,_0x123c5f){return _0x527860(_0x2a4c41,_0x146c6d,_0x123c5f);},'ABYkH':function(_0x53ba02,_0x56c952,_0x40130b){return _0x53ba02(_0x56c952,_0x40130b);}},_0x17d931=_0x61e59e||await _0x41237a[_0x15f8a2(0x1d3)](getActiveFeatureId);if(!_0x17d931)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x593921=await _0x41237a['zGnDZ'](getFeature,_0x17d931),_0x22504e=_0x593921[_0x15f8a2(0x1c5)]||[],_0x985180=_0x41237a['FAVTE'](getCurrentSessionItems,_0x593921,_0x22504e);_0x985180['length']===0x0&&(console[_0x15f8a2(0x209)](_0x15f8a2(0x218)),process[_0x15f8a2(0x1ae)](0x1));const _0x4cce2b=_0x264950['excludeScenarios']??[],_0x1e93dc=_0x4cce2b['filter'](_0x82abff=>!Number['isInteger'](_0x82abff)||_0x82abff<0x1||_0x82abff>_0x985180[_0x15f8a2(0x19a)]);if(_0x41237a[_0x15f8a2(0x1e6)](_0x1e93dc['length'],0x0)){console['error'](_0x15f8a2(0x1eb)+_0x1e93dc[_0x15f8a2(0x1af)](',\x20')),console[_0x15f8a2(0x1fc)](_0x41237a['jjtcX']);for(let _0x54c94e=0x0;_0x54c94e<_0x985180[_0x15f8a2(0x19a)];_0x54c94e++){console['log']('\x20\x20'+(_0x54c94e+0x1)+'.\x20'+_0x985180[_0x54c94e]['description']);}process[_0x15f8a2(0x1ae)](0x1);}const _0x1b3772=new Set(_0x4cce2b[_0x15f8a2(0x212)](_0xd52e9f=>_0xd52e9f-0x1)),_0x537e3f=_0x985180['filter']((_0x38c099,_0x887dd7)=>!_0x1b3772[_0x15f8a2(0x221)](_0x887dd7));_0x41237a['eicWI'](_0x537e3f['length'],0x0)&&(console[_0x15f8a2(0x209)](_0x41237a[_0x15f8a2(0x15f)]),process['exit'](0x1));if(_0x264950[_0x15f8a2(0x1b3)])await _0x41237a['Ieftt'](outputJsonReport,_0x17d931,_0x593921,_0x537e3f);else{const _0x43532b=await _0x41237a[_0x15f8a2(0x1fd)](getFeatureReportMarkdown,_0x17d931,{'itemIds':_0x537e3f['map'](_0x169eb6=>_0x169eb6['id'])});process['stdout'][_0x15f8a2(0x1b0)](_0x43532b[_0x15f8a2(0x1e9)]()+'\x0a');}}async function outputJsonReport(_0x3755b4,_0x1d6393,_0x81bc4e){const _0x373bf1=_0x458e,_0x550573={'Suvij':function(_0x1236ef,_0x244e86){return _0x1236ef>_0x244e86;},'fROHr':function(_0x5068b7,_0x5e0c55){return _0x5068b7===_0x5e0c55;},'VoeIZ':function(_0x4ce315,_0x14cf74){return _0x4ce315(_0x14cf74);},'gLiFX':function(_0x502e61,_0x239018,_0x280fea){return _0x502e61(_0x239018,_0x280fea);},'viPQY':function(_0x2a9761,_0x1d41d0){return _0x2a9761+_0x1d41d0;}},_0x492dcb=getApiBaseUrl(),_0x190605=await getFeatureReport(_0x3755b4),_0x1d5ef3=new Map(_0x190605[_0x373bf1(0x1c5)][_0x373bf1(0x212)](_0x53fd0a=>[_0x53fd0a['id'],_0x53fd0a])),_0x4c32c5=await Promise['all'](_0x81bc4e['map'](async _0x25a4c5=>{const _0x329e88=_0x373bf1,_0x129ede=_0x1d5ef3['get'](_0x25a4c5['id']),_0x50bcec=_0x129ede?.['linkedSession']??null;let _0x51bae2=[];if(_0x25a4c5[_0x329e88(0x21b)])try{const {steps:_0xadb15d}=await getBrowserSessionSteps(_0x25a4c5['browserSessionId']);_0x550573[_0x329e88(0x1de)](_0xadb15d[_0x329e88(0x19a)],0x0)&&(_0x51bae2=_0xadb15d['map'](_0x88b9f=>{const _0x39fa33=_0x329e88,_0x205dab=_0x88b9f['assets']['find'](_0x3e3234=>_0x3e3234[_0x39fa33(0x1d1)]==='screenshot'&&_0x3e3234['timing']==='after')??_0x88b9f['assets']['find'](_0x1a543d=>_0x1a543d['assetType']===_0x39fa33(0x1f6));let _0x2a5dfd=null,_0x59fb15=null;if(_0x205dab){const _0x283cec=_0x205dab['storage']['location'][_0x39fa33(0x18f)]('/')['pop']();_0x2a5dfd=_0x492dcb+_0x39fa33(0x16a)+_0x25a4c5[_0x39fa33(0x21b)]+_0x39fa33(0x1d7)+_0x283cec,_0x283cec&&(_0x59fb15=_0x283cec[_0x39fa33(0x18a)](/\.\w+$/,'')[_0x39fa33(0x18a)](/^(key_)?\d+_/,'')[_0x39fa33(0x18a)](/[-_]/g,'\x20'));}return{'description':_0x59fb15||_0x88b9f['description']||_0x88b9f[_0x39fa33(0x1a0)]||_0x39fa33(0x22b)+_0x88b9f[_0x39fa33(0x203)],'screenshot':_0x2a5dfd,'is_key_step':_0x88b9f['isKeyStep']};}));}catch{}return _0x550573['fROHr'](_0x51bae2['length'],0x0)&&_0x50bcec?.['screenshotUrls']&&(_0x51bae2=_0x50bcec[_0x329e88(0x1d4)]['map']((_0x1046c5,_0x37b54f)=>({'description':_0x329e88(0x1df)+(_0x37b54f+0x1),'screenshot':_0x1046c5,'is_key_step':![]}))),{'description':_0x25a4c5[_0x329e88(0x1e5)],'result':_0x550573[_0x329e88(0x1c7)](getScenarioResult,_0x25a4c5),'rationale':_0x550573[_0x329e88(0x181)](getScenarioRationale,_0x25a4c5,_0x50bcec?.['agentResponse']),'steps':_0x51bae2};})),_0x1ebb25={'url':_0x1d6393['dashboardUrl'],'scenarios':_0x4c32c5};process[_0x373bf1(0x1a8)]['write'](_0x550573[_0x373bf1(0x1f3)](JSON[_0x373bf1(0x222)](_0x1ebb25,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x554dad){const _0x51f3ea=_0x458e,_0xa8e974={'WSkJm':function(_0x5a9901){return _0x5a9901();},'cBpxz':_0x51f3ea(0x1b1),'TRvKq':function(_0x291711,_0x3298dc){return _0x291711(_0x3298dc);},'OTIqB':function(_0x5388f4,_0x20d075){return _0x5388f4!==_0x20d075;},'RqMGV':'\x0aConcluding\x20session...'},_0x2260eb=_0x554dad||await _0xa8e974['WSkJm'](getActiveFeatureId);if(!_0x2260eb)throw new Error(_0x51f3ea(0x1dd));const _0x387a59=await getFeature(_0x2260eb);if(!_0x387a59[_0x51f3ea(0x1a7)])throw new Error(_0xa8e974[_0x51f3ea(0x234)]);const {sessions:_0x404fdf}=await _0xa8e974[_0x51f3ea(0x164)](listFeatureSessions,_0x2260eb),_0x4315b8=_0x404fdf[_0x51f3ea(0x1b7)](_0xfe7e0c=>_0xfe7e0c['id']===_0x387a59['currentSessionId']);if(!_0x4315b8)throw new Error(_0x51f3ea(0x17c));if(_0x4315b8['status']==='completed'){console['log']('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0xa8e974['OTIqB'](_0x4315b8[_0x51f3ea(0x179)],_0x51f3ea(0x16c)))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4315b8[_0x51f3ea(0x179)]);console[_0x51f3ea(0x1fc)](_0xa8e974['RqMGV']),await concludeSession(_0x2260eb,_0x387a59[_0x51f3ea(0x1a7)]),console[_0x51f3ea(0x1fc)]('\x0a✅\x20Session\x20'+_0x4315b8[_0x51f3ea(0x1f0)]+_0x51f3ea(0x225)),console[_0x51f3ea(0x1fc)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x2bbbed){const _0x759aff=_0x458e,_0x509521={'tTVwN':function(_0x1e1020,_0x3864e5){return _0x1e1020(_0x3864e5);},'yNILg':'No\x20sessions\x20found.','KVuVu':function(_0x5d6c08,_0x1cc4cf){return _0x5d6c08===_0x1cc4cf;}},_0x5cff24=_0x2bbbed||await getActiveFeatureId();if(!_0x5cff24)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x4bd2ef=await getFeature(_0x5cff24);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x4bd2ef[_0x759aff(0x224)]+'\x0a');const {sessions:_0x346386}=await _0x509521[_0x759aff(0x16d)](listFeatureSessions,_0x5cff24);if(_0x346386[_0x759aff(0x19a)]===0x0){console['log'](_0x509521['yNILg']);return;}for(const _0x2888e3 of _0x346386){const _0xa09876=_0x2888e3['status']===_0x759aff(0x206)?'✅':_0x509521[_0x759aff(0x18e)](_0x2888e3['status'],'in_progress')?'🔄':'▶️';console['log'](_0xa09876+'\x20Session\x20'+_0x2888e3['iteration']+'\x20('+_0x2888e3['id']+')'),console[_0x759aff(0x1fc)]('\x20\x20\x20Status:\x20'+_0x2888e3['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x2888e3['createdAt'])[_0x759aff(0x230)]()),_0x2888e3[_0x759aff(0x21a)]&&console[_0x759aff(0x1fc)]('\x20\x20\x20Completed:\x20'+new Date(_0x2888e3['completedAt'])['toLocaleString']()),console[_0x759aff(0x1fc)]('');}}function _0x4253(){const _0x42bc26=['\x20\x20\x20\x20\x20📍\x20Annotation:\x20','in_progress','tTVwN','ePqiK','cfIQr','submittedAt','VVjTo','\x20--current-branch','\x20\x20\x20Description:\x20','\x20in\x20progress','Showing\x20','\x20\x20\x20Progress:\x20','toFixed','toLocaleDateString','status','\x20\x20\x20\x20\x20\x20Approved','canonicalFlow','Current\x20session\x20not\x20found.','vPwAX','tjtuK','fnkWb','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','gLiFX','\x20scenarios.','Scenario\x20','any','470149mkZltp','CKeIG','authorName','RDKQT','DOvYi','replace','wRGbw','verifiedItems','RfhEb','KVuVu','split','Vcvwt','\x20\x20\x20\x20\x20\x20Incomplete:\x20','\x20\x20\x20\x20\x20\x20Blocked:\x20','oYJdn','oxgPX','content','items','trim','selector','closed','length','\x20(v','QMkMf','comment_','\x20\x20\x20\x20','Lzyig','stepName','nqUJr','\x20incomplete','limit','EAzqC','blocked','IMiND','currentSessionId','stdout','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','canceledReason','mbMyK','\x20blocked','createdAt','exit','join','write','No\x20active\x20session\x20for\x20this\x20feature\x20review.','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','json','\x20\x20\x20Created:\x20','\x20\x20\x20\x20\x20\x20Cancelled:\x20','\x20scenario(s).','find','orcfJ','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','1408045SjIpFP','verificationInProgressItems','totalCount','\x20--limit\x20','style','sessionId','github.com/','list','scenario','Please\x20finish\x20your\x20review\x20first:','\x0aNo\x20feature\x20reviews\x20found.','checklistItems','zUMgb','VoeIZ','short','\x20\x20\x20Repository:\x20','AIIYZ','drXQb','625011niaSBI','\x20\x20\x20Branch:\x20','No\x20scenarios\x20found.','verification_in_progress','latestReview','assetType','\x0a❌\x20Invalid\x20scenario\x20index:\x20','mtZxN','screenshotUrls','pop','coordinates','/artifacts/','dashboardUrl','arrayBuffer','stats','parentItemId','incomplete','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','Suvij','Screenshot\x20','cfxFV','incompleteReason','BooAR','\x20of\x20','eglZw','description','wVsiO','domRef','2dNOQbs','trimEnd','nrwmr','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','YpoUz','env','VMdJl','\x0a✅\x20Resumed\x20feature\x20review:\x20','iteration','1980460lCTxbj','LdVbs','viPQY','blockedReason','\x20\x20\x20\x20\x20ID:\x20','screenshot','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20--include-deleted','terminalReason','warn','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','log','ABYkH','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','dCuUI','pipe','version','\x20unaddressed\x20comment(s)','position','repeat','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','completed','OTyoT','textContent','error','push','KwXHB','cqsbu','assetUrl','element','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','currentBranch','nsDuD','map','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','Unknown','DrwTm','12459744VRLnOz','\x20\x20✅\x20No\x20feedback\x20to\x20address','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','verified','completedAt','browserSessionId','\x20—\x20no\x20comments','LCVjG','611401staaEi','\x0a✅\x20Feature\x20review\x20created:\x20','wlCvw','has','stringify','round','name','\x20concluded.','iHyAa','\x20\x20\x20Updated\x20branch\x20to:\x20','utf-8','fdKmT','isTTY','Step\x20','eCEhJ','lXGuj','\x0aCreating\x20feature\x20review...','prompt','toLocaleString','ZojMm','\x0aAvailable\x20scenarios:','\x0aGenerating\x20report...','cBpxz','gitBranch','SIRkU','.md','\x0a\x20\x20\x20Scenarios:','...','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','TRvKq','type','2784000MxBcRa','spatial','\x0a✅\x20Report\x20generated:\x20','unaddressedComments','/api/v1/mcp/browser-sessions/'];_0x4253=function(){return _0x42bc26;};return _0x4253();}function _0x458e(_0xa15487,_0x153e9a){_0xa15487=_0xa15487-0x15f;const _0x42536a=_0x4253();let _0x458e17=_0x42536a[_0xa15487];return _0x458e17;}export async function featureAddScenario(_0xc2bb14,_0x3b9bf4){const _0xe67e2c=_0x458e,_0x2f3532={'eglZw':function(_0x55978e,_0x5495fb,_0x1e7827){return _0x55978e(_0x5495fb,_0x1e7827);}},_0x2774aa=_0x3b9bf4||await getActiveFeatureId();if(!_0x2774aa)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 _0xbf0f72=await getFeature(_0x2774aa);if(_0xbf0f72[_0xe67e2c(0x1d0)]&&!_0xbf0f72['latestReview'][_0xe67e2c(0x170)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0xbf0f72['dashboardUrl']);await createChecklistItem(_0x2774aa,_0xc2bb14);const _0xe43428=await getFeature(_0x2774aa);console['log']('\x0a✅\x20Scenario\x20added'),_0x2f3532[_0xe67e2c(0x1e4)](displayFeature,_0xe43428,_0xe43428['checklistItems']);}export async function featureEditScenario(_0x23bb60,_0x7cecdd){const _0x38664c=_0x458e,_0x4c4f0d={'vPwAX':_0x38664c(0x180),'mduOH':_0x38664c(0x1a9),'nrwmr':function(_0x1e6a9b,_0x371421){return _0x1e6a9b(_0x371421);},'pICIG':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','VVjTo':_0x38664c(0x1c3),'JKaLa':function(_0xe25d01,_0x404743){return _0xe25d01===_0x404743;},'rIPjR':function(_0x15f7d9,_0x535987){return _0x15f7d9+_0x535987;},'lkWdp':function(_0x3c961d,_0x202c3f){return _0x3c961d-_0x202c3f;},'eYSuX':'\x0aAvailable\x20scenarios:','NXABH':function(_0xc8ee42,_0x46be59){return _0xc8ee42<_0x46be59;},'SpPHx':function(_0x1237f7,_0x2212fc,_0x5e371c){return _0x1237f7(_0x2212fc,_0x5e371c);}},_0x56863d=_0x7cecdd['id']||await getActiveFeatureId();!_0x56863d&&(console[_0x38664c(0x209)](_0x4c4f0d[_0x38664c(0x17d)]),console[_0x38664c(0x209)](_0x4c4f0d['mduOH']),process['exit'](0x1));const _0x2eadb7=await _0x4c4f0d[_0x38664c(0x1ea)](getFeature,_0x56863d);_0x2eadb7[_0x38664c(0x1d0)]&&!_0x2eadb7['latestReview'][_0x38664c(0x170)]&&(console[_0x38664c(0x209)](_0x4c4f0d['pICIG']),console[_0x38664c(0x209)](_0x4c4f0d[_0x38664c(0x171)]),console[_0x38664c(0x209)]('\x20\x20'+_0x2eadb7['dashboardUrl']),process['exit'](0x1));const _0x132c19=_0x2eadb7[_0x38664c(0x1c5)]||[];_0x132c19['length']===0x0&&(console[_0x38664c(0x209)](_0x38664c(0x213)),process[_0x38664c(0x1ae)](0x1));if(_0x4c4f0d['JKaLa'](_0x7cecdd[_0x38664c(0x1c2)],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x38664c(0x1fc)](_0x38664c(0x232));for(let _0x58e9b1=0x0;_0x58e9b1<_0x132c19['length'];_0x58e9b1++){console[_0x38664c(0x1fc)]('\x20\x20'+_0x4c4f0d['rIPjR'](_0x58e9b1,0x1)+'.\x20'+_0x132c19[_0x58e9b1]['description']);}process['exit'](0x1);}const _0xa12621=_0x4c4f0d['lkWdp'](_0x7cecdd[_0x38664c(0x1c2)],0x1);if(_0xa12621<0x0||_0xa12621>=_0x132c19[_0x38664c(0x19a)]){console[_0x38664c(0x209)](_0x38664c(0x1d2)+_0x7cecdd['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x132c19['length']+_0x38664c(0x182)),console['log'](_0x4c4f0d['eYSuX']);for(let _0x1a7e36=0x0;_0x4c4f0d['NXABH'](_0x1a7e36,_0x132c19['length']);_0x1a7e36++){console[_0x38664c(0x1fc)]('\x20\x20'+(_0x1a7e36+0x1)+'.\x20'+_0x132c19[_0x1a7e36]['description']);}process[_0x38664c(0x1ae)](0x1);}const _0x47244f=_0x132c19[_0xa12621];await updateChecklistItem(_0x56863d,_0x47244f['id'],{'description':_0x23bb60});const _0xd6b63f=await getFeature(_0x56863d);console['log']('\x0a✅\x20Scenario\x20updated'),_0x4c4f0d['SpPHx'](displayFeature,_0xd6b63f,_0xd6b63f['checklistItems']);}async function downloadFeedbackImage(_0x42dfb0,_0x56919e){const _0x3a05c0=_0x458e,_0x23caaf={'QEtGh':function(_0x5e2463,_0x3720c4,_0x3ada04){return _0x5e2463(_0x3720c4,_0x3ada04);},'hHxiy':function(_0x357ea2,_0x54c647){return _0x357ea2(_0x54c647);}};try{const _0x1d31f9=_0x23caaf['QEtGh'](join,getRangerDir(),'feedback-images');await mkdir(_0x1d31f9,{'recursive':!![]});const _0x25bbee=join(_0x1d31f9,_0x3a05c0(0x19d)+_0x56919e+'.png'),_0x487854=await _0x23caaf['hHxiy'](fetch,_0x42dfb0);if(!_0x487854['ok'])return null;const _0x441f33=Buffer['from'](await _0x487854[_0x3a05c0(0x1d9)]());return await _0x23caaf['QEtGh'](writeFile,_0x25bbee,_0x441f33),_0x25bbee;}catch{return null;}}export async function featureGetReview(_0x2607a8){const _0x3f6d66=_0x458e,_0x2d761e={'oYJdn':function(_0x3ddca3){return _0x3ddca3();},'AIIYZ':function(_0x7b0d74,_0x2805fe){return _0x7b0d74===_0x2805fe;},'TJlPC':function(_0x20a39e,_0x496676){return _0x20a39e<_0x496676;},'TWwfh':function(_0x38ff6e,_0x3188d4){return _0x38ff6e>_0x3188d4;},'rgBhi':function(_0x4faff9,_0x51422b){return _0x4faff9+_0x51422b;},'ePqiK':'en-US','nocDU':_0x3f6d66(0x1c8),'kGKGY':_0x3f6d66(0x214),'HQwHv':function(_0x70900d,_0x4da2ff){return _0x70900d>=_0x4da2ff;}},_0x27dbd8=_0x2607a8||await _0x2d761e[_0x3f6d66(0x193)](getActiveFeatureId);if(!_0x27dbd8)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 _0x1dba96=await getFeature(_0x27dbd8),{items:_0x130f26}=await getActionItems(_0x27dbd8);console[_0x3f6d66(0x1fc)]('\x0a📋\x20Feedback\x20for:\x20'+_0x1dba96[_0x3f6d66(0x224)]+'\x20('+_0x1dba96['id']+')\x0a');if(_0x2d761e[_0x3f6d66(0x1ca)](_0x130f26['length'],0x0)){console['log'](_0x3f6d66(0x1ce));return;}for(let _0xebbfa6=0x0;_0x2d761e['TJlPC'](_0xebbfa6,_0x130f26[_0x3f6d66(0x19a)]);_0xebbfa6++){const _0x40db34=_0x130f26[_0xebbfa6],_0x569aad=_0x2d761e['TWwfh'](_0x40db34[_0x3f6d66(0x201)],0x1)?_0x3f6d66(0x19b)+_0x40db34['version']+')':'',_0x24c807=await getItemFeedback(_0x27dbd8,_0x40db34['id']);if(_0x2d761e['TWwfh'](_0x24c807[_0x3f6d66(0x169)][_0x3f6d66(0x19a)],0x0)){console[_0x3f6d66(0x1fc)](_0x3f6d66(0x183)+_0x2d761e['rgBhi'](_0xebbfa6,0x1)+':\x20\x22'+_0x40db34[_0x3f6d66(0x1e5)]+'\x22'+_0x569aad+'\x20—\x20'+_0x24c807['unaddressedComments']['length']+_0x3f6d66(0x202));for(const _0x3656 of _0x24c807[_0x3f6d66(0x169)]){const _0x46fe05=new Date(_0x3656['createdAt'])[_0x3f6d66(0x178)](_0x2d761e[_0x3f6d66(0x16e)],{'month':_0x2d761e['nocDU'],'day':'numeric'}),_0x1bd47f=_0x3656[_0x3f6d66(0x187)]||_0x3656['authorEmail']||_0x2d761e['kGKGY'];console['log']('\x20\x20💬\x20'+_0x1bd47f+'\x20('+_0x46fe05+'):\x20\x22'+_0x3656[_0x3f6d66(0x195)]+'\x22');if(_0x3656['assetUrl']){const _0x551b79=await downloadFeedbackImage(_0x3656[_0x3f6d66(0x20d)],_0x3656['id']);_0x551b79&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x551b79);}if(_0x3656[_0x3f6d66(0x1e7)]){const _0x49ce2b=_0x3656[_0x3f6d66(0x1e7)]['selector'][_0x3f6d66(0x18f)]('\x20>\x20')[_0x3f6d66(0x1d5)]()?.[_0x3f6d66(0x18f)](':')[0x0]||_0x3f6d66(0x20e),_0x9bdfd1=_0x3656[_0x3f6d66(0x1e7)][_0x3f6d66(0x208)]?'\x20\x22'+_0x3656[_0x3f6d66(0x1e7)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x3f6d66(0x1fc)](_0x3f6d66(0x1fb)+_0x49ce2b+'>'+_0x9bdfd1),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x3656['domRef'][_0x3f6d66(0x198)]);}else{if(_0x3656['spatial']){const _0x2cea82=_0x3656[_0x3f6d66(0x167)][_0x3f6d66(0x1d6)];_0x3656['spatial']['type']==='point'&&_0x2d761e['HQwHv'](_0x2cea82[_0x3f6d66(0x19a)],0x2)?console[_0x3f6d66(0x1fc)](_0x3f6d66(0x1fe)+_0x2cea82[0x0][_0x3f6d66(0x177)](0x2)+',\x20'+_0x2cea82[0x1][_0x3f6d66(0x177)](0x2)+')'):console['log'](_0x3f6d66(0x16b)+_0x3656['spatial'][_0x3f6d66(0x165)]+'\x20at\x20['+_0x2cea82[_0x3f6d66(0x212)](_0x1655dc=>_0x1655dc[_0x3f6d66(0x177)](0x2))['join'](',\x20')+']');}}}if(_0x24c807[_0x3f6d66(0x17b)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x5a89d5 of _0x24c807['canonicalFlow']['split']('\x0a')){console[_0x3f6d66(0x1fc)](_0x3f6d66(0x19e)+_0x5a89d5);}}}else console[_0x3f6d66(0x1fc)](_0x3f6d66(0x183)+(_0xebbfa6+0x1)+':\x20\x22'+_0x40db34[_0x3f6d66(0x1e5)]+'\x22'+_0x569aad+_0x3f6d66(0x21c)),console[_0x3f6d66(0x1fc)](_0x3f6d66(0x217));console[_0x3f6d66(0x1fc)]('');}}export async function featureDelete(_0xd90db8){const _0x55d20f=_0x458e,_0x47e6d9={'JUnJI':function(_0x2b586f){return _0x2b586f();},'DoXlK':function(_0x328305,_0x5a41c6){return _0x328305(_0x5a41c6);}},_0x2434f2=_0xd90db8||await _0x47e6d9['JUnJI'](getActiveFeatureId);if(!_0x2434f2)throw new Error(_0x55d20f(0x1dd));const _0xfed446=await _0x47e6d9['DoXlK'](getFeature,_0x2434f2);await softDeleteFeature(_0x2434f2),console[_0x55d20f(0x1fc)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0xfed446[_0x55d20f(0x224)]+'\x20('+_0x2434f2+')'),console[_0x55d20f(0x1fc)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x2434f2);}export async function featureRestore(_0xb37080){const _0x52e24e=_0x458e,_0x3ab275={'qebxa':function(_0x77dd8d,_0x32e700){return _0x77dd8d(_0x32e700);},'KwXHB':function(_0x26bf8e,_0x2c17a2,_0x4c26b1){return _0x26bf8e(_0x2c17a2,_0x4c26b1);}};await restoreFeature(_0xb37080);const _0x598930=await _0x3ab275['qebxa'](getFeature,_0xb37080);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x598930['name']+'\x20('+_0xb37080+')'),_0x3ab275[_0x52e24e(0x20b)](displayFeature,_0x598930,_0x598930['checklistItems']);}
|
|
1
|
+
(function(_0x1e0df1,_0x5a6546){const _0x4ca8f9=_0x52f9,_0x3fa470=_0x1e0df1();while(!![]){try{const _0x3afc93=parseInt(_0x4ca8f9(0x241))/0x1*(parseInt(_0x4ca8f9(0x26b))/0x2)+-parseInt(_0x4ca8f9(0x236))/0x3*(-parseInt(_0x4ca8f9(0x217))/0x4)+parseInt(_0x4ca8f9(0x269))/0x5*(-parseInt(_0x4ca8f9(0x1a5))/0x6)+parseInt(_0x4ca8f9(0x23d))/0x7+-parseInt(_0x4ca8f9(0x203))/0x8*(-parseInt(_0x4ca8f9(0x1bf))/0x9)+-parseInt(_0x4ca8f9(0x233))/0xa*(-parseInt(_0x4ca8f9(0x1b7))/0xb)+parseInt(_0x4ca8f9(0x229))/0xc*(-parseInt(_0x4ca8f9(0x1ba))/0xd);if(_0x3afc93===_0x5a6546)break;else _0x3fa470['push'](_0x3fa470['shift']());}catch(_0x475962){_0x3fa470['push'](_0x3fa470['shift']());}}}(_0xb98a,0xe270c));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x39c117 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=_0x31aa25=>'\x1b[1m'+_0x31aa25+'\x1b[0m';function getGitRepoUrl(){const _0x38fc05=_0x52f9,_0x3a0033={'bDMyW':function(_0x183e91,_0x2a5e8b,_0x23f370){return _0x183e91(_0x2a5e8b,_0x23f370);},'CXqQr':_0x38fc05(0x222),'hKSlf':_0x38fc05(0x1e4)};try{const _0x4bed88=_0x3a0033[_0x38fc05(0x1eb)](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':'utf-8','stdio':[_0x3a0033['CXqQr'],_0x3a0033[_0x38fc05(0x1d3)],_0x3a0033['CXqQr']]})['trim']();return _0x4bed88['replace'](/\.git$/,'')[_0x38fc05(0x21b)](/^git@github\.com:/,_0x3a0033['hKSlf'])[_0x38fc05(0x21b)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x589fe5=_0x52f9,_0x2f4b99={'cTkid':function(_0x56407d,_0x5a16ac,_0x1c1b75){return _0x56407d(_0x5a16ac,_0x1c1b75);},'trfQn':_0x589fe5(0x242),'YUrNY':'utf-8','lUnjq':_0x589fe5(0x222)};try{return _0x2f4b99['cTkid'](execSync,_0x2f4b99['trfQn'],{'encoding':_0x2f4b99[_0x589fe5(0x24e)],'stdio':['pipe',_0x2f4b99[_0x589fe5(0x238)],'pipe']})[_0x589fe5(0x239)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0xd7ad0d=_0x52f9,_0x163a5c={'APnvL':function(_0x4fd5a3,_0x4b0310){return _0x4fd5a3(_0x4b0310);},'yyGza':'utf-8'},_0x1136f6=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x163a5c[_0xd7ad0d(0x223)](existsSync,_0x1136f6))return null;try{const _0x7f9eec=await readFile(_0x1136f6,_0x163a5c['yyGza']);return _0x7f9eec[_0xd7ad0d(0x239)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x314aa5){const _0x937d4b=_0x52f9,_0x4eeb0c={'nkZOA':function(_0x2a7974,_0x5722c9,_0xa98786){return _0x2a7974(_0x5722c9,_0xa98786);},'DjKkM':function(_0x3e5c27,_0x5613bf){return _0x3e5c27(_0x5613bf);},'NpWsv':'utf-8'},_0x5b9994=getRangerDir(),_0x54fe5d=_0x4eeb0c['nkZOA'](join,_0x5b9994,ACTIVE_FEATURE_FILE);!_0x4eeb0c[_0x937d4b(0x1da)](existsSync,_0x5b9994)&&await mkdir(_0x5b9994,{'recursive':!![]}),await writeFile(_0x54fe5d,_0x314aa5,_0x4eeb0c['NpWsv']);}function getProgressDisplay(_0x312c5f){const _0x4699e4=_0x52f9,_0x17ff78={'BBBrX':function(_0x130bc8,_0x170c20){return _0x130bc8===_0x170c20;},'EpTnX':function(_0x363e9e,_0xfb7e56){return _0x363e9e*_0xfb7e56;},'HdVRx':function(_0x57d950,_0x5873f2){return _0x57d950>_0x5873f2;},'wcigc':function(_0x54c15c,_0x4beacc){return _0x54c15c>_0x4beacc;}},_0x4e5086=_0x312c5f['verifiedItems']||0x0,_0x568caa=_0x312c5f['verificationInProgressItems']||0x0,_0x41236c=_0x312c5f['blockedItems']||0x0,_0x334000=_0x312c5f[_0x4699e4(0x270)]||0x0,_0x352d8a=_0x312c5f['pendingItems']||0x0,_0x448325=_0x4e5086+_0x568caa+_0x41236c+_0x334000+_0x352d8a;if(_0x17ff78[_0x4699e4(0x211)](_0x448325,0x0))return'-';const _0xc2b9d6=0xa,_0x49b226=Math[_0x4699e4(0x22b)](_0x17ff78['EpTnX'](_0x4e5086/_0x448325,_0xc2b9d6)),_0x1d3117='█'[_0x4699e4(0x200)](_0x49b226)+'░'[_0x4699e4(0x200)](_0xc2b9d6-_0x49b226),_0x54870f=[];if(_0x41236c>0x0)_0x54870f['push'](_0x41236c+_0x4699e4(0x19e));if(_0x334000>0x0)_0x54870f['push'](_0x334000+_0x4699e4(0x1e7));if(_0x17ff78[_0x4699e4(0x1b6)](_0x568caa,0x0))_0x54870f['push'](_0x568caa+_0x4699e4(0x1b3));const _0x2d0255=_0x17ff78['wcigc'](_0x54870f[_0x4699e4(0x1a0)],0x0)?'\x20('+_0x54870f[_0x4699e4(0x1c2)](',\x20')+')':'';return _0x1d3117+'\x20'+_0x4e5086+'/'+_0x448325+'\x20verified'+_0x2d0255;}function getCurrentSessionItems(_0x5c8e93,_0x362590){const _0x1944a4=_0x52f9;if(!_0x5c8e93[_0x1944a4(0x221)])return _0x362590[_0x1944a4(0x27d)](_0x26e865=>!_0x26e865[_0x1944a4(0x20f)]);return _0x362590[_0x1944a4(0x27d)](_0x16da7f=>_0x16da7f['sessionId']===_0x5c8e93['currentSessionId']||!_0x16da7f['sessionId']);}function displayFeature(_0x17ba29,_0x2afa8e){const _0x261d77=_0x52f9,_0x2a2288={'CjMdH':function(_0x60f0d,_0x2811da){return _0x60f0d(_0x2811da);},'aURie':'\x0a\x20\x20\x20Scenarios:','AKxnl':function(_0x323280,_0x47a967){return _0x323280<_0x47a967;},'oYWNg':function(_0x426a3b,_0x1dab4a){return _0x426a3b===_0x1dab4a;},'KgMRz':function(_0x3288c4,_0x30a120){return _0x3288c4===_0x30a120;},'PFiNY':'approved','BwMuj':function(_0x385746,_0x566a4b){return _0x385746===_0x566a4b;},'avWRa':_0x261d77(0x212),'iDynY':function(_0x5dcb63,_0x16c4cb){return _0x5dcb63===_0x16c4cb;},'arMgs':_0x261d77(0x1bc),'xQWLe':function(_0x822430,_0x272c13){return _0x822430>_0x272c13;},'LDLtP':function(_0x2eff4e,_0x1b2bf1){return _0x2eff4e!==_0x1b2bf1;},'bBQUj':function(_0x5dbadd,_0xb94c95){return _0x5dbadd===_0xb94c95;},'HMHlB':'closed'};console[_0x261d77(0x225)]('\x0a'+_0x17ba29[_0x261d77(0x25f)]+'\x20('+_0x17ba29[_0x261d77(0x257)]+')');_0x17ba29['stats']&&console['log'](_0x261d77(0x277)+_0x2a2288[_0x261d77(0x1c4)](getProgressDisplay,_0x17ba29['stats']));_0x17ba29[_0x261d77(0x1ff)]&&console[_0x261d77(0x225)](_0x261d77(0x27f)+_0x17ba29['description']);_0x17ba29['gitRepoUrl']&&console[_0x261d77(0x225)]('\x20\x20\x20Repository:\x20'+_0x17ba29['gitRepoUrl']);_0x17ba29['gitBranch']&&console[_0x261d77(0x225)](_0x261d77(0x1bb)+_0x17ba29[_0x261d77(0x23f)]);console['log'](_0x261d77(0x22c)+new Date(_0x17ba29[_0x261d77(0x1be)])['toLocaleString']());_0x17ba29[_0x261d77(0x27e)]&&console[_0x261d77(0x225)]('\x20\x20\x20Completed:\x20'+new Date(_0x17ba29['completedAt'])[_0x261d77(0x26d)]());if(_0x2afa8e&&_0x2afa8e[_0x261d77(0x1a0)]>0x0){console[_0x261d77(0x225)](_0x2a2288['aURie']);for(let _0x168905=0x0;_0x2a2288['AKxnl'](_0x168905,_0x2afa8e['length']);_0x168905++){const _0x53b445=_0x2afa8e[_0x168905];let _0x5d195a;if(_0x2a2288[_0x261d77(0x1b9)](_0x53b445['status'],'closed')&&_0x2a2288['KgMRz'](_0x53b445[_0x261d77(0x1fc)],_0x2a2288['PFiNY']))_0x5d195a='✅';else{if(_0x2a2288[_0x261d77(0x1b8)](_0x53b445[_0x261d77(0x263)],_0x2a2288['avWRa']))_0x5d195a='🟢';else{if(_0x2a2288['iDynY'](_0x53b445['status'],_0x2a2288['arMgs']))_0x5d195a='🟠';else{if(_0x53b445[_0x261d77(0x263)]==='blocked')_0x5d195a='🛑';else{if(_0x53b445[_0x261d77(0x263)]===_0x261d77(0x1f2))_0x5d195a='⛔';else _0x53b445['status']==='verification_in_progress'?_0x5d195a='⏳':_0x5d195a='⬜';}}}}const _0x6ae45=_0x2a2288[_0x261d77(0x264)](_0x53b445[_0x261d77(0x281)],0x1)?_0x261d77(0x283)+_0x53b445[_0x261d77(0x281)]+')':'',_0x244890=_0x2a2288['xQWLe'](_0x53b445[_0x261d77(0x281)],0x1)&&_0x53b445[_0x261d77(0x218)]&&_0x2a2288['LDLtP'](_0x53b445[_0x261d77(0x263)],'closed')&&_0x53b445[_0x261d77(0x263)]!==_0x261d77(0x212)?'\x20[has\x20reviewer\x20feedback]':'';console[_0x261d77(0x225)]('\x20\x20\x20'+(_0x168905+0x1)+'.\x20'+_0x5d195a+'\x20'+_0x53b445['description']+_0x6ae45+_0x244890);_0x2a2288['bBQUj'](_0x53b445['status'],'blocked')&&_0x53b445[_0x261d77(0x1d2)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x53b445[_0x261d77(0x1d2)]);_0x2a2288['iDynY'](_0x53b445[_0x261d77(0x263)],_0x2a2288[_0x261d77(0x1d0)])&&_0x53b445[_0x261d77(0x265)]&&console[_0x261d77(0x225)](_0x261d77(0x273)+_0x53b445[_0x261d77(0x265)]);if(_0x53b445[_0x261d77(0x263)]===_0x2a2288[_0x261d77(0x1fe)]&&_0x2a2288[_0x261d77(0x1b8)](_0x53b445[_0x261d77(0x1fc)],_0x261d77(0x1cb)))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x53b445[_0x261d77(0x263)]===_0x2a2288[_0x261d77(0x1fe)]&&_0x53b445['canceledReason']&&console['log'](_0x261d77(0x280)+_0x53b445[_0x261d77(0x1ef)]);}}}function _0x52f9(_0x16c410,_0x59d648){_0x16c410=_0x16c410-0x19c;const _0xb98a1e=_0xb98a();let _0x52f92e=_0xb98a1e[_0x16c410];return _0x52f92e;}export async function featureCreate(_0x2f9307,_0x285b5b){const _0x4fcb20=_0x52f9,_0x4c2d1b={'lTWQC':function(_0x2e1337,_0x217ad2){return _0x2e1337===_0x217ad2;},'MlwEe':function(_0x5c05d0,_0x2310d8){return _0x5c05d0(_0x2310d8);},'ZNBMh':function(_0x4010dc){return _0x4010dc();},'BpSDZ':function(_0x397690){return _0x397690();},'aoAYS':function(_0x14fb20,_0x4721b3){return _0x14fb20(_0x4721b3);},'BxQkR':function(_0x3f15ed,_0x1bc132,_0x513cc3){return _0x3f15ed(_0x1bc132,_0x513cc3);},'sXtxf':function(_0x3884cd,_0x2ac1cb,_0x58b2e3){return _0x3884cd(_0x2ac1cb,_0x58b2e3);}},{envNames:_0xe8d0a0}=await getEnvNames();if(_0x4c2d1b['lTWQC'](_0xe8d0a0[_0x4fcb20(0x1a0)],0x0)&&!process[_0x4fcb20(0x1ac)][_0x4fcb20(0x234)]){let _0xa5166b=0x0;try{_0xa5166b=(await listCloudProfiles())['length'];}catch{_0xa5166b=0x1;}_0xa5166b===0x0&&console['warn']('\x0a'+_0x4c2d1b[_0x4fcb20(0x1ed)](formatProfileRequiredMessage,_0x2fefe7=>bold(_0x2fefe7)));}const _0x153da1=_0x285b5b[_0x4fcb20(0x22e)]?_0x285b5b[_0x4fcb20(0x22e)][_0x4fcb20(0x1d4)](_0x189fb3=>_0x189fb3['trim']()):[],_0x4159c6=_0x4c2d1b['ZNBMh'](getGitRepoUrl),_0x56b0bf=_0x4c2d1b[_0x4fcb20(0x23c)](getGitBranch);console[_0x4fcb20(0x225)](_0x4fcb20(0x1bd));const _0x23d463=await _0x4c2d1b[_0x4fcb20(0x1ed)](createFeature,{'name':_0x2f9307,'description':_0x285b5b[_0x4fcb20(0x1ff)],'checklist':_0x153da1,'gitRepoUrl':_0x4159c6,'gitBranch':_0x56b0bf});await setActiveFeatureId(_0x23d463['id']),await _0x4c2d1b[_0x4fcb20(0x216)](tryStartCurrentSession,_0x23d463['id']);const _0x55c900=process['env'][_0x4fcb20(0x243)];_0x55c900&&_0x4c2d1b['BxQkR'](registerSession,_0x55c900,_0x23d463['id']),console[_0x4fcb20(0x225)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x23d463['id']),_0x4c2d1b[_0x4fcb20(0x1ee)](displayFeature,_0x23d463,_0x23d463['checklistItems']),console['log'](_0x4fcb20(0x26e));}export async function featureList(_0x511ae6){const _0x267a8f=_0x52f9,_0x11de4c={'cosEw':function(_0xf00556){return _0xf00556();},'EocLc':function(_0x56f560,_0x213cca){return _0x56f560===_0x213cca;},'GsmBB':'\x0aNo\x20feature\x20reviews\x20found.','oeVkA':function(_0x26a050,_0x2c1135){return _0x26a050>_0x2c1135;},'FKsjU':function(_0x15828c,_0x3ed19c){return _0x15828c!==_0x3ed19c;}},_0x48798e={'limit':_0x511ae6[_0x267a8f(0x259)]??0xa,'offset':_0x511ae6['offset']??0x0,'includeDeleted':_0x511ae6['includeDeleted']};_0x511ae6[_0x267a8f(0x1db)]&&(_0x48798e['gitRepoUrl']=getGitRepoUrl(),_0x48798e['gitBranch']=_0x11de4c[_0x267a8f(0x1e1)](getGitBranch));const _0x1f4b16=await listFeatures(_0x48798e);if(_0x11de4c[_0x267a8f(0x25e)](_0x1f4b16['items'][_0x267a8f(0x1a0)],0x0)){console[_0x267a8f(0x225)](_0x11de4c['GsmBB']);return;}const _0x50b6f4=_0x11de4c['oeVkA'](_0x1f4b16['totalCount'],_0x1f4b16[_0x267a8f(0x213)]['length'])?'Showing\x20'+_0x1f4b16[_0x267a8f(0x213)]['length']+'\x20of\x20'+_0x1f4b16[_0x267a8f(0x22d)]:_0x1f4b16[_0x267a8f(0x22d)]+_0x267a8f(0x1dd);console[_0x267a8f(0x225)]('\x0a'+_0x50b6f4+':\x0a');for(const _0xcdb71f of _0x1f4b16['items']){console[_0x267a8f(0x225)](''+_0xcdb71f['name']),console['log']('\x20\x20\x20ID:\x20'+_0xcdb71f['id']),_0xcdb71f[_0x267a8f(0x231)]&&console['log'](_0x267a8f(0x277)+getProgressDisplay(_0xcdb71f[_0x267a8f(0x231)])),_0xcdb71f['gitBranch']&&console[_0x267a8f(0x225)](_0x267a8f(0x1bb)+_0xcdb71f['gitBranch']),console[_0x267a8f(0x225)](_0x267a8f(0x22c)+new Date(_0xcdb71f['createdAt'])[_0x267a8f(0x1d7)]()),console['log']('');}const _0x9d29da=_0x48798e[_0x267a8f(0x259)]??0xa,_0x24095f=(_0x48798e[_0x267a8f(0x1ae)]??0x0)+_0x1f4b16[_0x267a8f(0x213)][_0x267a8f(0x1a0)];if(_0x24095f<_0x1f4b16['totalCount']){const _0x4ce8e0=_0x11de4c[_0x267a8f(0x1f6)](_0x9d29da,0xa)?_0x267a8f(0x1a2)+_0x9d29da:'',_0x2da212=_0x511ae6[_0x267a8f(0x1db)]?'\x20--current-branch':'',_0x5e5090=_0x511ae6[_0x267a8f(0x20d)]?'\x20--include-deleted':'';console[_0x267a8f(0x225)](_0x267a8f(0x248)+_0x24095f+_0x4ce8e0+_0x2da212+_0x5e5090);}}export async function featureShow(_0x77156b){const _0x2a7a3d=_0x52f9,_0x3143eb={'mOdYj':function(_0x3037e6){return _0x3037e6();},'MdkVP':_0x2a7a3d(0x1a6),'sdywS':function(_0x3fa59f,_0x5b97c2,_0x1631ef){return _0x3fa59f(_0x5b97c2,_0x1631ef);}},_0x265fe0=_0x77156b||await _0x3143eb[_0x2a7a3d(0x256)](getActiveFeatureId);if(!_0x265fe0)throw new Error(_0x3143eb['MdkVP']);const _0x21a502=await getFeature(_0x265fe0);_0x3143eb['sdywS'](displayFeature,_0x21a502,_0x21a502['checklistItems']);}export async function featureResume(_0x4cb650){const _0x462226=_0x52f9,_0x1881ae={'gEzmQ':function(_0x3ed040,_0x5bfaa6){return _0x3ed040(_0x5bfaa6);},'EhVQQ':function(_0x381297){return _0x381297();},'ZNYQK':function(_0x560e39,_0x1115d8){return _0x560e39(_0x1115d8);},'BuuSg':function(_0xac739e,_0x10051d){return _0xac739e&&_0x10051d;},'rBFMa':_0x462226(0x205),'cFjfK':function(_0x43dfbc,_0x5f0a01){return _0x43dfbc===_0x5f0a01;},'lyUQU':_0x462226(0x1e2),'vNHZZ':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','RJXFq':function(_0x4df413,_0x14cc59){return _0x4df413(_0x14cc59);},'XaDds':function(_0x365fc7,_0xe60f24){return _0x365fc7(_0xe60f24);},'gLQSY':function(_0x18d3e3,_0x57a68e,_0x34d64e){return _0x18d3e3(_0x57a68e,_0x34d64e);},'QJUZP':function(_0x2fe3af,_0x57730c){return _0x2fe3af(_0x57730c);}};if(_0x4cb650){const _0x4b3895=await getFeature(_0x4cb650);await _0x1881ae['gEzmQ'](setActiveFeatureId,_0x4b3895['id']);const _0x3479c7=_0x1881ae['EhVQQ'](getGitBranch);_0x3479c7&&_0x3479c7!==_0x4b3895[_0x462226(0x23f)]&&(await updateFeature(_0x4b3895['id'],{'gitBranch':_0x3479c7}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3479c7));console['log'](_0x462226(0x21a)+_0x4b3895[_0x462226(0x25f)]+'\x20('+_0x4b3895['id']+')'),await _0x1881ae[_0x462226(0x25c)](tryStartCurrentSession,_0x4b3895['id']);const _0x2dc741=process['env'][_0x462226(0x243)];_0x2dc741&®isterSession(_0x2dc741,_0x4b3895['id']);displayFeature(_0x4b3895,_0x4b3895[_0x462226(0x224)]),await _0x1881ae['ZNYQK'](printFeedbackNudge,_0x4b3895['id']);return;}const _0x16d392=getGitRepoUrl(),_0x515d89=getGitBranch();if(_0x1881ae['BuuSg'](!_0x16d392,!_0x515d89))throw new Error(_0x1881ae['rBFMa']);console[_0x462226(0x225)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x16d392||_0x462226(0x267))+_0x462226(0x1d6)+(_0x515d89||_0x462226(0x267))+'...');const _0x526080=await listFeatures({'gitRepoUrl':_0x16d392,'gitBranch':_0x515d89}),_0x19871d=_0x526080['items'][_0x462226(0x27d)](_0x423a62=>_0x423a62['status']?_0x423a62[_0x462226(0x263)]!=='verified':!_0x423a62['completedAt']);if(_0x19871d['length']===0x0){console[_0x462226(0x225)](_0x462226(0x1b5)),console[_0x462226(0x225)](_0x462226(0x1ad));return;}let _0x1c4c95;if(_0x1881ae[_0x462226(0x208)](_0x19871d[_0x462226(0x1a0)],0x1))_0x1c4c95=_0x19871d[0x0];else{const _0xb6b085=process[_0x462226(0x20c)][_0x462226(0x1b2)]&&process['stdout'][_0x462226(0x1b2)];if(!_0xb6b085){console['log'](_0x1881ae[_0x462226(0x1ce)]);for(const _0xce5857 of _0x19871d){console[_0x462226(0x225)]('\x20\x20'+_0xce5857[_0x462226(0x25f)]),console[_0x462226(0x225)]('\x20\x20\x20\x20\x20ID:\x20'+_0xce5857['id']),_0xce5857['stats']&&console['log'](_0x462226(0x24a)+getProgressDisplay(_0xce5857[_0x462226(0x231)])),_0xce5857[_0x462226(0x23f)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0xce5857[_0x462226(0x23f)]);}throw new Error(_0x462226(0x1cc));}const {selected:_0x5b18a6}=await _0x39c117[_0x462226(0x232)]([{'type':'list','name':'selected','message':_0x1881ae[_0x462226(0x1e8)],'choices':_0x19871d['map'](_0x1ea22a=>({'name':_0x1ea22a[_0x462226(0x25f)]+'\x20('+_0x1ea22a['id']+')','value':_0x1ea22a['id']}))}]);_0x1c4c95=_0x19871d['find'](_0x2b019d=>_0x2b019d['id']===_0x5b18a6);}await _0x1881ae[_0x462226(0x278)](setActiveFeatureId,_0x1c4c95['id']);_0x515d89&&_0x515d89!==_0x1c4c95['gitBranch']&&(await updateFeature(_0x1c4c95['id'],{'gitBranch':_0x515d89}),console[_0x462226(0x225)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x515d89));console['log'](_0x462226(0x21a)+_0x1c4c95['name']+'\x20('+_0x1c4c95['id']+')'),await _0x1881ae[_0x462226(0x246)](tryStartCurrentSession,_0x1c4c95['id']);const _0x1028e5=await getFeature(_0x1c4c95['id']),_0x261c1a=process['env']['CLAUDE_SESSION_ID'];_0x261c1a&&_0x1881ae[_0x462226(0x20b)](registerSession,_0x261c1a,_0x1028e5['id']),displayFeature(_0x1028e5,_0x1028e5['checklistItems']),await _0x1881ae[_0x462226(0x1f5)](printFeedbackNudge,_0x1028e5['id']);}async function printFeedbackNudge(_0xacfd0a){const _0x28fc71=_0x52f9,_0x1b2364={'ytyYo':function(_0x3b3889,_0x4158bc){return _0x3b3889(_0x4158bc);},'ZzNQk':function(_0x5112b3,_0x4dab98,_0x1a95b3){return _0x5112b3(_0x4dab98,_0x1a95b3);},'zxcEm':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x43989e}=await _0x1b2364[_0x28fc71(0x253)](getActionItems,_0xacfd0a);let _0x26b693=0x0,_0x253ff3=0x0;for(const _0x30e007 of _0x43989e){const _0x5a87bc=await _0x1b2364[_0x28fc71(0x20a)](getItemFeedback,_0xacfd0a,_0x30e007['id']);_0x5a87bc['unaddressedComments'][_0x28fc71(0x1a0)]>0x0&&(_0x26b693+=_0x5a87bc['unaddressedComments']['length'],_0x253ff3++);}_0x26b693>0x0&&(console['log'](_0x28fc71(0x1e5)+_0x26b693+_0x28fc71(0x25d)+_0x253ff3+'\x20scenario(s).'),console[_0x28fc71(0x225)](_0x1b2364['zxcEm']));}catch{}}async function tryStartCurrentSession(_0x305ed9){const _0xe03b1d=_0x52f9,_0x8edf4={'qHCeH':function(_0xcb60ab,_0x26f076){return _0xcb60ab(_0x26f076);}};try{const {sessions:_0x2ec11f}=await _0x8edf4['qHCeH'](listFeatureSessions,_0x305ed9),_0x17b831=_0x2ec11f['find'](_0xd815ba=>_0xd815ba['status']===_0xe03b1d(0x1a3));_0x17b831&&(await startSession(_0x305ed9,_0x17b831['id']),console['log'](_0xe03b1d(0x250)+_0x17b831['iteration']));}catch{}}export async function featureReport(_0x3ee45b,_0x1a4fa4){const _0x39a94d=_0x52f9,_0x543885={'kKXZb':function(_0x3e9fd9,_0x3343da,_0x5c7c0b){return _0x3e9fd9(_0x3343da,_0x5c7c0b);},'IbgME':function(_0xe34637,_0x394dbe){return _0xe34637(_0x394dbe);},'VTMyl':'utf-8'},_0x128c49=_0x3ee45b||await getActiveFeatureId();if(!_0x128c49)throw new Error(_0x39a94d(0x284));console[_0x39a94d(0x225)]('\x0aGenerating\x20report...');const _0x5d2e57=await _0x543885[_0x39a94d(0x1f4)](getFeatureReportMarkdown,_0x128c49,{'style':_0x1a4fa4[_0x39a94d(0x266)]}),_0x400c7a=_0x1a4fa4['output']||join(getRangerDir(),'reports',_0x128c49+_0x39a94d(0x207)),_0x2e7d11=join(_0x400c7a,'..');!_0x543885[_0x39a94d(0x24c)](existsSync,_0x2e7d11)&&await mkdir(_0x2e7d11,{'recursive':!![]}),await writeFile(_0x400c7a,_0x5d2e57,_0x543885[_0x39a94d(0x271)]),console[_0x39a94d(0x225)]('\x0a✅\x20Report\x20generated:\x20'+_0x400c7a);}function getScenarioResult(_0x483230){const _0x23cf6a=_0x52f9,_0x4137a7={'eVoCL':function(_0x409e,_0x1e5cdc){return _0x409e===_0x1e5cdc;},'pzZbY':'closed','CgHFT':'verification_in_progress','wkqWu':'in_progress'};if(_0x4137a7['eVoCL'](_0x483230[_0x23cf6a(0x263)],_0x4137a7[_0x23cf6a(0x226)]))return _0x483230[_0x23cf6a(0x1fc)]??_0x4137a7['pzZbY'];if(_0x4137a7[_0x23cf6a(0x251)](_0x483230[_0x23cf6a(0x263)],_0x4137a7[_0x23cf6a(0x26a)]))return _0x4137a7['wkqWu'];return _0x483230['status'];}function getScenarioRationale(_0x57f1dd,_0x5667c7){const _0x329930=_0x52f9,_0x4d269f={'HfApe':_0x329930(0x214)},_0x594a77=_0x4d269f[_0x329930(0x210)][_0x329930(0x1e3)]('|');let _0x315214=0x0;while(!![]){switch(_0x594a77[_0x315214++]){case'0':if(_0x57f1dd['blockedReason'])return _0x57f1dd['blockedReason'];continue;case'1':if(_0x57f1dd['notes'])return _0x57f1dd['notes'];continue;case'2':if(_0x57f1dd[_0x329930(0x265)])return _0x57f1dd[_0x329930(0x265)];continue;case'3':if(_0x5667c7)return _0x5667c7;continue;case'4':return null;case'5':if(_0x57f1dd['canceledReason'])return _0x57f1dd['canceledReason'];continue;}break;}}export async function featureReportPrDescription(_0x153386,_0x2e0754){const _0x2b5395=_0x52f9,_0xf625fe={'ZPkOH':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','VDHXU':function(_0x299ffd,_0x3995d8){return _0x299ffd(_0x3995d8);},'easHH':function(_0x5a4655,_0x19144c){return _0x5a4655===_0x19144c;},'dFsrQ':function(_0x447bf2,_0xaf785d){return _0x447bf2>_0xaf785d;},'kvtPC':function(_0x701281,_0x48b452){return _0x701281<_0x48b452;},'vmOlV':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x31a400=_0x153386||await getActiveFeatureId();if(!_0x31a400)throw new Error(_0xf625fe[_0x2b5395(0x279)]);const _0x2c1bd1=await _0xf625fe[_0x2b5395(0x220)](getFeature,_0x31a400),_0x2f1792=_0x2c1bd1[_0x2b5395(0x224)]||[],_0x5038ea=getCurrentSessionItems(_0x2c1bd1,_0x2f1792);_0xf625fe['easHH'](_0x5038ea['length'],0x0)&&(console['error'](_0x2b5395(0x23e)),process[_0x2b5395(0x1de)](0x1));const _0x3b97a0=_0x2e0754['excludeScenarios']??[],_0x4714d0=_0x3b97a0['filter'](_0xe0d400=>!Number['isInteger'](_0xe0d400)||_0xe0d400<0x1||_0xe0d400>_0x5038ea['length']);if(_0xf625fe[_0x2b5395(0x202)](_0x4714d0['length'],0x0)){console[_0x2b5395(0x27b)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4714d0[_0x2b5395(0x1c2)](',\x20')),console[_0x2b5395(0x225)]('\x0aAvailable\x20scenarios:');for(let _0xcc8868=0x0;_0xf625fe[_0x2b5395(0x1e0)](_0xcc8868,_0x5038ea[_0x2b5395(0x1a0)]);_0xcc8868++){console['log']('\x20\x20'+(_0xcc8868+0x1)+'.\x20'+_0x5038ea[_0xcc8868]['description']);}process['exit'](0x1);}const _0x39a921=new Set(_0x3b97a0['map'](_0x27781a=>_0x27781a-0x1)),_0x5b0e80=_0x5038ea['filter']((_0x26e007,_0x35a6cf)=>!_0x39a921['has'](_0x35a6cf));_0xf625fe[_0x2b5395(0x21c)](_0x5b0e80[_0x2b5395(0x1a0)],0x0)&&(console[_0x2b5395(0x27b)](_0xf625fe[_0x2b5395(0x1f1)]),process['exit'](0x1));if(_0x2e0754['json'])await outputJsonReport(_0x31a400,_0x2c1bd1,_0x5b0e80);else{const _0xa792e9=await getFeatureReportMarkdown(_0x31a400,{'itemIds':_0x5b0e80['map'](_0x4869cc=>_0x4869cc['id'])});process['stdout'][_0x2b5395(0x247)](_0xa792e9[_0x2b5395(0x237)]()+'\x0a');}}async function outputJsonReport(_0x45c9c8,_0x382037,_0x57a4a5){const _0x446ace=_0x52f9,_0x48725d={'ohMZQ':function(_0x49a7b2,_0xb761e4){return _0x49a7b2>_0xb761e4;},'hlWHQ':function(_0x237347,_0x23777f){return _0x237347===_0x23777f;},'frbal':function(_0x3ebb25,_0x390c5e){return _0x3ebb25(_0x390c5e);},'jtUQZ':function(_0x3f4b2e,_0x301201,_0x37c12b){return _0x3f4b2e(_0x301201,_0x37c12b);},'oOltV':function(_0x27cd56,_0x4df851){return _0x27cd56(_0x4df851);}},_0x56a56e=getApiBaseUrl(),_0x34fbb4=await _0x48725d[_0x446ace(0x25a)](getFeatureReport,_0x45c9c8),_0x106583=new Map(_0x34fbb4['checklistItems']['map'](_0xb4a26b=>[_0xb4a26b['id'],_0xb4a26b])),_0x3d8b0b=await Promise['all'](_0x57a4a5['map'](async _0x38e111=>{const _0x589011=_0x446ace,_0x11b53b=_0x106583['get'](_0x38e111['id']),_0x40397d=_0x11b53b?.[_0x589011(0x1fa)]??null;let _0x4e27ca=[];if(_0x38e111['browserSessionId'])try{const {steps:_0x86746b}=await getBrowserSessionSteps(_0x38e111['browserSessionId']);_0x48725d[_0x589011(0x245)](_0x86746b['length'],0x0)&&(_0x4e27ca=_0x86746b['map'](_0x36c2c7=>{const _0x49ad2d=_0x589011,_0x3f5fcc=_0x36c2c7['assets']['find'](_0x71d8f9=>_0x71d8f9[_0x49ad2d(0x252)]===_0x49ad2d(0x262)&&_0x71d8f9[_0x49ad2d(0x285)]==='after')??_0x36c2c7[_0x49ad2d(0x1aa)]['find'](_0x1f5913=>_0x1f5913[_0x49ad2d(0x252)]==='screenshot');let _0x2f13f8=null,_0x555404=null;if(_0x3f5fcc){const _0x23743b=_0x3f5fcc['storage'][_0x49ad2d(0x1fb)]['split']('/')[_0x49ad2d(0x21e)]();_0x2f13f8=_0x56a56e+'/api/v1/mcp/browser-sessions/'+_0x38e111[_0x49ad2d(0x1a8)]+_0x49ad2d(0x240)+_0x23743b,_0x23743b&&(_0x555404=_0x23743b['replace'](/\.\w+$/,'')[_0x49ad2d(0x21b)](/^(key_)?\d+_/,'')[_0x49ad2d(0x21b)](/[-_]/g,'\x20'));}return{'description':_0x555404||_0x36c2c7['description']||_0x36c2c7[_0x49ad2d(0x27c)]||_0x49ad2d(0x1c8)+_0x36c2c7['position'],'screenshot':_0x2f13f8,'is_key_step':_0x36c2c7['isKeyStep']};}));}catch{}return _0x48725d[_0x589011(0x235)](_0x4e27ca['length'],0x0)&&_0x40397d?.[_0x589011(0x244)]&&(_0x4e27ca=_0x40397d['screenshotUrls'][_0x589011(0x1d4)]((_0x55983c,_0x521096)=>({'description':'Screenshot\x20'+(_0x521096+0x1),'screenshot':_0x55983c,'is_key_step':![]}))),{'description':_0x38e111[_0x589011(0x1ff)],'result':_0x48725d[_0x589011(0x268)](getScenarioResult,_0x38e111),'rationale':_0x48725d['jtUQZ'](getScenarioRationale,_0x38e111,_0x40397d?.['agentResponse']),'steps':_0x4e27ca};})),_0x4cc2fa={'url':_0x382037[_0x446ace(0x257)],'scenarios':_0x3d8b0b};process['stdout']['write'](JSON[_0x446ace(0x1c3)](_0x4cc2fa,null,0x2)+'\x0a');}export async function featureConcludeSession(_0xcc1852){const _0x47a8d8=_0x52f9,_0x3382da={'aFATi':function(_0x57dac4,_0x540bbc){return _0x57dac4(_0x540bbc);},'yZcPD':function(_0x31b661,_0xed51dc){return _0x31b661===_0xed51dc;},'UYoRj':function(_0x257d2e,_0x1c7f16){return _0x257d2e!==_0x1c7f16;},'kfplN':_0x47a8d8(0x204),'nAZCe':_0x47a8d8(0x1f8),'taBCx':function(_0x27b193,_0x425a1c,_0x157c03){return _0x27b193(_0x425a1c,_0x157c03);}},_0x28ddeb=_0xcc1852||await getActiveFeatureId();if(!_0x28ddeb)throw new Error(_0x47a8d8(0x1a6));const _0x2907a4=await _0x3382da['aFATi'](getFeature,_0x28ddeb);if(!_0x2907a4[_0x47a8d8(0x221)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x4467e8}=await listFeatureSessions(_0x28ddeb),_0x455e53=_0x4467e8['find'](_0x1c7c8c=>_0x1c7c8c['id']===_0x2907a4[_0x47a8d8(0x221)]);if(!_0x455e53)throw new Error(_0x47a8d8(0x1b0));if(_0x3382da['yZcPD'](_0x455e53[_0x47a8d8(0x263)],_0x47a8d8(0x1c7))){console[_0x47a8d8(0x225)](_0x47a8d8(0x1f0));return;}if(_0x3382da[_0x47a8d8(0x261)](_0x455e53['status'],_0x3382da['kfplN']))throw new Error(_0x47a8d8(0x21f)+_0x455e53['status']);console['log'](_0x3382da['nAZCe']),await _0x3382da['taBCx'](concludeSession,_0x28ddeb,_0x2907a4[_0x47a8d8(0x221)]),console[_0x47a8d8(0x225)](_0x47a8d8(0x219)+_0x455e53['iteration']+_0x47a8d8(0x19c)),console[_0x47a8d8(0x225)](_0x47a8d8(0x1cd));}function _0xb98a(){const _0x5bc4bb=['timing','NgCjy','\x20concluded.','No\x20scenarios\x20found.','\x20blocked','\x20\x20\x20\x20','length','from','\x20--limit\x20','ready','wqNtB','177156szMSCV','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','en-US','browserSessionId','textContent','assets','\x20unaddressed\x20comment(s)','env','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','offset','tVjPH','Current\x20session\x20not\x20found.','\x0a✅\x20Restored\x20feature\x20review:\x20','isTTY','\x20in\x20progress','short','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','HdVRx','11PShunF','BwMuj','oYWNg','403QLzDLa','\x20\x20\x20Branch:\x20','incomplete','\x0aCreating\x20feature\x20review...','createdAt','222489DfnUMJ','point','oUegS','join','stringify','CjMdH','uIIRj','hhSRk','completed','Step\x20','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','itibB','approved','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','lyUQU','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','arMgs','latestReview','blockedReason','CXqQr','map','Scenario\x20','\x20/\x20','toLocaleDateString','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','numeric','DjKkM','currentBranch','toFixed','\x20feature\x20review(s)\x20found','exit','\x20\x20💬\x20','kvtPC','cosEw','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','split','github.com/','\x0a⚠️\x20\x20','spatial','\x20incomplete','vNHZZ','submittedAt','\x20Session\x20','bDMyW','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','MlwEe','sXtxf','canceledReason','\x0a✅\x20Session\x20is\x20already\x20completed.','vmOlV','closed','\x0aAvailable\x20scenarios:','kKXZb','QJUZP','FKsjU','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0aConcluding\x20session...','comment_','linkedSession','location','terminalReason','\x20\x20\x20Completed:\x20','HMHlB','description','repeat','iKgiv','dFsrQ','392TtHkeb','in_progress','Not\x20in\x20a\x20git\x20repository.',':\x20\x22','.md','cFjfK','QQqWd','ZzNQk','gLQSY','stdin','includeDeleted','slice','sessionId','HfApe','BBBrX','verified','items','3|0|2|5|1|4','zFAAE','aoAYS','556dVVuDR','parentItemId','\x0a✅\x20Session\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','replace','easHH','\x20scenarios.','pop','Cannot\x20conclude\x20session\x20with\x20status:\x20','VDHXU','currentSessionId','pipe','APnvL','checklistItems','log','pzZbY','No\x20sessions\x20found.','assetUrl','739404bjNQVw','\x20>\x20','round','\x20\x20\x20Created:\x20','totalCount','scenarios','\x20at\x20[','selector','stats','prompt','8939980EYwhBZ','RANGER_TEST_USERNAME','hlWHQ','16791gMxKDX','trimEnd','lUnjq','trim','zVhez','unaddressedComments','BpSDZ','4668216YOzylQ','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','gitBranch','/artifacts/','1vKnWtT','git\x20rev-parse\x20--abbrev-ref\x20HEAD','CLAUDE_SESSION_ID','screenshotUrls','ohMZQ','XaDds','write','Next\x20page:\x20ranger\x20list\x20--offset\x20','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','\x20\x20\x20\x20\x20Progress:\x20','\x20—\x20','IbgME','olGbx','YUrNY','domRef','\x20\x20\x20▶️\x20Started\x20session\x20','eVoCL','assetType','ytyYo','HdpJi','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','mOdYj','dashboardUrl','CxSzO','limit','oOltV','\x20\x20\x20\x20\x20📋\x20Selector:\x20','gEzmQ','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','EocLc','name','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','UYoRj','screenshot','status','xQWLe','incompleteReason','style','any','frbal','285ZkdPlI','CgHFT','1940822THqcJQ','DjqPD','toLocaleString','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20Status:\x20','incompleteItems','VTMyl','RZRnA','\x20\x20\x20\x20\x20\x20Incomplete:\x20','type','canonicalFlow','JmMzp','\x20\x20\x20Progress:\x20','RJXFq','ZPkOH','QvsQr','error','stepName','filter','completedAt','\x20\x20\x20Description:\x20','\x20\x20\x20\x20\x20\x20Cancelled:\x20','version','XVAfk','\x20(v','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'];_0xb98a=function(){return _0x5bc4bb;};return _0xb98a();}export async function featureSessions(_0x47ab76){const _0xa6144e=_0x52f9,_0x26c3d0={'olGbx':function(_0x1e7a5d){return _0x1e7a5d();},'oLaFA':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ewUli':function(_0x3faec9,_0x4a2fd2){return _0x3faec9(_0x4a2fd2);},'XRiZU':function(_0x5c58fe,_0x4b19ef){return _0x5c58fe(_0x4b19ef);},'zHjrx':function(_0x4b2b1b,_0x50ba18){return _0x4b2b1b===_0x50ba18;}},_0x4e6f82=_0x47ab76||await _0x26c3d0[_0xa6144e(0x24d)](getActiveFeatureId);if(!_0x4e6f82)throw new Error(_0x26c3d0['oLaFA']);const _0x5e2638=await _0x26c3d0['ewUli'](getFeature,_0x4e6f82);console[_0xa6144e(0x225)](_0xa6144e(0x255)+_0x5e2638['name']+'\x0a');const {sessions:_0x76c545}=await _0x26c3d0['XRiZU'](listFeatureSessions,_0x4e6f82);if(_0x26c3d0['zHjrx'](_0x76c545[_0xa6144e(0x1a0)],0x0)){console['log'](_0xa6144e(0x227));return;}for(const _0x277fdf of _0x76c545){const _0x2ba23f=_0x26c3d0['zHjrx'](_0x277fdf['status'],'completed')?'✅':_0x277fdf[_0xa6144e(0x263)]===_0xa6144e(0x204)?'🔄':'▶️';console[_0xa6144e(0x225)](_0x2ba23f+_0xa6144e(0x1ea)+_0x277fdf['iteration']+'\x20('+_0x277fdf['id']+')'),console['log'](_0xa6144e(0x26f)+_0x277fdf[_0xa6144e(0x263)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x277fdf['createdAt'])['toLocaleString']()),_0x277fdf['completedAt']&&console[_0xa6144e(0x225)](_0xa6144e(0x1fd)+new Date(_0x277fdf[_0xa6144e(0x27e)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x4e7d14,_0x599450){const _0x26b970=_0x52f9,_0x17bfe2={'AEMku':_0x26b970(0x1a6),'NgCjy':function(_0x312427,_0x60c930,_0x1ffbe0){return _0x312427(_0x60c930,_0x1ffbe0);},'QQqWd':function(_0x42c1d2,_0x59470d){return _0x42c1d2(_0x59470d);}},_0x316a74=_0x599450||await getActiveFeatureId();if(!_0x316a74)throw new Error(_0x17bfe2['AEMku']);const _0x59f1dd=await getFeature(_0x316a74);if(_0x59f1dd['latestReview']&&!_0x59f1dd['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x59f1dd['dashboardUrl']);await _0x17bfe2[_0x26b970(0x286)](createChecklistItem,_0x316a74,_0x4e7d14);const _0x180925=await _0x17bfe2[_0x26b970(0x209)](getFeature,_0x316a74);console[_0x26b970(0x225)]('\x0a✅\x20Scenario\x20added'),_0x17bfe2['NgCjy'](displayFeature,_0x180925,_0x180925[_0x26b970(0x224)]);}export async function featureEditScenario(_0x3f066e,_0x3b0223){const _0x15841c=_0x52f9,_0x380be5={'RKDfJ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','XVAfk':_0x15841c(0x260),'pQWxK':function(_0x1d0d29,_0x195ee3){return _0x1d0d29===_0x195ee3;},'YQWkV':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','uyvlU':function(_0x1f2909,_0x58ced4){return _0x1f2909===_0x58ced4;},'RZRnA':_0x15841c(0x1f3),'uIIRj':function(_0x1a17bf,_0x298212){return _0x1a17bf<_0x298212;},'oUegS':function(_0x41b23c,_0x4c0137){return _0x41b23c-_0x4c0137;},'DjqPD':function(_0x406705,_0x49033f){return _0x406705<_0x49033f;},'ZQbMn':function(_0x35ba95,_0x3505d6){return _0x35ba95>=_0x3505d6;},'MZGKT':function(_0x224b0a,_0x2cb724,_0x293c6e,_0x1da6fd){return _0x224b0a(_0x2cb724,_0x293c6e,_0x1da6fd);}},_0x474e8e=_0x3b0223['id']||await getActiveFeatureId();!_0x474e8e&&(console['error'](_0x15841c(0x1c9)),console[_0x15841c(0x27b)](_0x380be5['RKDfJ']),process['exit'](0x1));const _0xc458a4=await getFeature(_0x474e8e);_0xc458a4['latestReview']&&!_0xc458a4[_0x15841c(0x1d1)][_0x15841c(0x1e9)]&&(console['error'](_0x380be5[_0x15841c(0x282)]),console[_0x15841c(0x27b)]('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0xc458a4['dashboardUrl']),process[_0x15841c(0x1de)](0x1));const _0x567c4c=_0xc458a4[_0x15841c(0x224)]||[];_0x380be5['pQWxK'](_0x567c4c[_0x15841c(0x1a0)],0x0)&&(console['error'](_0x380be5['YQWkV']),process['exit'](0x1));if(_0x380be5['uyvlU'](_0x3b0223['scenario'],undefined)){console[_0x15841c(0x27b)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x380be5[_0x15841c(0x272)]);for(let _0x4ba635=0x0;_0x380be5[_0x15841c(0x1c5)](_0x4ba635,_0x567c4c[_0x15841c(0x1a0)]);_0x4ba635++){console[_0x15841c(0x225)]('\x20\x20'+(_0x4ba635+0x1)+'.\x20'+_0x567c4c[_0x4ba635][_0x15841c(0x1ff)]);}process[_0x15841c(0x1de)](0x1);}const _0x303612=_0x380be5[_0x15841c(0x1c1)](_0x3b0223['scenario'],0x1);if(_0x380be5[_0x15841c(0x26c)](_0x303612,0x0)||_0x380be5['ZQbMn'](_0x303612,_0x567c4c['length'])){console[_0x15841c(0x27b)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x3b0223['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x567c4c['length']+_0x15841c(0x21d)),console['log'](_0x15841c(0x1f3));for(let _0x371b66=0x0;_0x371b66<_0x567c4c[_0x15841c(0x1a0)];_0x371b66++){console[_0x15841c(0x225)]('\x20\x20'+(_0x371b66+0x1)+'.\x20'+_0x567c4c[_0x371b66][_0x15841c(0x1ff)]);}process[_0x15841c(0x1de)](0x1);}const _0xb5fff4=_0x567c4c[_0x303612];await _0x380be5['MZGKT'](updateChecklistItem,_0x474e8e,_0xb5fff4['id'],{'description':_0x3f066e});const _0x246bcb=await getFeature(_0x474e8e);console[_0x15841c(0x225)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x246bcb,_0x246bcb['checklistItems']);}async function downloadFeedbackImage(_0x8206cb,_0x4b7a47){const _0x169977=_0x52f9,_0x459741={'iKgiv':function(_0xf92bcc,_0x359537,_0x1fe9f2){return _0xf92bcc(_0x359537,_0x1fe9f2);},'wqNtB':function(_0x31b48e,_0x456c24){return _0x31b48e(_0x456c24);}};try{const _0x1c234c=join(getRangerDir(),'feedback-images');await mkdir(_0x1c234c,{'recursive':!![]});const _0x18369e=_0x459741['iKgiv'](join,_0x1c234c,_0x169977(0x1f9)+_0x4b7a47+'.png'),_0x50ce2f=await _0x459741[_0x169977(0x1a4)](fetch,_0x8206cb);if(!_0x50ce2f['ok'])return null;const _0x2d7650=Buffer[_0x169977(0x1a1)](await _0x50ce2f['arrayBuffer']());return await _0x459741[_0x169977(0x201)](writeFile,_0x18369e,_0x2d7650),_0x18369e;}catch{return null;}}export async function featureGetReview(_0x2e1a28){const _0x61599=_0x52f9,_0x495bae={'itibB':_0x61599(0x1a6),'XcPLw':function(_0x1822d2,_0x5430a8){return _0x1822d2(_0x5430a8);},'vJABn':_0x61599(0x19d),'QvsQr':function(_0x8eaa87,_0x2baf4c,_0xae9116){return _0x8eaa87(_0x2baf4c,_0xae9116);},'hhSRk':_0x61599(0x1a7),'zFAAE':_0x61599(0x1d9),'QQrlz':'Unknown','JmMzp':_0x61599(0x22a),'zVhez':'element','SxUkf':_0x61599(0x1c0),'iwwsl':function(_0x4a9dac,_0xe4ae74){return _0x4a9dac>=_0xe4ae74;}},_0x45d43e=_0x2e1a28||await getActiveFeatureId();if(!_0x45d43e)throw new Error(_0x495bae[_0x61599(0x1ca)]);const _0x1c50ae=await _0x495bae['XcPLw'](getFeature,_0x45d43e),{items:_0xc7d087}=await getActionItems(_0x45d43e);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x1c50ae[_0x61599(0x25f)]+'\x20('+_0x1c50ae['id']+')\x0a');if(_0xc7d087['length']===0x0){console[_0x61599(0x225)](_0x495bae['vJABn']);return;}for(let _0x2dc96d=0x0;_0x2dc96d<_0xc7d087[_0x61599(0x1a0)];_0x2dc96d++){const _0x157fe0=_0xc7d087[_0x2dc96d],_0x1a79a2=_0x157fe0['version']>0x1?_0x61599(0x283)+_0x157fe0['version']+')':'',_0x44ffef=await _0x495bae[_0x61599(0x27a)](getItemFeedback,_0x45d43e,_0x157fe0['id']);if(_0x44ffef['unaddressedComments']['length']>0x0){console[_0x61599(0x225)]('Scenario\x20'+(_0x2dc96d+0x1)+_0x61599(0x206)+_0x157fe0[_0x61599(0x1ff)]+'\x22'+_0x1a79a2+_0x61599(0x24b)+_0x44ffef[_0x61599(0x23b)]['length']+_0x61599(0x1ab));for(const _0x69d509 of _0x44ffef[_0x61599(0x23b)]){const _0x20386c=new Date(_0x69d509['createdAt'])['toLocaleDateString'](_0x495bae[_0x61599(0x1c6)],{'month':_0x61599(0x1b4),'day':_0x495bae[_0x61599(0x215)]}),_0x4684ac=_0x69d509['authorName']||_0x69d509['authorEmail']||_0x495bae['QQrlz'];console['log'](_0x61599(0x1df)+_0x4684ac+'\x20('+_0x20386c+'):\x20\x22'+_0x69d509['content']+'\x22');if(_0x69d509['assetUrl']){const _0x239493=await downloadFeedbackImage(_0x69d509[_0x61599(0x228)],_0x69d509['id']);_0x239493&&console[_0x61599(0x225)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x239493);}if(_0x69d509['domRef']){const _0x46ab5f=_0x69d509['domRef'][_0x61599(0x230)][_0x61599(0x1e3)](_0x495bae[_0x61599(0x276)])['pop']()?.['split'](':')[0x0]||_0x495bae[_0x61599(0x23a)],_0x315d97=_0x69d509[_0x61599(0x24f)][_0x61599(0x1a9)]?'\x20\x22'+_0x69d509['domRef'][_0x61599(0x1a9)][_0x61599(0x20e)](0x0,0x3c)+'\x22':'';console['log'](_0x61599(0x1f7)+_0x46ab5f+'>'+_0x315d97),console['log'](_0x61599(0x25b)+_0x69d509['domRef']['selector']);}else{if(_0x69d509['spatial']){const _0x3ac09d=_0x69d509['spatial']['coordinates'];_0x69d509['spatial']['type']===_0x495bae['SxUkf']&&_0x495bae['iwwsl'](_0x3ac09d[_0x61599(0x1a0)],0x2)?console['log'](_0x61599(0x1cf)+_0x3ac09d[0x0]['toFixed'](0x2)+',\x20'+_0x3ac09d[0x1]['toFixed'](0x2)+')'):console['log'](_0x61599(0x1d8)+_0x69d509[_0x61599(0x1e6)][_0x61599(0x274)]+_0x61599(0x22f)+_0x3ac09d[_0x61599(0x1d4)](_0x1a4037=>_0x1a4037[_0x61599(0x1dc)](0x2))[_0x61599(0x1c2)](',\x20')+']');}}}if(_0x44ffef[_0x61599(0x275)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x5abd6c of _0x44ffef[_0x61599(0x275)]['split']('\x0a')){console[_0x61599(0x225)](_0x61599(0x19f)+_0x5abd6c);}}}else console['log'](_0x61599(0x1d5)+(_0x2dc96d+0x1)+':\x20\x22'+_0x157fe0[_0x61599(0x1ff)]+'\x22'+_0x1a79a2+'\x20—\x20no\x20comments'),console[_0x61599(0x225)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x477636){const _0x50e003=_0x52f9,_0x4c050f={'saUsO':function(_0x4edc75){return _0x4edc75();},'CxSzO':_0x50e003(0x1a6),'tVjPH':function(_0x4cc120,_0x4d6636){return _0x4cc120(_0x4d6636);},'HdpJi':function(_0x25ab51,_0xc43658){return _0x25ab51+_0xc43658;},'jSsys':_0x50e003(0x1ec)},_0x295a89=_0x477636||await _0x4c050f['saUsO'](getActiveFeatureId);if(!_0x295a89)throw new Error(_0x4c050f[_0x50e003(0x258)]);const _0x5d92d1=await _0x4c050f[_0x50e003(0x1af)](getFeature,_0x295a89);await softDeleteFeature(_0x295a89),console['log'](_0x50e003(0x249)+_0x5d92d1['name']+'\x20('+_0x295a89+')'),console['log'](_0x4c050f[_0x50e003(0x254)](_0x4c050f['jSsys'],_0x295a89));}export async function featureRestore(_0x1e23a6){const _0x12b07b=_0x52f9,_0x27b3e9={'IOsIE':function(_0x25d288,_0x44c6c9){return _0x25d288(_0x44c6c9);}};await restoreFeature(_0x1e23a6);const _0x381c99=await _0x27b3e9['IOsIE'](getFeature,_0x1e23a6);console[_0x12b07b(0x225)](_0x12b07b(0x1b1)+_0x381c99[_0x12b07b(0x25f)]+'\x20('+_0x1e23a6+')'),displayFeature(_0x381c99,_0x381c99[_0x12b07b(0x224)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3f7634,_0x2f8c5f){const _0x58fa20=_0x37f7,_0x279722=_0x3f7634();while(!![]){try{const _0x2c1b79=parseInt(_0x58fa20(0xd9))/0x1+-parseInt(_0x58fa20(0xd6))/0x2*(-parseInt(_0x58fa20(0xd3))/0x3)+parseInt(_0x58fa20(0xde))/0x4*(-parseInt(_0x58fa20(0xd4))/0x5)+-parseInt(_0x58fa20(0xd5))/0x6+parseInt(_0x58fa20(0xda))/0x7+-parseInt(_0x58fa20(0xdf))/0x8+parseInt(_0x58fa20(0xdd))/0x9;if(_0x2c1b79===_0x2f8c5f)break;else _0x279722['push'](_0x279722['shift']());}catch(_0x58be19){_0x279722['push'](_0x279722['shift']());}}}(_0x4422,0x659a3));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x458c81=_0x37f7,_0x18b975={'BeXgj':'SIGINT','JRmWJ':_0x458c81(0xe0),'NtIix':_0x458c81(0xd8)};if(cancellationHandlersInstalled)return;const _0x282a0f=()=>{const _0x37f6fa=_0x458c81;process[_0x37f6fa(0xd7)](0x0);};process[_0x458c81(0xdc)](_0x18b975['BeXgj'],_0x282a0f),process[_0x458c81(0xdc)](_0x18b975['JRmWJ'],_0x282a0f),process[_0x458c81(0xdc)](_0x18b975['NtIix'],_0x282a0f),cancellationHandlersInstalled=!![];}export async function hook(_0xad0cc9,_0x27d3ea){const _0x588961=_0x37f7,_0x1235c9={'VvJSY':function(_0x565dde){return _0x565dde();}};_0x1235c9['VvJSY'](installCancellationHandlers);const _0x11fbac=HOOKS[_0xad0cc9];if(!_0x11fbac){const _0x3eabef=Object[_0x588961(0xe1)](HOOKS)['join'](',\x20');console[_0x588961(0xdb)](_0x588961(0xe2)+_0xad0cc9),console['error']('Valid\x20hooks:\x20'+_0x3eabef),process['exit'](0x1);}await _0x11fbac(_0x27d3ea);}function _0x37f7(_0x30b0f6,_0x56bf1f){_0x30b0f6=_0x30b0f6-0xd3;const _0x442286=_0x4422();let _0x37f749=_0x442286[_0x30b0f6];return _0x37f749;}function _0x4422(){const _0x3a610c=['keys','Unknown\x20hook:\x20','435ulQJZe','4066610CqmnOk','1776582OTSMqt','11226gZwrqV','exit','SIGHUP','147995uijmFH','1155329veMpdU','error','once','9232326hDWcPB','4rwXHbv','5017272GfokQI','SIGTERM'];_0x4422=function(){return _0x3a610c;};return _0x4422();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x52fb7e=_0x5595;(function(_0x2fd38f,_0x72aa53){const _0x9bdc77=_0x5595,_0x2e8370=_0x2fd38f();while(!![]){try{const _0xe68cd9=-parseInt(_0x9bdc77(0x9f))/0x1+parseInt(_0x9bdc77(0xa0))/0x2+-parseInt(_0x9bdc77(0x9e))/0x3+-parseInt(_0x9bdc77(0xa5))/0x4*(-parseInt(_0x9bdc77(0xa8))/0x5)+parseInt(_0x9bdc77(0xa1))/0x6*(-parseInt(_0x9bdc77(0xa6))/0x7)+-parseInt(_0x9bdc77(0xa2))/0x8+parseInt(_0x9bdc77(0x9d))/0x9;if(_0xe68cd9===_0x72aa53)break;else _0x2e8370['push'](_0x2e8370['shift']());}catch(_0x309701){_0x2e8370['push'](_0x2e8370['shift']());}}}(_0x4ee1,0xe4f49));function _0x5595(_0xf18366,_0x3d2c3c){_0xf18366=_0xf18366-0x9d;const _0x4ee1b5=_0x4ee1();let _0x559507=_0x4ee1b5[_0xf18366];return _0x559507;}import{readHookInput}from'./output.js';function _0x4ee1(){const _0x34afd9=['108PKjOMn','14oGxzDB','off','75505qMDcWu','39721005bYdYVS','1203555QnbWfN','1489419zSAQGa','2594882MEUaON','4454490oMOrbz','14443024nyXLdm','ZFwxc','\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.'];_0x4ee1=function(){return _0x34afd9;};return _0x4ee1();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT=_0x52fb7e(0xa4);export async function autoPrompt(){const _0x35bca2=_0x52fb7e,_0x281ded={'ZFwxc':_0x35bca2(0xa7)};if(resolveHookMode()===_0x281ded[_0x35bca2(0xa3)])return;const _0x1592b9=await readHookInput(),_0x592ca3=_0x1592b9?.['session_id'];if(!_0x592ca3)return;if(isSessionEnabled(_0x592ca3)||hasSessionBeenPrompted(_0x592ca3))return;markSessionPrompted(_0x592ca3),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1cf3ad,_0x4c1f34){const _0x5e9d46=_0x4514,_0x31fb04=_0x1cf3ad();while(!![]){try{const _0x2e7dd3=-parseInt(_0x5e9d46(0x14e))/0x1+parseInt(_0x5e9d46(0x155))/0x2*(-parseInt(_0x5e9d46(0x154))/0x3)+parseInt(_0x5e9d46(0x14f))/0x4+parseInt(_0x5e9d46(0x159))/0x5+parseInt(_0x5e9d46(0x152))/0x6*(parseInt(_0x5e9d46(0x157))/0x7)+parseInt(_0x5e9d46(0x151))/0x8+-parseInt(_0x5e9d46(0x14d))/0x9;if(_0x2e7dd3===_0x4c1f34)break;else _0x31fb04['push'](_0x31fb04['shift']());}catch(_0x550db9){_0x31fb04['push'](_0x31fb04['shift']());}}}(_0xb0d4,0x95a71));function _0xb0d4(){const _0x16a9f1=['18vGvGOF','env','527889ozznNW','2FYnIST','master','1490741ovABKn','UjMbx','2146665IDoVhv','4296960EvAHiP','371032fkmhNA','2187572eDTquY','wfgrY','178376AXbufq'];_0xb0d4=function(){return _0x16a9f1;};return _0xb0d4();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x4514(_0x16fc68,_0x5c2802){_0x16fc68=_0x16fc68-0x14d;const _0xb0d4b8=_0xb0d4();let _0x45146c=_0xb0d4b8[_0x16fc68];return _0x45146c;}export async function disable(_0x30e2ea){const _0x5d32cf=_0x4514,_0x4be0b6={'VSaPt':function(_0x4fdb7e,_0x3418fe){return _0x4fdb7e(_0x3418fe);},'wfgrY':function(_0xda5a94){return _0xda5a94();},'kVdqX':'main','UjMbx':function(_0x4fd319,_0x4c1109){return _0x4fd319!==_0x4c1109;}},_0x56e9fb=_0x30e2ea||process[_0x5d32cf(0x153)]['CLAUDE_SESSION_ID']||'';_0x56e9fb&&_0x4be0b6['VSaPt'](disableSession,_0x56e9fb);const _0x4fe21b=_0x4be0b6[_0x5d32cf(0x150)](getCurrentBranch);_0x4fe21b&&_0x4fe21b!==_0x4be0b6['kVdqX']&&_0x4be0b6[_0x5d32cf(0x158)](_0x4fe21b,_0x5d32cf(0x156))&&disableBranch(_0x4fe21b),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4fe21b&&_0x4fe21b!=='main'&&_0x4be0b6[_0x5d32cf(0x158)](_0x4fe21b,_0x5d32cf(0x156))?'\x20and\x20branch\x20\x27'+_0x4fe21b+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x580859,_0x3cd9ab){const _0x2a3884=_0xe4ff,_0x1fbb90=_0x580859();while(!![]){try{const _0x4f1f1f=-parseInt(_0x2a3884(0xff))/0x1+-parseInt(_0x2a3884(0x10a))/0x2+parseInt(_0x2a3884(0x111))/0x3*(parseInt(_0x2a3884(0x114))/0x4)+-parseInt(_0x2a3884(0x113))/0x5+-parseInt(_0x2a3884(0x102))/0x6*(parseInt(_0x2a3884(0x10c))/0x7)+parseInt(_0x2a3884(0x103))/0x8*(parseInt(_0x2a3884(0x106))/0x9)+parseInt(_0x2a3884(0x10f))/0xa*(parseInt(_0x2a3884(0x108))/0xb);if(_0x4f1f1f===_0x3cd9ab)break;else _0x1fbb90['push'](_0x1fbb90['shift']());}catch(_0x22454e){_0x1fbb90['push'](_0x1fbb90['shift']());}}}(_0x2838,0xebc45));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x2838(){const _0x59bd8d=['env','64518jFOHmK','isnuv','\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`.','5544012rfmQOG','1288ncihFF','main','CLAUDE_SESSION_ID','93042ltlHYo','wiRNX','396qpKuMY','master','2902188AKCXPe','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','7WQpHfq','JpHBW','\x0a\x0a**Branch\x20\x27','683770IfnKkZ','qcEkQ','3394410eOCKzq','Raqcm','9260725YSaDgi','4Gztvtw'];_0x2838=function(){return _0x59bd8d;};return _0x2838();}function _0xe4ff(_0x35821b,_0x510f11){_0x35821b=_0x35821b-0xfe;const _0x28388a=_0x2838();let _0xe4ff49=_0x28388a[_0x35821b];return _0xe4ff49;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x580b0d){const _0x1811d5=_0xe4ff,_0x34096a={'isnuv':function(_0x4f7d15){return _0x4f7d15();},'wiRNX':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','qcEkQ':function(_0x2eb9ff,_0x51631f){return _0x2eb9ff(_0x51631f);},'Raqcm':function(_0xdb7393){return _0xdb7393();},'JpHBW':function(_0x244b1e,_0x39e5c9){return _0x244b1e!==_0x39e5c9;},'afADL':_0x1811d5(0x109),'vwYbE':function(_0x260d47,_0x51d2ef){return _0x260d47(_0x51d2ef);}},_0x6f4efe=_0x580b0d||process[_0x1811d5(0xfe)][_0x1811d5(0x105)]||'',_0x33d3ea=Boolean(_0x580b0d),_0x388d05=await _0x34096a[_0x1811d5(0x100)](getToken);if(!_0x388d05){const _0x65b317=_0x33d3ea?'ranger\x20setup\x20--opencode':'ranger\x20setup',_0x32fb63=_0x33d3ea?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x34096a[_0x1811d5(0x107)];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`'+_0x65b317+_0x1811d5(0x10b)+_0x32fb63);return;}try{await _0x34096a['isnuv'](update);}catch{}_0x6f4efe&&_0x34096a[_0x1811d5(0x110)](enableSession,_0x6f4efe);const _0x5ec6ca=_0x34096a[_0x1811d5(0x112)](getCurrentBranch),_0x48d1d8=_0x5ec6ca&&_0x5ec6ca!==_0x1811d5(0x104)&&_0x34096a[_0x1811d5(0x10d)](_0x5ec6ca,_0x34096a['afADL'])?_0x1811d5(0x10e)+_0x5ec6ca+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x612aaa=getRangerSkillContent();_0x34096a['vwYbE'](printBlock,'#\x20RANGER\x20ENABLED'+_0x48d1d8+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x612aaa+_0x1811d5(0x101));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0xd764bb,_0x4f42a6){const _0x5f4805=_0x342e,_0xef6fdc=_0xd764bb();while(!![]){try{const _0x424ebf=parseInt(_0x5f4805(0x118))/0x1+-parseInt(_0x5f4805(0x110))/0x2+-parseInt(_0x5f4805(0x114))/0x3+parseInt(_0x5f4805(0x115))/0x4+parseInt(_0x5f4805(0x116))/0x5*(parseInt(_0x5f4805(0x117))/0x6)+parseInt(_0x5f4805(0x113))/0x7+-parseInt(_0x5f4805(0x112))/0x8*(parseInt(_0x5f4805(0x10f))/0x9);if(_0x424ebf===_0x4f42a6)break;else _0xef6fdc['push'](_0xef6fdc['shift']());}catch(_0x35a7c9){_0xef6fdc['push'](_0xef6fdc['shift']());}}}(_0x187a,0x29579));function _0x342e(_0x4addd2,_0x2c8f00){_0x4addd2=_0x4addd2-0x10f;const _0x187ad5=_0x187a();let _0x342ece=_0x187ad5[_0x4addd2];return _0x342ece;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x187a(){const _0x515e63=['9216LgaqzD','150054gdJVFb','===\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===','4016DDeiYm','865200tZsCtn','441132cTXrXX','1275924kbYpIL','1043065nXaeiG','6KcRLar','254262qlsFqG'];_0x187a=function(){return _0x515e63;};return _0x187a();}export async function exitPlanMode(_0x12992f){const _0x14c2e0=_0x342e,_0x413be6=await getEnabledSessionId(_0x12992f);if(!_0x413be6)return;printBlock(_0x14c2e0(0x111));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e0d40,_0x4b0e89){var _0x4b5ace=_0x4cc1,_0x3147db=_0x4e0d40();while(!![]){try{var _0xc1a794=parseInt(_0x4b5ace(0xcc))/0x1*(-parseInt(_0x4b5ace(0xcf))/0x2)+parseInt(_0x4b5ace(0xd0))/0x3+-parseInt(_0x4b5ace(0xd2))/0x4+parseInt(_0x4b5ace(0xca))/0x5*(parseInt(_0x4b5ace(0xd1))/0x6)+-parseInt(_0x4b5ace(0xcb))/0x7+-parseInt(_0x4b5ace(0xce))/0x8+parseInt(_0x4b5ace(0xcd))/0x9;if(_0xc1a794===_0x4b0e89)break;else _0x3147db['push'](_0x3147db['shift']());}catch(_0x370b5a){_0x3147db['push'](_0x3147db['shift']());}}}(_0x39ea,0x9777f));export{sessionStart}from'./sessionStart.js';function _0x39ea(){var _0x5e2ed2=['18653562dlQhsx','1671320dAooSe','1130138Zivanw','1585224ptjQbb','3416772mgCtVm','3921852CFOJir','5YvBkcW','5569382hlncYG','1TuqUPB'];_0x39ea=function(){return _0x5e2ed2;};return _0x39ea();}export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x4cc1(_0xaba4a4,_0x1ef024){_0xaba4a4=_0xaba4a4-0xca;var _0x39eabb=_0x39ea();var _0x4cc10a=_0x39eabb[_0xaba4a4];return _0x4cc10a;}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
|
-
|
|
1
|
+
(function(_0x3f67e7,_0x39d096){const _0x6e3c92=_0x10b7,_0x378936=_0x3f67e7();while(!![]){try{const _0x1696c3=parseInt(_0x6e3c92(0x14e))/0x1+parseInt(_0x6e3c92(0x15d))/0x2*(parseInt(_0x6e3c92(0x151))/0x3)+parseInt(_0x6e3c92(0x152))/0x4+-parseInt(_0x6e3c92(0x154))/0x5*(parseInt(_0x6e3c92(0x158))/0x6)+-parseInt(_0x6e3c92(0x156))/0x7+-parseInt(_0x6e3c92(0x155))/0x8*(-parseInt(_0x6e3c92(0x157))/0x9)+parseInt(_0x6e3c92(0x150))/0xa*(parseInt(_0x6e3c92(0x159))/0xb);if(_0x1696c3===_0x39d096)break;else _0x378936['push'](_0x378936['shift']());}catch(_0x24c314){_0x378936['push'](_0x378936['shift']());}}}(_0x3b83,0x4dc3b));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x3b83(){const _0x48e85e=['1416584UVYfbZ','parse','26950AowavF','32VZZSBk','258370iosCBk','79389AFblsQ','600KkvUVx','242ebxZma','trim','stdin','log','17384diuJqX','NfhhY','355573gSJwzX','kHCLY','12610xEZKWa','42IlvXcq'];_0x3b83=function(){return _0x48e85e;};return _0x3b83();}export function printBlock(_0x33660c){const _0x569e08=_0x10b7;console[_0x569e08(0x15c)](_0x33660c);}function _0x10b7(_0x27aa0f,_0x4c85af){_0x27aa0f=_0x27aa0f-0x14d;const _0x3b83eb=_0x3b83();let _0x10b7c1=_0x3b83eb[_0x27aa0f];return _0x10b7c1;}export async function readHookInput(){const _0x2c23d2=_0x10b7;let _0xf51b90='';try{for await(const _0xaf4a34 of process[_0x2c23d2(0x15b)]){_0xf51b90+=_0xaf4a34;}}catch{return null;}if(!_0xf51b90[_0x2c23d2(0x15a)]())return null;try{return JSON[_0x2c23d2(0x153)](_0xf51b90);}catch{return null;}}export async function getEnabledSessionId(_0x3abde2){const _0x2f3028=_0x10b7,_0x3dd5bc={'kHCLY':function(_0x2273c6,_0x5c162d){return _0x2273c6(_0x5c162d);}};if(_0x3abde2)return isSessionEnabled(_0x3abde2)?_0x3abde2:null;const _0x445998=await readHookInput(),_0x4fc8da=_0x445998?.['session_id'];if(!_0x4fc8da||!_0x3dd5bc[_0x2f3028(0x14f)](isSessionEnabled,_0x4fc8da))return null;return _0x4fc8da;}export async function getEnabledHookContext(_0x323225){const _0x48301f=_0x10b7,_0x2409a5={'NfhhY':function(_0xb70b67){return _0xb70b67();}};if(_0x323225){if(!isSessionEnabled(_0x323225))return null;return{'sessionId':_0x323225,'input':{'session_id':_0x323225}};}const _0x5e3244=await _0x2409a5[_0x48301f(0x14d)](readHookInput),_0x3b59d3=_0x5e3244?.['session_id'];if(!_0x3b59d3||!isSessionEnabled(_0x3b59d3))return null;return{'sessionId':_0x3b59d3,'input':_0x5e3244};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e00d7,_0x1886ab){const _0x2f7e6d=_0x47d3,_0x5e1b3b=_0x4e00d7();while(!![]){try{const _0x4201fd=parseInt(_0x2f7e6d(0x1af))/0x1+parseInt(_0x2f7e6d(0x1a9))/0x2+parseInt(_0x2f7e6d(0x1b3))/0x3*(-parseInt(_0x2f7e6d(0x1b0))/0x4)+parseInt(_0x2f7e6d(0x1b2))/0x5*(parseInt(_0x2f7e6d(0x1aa))/0x6)+parseInt(_0x2f7e6d(0x1b4))/0x7*(-parseInt(_0x2f7e6d(0x1ad))/0x8)+parseInt(_0x2f7e6d(0x1b6))/0x9+-parseInt(_0x2f7e6d(0x1ae))/0xa*(parseInt(_0x2f7e6d(0x1a8))/0xb);if(_0x4201fd===_0x1886ab)break;else _0x5e1b3b['push'](_0x5e1b3b['shift']());}catch(_0x4f2636){_0x5e1b3b['push'](_0x5e1b3b['shift']());}}}(_0x5136,0xf1e42));import{printBlock,getEnabledHookContext}from'./output.js';function _0x5136(){const _0x58491=['152gehGmZ','17840KeCeNG','1396916qXciRS','4qOZjKO','permission_mode','5NaGuKP','1499097yNuIfn','252994ZOuVnB','input','15158754ScJlSX','19745atyvJI','1196276BFEVWZ','10200618Iylall','===\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===','plan'];_0x5136=function(){return _0x58491;};return _0x5136();}function _0x47d3(_0x410fe4,_0x22ab14){_0x410fe4=_0x410fe4-0x1a8;const _0x5136fc=_0x5136();let _0x47d301=_0x5136fc[_0x410fe4];return _0x47d301;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x53bf82){const _0x5d9f8d=_0x47d3,_0x2e3cf7={'pYgGE':function(_0x4329dd,_0x38cb9f){return _0x4329dd!==_0x38cb9f;},'DRjjq':function(_0x3a2a03,_0x1f6513){return _0x3a2a03(_0x1f6513);}},_0x19453f=await getEnabledHookContext(_0x53bf82);if(!_0x19453f)return;if(_0x2e3cf7['pYgGE'](_0x19453f[_0x5d9f8d(0x1b5)][_0x5d9f8d(0x1b1)],_0x5d9f8d(0x1ac)))return;if(!shouldShowPlanReminder(_0x19453f['sessionId']))return;_0x2e3cf7['DRjjq'](printBlock,_0x5d9f8d(0x1ab));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x42e8bb,_0x25101b){const _0x5cfd17=_0x3fed,_0x4fc7de=_0x42e8bb();while(!![]){try{const _0x1e4d2b=-parseInt(_0x5cfd17(0xb8))/0x1+parseInt(_0x5cfd17(0xb0))/0x2+parseInt(_0x5cfd17(0xb4))/0x3*(parseInt(_0x5cfd17(0xaf))/0x4)+parseInt(_0x5cfd17(0xb6))/0x5+parseInt(_0x5cfd17(0xb5))/0x6*(parseInt(_0x5cfd17(0xb1))/0x7)+-parseInt(_0x5cfd17(0xb2))/0x8+-parseInt(_0x5cfd17(0xb3))/0x9;if(_0x1e4d2b===_0x25101b)break;else _0x4fc7de['push'](_0x4fc7de['shift']());}catch(_0x428b91){_0x4fc7de['push'](_0x4fc7de['shift']());}}}(_0xe656,0x1a0e3));function _0x3fed(_0x2b01d1,_0x2b0fbd){_0x2b01d1=_0x2b01d1-0xaf;const _0xe6562=_0xe656();let _0x3fed91=_0xe6562[_0x2b01d1];return _0x3fed91;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x3f8514){const _0x1b630d=_0x3fed,_0xfa6f13={'gjAun':function(_0x58e5d5,_0x591896){return _0x58e5d5(_0x591896);},'kwAOp':function(_0xc3b02,_0x3f1059){return _0xc3b02(_0x3f1059);}},_0x141a2c=await _0xfa6f13[_0x1b630d(0xb9)](getEnabledSessionId,_0x3f8514);if(!_0x141a2c)return;_0xfa6f13[_0x1b630d(0xb7)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}function _0xe656(){const _0x13f9c6=['10073lrtZsG','143416FCqeVu','2451366PvxNMA','530403TBxflP','534mfJznc','529230YSvbOL','kwAOp','64432JzxYPT','gjAun','4AZYvCy','101476TQiyWf'];_0xe656=function(){return _0x13f9c6;};return _0xe656();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2a2dab,_0x42993f){const _0x3c35c3=_0x45de,_0x32d119=_0x2a2dab();while(!![]){try{const _0x1831f8=-parseInt(_0x3c35c3(0x18b))/0x1*(-parseInt(_0x3c35c3(0x181))/0x2)+parseInt(_0x3c35c3(0x180))/0x3*(-parseInt(_0x3c35c3(0x189))/0x4)+parseInt(_0x3c35c3(0x188))/0x5*(-parseInt(_0x3c35c3(0x18c))/0x6)+parseInt(_0x3c35c3(0x18d))/0x7*(parseInt(_0x3c35c3(0x17f))/0x8)+parseInt(_0x3c35c3(0x186))/0x9+parseInt(_0x3c35c3(0x18a))/0xa+parseInt(_0x3c35c3(0x185))/0xb*(parseInt(_0x3c35c3(0x182))/0xc);if(_0x1831f8===_0x42993f)break;else _0x32d119['push'](_0x32d119['shift']());}catch(_0x3b0f12){_0x32d119['push'](_0x32d119['shift']());}}}(_0xd514,0x53798));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x45de(_0x533f7b,_0x49df41){_0x533f7b=_0x533f7b-0x17f;const _0xd5142e=_0xd514();let _0x45debf=_0xd5142e[_0x533f7b];return _0x45debf;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x1d6e93){const _0x85cafe=_0x45de,_0x4ff517={'BEMFy':function(_0x157edd,_0x32b156){return _0x157edd(_0x32b156);},'jzCzH':function(_0x589944){return _0x589944();},'aAAFp':'PostToolUse'},_0x1b3a9f=await _0x4ff517[_0x85cafe(0x184)](getEnabledSessionId,_0x1d6e93);if(!_0x1b3a9f)return;updateBranchTracking(_0x1b3a9f);const _0x1031c3=await _0x4ff517['jzCzH'](getToken);if(!_0x1031c3)return;const _0x2f3378=getSessionEntry(_0x1b3a9f);if(_0x2f3378){const _0x18bf59={'hookSpecificOutput':{'hookEventName':_0x4ff517['aAAFp'],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON['stringify'](_0x18bf59));return;}const _0x2ce5ab={'hookSpecificOutput':{'hookEventName':_0x85cafe(0x183),'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[_0x85cafe(0x187)](_0x2ce5ab));}function _0xd514(){const _0xd4c0ed=['60365MTmHQk','12sIqtSe','688000tbxVdD','1469EbBymB','204amTMKk','7SKOMEK','1480456VhhqZU','204657NJELwF','372jLoGjM','463512oZZfLP','PostToolUse','BEMFy','110BodsxK','393300FPMrGD','stringify'];_0xd514=function(){return _0xd4c0ed;};return _0xd514();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x28a2f5,_0x514735){const _0x2fedf6=_0x4c9e,_0x7d4a60=_0x28a2f5();while(!![]){try{const _0x33a261=parseInt(_0x2fedf6(0x118))/0x1*(-parseInt(_0x2fedf6(0x11c))/0x2)+parseInt(_0x2fedf6(0x11b))/0x3+-parseInt(_0x2fedf6(0x11d))/0x4+-parseInt(_0x2fedf6(0x117))/0x5+-parseInt(_0x2fedf6(0x116))/0x6+-parseInt(_0x2fedf6(0x11a))/0x7+parseInt(_0x2fedf6(0x119))/0x8;if(_0x33a261===_0x514735)break;else _0x7d4a60['push'](_0x7d4a60['shift']());}catch(_0x5eae58){_0x7d4a60['push'](_0x7d4a60['shift']());}}}(_0xea5d,0xd5a0c));function _0xea5d(){const _0x36fadd=['8141721lUMNDW','579426UCIERB','1912QdtuIq','2246964XRbBIQ','6169668WnxSzw','4892935xXPTZN','1205CLNggW','44524536QeVIsH'];_0xea5d=function(){return _0x36fadd;};return _0xea5d();}function _0x4c9e(_0x44b6b7,_0x571770){_0x44b6b7=_0x44b6b7-0x116;const _0xea5d8b=_0xea5d();let _0x4c9e5a=_0xea5d8b[_0x44b6b7];return _0x4c9e5a;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x8c1b66){const _0x1a4665={'memuX':function(_0x1f647e,_0xe7cf76){return _0x1f647e(_0xe7cf76);}},_0x539046=await getEnabledSessionId(_0x8c1b66);if(!_0x539046)return;try{const _0x22a237=await getToken();if(!_0x22a237)return;_0x1a4665['memuX'](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(_0x193645,_0x5ba679){const _0x4d0e38=_0x264d,_0x213471=_0x193645();while(!![]){try{const _0x5e3fc4=parseInt(_0x4d0e38(0xd8))/0x1+-parseInt(_0x4d0e38(0xd3))/0x2*(parseInt(_0x4d0e38(0xda))/0x3)+parseInt(_0x4d0e38(0xd9))/0x4+parseInt(_0x4d0e38(0xd7))/0x5+parseInt(_0x4d0e38(0xd2))/0x6+parseInt(_0x4d0e38(0xcc))/0x7*(parseInt(_0x4d0e38(0xd0))/0x8)+-parseInt(_0x4d0e38(0xd4))/0x9*(parseInt(_0x4d0e38(0xd6))/0xa);if(_0x5e3fc4===_0x5ba679)break;else _0x213471['push'](_0x213471['shift']());}catch(_0x280492){_0x213471['push'](_0x213471['shift']());}}}(_0x40ac,0x1bbc6));function _0x264d(_0x46a304,_0x3bd622){_0x46a304=_0x46a304-0xcc;const _0x40ace4=_0x40ac();let _0x264ded=_0x40ace4[_0x46a304];return _0x264ded;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x568391){const _0x3d7c23=_0x264d,_0x1edaa2=process[_0x3d7c23(0xd1)][_0x3d7c23(0xce)];let _0x45901d=_0x568391,_0x37b362;if(!_0x568391){if(_0x1edaa2&&!isSessionEnabled(_0x1edaa2))return;const _0x49a1f0=await readHookInput();_0x45901d=_0x49a1f0?.[_0x3d7c23(0xcf)]||_0x1edaa2,_0x37b362=_0x49a1f0?.[_0x3d7c23(0xcd)];}if(!_0x45901d)return;_0x37b362===_0x3d7c23(0xd5)&&recordEnabledSessionCleared(_0x45901d);}function _0x40ac(){const _0x534169=['207930WTYNzC','153ctlIwV','clear','46790BAhTJc','585735dsBQjk','84049aYjcKM','10964zrjNeX','3DEcuoZ','56966bBUsDU','reason','CLAUDE_SESSION_ID','session_id','32SYNQXS','env','363750auUQdK'];_0x40ac=function(){return _0x534169;};return _0x40ac();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x1a83ae=_0x20a5;(function(_0x558880,_0x58f6c6){const _0x210375=_0x20a5,_0x433522=_0x558880();while(!![]){try{const _0x562ffc=-parseInt(_0x210375(0xeb))/0x1*(parseInt(_0x210375(0xf7))/0x2)+parseInt(_0x210375(0xfd))/0x3+-parseInt(_0x210375(0xf6))/0x4*(-parseInt(_0x210375(0xef))/0x5)+-parseInt(_0x210375(0xf0))/0x6+-parseInt(_0x210375(0xfa))/0x7+parseInt(_0x210375(0xf8))/0x8+parseInt(_0x210375(0xf3))/0x9;if(_0x562ffc===_0x58f6c6)break;else _0x433522['push'](_0x433522['shift']());}catch(_0xfa4d54){_0x433522['push'](_0x433522['shift']());}}}(_0x1d4c,0xc15b9));function _0x1d4c(){const _0x154a4b=['=================================================================\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=================================================================','dArLZ','nQOIz','7MAxpMS','stringify','liWiV','EPamF','95SAHtqt','8150460MxTumT','KkIPn','success','11737836vxrqIf','log','trackCommandStart','2036FTRjWI','391084agIyqD','10894192vOEdQP','GQCnD','4981200OcHPsd','CLAUDE_ENV_FILE','hook:session-start','4665444JBTcqF','session_id'];_0x1d4c=function(){return _0x154a4b;};return _0x1d4c();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';function _0x20a5(_0x59c245,_0x403fb6){_0x59c245=_0x59c245-0xe8;const _0x1d4c48=_0x1d4c();let _0x20a508=_0x1d4c48[_0x59c245];return _0x20a508;}const RANGER_AUTO_ENABLED_PROMPT=_0x1a83ae(0xe8);export async function sessionStart(_0x4e9068){const _0x2c51c4=_0x1a83ae,_0x288e44={'GQCnD':function(_0x1306ae,_0x37af1a){return _0x1306ae||_0x37af1a;},'KkIPn':_0x2c51c4(0xfe),'KmUqi':function(_0xee2b0,_0x3b12d1){return _0xee2b0&&_0x3b12d1;},'liWiV':function(_0x8ab5d8,_0x59a73c){return _0x8ab5d8(_0x59a73c);},'LjYTt':function(_0x2e507d,_0x1ea024){return _0x2e507d===_0x1ea024;},'EPamF':function(_0x1e3374){return _0x1e3374();},'aqFCr':function(_0x71906f,_0x131ea1){return _0x71906f(_0x131ea1);},'dArLZ':function(_0x414b5f,_0x43921c){return _0x414b5f(_0x43921c);},'fsrLL':function(_0x2c7aba,_0x436378){return _0x2c7aba(_0x436378);},'SHiqp':_0x2c51c4(0xfc),'MVVlM':function(_0x1c1b3a){return _0x1c1b3a();},'cwhwu':function(_0x3b8da9,_0x2ead29){return _0x3b8da9!==_0x2ead29;},'nQOIz':'main','odJJB':'master'};let _0x1b3407=_0x288e44[_0x2c51c4(0xf9)](_0x4e9068,''),_0x1c6327;if(!_0x4e9068){let _0xc192f5='';for await(const _0x5c0f3c of process['stdin']){_0xc192f5+=_0x5c0f3c;}try{const _0x1f3a19=JSON['parse'](_0xc192f5);_0x1b3407=_0x1f3a19[_0x288e44[_0x2c51c4(0xf1)]]||'',_0x1c6327=_0x1f3a19['source'];}catch{}const _0x3e2a98=process['env'][_0x2c51c4(0xfb)];if(_0x288e44['KmUqi'](_0x3e2a98,_0x1b3407))try{await appendFile(_0x3e2a98,'export\x20CLAUDE_SESSION_ID=\x22'+_0x1b3407+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x1b3407){_0x288e44[_0x2c51c4(0xed)](shouldAutoEnableAfterClear,_0x1c6327)&&autoEnableAfterClear(_0x1b3407);initBranchTracking(_0x1b3407);_0x288e44['LjYTt'](_0x288e44[_0x2c51c4(0xee)](resolveHookMode),'on')&&_0x288e44['aqFCr'](enableSession,_0x1b3407);const _0x13cfe4=_0x288e44[_0x2c51c4(0xe9)](isSessionEnabled,_0x1b3407);try{const _0x4c1f26=_0x288e44['fsrLL'](createTelemetryCollector,_0x288e44['SHiqp']);await _0x4c1f26[_0x2c51c4(0xf5)]({'sessionId':_0x1b3407,'hooksEnabled':_0x13cfe4}),await _0x4c1f26['trackCommandEnd'](_0x2c51c4(0xf2));}catch{}if(_0x13cfe4){const _0x132944=_0x288e44['MVVlM'](getCurrentBranch),_0x742888=_0x132944&&_0x288e44['cwhwu'](_0x132944,_0x288e44[_0x2c51c4(0xea)])&&_0x132944!==_0x288e44['odJJB']?'\x20(Branch:\x20'+_0x132944+')':'',_0x41d183={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x742888}};console[_0x2c51c4(0xf4)](JSON[_0x2c51c4(0xec)](_0x41d183));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3c8b5b,_0x1926a5){const _0x392253=_0x157c,_0x24dbb0=_0x3c8b5b();while(!![]){try{const _0xdcf1b8=-parseInt(_0x392253(0x6f))/0x1*(-parseInt(_0x392253(0x69))/0x2)+parseInt(_0x392253(0x77))/0x3+parseInt(_0x392253(0x76))/0x4*(-parseInt(_0x392253(0x75))/0x5)+parseInt(_0x392253(0x7f))/0x6*(-parseInt(_0x392253(0x79))/0x7)+parseInt(_0x392253(0x74))/0x8*(parseInt(_0x392253(0x6a))/0x9)+-parseInt(_0x392253(0x71))/0xa+-parseInt(_0x392253(0x80))/0xb*(-parseInt(_0x392253(0x6b))/0xc);if(_0xdcf1b8===_0x1926a5)break;else _0x24dbb0['push'](_0x24dbb0['shift']());}catch(_0x44accb){_0x24dbb0['push'](_0x24dbb0['shift']());}}}(_0x2ad8,0x2c756));function _0x157c(_0x357e5b,_0x5bb811){_0x357e5b=_0x357e5b-0x68;const _0x2ad89c=_0x2ad8();let _0x157c3c=_0x2ad89c[_0x357e5b];return _0x157c3c;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x2ad8(){const _0x5a6360=['fFvjU','CpoyT','trackCommandEnd','4593aiPpCh','OeeMu','1980130aGbAsl','status','stringify','32XNUFdZ','1745HpbUHO','3356qhlhzf','203967GVeQFw','verification_in_progress','14FLrhCx','YBuSR','Stop','filter','hook:stop','currentSessionId','201282DBUNSy','11luEJWi','some','trackCommandStart','16XDEYyA','246258yIOcFS','6310068uPUaYi'];_0x2ad8=function(){return _0x5a6360;};return _0x2ad8();}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x3ff6f9){const _0x417456=_0x157c,_0x446376={'CpoyT':function(_0x4ae4b9,_0x224d92){return _0x4ae4b9(_0x224d92);},'hnCxA':function(_0x219bd4,_0x50f5d9,_0x24e87d,_0x42e7fd){return _0x219bd4(_0x50f5d9,_0x24e87d,_0x42e7fd);},'VlvtH':function(_0x49c5f8){return _0x49c5f8();},'fFvjU':function(_0x26c7a1,_0x2adb20){return _0x26c7a1&&_0x2adb20;},'OeeMu':function(_0x156a72,_0x108243,_0x20fc63,_0x59697b){return _0x156a72(_0x108243,_0x20fc63,_0x59697b);},'kpDiT':function(_0x5819c3,_0x1e3618,_0x5342b8,_0x3f6e72){return _0x5819c3(_0x1e3618,_0x5342b8,_0x3f6e72);}},_0x2f6c83=await _0x446376['CpoyT'](getEnabledHookContext,_0x3ff6f9),_0x455c23=_0x2f6c83?.['sessionId']??null;let _0x4b9d12=!![];if(!_0x455c23){await _0x446376['hnCxA'](trackStop,_0x455c23,![],_0x4b9d12);return;}try{const _0x5808a1=_0x446376['CpoyT'](getSessionEntry,_0x455c23);if(!_0x5808a1){await trackStop(_0x455c23,!![],_0x4b9d12);return;}const _0x223378=await _0x446376['VlvtH'](getToken),_0x20d70a='https://dashboard.ranger.net/features/'+_0x5808a1['featureId'];let _0x534f80=null,_0x2bfb5a=![],_0x234783=![];if(_0x223378)try{const _0x14c976=await _0x446376[_0x417456(0x6d)](getFeature,_0x5808a1['featureId']);_0x534f80=_0x14c976[_0x417456(0x7e)]??null;const _0x18415e=_0x14c976['checklistItems'][_0x417456(0x7c)](_0x3e08ae=>_0x3e08ae['sessionId']===_0x534f80);_0x2bfb5a=_0x18415e[_0x417456(0x81)](_0x1cc754=>_0x1cc754[_0x417456(0x72)]!=='verified'&&_0x1cc754[_0x417456(0x72)]!=='blocked'&&_0x1cc754[_0x417456(0x72)]!=='closed'&&_0x1cc754['status']!=='incomplete'),_0x234783=_0x18415e[_0x417456(0x81)](_0xa7b655=>_0xa7b655['status']===_0x417456(0x78));}catch{}if(_0x446376[_0x417456(0x6c)](_0x223378,_0x534f80)&&_0x2bfb5a){if(!_0x234783&&shouldShowStopReminder(_0x455c23)){const _0x320c29={'hookSpecificOutput':{'hookEventName':_0x417456(0x7b),'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'+_0x20d70a}};console['log'](JSON[_0x417456(0x73)](_0x320c29));}}if(_0x446376['fFvjU'](_0x223378,_0x534f80)&&!_0x2bfb5a)try{await concludeSession(_0x5808a1['featureId'],_0x534f80);}catch{}await _0x446376[_0x417456(0x70)](trackStop,_0x455c23,!![],_0x4b9d12);return;}catch{await _0x446376['kpDiT'](trackStop,_0x455c23,!![],_0x4b9d12);return;}}async function trackStop(_0x86d11b,_0x2341f2,_0x3461db){const _0x261848=_0x157c,_0x5ed4e0={'YBuSR':function(_0x3dbc6a,_0x66d850){return _0x3dbc6a??_0x66d850;}};try{const _0x340480=createTelemetryCollector(_0x261848(0x7d));await _0x340480[_0x261848(0x68)]({'sessionId':_0x5ed4e0[_0x261848(0x7a)](_0x86d11b,undefined),'hooksEnabled':_0x2341f2,'stopAllowed':_0x3461db}),await _0x340480[_0x261848(0x6e)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3037e4,_0x71ba94){var _0x57482d=_0x1c49,_0x4e5780=_0x3037e4();while(!![]){try{var _0x2f771f=-parseInt(_0x57482d(0x18c))/0x1*(parseInt(_0x57482d(0x18a))/0x2)+parseInt(_0x57482d(0x191))/0x3+-parseInt(_0x57482d(0x190))/0x4+parseInt(_0x57482d(0x18b))/0x5+parseInt(_0x57482d(0x192))/0x6*(-parseInt(_0x57482d(0x18f))/0x7)+-parseInt(_0x57482d(0x18e))/0x8*(-parseInt(_0x57482d(0x188))/0x9)+-parseInt(_0x57482d(0x18d))/0xa*(-parseInt(_0x57482d(0x189))/0xb);if(_0x2f771f===_0x71ba94)break;else _0x4e5780['push'](_0x4e5780['shift']());}catch(_0x42c751){_0x4e5780['push'](_0x4e5780['shift']());}}}(_0x486b,0xbdeb7));export{addEnv}from'./addEnv.js';function _0x1c49(_0x25f16c,_0x201194){_0x25f16c=_0x25f16c-0x188;var _0x486bab=_0x486b();var _0x1c491a=_0x486bab[_0x25f16c];return _0x1c491a;}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';function _0x486b(){var _0x38f1c4=['28HoUQyC','1203670XdqiOR','7820216ZtJXxP','1451849WFtkvD','1288876JmQvwS','424545NGBnOh','42COJVgn','9GosXSl','132Bcmuwa','2554fyxrRc','121445HZBvwQ'];_0x486b=function(){return _0x38f1c4;};return _0x486b();}export{migrateProfile}from'./migrateProfile.js';
|