@ranger-testing/ranger-cli 2.5.4-alpha.0e8b82c-9 → 2.5.4-alpha.1b80607-25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -14
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -0
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -0
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -0
- package/build/skills/ranger/SKILL.md +24 -8
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +35 -10
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x17148e,_0xb1c35c){const _0x4e5652=_0x3e12,_0x45134b=_0x17148e();while(!![]){try{const _0x4b4ca0=-parseInt(_0x4e5652(0x27a))/0x1*(-parseInt(_0x4e5652(0x26d))/0x2)+parseInt(_0x4e5652(0x26f))/0x3+parseInt(_0x4e5652(0x250))/0x4+parseInt(_0x4e5652(0x1f7))/0x5*(parseInt(_0x4e5652(0x202))/0x6)+parseInt(_0x4e5652(0x244))/0x7*(parseInt(_0x4e5652(0x20e))/0x8)+-parseInt(_0x4e5652(0x24e))/0x9+parseInt(_0x4e5652(0x249))/0xa*(-parseInt(_0x4e5652(0x24a))/0xb);if(_0x4b4ca0===_0xb1c35c)break;else _0x45134b['push'](_0x45134b['shift']());}catch(_0x1adc57){_0x45134b['push'](_0x45134b['shift']());}}}(_0x234a,0xe79a0));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2dd850 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';function _0x3e12(_0x28964a,_0x11cd85){_0x28964a=_0x28964a-0x1ae;const _0x234a09=_0x234a();let _0x3e12e7=_0x234a09[_0x28964a];return _0x3e12e7;}import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x570b35=>'\x1b[1m'+_0x570b35+'\x1b[0m';function getGitRepoUrl(){const _0x77d073=_0x3e12,_0x3c980f={'Xvstz':function(_0x3fc4e0,_0x53f965,_0x3f7e27){return _0x3fc4e0(_0x53f965,_0x3f7e27);},'NxMmL':'git\x20remote\x20get-url\x20origin','vlvjc':_0x77d073(0x280)};try{const _0x3bbe8e=_0x3c980f[_0x77d073(0x1d5)](execSync,_0x3c980f[_0x77d073(0x24d)],{'encoding':_0x77d073(0x1dd),'stdio':[_0x3c980f[_0x77d073(0x287)],_0x3c980f[_0x77d073(0x287)],_0x3c980f['vlvjc']]})[_0x77d073(0x262)]();return _0x3bbe8e['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x77d073(0x24b))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x596914=_0x3e12,_0x53efd8={'WqabW':function(_0xc276b9,_0x3567af,_0x3a9948){return _0xc276b9(_0x3567af,_0x3a9948);},'NcpZn':_0x596914(0x1dd),'LQelt':_0x596914(0x280)};try{return _0x53efd8['WqabW'](execSync,_0x596914(0x21c),{'encoding':_0x53efd8['NcpZn'],'stdio':[_0x53efd8[_0x596914(0x1b3)],_0x596914(0x280),'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x42102d=_0x3e12,_0x58fc5c={'nZVSO':function(_0x550245,_0x162c4b,_0x3864e0){return _0x550245(_0x162c4b,_0x3864e0);},'iSySu':function(_0x57b6ac){return _0x57b6ac();},'AoIdi':function(_0xae3e84,_0x371689){return _0xae3e84(_0x371689);}},_0x272b9c=_0x58fc5c['nZVSO'](join,_0x58fc5c['iSySu'](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x58fc5c[_0x42102d(0x1b0)](existsSync,_0x272b9c))return null;try{const _0x2574e4=await _0x58fc5c['nZVSO'](readFile,_0x272b9c,'utf-8');return _0x2574e4[_0x42102d(0x262)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x481549){const _0x181ce3=_0x3e12,_0x3615a0={'gdmKf':function(_0xf4f0d9){return _0xf4f0d9();},'bNMQM':function(_0x36fcc4,_0x17c251,_0xe9bb68){return _0x36fcc4(_0x17c251,_0xe9bb68);},'EkdAz':function(_0x20d044,_0x5b4c58,_0x131d51,_0x70c762){return _0x20d044(_0x5b4c58,_0x131d51,_0x70c762);}},_0x470923=_0x3615a0['gdmKf'](getRangerDir),_0x1da3ea=join(_0x470923,ACTIVE_FEATURE_FILE);!existsSync(_0x470923)&&await _0x3615a0['bNMQM'](mkdir,_0x470923,{'recursive':!![]}),await _0x3615a0[_0x181ce3(0x258)](writeFile,_0x1da3ea,_0x481549,_0x181ce3(0x1dd));}function getProgressDisplay(_0x12f79f){const _0x18bafe=_0x3e12,_0xd61c1a={'wfjSa':function(_0x48eb0c,_0x4d7411){return _0x48eb0c+_0x4d7411;},'ifLFB':function(_0x3f3a10,_0xcf532b){return _0x3f3a10===_0xcf532b;},'hlxFA':function(_0xa2adbf,_0x58627c){return _0xa2adbf*_0x58627c;},'NWLSg':function(_0x36b0bf,_0x27e3fa){return _0x36b0bf/_0x27e3fa;},'nfiGI':function(_0x3daffe,_0x54287c){return _0x3daffe-_0x54287c;},'XKUdZ':function(_0x3a2f14,_0x19dc8a){return _0x3a2f14>_0x19dc8a;},'OQGkk':function(_0x35e485,_0x4572d1){return _0x35e485>_0x4572d1;}},_0x2b245c=_0x12f79f[_0x18bafe(0x1fe)]||0x0,_0x5429c5=_0x12f79f['verificationInProgressItems']||0x0,_0x160924=_0x12f79f[_0x18bafe(0x1bc)]||0x0,_0x1c1eee=_0x12f79f['incompleteItems']||0x0,_0xe7c52=_0x12f79f[_0x18bafe(0x23d)]||0x0,_0x55c4b1=_0xd61c1a['wfjSa'](_0x2b245c+_0x5429c5+_0x160924,_0x1c1eee)+_0xe7c52;if(_0xd61c1a['ifLFB'](_0x55c4b1,0x0))return'-';const _0x1d2b2e=0xa,_0x58e311=Math['round'](_0xd61c1a[_0x18bafe(0x1c7)](_0xd61c1a[_0x18bafe(0x1f6)](_0x2b245c,_0x55c4b1),_0x1d2b2e)),_0x14e331='█'[_0x18bafe(0x22d)](_0x58e311)+'░'['repeat'](_0xd61c1a['nfiGI'](_0x1d2b2e,_0x58e311)),_0x51575c=[];if(_0x160924>0x0)_0x51575c[_0x18bafe(0x1af)](_0x160924+_0x18bafe(0x209));if(_0xd61c1a['XKUdZ'](_0x1c1eee,0x0))_0x51575c[_0x18bafe(0x1af)](_0x1c1eee+'\x20incomplete');if(_0x5429c5>0x0)_0x51575c['push'](_0x5429c5+_0x18bafe(0x253));const _0x584f93=_0xd61c1a[_0x18bafe(0x1df)](_0x51575c[_0x18bafe(0x236)],0x0)?'\x20('+_0x51575c['join'](',\x20')+')':'';return _0x14e331+'\x20'+_0x2b245c+'/'+_0x55c4b1+'\x20verified'+_0x584f93;}function getCurrentSessionItems(_0x4d80ad,_0x2c2f22){const _0x3f0b94=_0x3e12;if(!_0x4d80ad[_0x3f0b94(0x205)])return _0x2c2f22[_0x3f0b94(0x234)](_0x3fa947=>!_0x3fa947[_0x3f0b94(0x1f9)]);return _0x2c2f22[_0x3f0b94(0x234)](_0x4699e6=>_0x4699e6['sessionId']===_0x4d80ad[_0x3f0b94(0x205)]||!_0x4699e6[_0x3f0b94(0x1f9)]);}function displayFeature(_0x536ad1,_0x2541b7){const _0x41f6cd=_0x3e12,_0xdb3889={'FBlpg':function(_0x3a25d8,_0x2502be){return _0x3a25d8(_0x2502be);},'vJFWO':function(_0x32f200,_0x3b524f){return _0x32f200>_0x3b524f;},'dYcfb':'\x0a\x20\x20\x20Scenarios:','MVBIA':function(_0x4f4b1f,_0x43f9ec){return _0x4f4b1f===_0x43f9ec;},'gQTEq':_0x41f6cd(0x286),'yABjF':_0x41f6cd(0x22c),'ZrvPq':_0x41f6cd(0x25a),'zNMdr':function(_0x1789ef,_0x4f9fe6){return _0x1789ef===_0x4f9fe6;},'NJTqe':'incomplete','DFnDl':function(_0x3de50f,_0x3469ad){return _0x3de50f===_0x3469ad;},'uiUrI':function(_0x5112ac,_0x35ca1e){return _0x5112ac===_0x35ca1e;},'guIPJ':_0x41f6cd(0x21a),'VmWRW':function(_0x3451f7,_0x4d677e){return _0x3451f7>_0x4d677e;},'Tzgog':function(_0x4a1e80,_0x34223b){return _0x4a1e80!==_0x34223b;},'WnSvs':function(_0x293450,_0x3ddbfe){return _0x293450+_0x3ddbfe;},'Bijhb':_0x41f6cd(0x1cf)};console[_0x41f6cd(0x23f)]('\x0a'+_0x536ad1['name']+'\x20('+_0x536ad1[_0x41f6cd(0x240)]+')');_0x536ad1[_0x41f6cd(0x24c)]&&console['log'](_0x41f6cd(0x1c2)+_0xdb3889[_0x41f6cd(0x1ec)](getProgressDisplay,_0x536ad1['stats']));_0x536ad1[_0x41f6cd(0x1bf)]&&console[_0x41f6cd(0x23f)](_0x41f6cd(0x207)+_0x536ad1[_0x41f6cd(0x1bf)]);_0x536ad1['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x536ad1[_0x41f6cd(0x272)]);_0x536ad1['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x536ad1[_0x41f6cd(0x227)]);console[_0x41f6cd(0x23f)](_0x41f6cd(0x1e1)+new Date(_0x536ad1[_0x41f6cd(0x25e)])[_0x41f6cd(0x1ce)]());_0x536ad1['completedAt']&&console[_0x41f6cd(0x23f)](_0x41f6cd(0x239)+new Date(_0x536ad1['completedAt'])['toLocaleString']());if(_0x2541b7&&_0xdb3889[_0x41f6cd(0x225)](_0x2541b7[_0x41f6cd(0x236)],0x0)){console[_0x41f6cd(0x23f)](_0xdb3889['dYcfb']);for(let _0x41ff65=0x0;_0x41ff65<_0x2541b7[_0x41f6cd(0x236)];_0x41ff65++){const _0x5e1c20=_0x2541b7[_0x41ff65];let _0x1bc5d5;if(_0xdb3889[_0x41f6cd(0x26c)](_0x5e1c20['status'],_0xdb3889[_0x41f6cd(0x248)])&&_0x5e1c20['terminalReason']===_0xdb3889['yABjF'])_0x1bc5d5='✅';else{if(_0x5e1c20[_0x41f6cd(0x229)]===_0xdb3889['ZrvPq'])_0x1bc5d5='🟢';else{if(_0xdb3889[_0x41f6cd(0x27e)](_0x5e1c20['status'],_0xdb3889['NJTqe']))_0x1bc5d5='🟠';else{if(_0xdb3889['DFnDl'](_0x5e1c20[_0x41f6cd(0x229)],_0x41f6cd(0x1cf)))_0x1bc5d5='🛑';else{if(_0x5e1c20[_0x41f6cd(0x229)]===_0x41f6cd(0x286))_0x1bc5d5='⛔';else _0xdb3889['uiUrI'](_0x5e1c20['status'],_0xdb3889[_0x41f6cd(0x218)])?_0x1bc5d5='⏳':_0x1bc5d5='⬜';}}}}const _0x18bde7=_0xdb3889[_0x41f6cd(0x24f)](_0x5e1c20['version'],0x1)?'\x20(v'+_0x5e1c20[_0x41f6cd(0x27d)]+')':'',_0x45c2d3=_0x5e1c20['version']>0x1&&_0x5e1c20['parentItemId']&&_0x5e1c20[_0x41f6cd(0x229)]!=='closed'&&_0xdb3889['Tzgog'](_0x5e1c20['status'],_0xdb3889['ZrvPq'])?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0xdb3889['WnSvs'](_0x41ff65,0x1)+'.\x20'+_0x1bc5d5+'\x20'+_0x5e1c20[_0x41f6cd(0x1bf)]+_0x18bde7+_0x45c2d3);_0x5e1c20[_0x41f6cd(0x229)]===_0xdb3889['Bijhb']&&_0x5e1c20[_0x41f6cd(0x222)]&&console[_0x41f6cd(0x23f)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x5e1c20[_0x41f6cd(0x222)]);_0x5e1c20['status']===_0xdb3889[_0x41f6cd(0x211)]&&_0x5e1c20['incompleteReason']&&console[_0x41f6cd(0x23f)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x5e1c20[_0x41f6cd(0x1cc)]);if(_0x5e1c20[_0x41f6cd(0x229)]===_0x41f6cd(0x286)&&_0x5e1c20[_0x41f6cd(0x204)]==='approved')console[_0x41f6cd(0x23f)]('\x20\x20\x20\x20\x20\x20Approved');else _0x5e1c20['status']===_0xdb3889['gQTEq']&&_0x5e1c20[_0x41f6cd(0x265)]&&console['log'](_0x41f6cd(0x23b)+_0x5e1c20[_0x41f6cd(0x265)]);}}}export async function featureCreate(_0xcd867a,_0x214ff5){const _0x1658e9=_0x3e12,_0xc8da51={'URxCh':function(_0x591562,_0x14e834){return _0x591562===_0x14e834;},'DOnhG':function(_0x43f897){return _0x43f897();},'qYuXt':function(_0x3b5113,_0x1e3299){return _0x3b5113(_0x1e3299);},'AyRry':function(_0x1ba674){return _0x1ba674();},'HqnBm':_0x1658e9(0x233),'YSNMJ':function(_0x21391c,_0x1f545c){return _0x21391c(_0x1f545c);},'JMQNc':function(_0xb0fc73,_0x3a58c0,_0x42383d){return _0xb0fc73(_0x3a58c0,_0x42383d);}},{envNames:_0x233473}=await getEnvNames();if(_0xc8da51[_0x1658e9(0x1ff)](_0x233473['length'],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x3d0af0=0x0;try{_0x3d0af0=(await _0xc8da51[_0x1658e9(0x1eb)](listCloudProfiles))['length'];}catch{_0x3d0af0=0x1;}_0x3d0af0===0x0&&console['warn']('\x0a'+_0xc8da51['qYuXt'](formatProfileRequiredMessage,_0x262290=>bold(_0x262290)));}const _0x1b83c2=_0x214ff5[_0x1658e9(0x223)]?_0x214ff5[_0x1658e9(0x223)]['map'](_0x3b48ee=>_0x3b48ee[_0x1658e9(0x262)]()):[],_0x5d73b9=_0xc8da51['DOnhG'](getGitRepoUrl),_0x2e691d=_0xc8da51['AyRry'](getGitBranch);console['log'](_0xc8da51['HqnBm']);const _0x23011c=await createFeature({'name':_0xcd867a,'description':_0x214ff5[_0x1658e9(0x1bf)],'checklist':_0x1b83c2,'gitRepoUrl':_0x5d73b9,'gitBranch':_0x2e691d});await _0xc8da51['qYuXt'](setActiveFeatureId,_0x23011c['id']),await _0xc8da51['YSNMJ'](tryStartCurrentSession,_0x23011c['id']);const _0x2e91ce=process[_0x1658e9(0x255)]['CLAUDE_SESSION_ID'];_0x2e91ce&®isterSession(_0x2e91ce,_0x23011c['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x23011c['id']),_0xc8da51['JMQNc'](displayFeature,_0x23011c,_0x23011c['checklistItems']),console[_0x1658e9(0x23f)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x19a78b){const _0x14141f=_0x3e12,_0x5281e3={'npbyI':function(_0xa5c4a1,_0x2ddcbb){return _0xa5c4a1===_0x2ddcbb;},'EeSvY':function(_0x5d39f0,_0x46fa19){return _0x5d39f0>_0x46fa19;},'dWSDr':function(_0x372e28,_0x429513){return _0x372e28(_0x429513);},'siZWS':function(_0x1b5aac,_0x2102db){return _0x1b5aac+_0x2102db;},'lAYxf':function(_0x4ea04c,_0x556171){return _0x4ea04c!==_0x556171;},'tNXXG':_0x14141f(0x252),'DVmzv':_0x14141f(0x1bb)},_0x115a23={'limit':_0x19a78b[_0x14141f(0x26e)]??0xa,'offset':_0x19a78b['offset']??0x0,'includeDeleted':_0x19a78b['includeDeleted']};_0x19a78b['currentBranch']&&(_0x115a23['gitRepoUrl']=getGitRepoUrl(),_0x115a23['gitBranch']=getGitBranch());const _0x2ec44b=await listFeatures(_0x115a23);if(_0x5281e3['npbyI'](_0x2ec44b['items'][_0x14141f(0x236)],0x0)){console[_0x14141f(0x23f)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x2318c3=_0x5281e3['EeSvY'](_0x2ec44b[_0x14141f(0x1ea)],_0x2ec44b[_0x14141f(0x1f8)][_0x14141f(0x236)])?_0x14141f(0x212)+_0x2ec44b[_0x14141f(0x1f8)][_0x14141f(0x236)]+'\x20of\x20'+_0x2ec44b['totalCount']:_0x2ec44b['totalCount']+_0x14141f(0x1e7);console[_0x14141f(0x23f)]('\x0a'+_0x2318c3+':\x0a');for(const _0x824a1c of _0x2ec44b[_0x14141f(0x1f8)]){console[_0x14141f(0x23f)](''+_0x824a1c[_0x14141f(0x27c)]),console[_0x14141f(0x23f)](_0x14141f(0x27f)+_0x824a1c['id']),_0x824a1c['stats']&&console['log']('\x20\x20\x20Progress:\x20'+_0x5281e3[_0x14141f(0x1e4)](getProgressDisplay,_0x824a1c['stats'])),_0x824a1c['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x824a1c['gitBranch']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x824a1c[_0x14141f(0x25e)])[_0x14141f(0x246)]()),console['log']('');}const _0x1f01af=_0x115a23['limit']??0xa,_0xb59de8=_0x5281e3['siZWS'](_0x115a23[_0x14141f(0x20d)]??0x0,_0x2ec44b[_0x14141f(0x1f8)][_0x14141f(0x236)]);if(_0xb59de8<_0x2ec44b['totalCount']){const _0x542c38=_0x5281e3[_0x14141f(0x23a)](_0x1f01af,0xa)?_0x14141f(0x1cb)+_0x1f01af:'',_0x44a8ee=_0x19a78b[_0x14141f(0x1b5)]?_0x5281e3[_0x14141f(0x254)]:'',_0x5e69d6=_0x19a78b['includeDeleted']?_0x5281e3['DVmzv']:'';console[_0x14141f(0x23f)](_0x14141f(0x1f3)+_0xb59de8+_0x542c38+_0x44a8ee+_0x5e69d6);}}export async function featureShow(_0x219cc2){const _0x137b94=_0x3e12,_0xa47016={'mdkol':function(_0x1ce0cd){return _0x1ce0cd();},'hQxIo':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hFaKj':function(_0x4cbe95,_0x5ee771){return _0x4cbe95(_0x5ee771);}},_0x526d69=_0x219cc2||await _0xa47016['mdkol'](getActiveFeatureId);if(!_0x526d69)throw new Error(_0xa47016['hQxIo']);const _0x5ab295=await _0xa47016[_0x137b94(0x1b2)](getFeature,_0x526d69);displayFeature(_0x5ab295,_0x5ab295['checklistItems']);}export async function featureResume(_0x3901dc){const _0x2492a7=_0x3e12,_0x5439e0={'cHROF':function(_0x4ef289,_0x5a9a34){return _0x4ef289(_0x5a9a34);},'xgpsp':function(_0x3caac8,_0x4428f9){return _0x3caac8(_0x4428f9);},'KOLlu':function(_0x199184){return _0x199184();},'VKSGj':function(_0x55553e,_0x4d7b36){return _0x55553e(_0x4d7b36);},'flgvr':function(_0x57dbeb){return _0x57dbeb();},'TstaH':_0x2492a7(0x232),'qfTVm':_0x2492a7(0x235),'pubtf':function(_0xecfb4d,_0x5a7343){return _0xecfb4d(_0x5a7343);},'SIeoR':_0x2492a7(0x1e8),'qVdiQ':_0x2492a7(0x22f),'CdWPI':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','YSPGD':function(_0xe11a2d,_0x2ffd60){return _0xe11a2d!==_0x2ffd60;},'IVddE':function(_0x33c52d,_0x14a48c,_0x1e714c){return _0x33c52d(_0x14a48c,_0x1e714c);}};if(_0x3901dc){const _0x414a7c=await _0x5439e0[_0x2492a7(0x1b6)](getFeature,_0x3901dc);await _0x5439e0[_0x2492a7(0x21e)](setActiveFeatureId,_0x414a7c['id']);const _0x3f8dfd=_0x5439e0['KOLlu'](getGitBranch);_0x3f8dfd&&_0x3f8dfd!==_0x414a7c[_0x2492a7(0x227)]&&(await updateFeature(_0x414a7c['id'],{'gitBranch':_0x3f8dfd}),console[_0x2492a7(0x23f)](_0x2492a7(0x1b9)+_0x3f8dfd));console[_0x2492a7(0x23f)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x414a7c['name']+'\x20('+_0x414a7c['id']+')'),await _0x5439e0[_0x2492a7(0x21e)](tryStartCurrentSession,_0x414a7c['id']);const _0xdea15d=process[_0x2492a7(0x255)]['CLAUDE_SESSION_ID'];_0xdea15d&®isterSession(_0xdea15d,_0x414a7c['id']);displayFeature(_0x414a7c,_0x414a7c[_0x2492a7(0x22a)]),await _0x5439e0[_0x2492a7(0x241)](printFeedbackNudge,_0x414a7c['id']);return;}const _0xbfc6df=getGitRepoUrl(),_0x4d06c9=_0x5439e0['flgvr'](getGitBranch);if(!_0xbfc6df&&!_0x4d06c9)throw new Error(_0x2492a7(0x1fa));console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0xbfc6df||_0x5439e0[_0x2492a7(0x1b4)])+'\x20/\x20'+(_0x4d06c9||'any')+_0x2492a7(0x260));const _0x4d210f=await _0x5439e0[_0x2492a7(0x1b6)](listFeatures,{'gitRepoUrl':_0xbfc6df,'gitBranch':_0x4d06c9}),_0x3bca1a=_0x4d210f[_0x2492a7(0x1f8)][_0x2492a7(0x234)](_0xa24239=>_0xa24239[_0x2492a7(0x229)]?_0xa24239[_0x2492a7(0x229)]!=='verified':!_0xa24239[_0x2492a7(0x274)]);if(_0x3bca1a['length']===0x0){console['log'](_0x2492a7(0x1e9)),console[_0x2492a7(0x23f)](_0x5439e0[_0x2492a7(0x26a)]);return;}let _0x220c7c;if(_0x3bca1a['length']===0x1)_0x220c7c=_0x3bca1a[0x0];else{const _0x378e58=process[_0x2492a7(0x25d)]['isTTY']&&process['stdout'][_0x2492a7(0x273)];if(!_0x378e58){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0xd1cb66 of _0x3bca1a){console[_0x2492a7(0x23f)]('\x20\x20'+_0xd1cb66[_0x2492a7(0x27c)]),console['log'](_0x2492a7(0x21f)+_0xd1cb66['id']),_0xd1cb66['stats']&&console['log'](_0x2492a7(0x268)+_0x5439e0['pubtf'](getProgressDisplay,_0xd1cb66[_0x2492a7(0x24c)])),_0xd1cb66['gitBranch']&&console[_0x2492a7(0x23f)](_0x2492a7(0x1b1)+_0xd1cb66['gitBranch']);}throw new Error(_0x2492a7(0x25b));}const {selected:_0x437819}=await _0x2dd850['prompt']([{'type':_0x5439e0['SIeoR'],'name':_0x5439e0['qVdiQ'],'message':_0x5439e0[_0x2492a7(0x206)],'choices':_0x3bca1a[_0x2492a7(0x1de)](_0x3f932a=>({'name':_0x3f932a[_0x2492a7(0x27c)]+'\x20('+_0x3f932a['id']+')','value':_0x3f932a['id']}))}]);_0x220c7c=_0x3bca1a['find'](_0x4305d9=>_0x4305d9['id']===_0x437819);}await setActiveFeatureId(_0x220c7c['id']);_0x4d06c9&&_0x5439e0['YSPGD'](_0x4d06c9,_0x220c7c['gitBranch'])&&(await updateFeature(_0x220c7c['id'],{'gitBranch':_0x4d06c9}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x4d06c9));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x220c7c['name']+'\x20('+_0x220c7c['id']+')'),await tryStartCurrentSession(_0x220c7c['id']);const _0x145244=await _0x5439e0['pubtf'](getFeature,_0x220c7c['id']),_0x3de6d8=process['env']['CLAUDE_SESSION_ID'];_0x3de6d8&&_0x5439e0['IVddE'](registerSession,_0x3de6d8,_0x145244['id']),displayFeature(_0x145244,_0x145244[_0x2492a7(0x22a)]),await printFeedbackNudge(_0x145244['id']);}async function printFeedbackNudge(_0x38d075){const _0x1dfed4=_0x3e12,_0x315ceb={'OopRt':function(_0x270dd3,_0x4d03a9){return _0x270dd3>_0x4d03a9;}};try{const {items:_0x2c2636}=await getActionItems(_0x38d075);let _0x475717=0x0,_0x148513=0x0;for(const _0x2cfffc of _0x2c2636){const _0x3f87c3=await getItemFeedback(_0x38d075,_0x2cfffc['id']);_0x315ceb[_0x1dfed4(0x257)](_0x3f87c3['unaddressedComments']['length'],0x0)&&(_0x475717+=_0x3f87c3['unaddressedComments'][_0x1dfed4(0x236)],_0x148513++);}_0x315ceb['OopRt'](_0x475717,0x0)&&(console['log'](_0x1dfed4(0x1c3)+_0x475717+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x148513+_0x1dfed4(0x216)),console['log'](_0x1dfed4(0x281)));}catch{}}async function tryStartCurrentSession(_0x528962){const _0x36de0b=_0x3e12,_0x484a8d={'IRSQg':function(_0x32bcc5,_0x3d0cd9){return _0x32bcc5(_0x3d0cd9);}};try{const {sessions:_0x4029ca}=await _0x484a8d['IRSQg'](listFeatureSessions,_0x528962),_0x129143=_0x4029ca[_0x36de0b(0x1d2)](_0x28d8a3=>_0x28d8a3[_0x36de0b(0x229)]==='ready');_0x129143&&(await startSession(_0x528962,_0x129143['id']),console[_0x36de0b(0x23f)](_0x36de0b(0x228)+_0x129143[_0x36de0b(0x22e)]));}catch{}}export async function featureReport(_0x474c33,_0x456f08){const _0x134b60=_0x3e12,_0x4b8530={'wzERG':_0x134b60(0x1ef),'eSRSS':function(_0x58f270,_0x2f07ba,_0x57b489){return _0x58f270(_0x2f07ba,_0x57b489);},'pncNQ':function(_0x12150e){return _0x12150e();},'TaapT':function(_0x3960ae,_0x4aa587){return _0x3960ae(_0x4aa587);},'mWAAn':function(_0x345de2,_0x1c62f7,_0x2ca570,_0x406586){return _0x345de2(_0x1c62f7,_0x2ca570,_0x406586);},'PehiT':_0x134b60(0x1dd)},_0x401aaf=_0x474c33||await getActiveFeatureId();if(!_0x401aaf)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x134b60(0x23f)](_0x4b8530['wzERG']);const _0x34472d=await _0x4b8530[_0x134b60(0x1b8)](getFeatureReportMarkdown,_0x401aaf,{'style':_0x456f08[_0x134b60(0x270)]}),_0x24e761=_0x456f08['output']||join(_0x4b8530[_0x134b60(0x210)](getRangerDir),'reports',_0x401aaf+'.md'),_0x27701e=join(_0x24e761,'..');!_0x4b8530['TaapT'](existsSync,_0x27701e)&&await mkdir(_0x27701e,{'recursive':!![]}),await _0x4b8530['mWAAn'](writeFile,_0x24e761,_0x34472d,_0x4b8530['PehiT']),console['log'](_0x134b60(0x256)+_0x24e761);}function getScenarioResult(_0x3c49ca){const _0x5f1b96=_0x3e12,_0x3c7235={'odNuR':'closed','QcZsM':'verification_in_progress','njgUY':_0x5f1b96(0x1e2)};if(_0x3c49ca['status']===_0x3c7235[_0x5f1b96(0x1d6)])return _0x3c49ca['terminalReason']??_0x3c7235['odNuR'];if(_0x3c49ca[_0x5f1b96(0x229)]===_0x3c7235['QcZsM'])return _0x3c7235[_0x5f1b96(0x1da)];return _0x3c49ca['status'];}function getScenarioRationale(_0x2c5bdb,_0x5ee42d){const _0x5e1457=_0x3e12;if(_0x5ee42d)return _0x5ee42d;if(_0x2c5bdb['blockedReason'])return _0x2c5bdb['blockedReason'];if(_0x2c5bdb[_0x5e1457(0x1cc)])return _0x2c5bdb['incompleteReason'];if(_0x2c5bdb[_0x5e1457(0x265)])return _0x2c5bdb['canceledReason'];if(_0x2c5bdb['notes'])return _0x2c5bdb[_0x5e1457(0x271)];return null;}export async function featureReportPrDescription(_0x49b438,_0x37f7ba){const _0x39d4cc=_0x3e12,_0x40f454={'DYuNb':_0x39d4cc(0x238),'Jvrtf':function(_0x1226b0,_0x3e456a,_0x5a4e01){return _0x1226b0(_0x3e456a,_0x5a4e01);},'LXxUI':function(_0x46298f,_0x55185e){return _0x46298f===_0x55185e;},'vrXvA':'\x0aAvailable\x20scenarios:','WVSPr':function(_0x17c08e,_0x30d557){return _0x17c08e<_0x30d557;},'YPRuQ':function(_0x3530bb,_0x582a5d,_0x6a8746,_0x165273){return _0x3530bb(_0x582a5d,_0x6a8746,_0x165273);}},_0x161615=_0x49b438||await getActiveFeatureId();if(!_0x161615)throw new Error(_0x40f454['DYuNb']);const _0x52ab49=await getFeature(_0x161615),_0x2efa0b=_0x52ab49['checklistItems']||[],_0x5d8e00=_0x40f454['Jvrtf'](getCurrentSessionItems,_0x52ab49,_0x2efa0b);_0x40f454['LXxUI'](_0x5d8e00['length'],0x0)&&(console[_0x39d4cc(0x21d)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x3eb2bc=_0x37f7ba[_0x39d4cc(0x226)]??[],_0x2b2058=_0x3eb2bc[_0x39d4cc(0x234)](_0x232497=>!Number['isInteger'](_0x232497)||_0x232497<0x1||_0x232497>_0x5d8e00[_0x39d4cc(0x236)]);if(_0x2b2058[_0x39d4cc(0x236)]>0x0){console[_0x39d4cc(0x21d)](_0x39d4cc(0x245)+_0x2b2058['join'](',\x20')),console['log'](_0x40f454[_0x39d4cc(0x278)]);for(let _0x23e44b=0x0;_0x40f454['WVSPr'](_0x23e44b,_0x5d8e00['length']);_0x23e44b++){console['log']('\x20\x20'+(_0x23e44b+0x1)+'.\x20'+_0x5d8e00[_0x23e44b]['description']);}process['exit'](0x1);}const _0x17ce00=new Set(_0x3eb2bc['map'](_0x428f38=>_0x428f38-0x1)),_0x35aaa7=_0x5d8e00[_0x39d4cc(0x234)]((_0x112b4e,_0x171288)=>!_0x17ce00['has'](_0x171288));_0x35aaa7[_0x39d4cc(0x236)]===0x0&&(console[_0x39d4cc(0x21d)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process['exit'](0x1));if(_0x37f7ba[_0x39d4cc(0x267)])await _0x40f454['YPRuQ'](outputJsonReport,_0x161615,_0x52ab49,_0x35aaa7);else{const _0x1f310e=await getFeatureReportMarkdown(_0x161615,{'itemIds':_0x35aaa7['map'](_0x2c4710=>_0x2c4710['id'])});process[_0x39d4cc(0x264)]['write'](_0x1f310e['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x153dc2,_0x3177fd,_0x23e9aa){const _0x1fd612=_0x3e12,_0x42d540={'TeLND':function(_0x3186b6,_0x21d8b0){return _0x3186b6(_0x21d8b0);},'KQLzy':function(_0x2e89c0,_0x5a9330){return _0x2e89c0===_0x5a9330;},'YrFCR':function(_0x5071d5,_0x2527a2){return _0x5071d5(_0x2527a2);},'NbKXx':function(_0x1b6c3f,_0xec6228){return _0x1b6c3f+_0xec6228;}},_0x54898d=getApiBaseUrl(),_0x3f3e88=await getFeatureReport(_0x153dc2),_0xef0637=new Map(_0x3f3e88[_0x1fd612(0x22a)]['map'](_0xd8c58e=>[_0xd8c58e['id'],_0xd8c58e])),_0x188fa6=await Promise['all'](_0x23e9aa['map'](async _0x1c03ff=>{const _0x5a3a13=_0x1fd612,_0x29bfef=_0xef0637[_0x5a3a13(0x20f)](_0x1c03ff['id']),_0x5e122a=_0x29bfef?.['linkedSession']??null;let _0x5e8e45=[];if(_0x1c03ff[_0x5a3a13(0x27b)])try{const {steps:_0x22ff4e}=await _0x42d540['TeLND'](getBrowserSessionSteps,_0x1c03ff[_0x5a3a13(0x27b)]);_0x22ff4e[_0x5a3a13(0x236)]>0x0&&(_0x5e8e45=_0x22ff4e[_0x5a3a13(0x1de)](_0x11a9d5=>{const _0x1b1761=_0x5a3a13,_0x1e9ab0=_0x11a9d5[_0x1b1761(0x237)][_0x1b1761(0x1d2)](_0x5b5db6=>_0x5b5db6[_0x1b1761(0x263)]==='screenshot'&&_0x5b5db6['timing']==='after')??_0x11a9d5['assets']['find'](_0x385ebe=>_0x385ebe[_0x1b1761(0x263)]===_0x1b1761(0x266));let _0x411a90=null,_0x5be7ff=null;if(_0x1e9ab0){const _0x3363cb=_0x1e9ab0[_0x1b1761(0x1d4)]['location']['split']('/')['pop']();_0x411a90=_0x54898d+'/api/v1/mcp/browser-sessions/'+_0x1c03ff[_0x1b1761(0x27b)]+'/artifacts/'+_0x3363cb,_0x3363cb&&(_0x5be7ff=_0x3363cb[_0x1b1761(0x1fc)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x1b1761(0x1fc)](/[-_]/g,'\x20'));}return{'description':_0x5be7ff||_0x11a9d5[_0x1b1761(0x1bf)]||_0x11a9d5['stepName']||'Step\x20'+_0x11a9d5[_0x1b1761(0x261)],'screenshot':_0x411a90,'is_key_step':_0x11a9d5[_0x1b1761(0x1c4)]};}));}catch{}return _0x42d540['KQLzy'](_0x5e8e45[_0x5a3a13(0x236)],0x0)&&_0x5e122a?.['screenshotUrls']&&(_0x5e8e45=_0x5e122a[_0x5a3a13(0x231)][_0x5a3a13(0x1de)]((_0x85436f,_0x57136b)=>({'description':'Screenshot\x20'+(_0x57136b+0x1),'screenshot':_0x85436f,'is_key_step':![]}))),{'description':_0x1c03ff['description'],'result':_0x42d540['YrFCR'](getScenarioResult,_0x1c03ff),'rationale':getScenarioRationale(_0x1c03ff,_0x5e122a?.[_0x5a3a13(0x1f5)]),'steps':_0x5e8e45};})),_0x67f435={'url':_0x3177fd[_0x1fd612(0x240)],'scenarios':_0x188fa6};process['stdout']['write'](_0x42d540['NbKXx'](JSON['stringify'](_0x67f435,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x312628){const _0x34eccb=_0x3e12,_0x3f1e2e={'bRJdJ':function(_0x58ec34){return _0x58ec34();},'dTRkP':function(_0x1d8bca,_0x1c5392){return _0x1d8bca(_0x1c5392);},'Xmxgr':_0x34eccb(0x215),'JhozF':'in_progress'},_0x264858=_0x312628||await _0x3f1e2e['bRJdJ'](getActiveFeatureId);if(!_0x264858)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 _0x41a24a=await _0x3f1e2e['dTRkP'](getFeature,_0x264858);if(!_0x41a24a['currentSessionId'])throw new Error(_0x3f1e2e[_0x34eccb(0x230)]);const {sessions:_0x89e64d}=await listFeatureSessions(_0x264858),_0x6033a3=_0x89e64d['find'](_0x409dc4=>_0x409dc4['id']===_0x41a24a['currentSessionId']);if(!_0x6033a3)throw new Error('Current\x20session\x20not\x20found.');if(_0x6033a3[_0x34eccb(0x229)]==='completed'){console['log'](_0x34eccb(0x1bd));return;}if(_0x6033a3['status']!==_0x3f1e2e['JhozF'])throw new Error(_0x34eccb(0x200)+_0x6033a3['status']);console[_0x34eccb(0x23f)](_0x34eccb(0x217)),await concludeSession(_0x264858,_0x41a24a[_0x34eccb(0x205)]),console[_0x34eccb(0x23f)]('\x0a✅\x20Session\x20'+_0x6033a3[_0x34eccb(0x22e)]+'\x20concluded.'),console[_0x34eccb(0x23f)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}function _0x234a(){const _0x575e07=['Showing\x20','submittedAt','yMaGh','No\x20active\x20session\x20for\x20this\x20feature\x20review.','\x20scenario(s).','\x0aConcluding\x20session...','guIPJ','\x20\x20✅\x20No\x20feedback\x20to\x20address','verification_in_progress','Unknown','git\x20rev-parse\x20--abbrev-ref\x20HEAD','error','xgpsp','\x20\x20\x20\x20\x20ID:\x20','pxGDE','LzHIs','blockedReason','scenarios','join','vJFWO','excludeScenarios','gitBranch','\x20\x20\x20▶️\x20Started\x20session\x20','status','checklistItems','spatial','approved','repeat','iteration','selected','Xmxgr','screenshotUrls','any','\x0aCreating\x20feature\x20review...','filter','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','length','assets','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20Completed:\x20','lAYxf','\x20\x20\x20\x20\x20\x20Cancelled:\x20','split','pendingItems','authorEmail','log','dashboardUrl','VKSGj','feedback-images','zaEhn','7vqjqDH','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','toLocaleDateString','\x0a✅\x20Scenario\x20added','gQTEq','10gIhttG','24247586QRawDG','github.com/','stats','NxMmL','12942819CQYBHH','VmWRW','7291252ZOKkhe','vdkVr','\x20--current-branch','\x20in\x20progress','tNXXG','env','\x0a✅\x20Report\x20generated:\x20','OopRt','EkdAz','domRef','verified','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','BRzQJ','stdin','createdAt','NcxAh','...','position','trim','assetType','stdout','canceledReason','screenshot','json','\x20\x20\x20\x20\x20Progress:\x20','en-US','qfTVm','YGVjN','MVBIA','863524ZGbZJc','limit','580374UGQnWP','style','notes','gitRepoUrl','isTTY','completedAt','point','vjLGI','coordinates','vrXvA','\x20\x20Expected\x20flow:','1FUpXVg','browserSessionId','name','version','zNMdr','\x20\x20\x20ID:\x20','pipe','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','No\x20sessions\x20found.','type','ofirE','RCjEC','closed','vlvjc','element','scenario','push','AoIdi','\x20\x20\x20\x20\x20Branch:\x20','hFaKj','LQelt','TstaH','currentBranch','cHROF','textContent','eSRSS','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20>\x20','\x20--include-deleted','blockedItems','\x0a✅\x20Session\x20is\x20already\x20completed.','.\x20Feature\x20review\x20has\x20','description','RnVEr','dCBbP','\x20\x20\x20Progress:\x20','\x0a⚠️\x20\x20','isKeyStep','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','unaddressedComments','hlxFA','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','short','\x0aAvailable\x20scenarios:','\x20--limit\x20','incompleteReason','toFixed','toLocaleString','blocked','\x20\x20💬\x20','hxlHX','find','oTJIG','storage','Xvstz','odNuR','exit','canonicalFlow','pxqLH','njgUY','LGtNC','wvAYh','utf-8','map','OQGkk','TLWho','\x20\x20\x20Created:\x20','in_progress','numeric','dWSDr','\x0a✅\x20Restored\x20feature\x20review:\x20','cCROA','\x20feature\x20review(s)\x20found','list','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','totalCount','DOnhG','FBlpg','selector','\x20unaddressed\x20comment(s)','\x0aGenerating\x20report...','):\x20\x22','Scenario\x20','\x20at\x20[','Next\x20page:\x20ranger\x20list\x20--offset\x20','gzclu','agentResponse','NWLSg','4799365SXAdVh','items','sessionId','Not\x20in\x20a\x20git\x20repository.','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','replace','XdheT','verifiedItems','URxCh','Cannot\x20conclude\x20session\x20with\x20status:\x20','xyRcD','6HBHtBj','bLrlF','terminalReason','currentSessionId','CdWPI','\x20\x20\x20Description:\x20','Please\x20finish\x20your\x20review\x20first:','\x20blocked','latestReview','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','offset','9465208fdZsnR','get','pncNQ','NJTqe'];_0x234a=function(){return _0x575e07;};return _0x234a();}export async function featureSessions(_0x4370ac){const _0x41960e=_0x3e12,_0x4235a6={'TLWho':function(_0x2ff9fd){return _0x2ff9fd();},'pxGDE':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','xyRcD':function(_0x506f99,_0x177453){return _0x506f99(_0x177453);},'oTJIG':function(_0xd0331c,_0x55efa3){return _0xd0331c===_0x55efa3;},'BRzQJ':_0x41960e(0x1e2)},_0x40e26b=_0x4370ac||await _0x4235a6[_0x41960e(0x1e0)](getActiveFeatureId);if(!_0x40e26b)throw new Error(_0x4235a6[_0x41960e(0x220)]);const _0x566804=await _0x4235a6[_0x41960e(0x201)](getFeature,_0x40e26b);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x566804[_0x41960e(0x27c)]+'\x0a');const {sessions:_0x115cfc}=await listFeatureSessions(_0x40e26b);if(_0x115cfc[_0x41960e(0x236)]===0x0){console[_0x41960e(0x23f)](_0x41960e(0x282));return;}for(const _0x5d3831 of _0x115cfc){const _0x1aadb5=_0x4235a6[_0x41960e(0x1d3)](_0x5d3831[_0x41960e(0x229)],'completed')?'✅':_0x4235a6[_0x41960e(0x1d3)](_0x5d3831['status'],_0x4235a6[_0x41960e(0x25c)])?'🔄':'▶️';console['log'](_0x1aadb5+'\x20Session\x20'+_0x5d3831[_0x41960e(0x22e)]+'\x20('+_0x5d3831['id']+')'),console[_0x41960e(0x23f)]('\x20\x20\x20Status:\x20'+_0x5d3831[_0x41960e(0x229)]),console['log'](_0x41960e(0x1e1)+new Date(_0x5d3831[_0x41960e(0x25e)])[_0x41960e(0x1ce)]()),_0x5d3831['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x5d3831[_0x41960e(0x274)])[_0x41960e(0x1ce)]()),console['log']('');}}export async function featureAddScenario(_0x5f3c46,_0x2f3f67){const _0x5954fd=_0x3e12,_0x369297={'XMCqg':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZCbtv':function(_0x4dc4f3,_0x306f2c){return _0x4dc4f3(_0x306f2c);},'QKDlY':function(_0x56815c,_0x6eadde,_0x4708a3){return _0x56815c(_0x6eadde,_0x4708a3);}},_0x33b806=_0x2f3f67||await getActiveFeatureId();if(!_0x33b806)throw new Error(_0x369297['XMCqg']);const _0x256505=await _0x369297['ZCbtv'](getFeature,_0x33b806);if(_0x256505[_0x5954fd(0x20a)]&&!_0x256505['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x256505['dashboardUrl']);await _0x369297['QKDlY'](createChecklistItem,_0x33b806,_0x5f3c46);const _0x139ca9=await getFeature(_0x33b806);console['log'](_0x5954fd(0x247)),displayFeature(_0x139ca9,_0x139ca9[_0x5954fd(0x22a)]);}export async function featureEditScenario(_0x3c4e19,_0x30238f){const _0x539b90=_0x3e12,_0x1ce82b={'YGVjN':_0x539b90(0x1c5),'ofirE':_0x539b90(0x1c8),'XJjIN':_0x539b90(0x1fb),'dCBbP':_0x539b90(0x208),'vjLGI':function(_0x381225,_0x43cca2){return _0x381225===_0x43cca2;},'VIhNL':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','GeKLp':function(_0x8b850,_0x5b76bb){return _0x8b850===_0x5b76bb;},'wvAYh':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','CgKnB':function(_0x3bce36,_0x54e371){return _0x3bce36+_0x54e371;},'riJdX':function(_0x3ab196,_0x1cf913){return _0x3ab196-_0x1cf913;},'pxqLH':function(_0x9d7266,_0xca421c){return _0x9d7266>=_0xca421c;},'hxlHX':_0x539b90(0x1ca),'JHrFm':function(_0x440a4a,_0x3ec067){return _0x440a4a<_0x3ec067;},'riuOY':function(_0x533bca,_0x2df339){return _0x533bca(_0x2df339);}},_0x434e0a=_0x30238f['id']||await getActiveFeatureId();!_0x434e0a&&(console[_0x539b90(0x21d)](_0x1ce82b[_0x539b90(0x26b)]),console[_0x539b90(0x21d)](_0x1ce82b[_0x539b90(0x284)]),process['exit'](0x1));const _0x131671=await getFeature(_0x434e0a);_0x131671['latestReview']&&!_0x131671[_0x539b90(0x20a)][_0x539b90(0x213)]&&(console['error'](_0x1ce82b['XJjIN']),console['error'](_0x1ce82b[_0x539b90(0x1c1)]),console['error']('\x20\x20'+_0x131671['dashboardUrl']),process['exit'](0x1));const _0x53dc5f=_0x131671['checklistItems']||[];_0x1ce82b[_0x539b90(0x276)](_0x53dc5f[_0x539b90(0x236)],0x0)&&(console['error'](_0x1ce82b['VIhNL']),process[_0x539b90(0x1d7)](0x1));if(_0x1ce82b['GeKLp'](_0x30238f[_0x539b90(0x1ae)],undefined)){console[_0x539b90(0x21d)](_0x1ce82b[_0x539b90(0x1dc)]),console[_0x539b90(0x23f)](_0x539b90(0x1ca));for(let _0x1189cc=0x0;_0x1189cc<_0x53dc5f['length'];_0x1189cc++){console['log']('\x20\x20'+_0x1ce82b['CgKnB'](_0x1189cc,0x1)+'.\x20'+_0x53dc5f[_0x1189cc][_0x539b90(0x1bf)]);}process[_0x539b90(0x1d7)](0x1);}const _0x57f8da=_0x1ce82b['riJdX'](_0x30238f[_0x539b90(0x1ae)],0x1);if(_0x57f8da<0x0||_0x1ce82b[_0x539b90(0x1d9)](_0x57f8da,_0x53dc5f[_0x539b90(0x236)])){console[_0x539b90(0x21d)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x30238f['scenario']+_0x539b90(0x1be)+_0x53dc5f[_0x539b90(0x236)]+'\x20scenarios.'),console[_0x539b90(0x23f)](_0x1ce82b[_0x539b90(0x1d1)]);for(let _0xbffa2b=0x0;_0x1ce82b['JHrFm'](_0xbffa2b,_0x53dc5f[_0x539b90(0x236)]);_0xbffa2b++){console['log']('\x20\x20'+(_0xbffa2b+0x1)+'.\x20'+_0x53dc5f[_0xbffa2b]['description']);}process['exit'](0x1);}const _0x57a6f3=_0x53dc5f[_0x57f8da];await updateChecklistItem(_0x434e0a,_0x57a6f3['id'],{'description':_0x3c4e19});const _0x235a89=await _0x1ce82b['riuOY'](getFeature,_0x434e0a);console[_0x539b90(0x23f)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x235a89,_0x235a89[_0x539b90(0x22a)]);}async function downloadFeedbackImage(_0x320164,_0x43cd1e){const _0x29cfd7=_0x3e12,_0x369565={'wOYGR':function(_0x4987f4,_0x2d7d41,_0x9413b2){return _0x4987f4(_0x2d7d41,_0x9413b2);},'hMPwR':function(_0x4355ac){return _0x4355ac();},'njCeo':function(_0x1717da,_0x2530e2){return _0x1717da(_0x2530e2);}};try{const _0xef5eb=_0x369565['wOYGR'](join,_0x369565['hMPwR'](getRangerDir),_0x29cfd7(0x242));await mkdir(_0xef5eb,{'recursive':!![]});const _0x207973=join(_0xef5eb,'comment_'+_0x43cd1e+'.png'),_0x5d14c7=await _0x369565['njCeo'](fetch,_0x320164);if(!_0x5d14c7['ok'])return null;const _0x403911=Buffer['from'](await _0x5d14c7['arrayBuffer']());return await writeFile(_0x207973,_0x403911),_0x207973;}catch{return null;}}export async function featureGetReview(_0x5ea537){const _0x2205ce=_0x3e12,_0x6ad734={'LGtNC':function(_0x13ce47,_0x1155d0){return _0x13ce47===_0x1155d0;},'XdheT':'No\x20scenarios\x20found.','RnVEr':function(_0x1579be,_0x391001){return _0x1579be<_0x391001;},'ceVyf':function(_0x2f6868,_0x26d310){return _0x2f6868>_0x26d310;},'RCjEC':function(_0x304017,_0x5932f7,_0xa195a9){return _0x304017(_0x5932f7,_0xa195a9);},'jzhwC':function(_0x16c482,_0x353de0){return _0x16c482+_0x353de0;},'zaEhn':_0x2205ce(0x269),'IJSHm':function(_0x31dfc2,_0x3a21c9){return _0x31dfc2>=_0x3a21c9;},'yMaGh':function(_0x5c08c5,_0x429ed8){return _0x5c08c5+_0x429ed8;}},_0x54c14e=_0x5ea537||await getActiveFeatureId();if(!_0x54c14e)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 _0x4c78e8=await getFeature(_0x54c14e),{items:_0x282236}=await getActionItems(_0x54c14e);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x4c78e8[_0x2205ce(0x27c)]+'\x20('+_0x4c78e8['id']+')\x0a');if(_0x6ad734['LGtNC'](_0x282236['length'],0x0)){console['log'](_0x6ad734[_0x2205ce(0x1fd)]);return;}for(let _0x5c3233=0x0;_0x6ad734[_0x2205ce(0x1c0)](_0x5c3233,_0x282236[_0x2205ce(0x236)]);_0x5c3233++){const _0x2280ae=_0x282236[_0x5c3233],_0x56ea1b=_0x6ad734['ceVyf'](_0x2280ae['version'],0x1)?'\x20(v'+_0x2280ae['version']+')':'',_0x4375cc=await _0x6ad734[_0x2205ce(0x285)](getItemFeedback,_0x54c14e,_0x2280ae['id']);if(_0x4375cc['unaddressedComments']['length']>0x0){console[_0x2205ce(0x23f)]('Scenario\x20'+_0x6ad734['jzhwC'](_0x5c3233,0x1)+':\x20\x22'+_0x2280ae['description']+'\x22'+_0x56ea1b+'\x20—\x20'+_0x4375cc['unaddressedComments']['length']+_0x2205ce(0x1ee));for(const _0x4c0cc3 of _0x4375cc[_0x2205ce(0x1c6)]){const _0x185e9d=new Date(_0x4c0cc3[_0x2205ce(0x25e)])['toLocaleDateString'](_0x6ad734[_0x2205ce(0x243)],{'month':_0x2205ce(0x1c9),'day':_0x2205ce(0x1e3)}),_0x12b334=_0x4c0cc3['authorName']||_0x4c0cc3[_0x2205ce(0x23e)]||_0x2205ce(0x21b);console[_0x2205ce(0x23f)](_0x2205ce(0x1d0)+_0x12b334+'\x20('+_0x185e9d+_0x2205ce(0x1f0)+_0x4c0cc3['content']+'\x22');if(_0x4c0cc3['assetUrl']){const _0x190135=await downloadFeedbackImage(_0x4c0cc3['assetUrl'],_0x4c0cc3['id']);_0x190135&&console[_0x2205ce(0x23f)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x190135);}if(_0x4c0cc3['domRef']){const _0x3a9f89=_0x4c0cc3['domRef'][_0x2205ce(0x1ed)]['split'](_0x2205ce(0x1ba))['pop']()?.[_0x2205ce(0x23c)](':')[0x0]||_0x2205ce(0x288),_0x4ce174=_0x4c0cc3['domRef'][_0x2205ce(0x1b7)]?'\x20\x22'+_0x4c0cc3['domRef']['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x2205ce(0x23f)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3a9f89+'>'+_0x4ce174),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x4c0cc3[_0x2205ce(0x259)]['selector']);}else{if(_0x4c0cc3['spatial']){const _0x54a719=_0x4c0cc3[_0x2205ce(0x22b)][_0x2205ce(0x277)];_0x6ad734[_0x2205ce(0x1db)](_0x4c0cc3[_0x2205ce(0x22b)]['type'],_0x2205ce(0x275))&&_0x6ad734['IJSHm'](_0x54a719[_0x2205ce(0x236)],0x2)?console[_0x2205ce(0x23f)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x54a719[0x0][_0x2205ce(0x1cd)](0x2)+',\x20'+_0x54a719[0x1][_0x2205ce(0x1cd)](0x2)+')'):console['log'](_0x2205ce(0x20b)+_0x4c0cc3['spatial'][_0x2205ce(0x283)]+_0x2205ce(0x1f2)+_0x54a719['map'](_0x14f613=>_0x14f613[_0x2205ce(0x1cd)](0x2))[_0x2205ce(0x224)](',\x20')+']');}}}if(_0x4375cc[_0x2205ce(0x1d8)]){console[_0x2205ce(0x23f)](_0x2205ce(0x279));for(const _0x1c96f4 of _0x4375cc[_0x2205ce(0x1d8)]['split']('\x0a')){console[_0x2205ce(0x23f)]('\x20\x20\x20\x20'+_0x1c96f4);}}}else console['log'](_0x2205ce(0x1f1)+_0x6ad734[_0x2205ce(0x214)](_0x5c3233,0x1)+':\x20\x22'+_0x2280ae['description']+'\x22'+_0x56ea1b+'\x20—\x20no\x20comments'),console['log'](_0x2205ce(0x219));console['log']('');}}export async function featureDelete(_0x4106f0){const _0x4f91bf=_0x3e12,_0x259406={'vIaCX':function(_0x105e99){return _0x105e99();},'vdkVr':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','cCROA':function(_0x341d0e,_0x518d03){return _0x341d0e(_0x518d03);},'NcxAh':function(_0x1d6325,_0x27e977){return _0x1d6325+_0x27e977;},'bLrlF':_0x4f91bf(0x20c)},_0x5b89c8=_0x4106f0||await _0x259406['vIaCX'](getActiveFeatureId);if(!_0x5b89c8)throw new Error(_0x259406[_0x4f91bf(0x251)]);const _0x16a929=await _0x259406[_0x4f91bf(0x1e6)](getFeature,_0x5b89c8);await softDeleteFeature(_0x5b89c8),console[_0x4f91bf(0x23f)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x16a929[_0x4f91bf(0x27c)]+'\x20('+_0x5b89c8+')'),console[_0x4f91bf(0x23f)](_0x259406[_0x4f91bf(0x25f)](_0x259406[_0x4f91bf(0x203)],_0x5b89c8));}export async function featureRestore(_0xf5ceb){const _0x2eb2e7=_0x3e12,_0x2f887e={'LzHIs':function(_0x1e4a9e,_0x4d38d2){return _0x1e4a9e(_0x4d38d2);},'gzclu':function(_0x4a8763,_0x508727,_0x3d0899){return _0x4a8763(_0x508727,_0x3d0899);}};await _0x2f887e[_0x2eb2e7(0x221)](restoreFeature,_0xf5ceb);const _0x3df9fd=await _0x2f887e['LzHIs'](getFeature,_0xf5ceb);console[_0x2eb2e7(0x23f)](_0x2eb2e7(0x1e5)+_0x3df9fd['name']+'\x20('+_0xf5ceb+')'),_0x2f887e[_0x2eb2e7(0x1f4)](displayFeature,_0x3df9fd,_0x3df9fd['checklistItems']);}
|
|
1
|
+
const _0x1307aa=_0x4254;(function(_0x43ab5a,_0x4d747b){const _0x1bc995=_0x4254,_0x2f7458=_0x43ab5a();while(!![]){try{const _0x3951d6=parseInt(_0x1bc995(0x1c4))/0x1+-parseInt(_0x1bc995(0x26d))/0x2*(parseInt(_0x1bc995(0x22d))/0x3)+-parseInt(_0x1bc995(0x273))/0x4+-parseInt(_0x1bc995(0x20c))/0x5*(parseInt(_0x1bc995(0x1f3))/0x6)+parseInt(_0x1bc995(0x24b))/0x7+-parseInt(_0x1bc995(0x220))/0x8*(-parseInt(_0x1bc995(0x239))/0x9)+parseInt(_0x1bc995(0x1e7))/0xa*(parseInt(_0x1bc995(0x1dd))/0xb);if(_0x3951d6===_0x4d747b)break;else _0x2f7458['push'](_0x2f7458['shift']());}catch(_0x52fdb1){_0x2f7458['push'](_0x2f7458['shift']());}}}(_0x65c8,0x3363c));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2c2b56 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';function _0x4254(_0x568cab,_0x5da6f9){_0x568cab=_0x568cab-0x19a;const _0x65c8ea=_0x65c8();let _0x425468=_0x65c8ea[_0x568cab];return _0x425468;}import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x3489a2=>_0x1307aa(0x25f)+_0x3489a2+_0x1307aa(0x1cf);function getGitRepoUrl(){const _0x21bc4=_0x1307aa,_0x3a52ae={'hnrPO':'pipe'};try{const _0x2bfe43=execSync(_0x21bc4(0x1ea),{'encoding':'utf-8','stdio':[_0x21bc4(0x24c),'pipe',_0x3a52ae[_0x21bc4(0x1c3)]]})[_0x21bc4(0x1cb)]();return _0x2bfe43['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x285b75=_0x1307aa,_0xb4d2bb={'iNgwR':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','cwRAf':_0x285b75(0x24c)};try{return execSync(_0xb4d2bb['iNgwR'],{'encoding':_0x285b75(0x27a),'stdio':[_0xb4d2bb[_0x285b75(0x1b9)],_0xb4d2bb['cwRAf'],_0xb4d2bb[_0x285b75(0x1b9)]]})[_0x285b75(0x1cb)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x22b635=_0x1307aa,_0x43dc4d={'eENTs':function(_0x15475e){return _0x15475e();},'qawaU':'utf-8'},_0x137675=join(_0x43dc4d[_0x22b635(0x274)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x137675))return null;try{const _0x230f1a=await readFile(_0x137675,_0x43dc4d[_0x22b635(0x1c1)]);return _0x230f1a[_0x22b635(0x1cb)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x53d643){const _0x133f39=_0x1307aa,_0x32b818={'bIPFn':function(_0x4ade02,_0x1821f4){return _0x4ade02(_0x1821f4);},'tBsws':function(_0x3267c1,_0x59277e,_0xb9c1a0){return _0x3267c1(_0x59277e,_0xb9c1a0);}},_0x22cb42=getRangerDir(),_0x2e8000=join(_0x22cb42,ACTIVE_FEATURE_FILE);!_0x32b818[_0x133f39(0x248)](existsSync,_0x22cb42)&&await _0x32b818['tBsws'](mkdir,_0x22cb42,{'recursive':!![]}),await writeFile(_0x2e8000,_0x53d643,'utf-8');}function _0x65c8(){const _0x239b2b=['location','ZrvAV','DmjZw','\x0a✅\x20Scenario\x20updated','xYRSp','after','isTTY','all','WptYv','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','No\x20scenarios\x20found.','NhlrW','\x20\x20\x20Completed:\x20','verified','8yRogzL','UvJaR','.md','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20\x20\x20\x20Cancelled:\x20','agentResponse','gqqfS','rXBHY','/artifacts/','QgidZ','vqYOS','\x20\x20\x20','ready','225xjfkSS','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20concluded.','dFuzY','arARz','ctnnp','warn','RANGER_TEST_USERNAME','\x20\x20\x20▶️\x20Started\x20session\x20','tbhhl','write','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','2634804CnPrPe','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','filter','\x20\x20\x20Progress:\x20','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','QseRJ','cnTDD','comment_','GTxDf','ksZjI','env','\x0a✅\x20Report\x20generated:\x20','uLOSK','screenshotUrls','tKKfM','bIPFn','join','gitBranch','2075801FGbEHf','pipe','iteration','YYOqP','content','\x0aGenerating\x20report...','\x20\x20\x20\x20\x20Progress:\x20','feedback-images','MjoQF','includeDeleted','\x20Session\x20','exit','HTKJM','stepName','\x0a⚠️\x20\x20','push','5|3|2|1|0|4','BzbMz','PxZpT','\x20(v','\x1b[1m','repeat','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','closed','selected','mjxGa','MVxgi','No\x20active\x20session\x20for\x20this\x20feature\x20review.','wMVcV','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','stringify','stdin','tqOly','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','4838yEvjAS','parentItemId','completedAt','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','excludeScenarios','Please\x20finish\x20your\x20review\x20first:','586964UflDiI','eENTs','tZoBL','find','XBUKK','spatial','from','utf-8','\x0aAvailable\x20scenarios:','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','/api/v1/mcp/browser-sessions/','pendingItems','\x0a📋\x20Feedback\x20for:\x20','items','\x20\x20\x20ID:\x20','\x0aCreating\x20feature\x20review...','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','browserSessionId','length','dfKyh','\x20verified','log','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IXUnq','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20at\x20[','yLLod','checklistItems','latestReview','toFixed','CYOXO','CUNkc','incomplete','...','map','\x20\x20\x20Repository:\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','mDCzI','JlQmL','cwRAf','oojsP','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','MUtOY','HSPNQ','RPMRZ','name','textContent','qawaU','dashboardUrl','hnrPO','25920PPAvyc','AuFbq','cbqmi','offset','MIwdM','description','\x20\x20\x20Created:\x20','trim','blockedReason','version','status','\x1b[0m','canceledReason','VDFfH','sessionId','\x20in\x20progress','verificationInProgressItems','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','replace','completed','stats','fpImh','\x20\x20\x20\x20\x20\x20Approved','YkhOe','type','533654vdKHxZ','incompleteReason','currentSessionId','stdout','style','has','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','puBkR','Unknown','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','50GmZAPp','gitRepoUrl','scenario','git\x20remote\x20get-url\x20origin','\x20\x20\x20Description:\x20','\x20scenario(s).','YJDyH','QGeLZ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','tQhBY','terminalReason',':\x20\x22','638262djUPIT','OiyOt','blocked','WxVMZ','assets','verifiedItems','\x0a✅\x20Session\x20','\x0a\x20\x20\x20Scenarios:','screenshot','MFTlL','domRef','nRegP','verification_in_progress','SIJmY','\x0a✅\x20Resumed\x20feature\x20review:\x20','any','Not\x20in\x20a\x20git\x20repository.','\x20unaddressed\x20comment(s)','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','unaddressedComments','split','\x20\x20\x20Updated\x20branch\x20to:\x20','VvRXP','totalCount','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','15LCwDiZ','createdAt','Gmvwe','error','limit','selector'];_0x65c8=function(){return _0x239b2b;};return _0x65c8();}function getProgressDisplay(_0x181c83){const _0x5d30e1=_0x1307aa,_0x50d731={'YJDyH':function(_0x54a860,_0x5e8e4e){return _0x54a860+_0x5e8e4e;},'hkjLm':function(_0x52234e,_0x1dd0ec){return _0x52234e-_0x1dd0ec;},'HTKJM':function(_0x419d94,_0x5b79b7){return _0x419d94>_0x5b79b7;}},_0x300d15=_0x181c83[_0x5d30e1(0x1f8)]||0x0,_0x449f52=_0x181c83[_0x5d30e1(0x1d4)]||0x0,_0x4f2c98=_0x181c83['blockedItems']||0x0,_0x414480=_0x181c83['incompleteItems']||0x0,_0x1e6d0c=_0x181c83[_0x5d30e1(0x19d)]||0x0,_0x3ffe97=_0x50d731[_0x5d30e1(0x1ed)](_0x300d15,_0x449f52)+_0x4f2c98+_0x414480+_0x1e6d0c;if(_0x3ffe97===0x0)return'-';const _0x2efb54=0xa,_0x1b8e42=Math['round'](_0x300d15/_0x3ffe97*_0x2efb54),_0x329743='█'['repeat'](_0x1b8e42)+'░'[_0x5d30e1(0x260)](_0x50d731['hkjLm'](_0x2efb54,_0x1b8e42)),_0x50fd2b=[];if(_0x50d731['HTKJM'](_0x4f2c98,0x0))_0x50fd2b[_0x5d30e1(0x25a)](_0x4f2c98+'\x20blocked');if(_0x414480>0x0)_0x50fd2b[_0x5d30e1(0x25a)](_0x414480+'\x20incomplete');if(_0x50d731['HTKJM'](_0x449f52,0x0))_0x50fd2b[_0x5d30e1(0x25a)](_0x449f52+_0x5d30e1(0x1d3));const _0x49b6a8=_0x50d731[_0x5d30e1(0x257)](_0x50fd2b['length'],0x0)?'\x20('+_0x50fd2b['join'](',\x20')+')':'';return _0x329743+'\x20'+_0x300d15+'/'+_0x3ffe97+_0x5d30e1(0x1a6)+_0x49b6a8;}function getCurrentSessionItems(_0x3f3030,_0x490b36){const _0x43325b=_0x1307aa;if(!_0x3f3030[_0x43325b(0x1df)])return _0x490b36['filter'](_0x556ae3=>!_0x556ae3['sessionId']);return _0x490b36['filter'](_0x2b665d=>_0x2b665d[_0x43325b(0x1d2)]===_0x3f3030['currentSessionId']||!_0x2b665d[_0x43325b(0x1d2)]);}function displayFeature(_0x370fb0,_0x3ba0ac){const _0x11973a=_0x1307aa,_0x27578b={'vKBQQ':function(_0x1976a2,_0x392cb3){return _0x1976a2(_0x392cb3);},'YyWRy':function(_0x3bbc15,_0x1ee57e){return _0x3bbc15>_0x1ee57e;},'fpzDt':_0x11973a(0x1fa),'PxZpT':function(_0x303cc6,_0x3edd0a){return _0x303cc6<_0x3edd0a;},'oojsP':function(_0x4f6547,_0x3be222){return _0x4f6547===_0x3be222;},'VvRXP':'approved','MUtOY':'verified','BItJm':function(_0x581112,_0x30791e){return _0x581112!==_0x30791e;},'tqOly':'closed','ctnnp':'blocked'};console[_0x11973a(0x1a7)]('\x0a'+_0x370fb0[_0x11973a(0x1bf)]+'\x20('+_0x370fb0['dashboardUrl']+')');_0x370fb0[_0x11973a(0x1d8)]&&console['log'](_0x11973a(0x23c)+_0x27578b['vKBQQ'](getProgressDisplay,_0x370fb0[_0x11973a(0x1d8)]));_0x370fb0[_0x11973a(0x1c9)]&&console['log'](_0x11973a(0x1eb)+_0x370fb0['description']);_0x370fb0[_0x11973a(0x1e8)]&&console['log'](_0x11973a(0x1b5)+_0x370fb0[_0x11973a(0x1e8)]);_0x370fb0[_0x11973a(0x24a)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x370fb0['gitBranch']);console[_0x11973a(0x1a7)]('\x20\x20\x20Created:\x20'+new Date(_0x370fb0[_0x11973a(0x20d)])['toLocaleString']());_0x370fb0['completedAt']&&console['log'](_0x11973a(0x21e)+new Date(_0x370fb0[_0x11973a(0x26f)])['toLocaleString']());if(_0x3ba0ac&&_0x27578b['YyWRy'](_0x3ba0ac[_0x11973a(0x1a4)],0x0)){console['log'](_0x27578b['fpzDt']);for(let _0x47844a=0x0;_0x27578b[_0x11973a(0x25d)](_0x47844a,_0x3ba0ac['length']);_0x47844a++){const _0x88b953=_0x3ba0ac[_0x47844a];let _0x4b5e93;if(_0x88b953[_0x11973a(0x1ce)]===_0x11973a(0x262)&&_0x27578b[_0x11973a(0x1ba)](_0x88b953['terminalReason'],_0x27578b['VvRXP']))_0x4b5e93='✅';else{if(_0x88b953['status']===_0x27578b[_0x11973a(0x1bc)])_0x4b5e93='🟢';else{if(_0x27578b['oojsP'](_0x88b953['status'],_0x11973a(0x1b2)))_0x4b5e93='🟠';else{if(_0x27578b['oojsP'](_0x88b953['status'],_0x11973a(0x1f5)))_0x4b5e93='🛑';else{if(_0x88b953['status']==='closed')_0x4b5e93='⛔';else _0x88b953['status']===_0x11973a(0x1ff)?_0x4b5e93='⏳':_0x4b5e93='⬜';}}}}const _0x9258d2=_0x88b953[_0x11973a(0x1cd)]>0x1?_0x11973a(0x25e)+_0x88b953['version']+')':'',_0xa54c85=_0x88b953[_0x11973a(0x1cd)]>0x1&&_0x88b953[_0x11973a(0x26e)]&&_0x27578b['BItJm'](_0x88b953[_0x11973a(0x1ce)],_0x27578b['tqOly'])&&_0x88b953[_0x11973a(0x1ce)]!==_0x27578b['MUtOY']?'\x20[has\x20reviewer\x20feedback]':'';console['log'](_0x11973a(0x22b)+(_0x47844a+0x1)+'.\x20'+_0x4b5e93+'\x20'+_0x88b953['description']+_0x9258d2+_0xa54c85);_0x27578b[_0x11973a(0x1ba)](_0x88b953[_0x11973a(0x1ce)],_0x27578b[_0x11973a(0x232)])&&_0x88b953['blockedReason']&&console[_0x11973a(0x1a7)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x88b953[_0x11973a(0x1cc)]);_0x88b953['status']==='incomplete'&&_0x88b953['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x88b953[_0x11973a(0x1de)]);if(_0x27578b[_0x11973a(0x1ba)](_0x88b953[_0x11973a(0x1ce)],_0x27578b[_0x11973a(0x26b)])&&_0x27578b[_0x11973a(0x1ba)](_0x88b953[_0x11973a(0x1f1)],_0x27578b[_0x11973a(0x209)]))console[_0x11973a(0x1a7)](_0x11973a(0x1da));else _0x27578b['oojsP'](_0x88b953[_0x11973a(0x1ce)],_0x27578b[_0x11973a(0x26b)])&&_0x88b953['canceledReason']&&console['log'](_0x11973a(0x224)+_0x88b953['canceledReason']);}}}export async function featureCreate(_0x947b84,_0x590e5b){const _0xacf4fd=_0x1307aa,_0xd14dcd={'qfJqf':function(_0x428089,_0x37dd69){return _0x428089===_0x37dd69;},'ROwyt':function(_0x53cf12){return _0x53cf12();},'gTFPq':_0xacf4fd(0x1a1),'MjoQF':function(_0x4f59d1,_0x591c5d){return _0x4f59d1(_0x591c5d);},'Vmixe':function(_0x5f2f56,_0x13b3cc,_0x3e8cbe){return _0x5f2f56(_0x13b3cc,_0x3e8cbe);}},{envNames:_0x546d92}=await getEnvNames();if(_0x546d92[_0xacf4fd(0x1a4)]===0x0&&!process['env'][_0xacf4fd(0x234)]){let _0x12a134=0x0;try{_0x12a134=(await listCloudProfiles())[_0xacf4fd(0x1a4)];}catch{_0x12a134=0x1;}_0xd14dcd['qfJqf'](_0x12a134,0x0)&&console[_0xacf4fd(0x233)]('\x0a'+formatProfileRequiredMessage(_0x12464c=>bold(_0x12464c)));}const _0x4f436b=_0x590e5b['scenarios']?_0x590e5b['scenarios']['map'](_0x424c80=>_0x424c80['trim']()):[],_0x57f4b7=getGitRepoUrl(),_0x20ca57=_0xd14dcd['ROwyt'](getGitBranch);console[_0xacf4fd(0x1a7)](_0xd14dcd['gTFPq']);const _0x5a0247=await createFeature({'name':_0x947b84,'description':_0x590e5b[_0xacf4fd(0x1c9)],'checklist':_0x4f436b,'gitRepoUrl':_0x57f4b7,'gitBranch':_0x20ca57});await _0xd14dcd[_0xacf4fd(0x253)](setActiveFeatureId,_0x5a0247['id']),await tryStartCurrentSession(_0x5a0247['id']);const _0x4a0a9e=process['env']['CLAUDE_SESSION_ID'];_0x4a0a9e&®isterSession(_0x4a0a9e,_0x5a0247['id']),console[_0xacf4fd(0x1a7)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5a0247['id']),_0xd14dcd['Vmixe'](displayFeature,_0x5a0247,_0x5a0247['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x21de41){const _0xfbf58d=_0x1307aa,_0x389add={'ZOByB':function(_0x189452){return _0x189452();},'xSbys':function(_0x1edb88,_0x1f1efb){return _0x1edb88(_0x1f1efb);},'lXaRB':function(_0x9f4a1e,_0x6d6f35){return _0x9f4a1e===_0x6d6f35;},'JlQmL':_0xfbf58d(0x223),'WxVMZ':function(_0x7148ac,_0x4a018c){return _0x7148ac+_0x4a018c;},'FxEjA':function(_0x3c2fb2,_0xecd2b4){return _0x3c2fb2<_0xecd2b4;},'uLOSK':'\x20--current-branch'},_0x318273={'limit':_0x21de41['limit']??0xa,'offset':_0x21de41['offset']??0x0,'includeDeleted':_0x21de41['includeDeleted']};_0x21de41['currentBranch']&&(_0x318273[_0xfbf58d(0x1e8)]=_0x389add['ZOByB'](getGitRepoUrl),_0x318273[_0xfbf58d(0x24a)]=_0x389add['ZOByB'](getGitBranch));const _0x56fda0=await _0x389add['xSbys'](listFeatures,_0x318273);if(_0x389add['lXaRB'](_0x56fda0['items'][_0xfbf58d(0x1a4)],0x0)){console[_0xfbf58d(0x1a7)](_0x389add[_0xfbf58d(0x1b8)]);return;}const _0x121b02=_0x56fda0['totalCount']>_0x56fda0['items'][_0xfbf58d(0x1a4)]?'Showing\x20'+_0x56fda0['items'][_0xfbf58d(0x1a4)]+'\x20of\x20'+_0x56fda0['totalCount']:_0x56fda0['totalCount']+'\x20feature\x20review(s)\x20found';console[_0xfbf58d(0x1a7)]('\x0a'+_0x121b02+':\x0a');for(const _0x25d6d4 of _0x56fda0['items']){const _0x36c8a0='5|4|3|2|0|1'['split']('|');let _0x177455=0x0;while(!![]){switch(_0x36c8a0[_0x177455++]){case'0':console['log'](_0xfbf58d(0x1ca)+new Date(_0x25d6d4[_0xfbf58d(0x20d)])['toLocaleDateString']());continue;case'1':console['log']('');continue;case'2':_0x25d6d4[_0xfbf58d(0x24a)]&&console[_0xfbf58d(0x1a7)]('\x20\x20\x20Branch:\x20'+_0x25d6d4['gitBranch']);continue;case'3':_0x25d6d4[_0xfbf58d(0x1d8)]&&console['log'](_0xfbf58d(0x23c)+getProgressDisplay(_0x25d6d4[_0xfbf58d(0x1d8)]));continue;case'4':console[_0xfbf58d(0x1a7)](_0xfbf58d(0x1a0)+_0x25d6d4['id']);continue;case'5':console['log'](''+_0x25d6d4[_0xfbf58d(0x1bf)]);continue;}break;}}const _0x25b687=_0x318273[_0xfbf58d(0x210)]??0xa,_0x46a7e8=_0x389add[_0xfbf58d(0x1f6)](_0x318273[_0xfbf58d(0x1c7)]??0x0,_0x56fda0[_0xfbf58d(0x19f)]['length']);if(_0x389add['FxEjA'](_0x46a7e8,_0x56fda0[_0xfbf58d(0x20a)])){const _0x4e9fb7=_0x25b687!==0xa?'\x20--limit\x20'+_0x25b687:'',_0x4d392c=_0x21de41['currentBranch']?_0x389add[_0xfbf58d(0x245)]:'',_0x569238=_0x21de41[_0xfbf58d(0x254)]?'\x20--include-deleted':'';console[_0xfbf58d(0x1a7)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x46a7e8+_0x4e9fb7+_0x4d392c+_0x569238);}}export async function featureShow(_0xe3a50){const _0x5526f5=_0x1307aa,_0xb62c3d={'mjxGa':function(_0x552365){return _0x552365();},'mKJOs':_0x5526f5(0x1a8),'sUvIg':function(_0x16f5ab,_0x2bd395,_0x20a015){return _0x16f5ab(_0x2bd395,_0x20a015);}},_0x1b168e=_0xe3a50||await _0xb62c3d[_0x5526f5(0x264)](getActiveFeatureId);if(!_0x1b168e)throw new Error(_0xb62c3d['mKJOs']);const _0x7daeb0=await getFeature(_0x1b168e);_0xb62c3d['sUvIg'](displayFeature,_0x7daeb0,_0x7daeb0['checklistItems']);}export async function featureResume(_0x45129b){const _0x5cff50=_0x1307aa,_0x27a5e0={'EgRBs':function(_0x518b9e,_0x18f19b){return _0x518b9e(_0x18f19b);},'IuOyx':function(_0x4b9c8b){return _0x4b9c8b();},'cnTDD':function(_0x12ae8e,_0x2074ac,_0x5e792f){return _0x12ae8e(_0x2074ac,_0x5e792f);},'GTxDf':function(_0x1ac1c8,_0x192edc,_0x1e0c25){return _0x1ac1c8(_0x192edc,_0x1e0c25);},'PQCeJ':function(_0x43d9ea){return _0x43d9ea();},'pYpMf':function(_0x5353d0,_0x2915d3){return _0x5353d0(_0x2915d3);},'Gmvwe':function(_0x207b48,_0x5cf4a6){return _0x207b48===_0x5cf4a6;},'VKAvW':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','vqYOS':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','SHJdr':function(_0x545c2c,_0x3e73a0){return _0x545c2c(_0x3e73a0);},'tQhBY':'list','BzbMz':_0x5cff50(0x263),'fDXWl':function(_0x2e9110,_0x225162){return _0x2e9110!==_0x225162;},'RPMRZ':function(_0x301a5a,_0x65872b){return _0x301a5a(_0x65872b);}};if(_0x45129b){const _0x5938e4=await _0x27a5e0['EgRBs'](getFeature,_0x45129b);await setActiveFeatureId(_0x5938e4['id']);const _0x11e0f7=_0x27a5e0['IuOyx'](getGitBranch);_0x11e0f7&&_0x11e0f7!==_0x5938e4['gitBranch']&&(await _0x27a5e0[_0x5cff50(0x23f)](updateFeature,_0x5938e4['id'],{'gitBranch':_0x11e0f7}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x11e0f7));console[_0x5cff50(0x1a7)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x5938e4['name']+'\x20('+_0x5938e4['id']+')'),await tryStartCurrentSession(_0x5938e4['id']);const _0x10619a=process[_0x5cff50(0x243)]['CLAUDE_SESSION_ID'];_0x10619a&&_0x27a5e0[_0x5cff50(0x241)](registerSession,_0x10619a,_0x5938e4['id']);displayFeature(_0x5938e4,_0x5938e4[_0x5cff50(0x1ad)]),await printFeedbackNudge(_0x5938e4['id']);return;}const _0x9deba=_0x27a5e0['PQCeJ'](getGitRepoUrl),_0x37cf70=getGitBranch();if(!_0x9deba&&!_0x37cf70)throw new Error(_0x5cff50(0x203));console[_0x5cff50(0x1a7)](_0x5cff50(0x205)+(_0x9deba||'any')+'\x20/\x20'+(_0x37cf70||_0x5cff50(0x202))+_0x5cff50(0x1b3));const _0x400dc5=await _0x27a5e0['pYpMf'](listFeatures,{'gitRepoUrl':_0x9deba,'gitBranch':_0x37cf70}),_0x9d80f1=_0x400dc5['items'][_0x5cff50(0x23b)](_0xc12478=>_0xc12478[_0x5cff50(0x1ce)]?_0xc12478['status']!==_0x5cff50(0x21f):!_0xc12478[_0x5cff50(0x26f)]);if(_0x27a5e0['Gmvwe'](_0x9d80f1[_0x5cff50(0x1a4)],0x0)){console[_0x5cff50(0x1a7)](_0x27a5e0['VKAvW']),console['log'](_0x27a5e0[_0x5cff50(0x22a)]);return;}let _0x484283;if(_0x27a5e0[_0x5cff50(0x20e)](_0x9d80f1['length'],0x1))_0x484283=_0x9d80f1[0x0];else{const _0x222f56=process[_0x5cff50(0x26a)]['isTTY']&&process[_0x5cff50(0x1e0)][_0x5cff50(0x218)];if(!_0x222f56){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x3afffa of _0x9d80f1){console[_0x5cff50(0x1a7)]('\x20\x20'+_0x3afffa['name']),console[_0x5cff50(0x1a7)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3afffa['id']),_0x3afffa['stats']&&console[_0x5cff50(0x1a7)](_0x5cff50(0x251)+_0x27a5e0['SHJdr'](getProgressDisplay,_0x3afffa['stats'])),_0x3afffa[_0x5cff50(0x24a)]&&console[_0x5cff50(0x1a7)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3afffa['gitBranch']);}throw new Error(_0x5cff50(0x1e3));}const {selected:_0x53e053}=await _0x2c2b56['prompt']([{'type':_0x27a5e0[_0x5cff50(0x1f0)],'name':_0x27a5e0[_0x5cff50(0x25c)],'message':_0x5cff50(0x1b6),'choices':_0x9d80f1['map'](_0x163057=>({'name':_0x163057[_0x5cff50(0x1bf)]+'\x20('+_0x163057['id']+')','value':_0x163057['id']}))}]);_0x484283=_0x9d80f1[_0x5cff50(0x276)](_0x40f328=>_0x40f328['id']===_0x53e053);}await setActiveFeatureId(_0x484283['id']);_0x37cf70&&_0x27a5e0['fDXWl'](_0x37cf70,_0x484283[_0x5cff50(0x24a)])&&(await updateFeature(_0x484283['id'],{'gitBranch':_0x37cf70}),console['log'](_0x5cff50(0x208)+_0x37cf70));console[_0x5cff50(0x1a7)](_0x5cff50(0x201)+_0x484283['name']+'\x20('+_0x484283['id']+')'),await _0x27a5e0[_0x5cff50(0x1be)](tryStartCurrentSession,_0x484283['id']);const _0x4b3cc1=await getFeature(_0x484283['id']),_0x27c95f=process[_0x5cff50(0x243)]['CLAUDE_SESSION_ID'];_0x27c95f&®isterSession(_0x27c95f,_0x4b3cc1['id']),displayFeature(_0x4b3cc1,_0x4b3cc1[_0x5cff50(0x1ad)]),await printFeedbackNudge(_0x4b3cc1['id']);}async function printFeedbackNudge(_0x221a8c){const _0x425de2=_0x1307aa,_0x4400b9={'DmjZw':function(_0xf5d420,_0x59d594){return _0xf5d420(_0x59d594);},'pumAU':function(_0x2e1bd7,_0x2878c1,_0x115347){return _0x2e1bd7(_0x2878c1,_0x115347);},'CUNkc':function(_0x5d8f91,_0x46a5ed){return _0x5d8f91>_0x46a5ed;},'bUCUn':function(_0x291f13,_0x1fd208){return _0x291f13>_0x1fd208;}};try{const {items:_0x43b49f}=await _0x4400b9[_0x425de2(0x214)](getActionItems,_0x221a8c);let _0x563cb9=0x0,_0x201b78=0x0;for(const _0x4e7982 of _0x43b49f){const _0x28d8c6=await _0x4400b9['pumAU'](getItemFeedback,_0x221a8c,_0x4e7982['id']);_0x4400b9[_0x425de2(0x1b1)](_0x28d8c6[_0x425de2(0x206)][_0x425de2(0x1a4)],0x0)&&(_0x563cb9+=_0x28d8c6['unaddressedComments']['length'],_0x201b78++);}_0x4400b9['bUCUn'](_0x563cb9,0x0)&&(console['log'](_0x425de2(0x259)+_0x563cb9+_0x425de2(0x23a)+_0x201b78+_0x425de2(0x1ec)),console[_0x425de2(0x1a7)](_0x425de2(0x268)));}catch{}}async function tryStartCurrentSession(_0x15aa3f){const _0x4529bf=_0x1307aa;try{const {sessions:_0x7fcceb}=await listFeatureSessions(_0x15aa3f),_0x1649ae=_0x7fcceb['find'](_0x2dbe13=>_0x2dbe13[_0x4529bf(0x1ce)]===_0x4529bf(0x22c));_0x1649ae&&(await startSession(_0x15aa3f,_0x1649ae['id']),console[_0x4529bf(0x1a7)](_0x4529bf(0x235)+_0x1649ae[_0x4529bf(0x24d)]));}catch{}}export async function featureReport(_0xfe1cb6,_0xf458e8){const _0x1d98b0=_0x1307aa,_0x3d608a={'HSPNQ':function(_0x137251){return _0x137251();},'bVnxw':_0x1d98b0(0x21b),'QGeLZ':_0x1d98b0(0x250),'QseRJ':function(_0x1bc63c,_0x5c87d9,_0x2d9c22,_0x599150){return _0x1bc63c(_0x5c87d9,_0x2d9c22,_0x599150);},'VDFfH':function(_0x53f65e,_0x407482){return _0x53f65e(_0x407482);},'IXUnq':_0x1d98b0(0x27a)},_0x37ff09=_0xfe1cb6||await _0x3d608a[_0x1d98b0(0x1bd)](getActiveFeatureId);if(!_0x37ff09)throw new Error(_0x3d608a['bVnxw']);console[_0x1d98b0(0x1a7)](_0x3d608a[_0x1d98b0(0x1ee)]);const _0x52ebc6=await getFeatureReportMarkdown(_0x37ff09,{'style':_0xf458e8[_0x1d98b0(0x1e1)]}),_0x32f3ec=_0xf458e8['output']||_0x3d608a[_0x1d98b0(0x23e)](join,_0x3d608a['HSPNQ'](getRangerDir),'reports',_0x37ff09+_0x1d98b0(0x222)),_0x18d950=join(_0x32f3ec,'..');!_0x3d608a[_0x1d98b0(0x1d1)](existsSync,_0x18d950)&&await mkdir(_0x18d950,{'recursive':!![]}),await _0x3d608a[_0x1d98b0(0x23e)](writeFile,_0x32f3ec,_0x52ebc6,_0x3d608a[_0x1d98b0(0x1a9)]),console['log'](_0x1d98b0(0x244)+_0x32f3ec);}function getScenarioResult(_0xea883f){const _0x1d355e=_0x1307aa,_0x10bfea={'evkSX':function(_0x4868f1,_0x2c63c8){return _0x4868f1===_0x2c63c8;},'dfKyh':_0x1d355e(0x262)};if(_0x10bfea['evkSX'](_0xea883f[_0x1d355e(0x1ce)],_0x1d355e(0x262)))return _0xea883f['terminalReason']??_0x10bfea[_0x1d355e(0x1a5)];if(_0xea883f['status']===_0x1d355e(0x1ff))return'in_progress';return _0xea883f[_0x1d355e(0x1ce)];}function getScenarioRationale(_0x3449bf,_0x35004a){const _0x2964f2=_0x1307aa,_0xd25710={'prixI':_0x2964f2(0x25b)},_0x138fcf=_0xd25710['prixI']['split']('|');let _0x2762d4=0x0;while(!![]){switch(_0x138fcf[_0x2762d4++]){case'0':if(_0x3449bf['notes'])return _0x3449bf['notes'];continue;case'1':if(_0x3449bf['canceledReason'])return _0x3449bf[_0x2964f2(0x1d0)];continue;case'2':if(_0x3449bf[_0x2964f2(0x1de)])return _0x3449bf[_0x2964f2(0x1de)];continue;case'3':if(_0x3449bf[_0x2964f2(0x1cc)])return _0x3449bf['blockedReason'];continue;case'4':return null;case'5':if(_0x35004a)return _0x35004a;continue;}break;}}export async function featureReportPrDescription(_0x54fdb0,_0x21adc7){const _0x1d939=_0x1307aa,_0x309c88={'yLLod':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','mDCzI':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','vvGMY':function(_0x5b4d6b,_0x4ef074){return _0x5b4d6b>_0x4ef074;},'UvJaR':_0x1d939(0x19a),'QgidZ':function(_0x3b08dc,_0x1cecdc){return _0x3b08dc<_0x1cecdc;},'cbqmi':function(_0x4a8422,_0x12519e,_0x32e9f2,_0x7f78c3){return _0x4a8422(_0x12519e,_0x32e9f2,_0x7f78c3);}},_0x424bce=_0x54fdb0||await getActiveFeatureId();if(!_0x424bce)throw new Error(_0x309c88[_0x1d939(0x1ac)]);const _0x52eae7=await getFeature(_0x424bce),_0x2c9153=_0x52eae7['checklistItems']||[],_0x5faa06=getCurrentSessionItems(_0x52eae7,_0x2c9153);_0x5faa06[_0x1d939(0x1a4)]===0x0&&(console['error'](_0x309c88[_0x1d939(0x1b7)]),process['exit'](0x1));const _0x265b21=_0x21adc7[_0x1d939(0x271)]??[],_0x28d462=_0x265b21[_0x1d939(0x23b)](_0x484e99=>!Number['isInteger'](_0x484e99)||_0x484e99<0x1||_0x484e99>_0x5faa06['length']);if(_0x309c88['vvGMY'](_0x28d462['length'],0x0)){console['error'](_0x1d939(0x26c)+_0x28d462[_0x1d939(0x249)](',\x20')),console['log'](_0x309c88[_0x1d939(0x221)]);for(let _0x2cb1d4=0x0;_0x309c88[_0x1d939(0x229)](_0x2cb1d4,_0x5faa06[_0x1d939(0x1a4)]);_0x2cb1d4++){console['log']('\x20\x20'+(_0x2cb1d4+0x1)+'.\x20'+_0x5faa06[_0x2cb1d4]['description']);}process['exit'](0x1);}const _0x1164fa=new Set(_0x265b21['map'](_0x2fd2e5=>_0x2fd2e5-0x1)),_0x47cda2=_0x5faa06[_0x1d939(0x23b)]((_0x2f9039,_0x1e493a)=>!_0x1164fa[_0x1d939(0x1e2)](_0x1e493a));_0x47cda2[_0x1d939(0x1a4)]===0x0&&(console['error'](_0x1d939(0x22e)),process[_0x1d939(0x256)](0x1));if(_0x21adc7['json'])await _0x309c88[_0x1d939(0x1c6)](outputJsonReport,_0x424bce,_0x52eae7,_0x47cda2);else{const _0x475fe8=await getFeatureReportMarkdown(_0x424bce,{'itemIds':_0x47cda2[_0x1d939(0x1b4)](_0x15635a=>_0x15635a['id'])});process[_0x1d939(0x1e0)][_0x1d939(0x237)](_0x475fe8['trimEnd']()+'\x0a');}}async function outputJsonReport(_0xd75fa5,_0x6571e5,_0x4b3506){const _0x285133=_0x1307aa,_0x556741={'LRKNQ':function(_0x5c14b5,_0x13a60c){return _0x5c14b5(_0x13a60c);}},_0x45ded3=getApiBaseUrl(),_0x409f1f=await getFeatureReport(_0xd75fa5),_0x5b2944=new Map(_0x409f1f['checklistItems'][_0x285133(0x1b4)](_0x4224e3=>[_0x4224e3['id'],_0x4224e3])),_0x40fe94=await Promise[_0x285133(0x219)](_0x4b3506['map'](async _0x34ca20=>{const _0x225672=_0x285133,_0xaf0864=_0x5b2944['get'](_0x34ca20['id']),_0x1f89bd=_0xaf0864?.['linkedSession']??null;let _0x422e0f=[];if(_0x34ca20['browserSessionId'])try{const {steps:_0x5c39ff}=await _0x556741['LRKNQ'](getBrowserSessionSteps,_0x34ca20['browserSessionId']);_0x5c39ff['length']>0x0&&(_0x422e0f=_0x5c39ff[_0x225672(0x1b4)](_0x1468a6=>{const _0x345380=_0x225672,_0x32d380=_0x1468a6[_0x345380(0x1f7)][_0x345380(0x276)](_0x92d5fb=>_0x92d5fb['assetType']==='screenshot'&&_0x92d5fb['timing']===_0x345380(0x217))??_0x1468a6['assets'][_0x345380(0x276)](_0x4377b4=>_0x4377b4['assetType']===_0x345380(0x1fb));let _0x49b91b=null,_0x1833bc=null;if(_0x32d380){const _0x452190=_0x32d380['storage'][_0x345380(0x212)][_0x345380(0x207)]('/')['pop']();_0x49b91b=_0x45ded3+_0x345380(0x19c)+_0x34ca20[_0x345380(0x1a3)]+_0x345380(0x228)+_0x452190,_0x452190&&(_0x1833bc=_0x452190[_0x345380(0x1d6)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x345380(0x1d6)](/[-_]/g,'\x20'));}return{'description':_0x1833bc||_0x1468a6['description']||_0x1468a6[_0x345380(0x258)]||'Step\x20'+_0x1468a6['position'],'screenshot':_0x49b91b,'is_key_step':_0x1468a6['isKeyStep']};}));}catch{}return _0x422e0f[_0x225672(0x1a4)]===0x0&&_0x1f89bd?.['screenshotUrls']&&(_0x422e0f=_0x1f89bd[_0x225672(0x246)]['map']((_0x6f6b38,_0x1980bd)=>({'description':'Screenshot\x20'+(_0x1980bd+0x1),'screenshot':_0x6f6b38,'is_key_step':![]}))),{'description':_0x34ca20['description'],'result':getScenarioResult(_0x34ca20),'rationale':getScenarioRationale(_0x34ca20,_0x1f89bd?.[_0x225672(0x225)]),'steps':_0x422e0f};})),_0x3b33c5={'url':_0x6571e5['dashboardUrl'],'scenarios':_0x40fe94};process[_0x285133(0x1e0)]['write'](JSON[_0x285133(0x269)](_0x3b33c5,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x579e5a){const _0x401412=_0x1307aa,_0x51d155={'NhlrW':function(_0x1a4336,_0x56b03f){return _0x1a4336(_0x56b03f);},'EsdRG':'Current\x20session\x20not\x20found.','RqnmC':function(_0x476b68,_0xeb16ce){return _0x476b68===_0xeb16ce;},'XGbSr':_0x401412(0x1d7),'wMVcV':'\x0a✅\x20Session\x20is\x20already\x20completed.','CYOXO':function(_0x3bfe4b,_0x5027c8){return _0x3bfe4b!==_0x5027c8;},'ZrvAV':'in_progress','BDNwL':'\x0aConcluding\x20session...','LwQqp':function(_0x1398a9,_0x498883,_0x362cfe){return _0x1398a9(_0x498883,_0x362cfe);}},_0x4ff520=_0x579e5a||await getActiveFeatureId();if(!_0x4ff520)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 _0x234878=await getFeature(_0x4ff520);if(!_0x234878[_0x401412(0x1df)])throw new Error(_0x401412(0x266));const {sessions:_0x1e7c28}=await _0x51d155[_0x401412(0x21d)](listFeatureSessions,_0x4ff520),_0x569c6a=_0x1e7c28[_0x401412(0x276)](_0x2b3d2b=>_0x2b3d2b['id']===_0x234878[_0x401412(0x1df)]);if(!_0x569c6a)throw new Error(_0x51d155['EsdRG']);if(_0x51d155['RqnmC'](_0x569c6a['status'],_0x51d155['XGbSr'])){console['log'](_0x51d155[_0x401412(0x267)]);return;}if(_0x51d155[_0x401412(0x1b0)](_0x569c6a['status'],_0x51d155[_0x401412(0x213)]))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x569c6a[_0x401412(0x1ce)]);console['log'](_0x51d155['BDNwL']),await _0x51d155['LwQqp'](concludeSession,_0x4ff520,_0x234878['currentSessionId']),console['log'](_0x401412(0x1f9)+_0x569c6a[_0x401412(0x24d)]+_0x401412(0x22f)),console[_0x401412(0x1a7)](_0x401412(0x1e6));}export async function featureSessions(_0x41b250){const _0xf5cacf=_0x1307aa,_0xb26cfe={'rXBHY':function(_0x576403){return _0x576403();},'ksZjI':_0xf5cacf(0x21b),'PVadE':function(_0x5b01e2,_0x3b3671){return _0x5b01e2(_0x3b3671);},'XBUKK':'No\x20sessions\x20found.','dFuzY':'completed','eeroS':'in_progress'},_0xe415d1=_0x41b250||await _0xb26cfe[_0xf5cacf(0x227)](getActiveFeatureId);if(!_0xe415d1)throw new Error(_0xb26cfe[_0xf5cacf(0x242)]);const _0x1a8286=await getFeature(_0xe415d1);console[_0xf5cacf(0x1a7)](_0xf5cacf(0x23d)+_0x1a8286[_0xf5cacf(0x1bf)]+'\x0a');const {sessions:_0x4312df}=await _0xb26cfe['PVadE'](listFeatureSessions,_0xe415d1);if(_0x4312df['length']===0x0){console[_0xf5cacf(0x1a7)](_0xb26cfe[_0xf5cacf(0x277)]);return;}for(const _0x434e59 of _0x4312df){const _0x151a3e=_0x434e59['status']===_0xb26cfe[_0xf5cacf(0x230)]?'✅':_0x434e59['status']===_0xb26cfe['eeroS']?'🔄':'▶️';console[_0xf5cacf(0x1a7)](_0x151a3e+_0xf5cacf(0x255)+_0x434e59[_0xf5cacf(0x24d)]+'\x20('+_0x434e59['id']+')'),console[_0xf5cacf(0x1a7)]('\x20\x20\x20Status:\x20'+_0x434e59['status']),console[_0xf5cacf(0x1a7)]('\x20\x20\x20Created:\x20'+new Date(_0x434e59['createdAt'])['toLocaleString']()),_0x434e59[_0xf5cacf(0x26f)]&&console['log'](_0xf5cacf(0x21e)+new Date(_0x434e59['completedAt'])['toLocaleString']()),console[_0xf5cacf(0x1a7)]('');}}export async function featureAddScenario(_0x54cc90,_0x38b552){const _0x4632f7=_0x1307aa,_0x516768={'MIwdM':_0x4632f7(0x1a8),'PIglV':function(_0x319a48,_0x39452a){return _0x319a48(_0x39452a);},'AuFbq':function(_0x4fcaae,_0xcdacd5,_0xd4cb42){return _0x4fcaae(_0xcdacd5,_0xd4cb42);}},_0x1f9652=_0x38b552||await getActiveFeatureId();if(!_0x1f9652)throw new Error(_0x516768[_0x4632f7(0x1c8)]);const _0x45aa5b=await _0x516768['PIglV'](getFeature,_0x1f9652);if(_0x45aa5b[_0x4632f7(0x1ae)]&&!_0x45aa5b[_0x4632f7(0x1ae)]['submittedAt'])throw new Error(_0x4632f7(0x1d5)+_0x45aa5b[_0x4632f7(0x1c2)]);await _0x516768[_0x4632f7(0x1c5)](createChecklistItem,_0x1f9652,_0x54cc90);const _0x210477=await _0x516768['PIglV'](getFeature,_0x1f9652);console[_0x4632f7(0x1a7)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x210477,_0x210477[_0x4632f7(0x1ad)]);}export async function featureEditScenario(_0x144b45,_0x260a39){const _0x2e0da5=_0x1307aa,_0x42c8a5={'KdzhY':function(_0x2e8e86){return _0x2e8e86();},'tbhhl':_0x2e0da5(0x1a2),'tZoBL':function(_0x2ec56d,_0x184b8a){return _0x2ec56d(_0x184b8a);},'arARz':_0x2e0da5(0x20b),'OiyOt':function(_0x48a083,_0x6a134a){return _0x48a083===_0x6a134a;},'PEtzy':_0x2e0da5(0x19a),'FOBPF':function(_0x58eba9,_0x4a476e){return _0x58eba9<_0x4a476e;},'MFTlL':function(_0x393734,_0x448bbb){return _0x393734-_0x448bbb;},'fpImh':function(_0x258c8c,_0x4be317){return _0x258c8c<_0x4be317;},'FYLqW':function(_0x342494,_0x239f7f){return _0x342494<_0x239f7f;}},_0x497502=_0x260a39['id']||await _0x42c8a5['KdzhY'](getActiveFeatureId);!_0x497502&&(console[_0x2e0da5(0x20f)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x42c8a5[_0x2e0da5(0x236)]),process[_0x2e0da5(0x256)](0x1));const _0x3454a3=await _0x42c8a5[_0x2e0da5(0x275)](getFeature,_0x497502);_0x3454a3[_0x2e0da5(0x1ae)]&&!_0x3454a3[_0x2e0da5(0x1ae)]['submittedAt']&&(console[_0x2e0da5(0x20f)](_0x2e0da5(0x261)),console['error'](_0x2e0da5(0x272)),console['error']('\x20\x20'+_0x3454a3['dashboardUrl']),process['exit'](0x1));const _0x5797ea=_0x3454a3['checklistItems']||[];_0x5797ea['length']===0x0&&(console['error'](_0x42c8a5[_0x2e0da5(0x231)]),process[_0x2e0da5(0x256)](0x1));if(_0x42c8a5[_0x2e0da5(0x1f4)](_0x260a39['scenario'],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x42c8a5['PEtzy']);for(let _0x362485=0x0;_0x42c8a5['FOBPF'](_0x362485,_0x5797ea['length']);_0x362485++){console[_0x2e0da5(0x1a7)]('\x20\x20'+(_0x362485+0x1)+'.\x20'+_0x5797ea[_0x362485][_0x2e0da5(0x1c9)]);}process[_0x2e0da5(0x256)](0x1);}const _0x62ecf3=_0x42c8a5[_0x2e0da5(0x1fc)](_0x260a39[_0x2e0da5(0x1e9)],0x1);if(_0x42c8a5[_0x2e0da5(0x1d9)](_0x62ecf3,0x0)||_0x62ecf3>=_0x5797ea[_0x2e0da5(0x1a4)]){console['error'](_0x2e0da5(0x1ef)+_0x260a39[_0x2e0da5(0x1e9)]+'.\x20Feature\x20review\x20has\x20'+_0x5797ea['length']+'\x20scenarios.'),console['log'](_0x2e0da5(0x19a));for(let _0x8b17d9=0x0;_0x42c8a5['FYLqW'](_0x8b17d9,_0x5797ea['length']);_0x8b17d9++){console[_0x2e0da5(0x1a7)]('\x20\x20'+(_0x8b17d9+0x1)+'.\x20'+_0x5797ea[_0x8b17d9]['description']);}process['exit'](0x1);}const _0x463b6a=_0x5797ea[_0x62ecf3];await updateChecklistItem(_0x497502,_0x463b6a['id'],{'description':_0x144b45});const _0x42798c=await _0x42c8a5[_0x2e0da5(0x275)](getFeature,_0x497502);console['log'](_0x2e0da5(0x215)),displayFeature(_0x42798c,_0x42798c['checklistItems']);}async function downloadFeedbackImage(_0x591bb2,_0x422d4b){const _0x267c70=_0x1307aa,_0x26ff9d={'TRLAE':function(_0x2be416,_0x2e2f2a,_0x4d8187){return _0x2be416(_0x2e2f2a,_0x4d8187);},'tKKfM':function(_0x1498f4,_0x12d128,_0x5efbc1){return _0x1498f4(_0x12d128,_0x5efbc1);},'YkhOe':function(_0x4c8ba4,_0x7051c){return _0x4c8ba4(_0x7051c);}};try{const _0x2e0603=join(getRangerDir(),_0x267c70(0x252));await _0x26ff9d['TRLAE'](mkdir,_0x2e0603,{'recursive':!![]});const _0x32a10b=_0x26ff9d[_0x267c70(0x247)](join,_0x2e0603,_0x267c70(0x240)+_0x422d4b+'.png'),_0x1f87fd=await _0x26ff9d[_0x267c70(0x1db)](fetch,_0x591bb2);if(!_0x1f87fd['ok'])return null;const _0x290b39=Buffer[_0x267c70(0x279)](await _0x1f87fd['arrayBuffer']());return await writeFile(_0x32a10b,_0x290b39),_0x32a10b;}catch{return null;}}export async function featureGetReview(_0x12696b){const _0x65ecd5=_0x1307aa,_0x4d8cb1={'eWbVl':function(_0x7099df){return _0x7099df();},'MVxgi':_0x65ecd5(0x1a8),'gJuyl':function(_0x5dcb9f,_0x5a61a0){return _0x5dcb9f(_0x5a61a0);},'WptYv':_0x65ecd5(0x21c),'gqqfS':function(_0x43fce9,_0xdd4f68,_0x262403){return _0x43fce9(_0xdd4f68,_0x262403);},'xYRSp':function(_0x4991f2,_0x2723ce){return _0x4991f2+_0x2723ce;},'XquJv':'short','yosfs':'\x20>\x20','YYOqP':function(_0x678120,_0x54d674){return _0x678120===_0x54d674;},'nRegP':function(_0x22a021,_0xc5fc21){return _0x22a021>=_0xc5fc21;}},_0x38e1b8=_0x12696b||await _0x4d8cb1['eWbVl'](getActiveFeatureId);if(!_0x38e1b8)throw new Error(_0x4d8cb1[_0x65ecd5(0x265)]);const _0x297a0a=await _0x4d8cb1['gJuyl'](getFeature,_0x38e1b8),{items:_0x483151}=await _0x4d8cb1['gJuyl'](getActionItems,_0x38e1b8);console[_0x65ecd5(0x1a7)](_0x65ecd5(0x19e)+_0x297a0a['name']+'\x20('+_0x297a0a['id']+')\x0a');if(_0x483151[_0x65ecd5(0x1a4)]===0x0){console[_0x65ecd5(0x1a7)](_0x4d8cb1[_0x65ecd5(0x21a)]);return;}for(let _0x452c2b=0x0;_0x452c2b<_0x483151[_0x65ecd5(0x1a4)];_0x452c2b++){const _0x5e927c=_0x483151[_0x452c2b],_0x20561d=_0x5e927c['version']>0x1?'\x20(v'+_0x5e927c[_0x65ecd5(0x1cd)]+')':'',_0x54ce8f=await _0x4d8cb1[_0x65ecd5(0x226)](getItemFeedback,_0x38e1b8,_0x5e927c['id']);if(_0x54ce8f['unaddressedComments'][_0x65ecd5(0x1a4)]>0x0){console['log']('Scenario\x20'+_0x4d8cb1[_0x65ecd5(0x216)](_0x452c2b,0x1)+_0x65ecd5(0x1f2)+_0x5e927c['description']+'\x22'+_0x20561d+'\x20—\x20'+_0x54ce8f[_0x65ecd5(0x206)][_0x65ecd5(0x1a4)]+_0x65ecd5(0x204));for(const _0x22aa81 of _0x54ce8f['unaddressedComments']){const _0x404a20=new Date(_0x22aa81[_0x65ecd5(0x20d)])['toLocaleDateString']('en-US',{'month':_0x4d8cb1['XquJv'],'day':'numeric'}),_0x54848b=_0x22aa81['authorName']||_0x22aa81['authorEmail']||_0x65ecd5(0x1e5);console[_0x65ecd5(0x1a7)]('\x20\x20💬\x20'+_0x54848b+'\x20('+_0x404a20+'):\x20\x22'+_0x22aa81[_0x65ecd5(0x24f)]+'\x22');if(_0x22aa81['assetUrl']){const _0x27af27=await downloadFeedbackImage(_0x22aa81['assetUrl'],_0x22aa81['id']);_0x27af27&&console[_0x65ecd5(0x1a7)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x27af27);}if(_0x22aa81[_0x65ecd5(0x1fd)]){const _0x2867c9=_0x22aa81[_0x65ecd5(0x1fd)]['selector']['split'](_0x4d8cb1['yosfs'])['pop']()?.[_0x65ecd5(0x207)](':')[0x0]||'element',_0x2b6661=_0x22aa81[_0x65ecd5(0x1fd)][_0x65ecd5(0x1c0)]?'\x20\x22'+_0x22aa81['domRef']['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x65ecd5(0x270)+_0x2867c9+'>'+_0x2b6661),console[_0x65ecd5(0x1a7)](_0x65ecd5(0x1aa)+_0x22aa81[_0x65ecd5(0x1fd)][_0x65ecd5(0x211)]);}else{if(_0x22aa81['spatial']){const _0x30f790=_0x22aa81[_0x65ecd5(0x278)]['coordinates'];_0x4d8cb1[_0x65ecd5(0x24e)](_0x22aa81['spatial']['type'],'point')&&_0x4d8cb1[_0x65ecd5(0x1fe)](_0x30f790['length'],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x30f790[0x0]['toFixed'](0x2)+',\x20'+_0x30f790[0x1]['toFixed'](0x2)+')'):console[_0x65ecd5(0x1a7)](_0x65ecd5(0x238)+_0x22aa81['spatial'][_0x65ecd5(0x1dc)]+_0x65ecd5(0x1ab)+_0x30f790['map'](_0x1c7b45=>_0x1c7b45[_0x65ecd5(0x1af)](0x2))[_0x65ecd5(0x249)](',\x20')+']');}}}if(_0x54ce8f['canonicalFlow']){console[_0x65ecd5(0x1a7)]('\x20\x20Expected\x20flow:');for(const _0x509fa6 of _0x54ce8f['canonicalFlow']['split']('\x0a')){console[_0x65ecd5(0x1a7)]('\x20\x20\x20\x20'+_0x509fa6);}}}else console['log']('Scenario\x20'+(_0x452c2b+0x1)+_0x65ecd5(0x1f2)+_0x5e927c['description']+'\x22'+_0x20561d+'\x20—\x20no\x20comments'),console[_0x65ecd5(0x1a7)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x45ebbf){const _0x2340a5=_0x1307aa,_0x270d75={'FxbZd':function(_0x5fa0b9,_0x6d9dd0){return _0x5fa0b9(_0x6d9dd0);},'puBkR':function(_0x56b420,_0x5b9b35){return _0x56b420(_0x5b9b35);},'SIJmY':function(_0x1b0898,_0x3f90b3){return _0x1b0898+_0x3f90b3;}},_0x24cae4=_0x45ebbf||await getActiveFeatureId();if(!_0x24cae4)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 _0x2eb0b9=await _0x270d75['FxbZd'](getFeature,_0x24cae4);await _0x270d75[_0x2340a5(0x1e4)](softDeleteFeature,_0x24cae4),console['log'](_0x2340a5(0x19b)+_0x2eb0b9[_0x2340a5(0x1bf)]+'\x20('+_0x24cae4+')'),console[_0x2340a5(0x1a7)](_0x270d75[_0x2340a5(0x200)](_0x2340a5(0x1bb),_0x24cae4));}export async function featureRestore(_0x75b73){const _0x4655c2=_0x1307aa,_0x23dab8={'ftoeT':function(_0x2d2761,_0x94b23d){return _0x2d2761(_0x94b23d);}};await _0x23dab8['ftoeT'](restoreFeature,_0x75b73);const _0x1bf5bf=await getFeature(_0x75b73);console[_0x4655c2(0x1a7)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1bf5bf[_0x4655c2(0x1bf)]+'\x20('+_0x75b73+')'),displayFeature(_0x1bf5bf,_0x1bf5bf['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2348(_0x1fb616,_0x8d829e){_0x1fb616=_0x1fb616-0xc6;const _0x5358f8=_0x5358();let _0x234813=_0x5358f8[_0x1fb616];return _0x234813;}(function(_0x5f4339,_0x32d82b){const _0x27b4f0=_0x2348,_0x422101=_0x5f4339();while(!![]){try{const _0x226b21=parseInt(_0x27b4f0(0xce))/0x1*(parseInt(_0x27b4f0(0xcc))/0x2)+parseInt(_0x27b4f0(0xd5))/0x3*(parseInt(_0x27b4f0(0xc9))/0x4)+-parseInt(_0x27b4f0(0xd2))/0x5*(parseInt(_0x27b4f0(0xc8))/0x6)+parseInt(_0x27b4f0(0xd3))/0x7*(parseInt(_0x27b4f0(0xc6))/0x8)+parseInt(_0x27b4f0(0xd7))/0x9+-parseInt(_0x27b4f0(0xcf))/0xa+-parseInt(_0x27b4f0(0xca))/0xb;if(_0x226b21===_0x32d82b)break;else _0x422101['push'](_0x422101['shift']());}catch(_0x4417e7){_0x422101['push'](_0x422101['shift']());}}}(_0x5358,0xa643d));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x5358(){const _0x52c19d=['493JPvFFt','1004830pUbzhT','SIGINT','exit','2207765QTyFwo','133539YrjYGH','Unknown\x20hook:\x20','797073jPVWYW','SIGHUP','8535168vdAceS','SIGTERM','152MCtmMg','error','12CVSTDk','16czaNRX','22212993vCqdwj','once','5316qdprgf','FIYaA'];_0x5358=function(){return _0x52c19d;};return _0x5358();}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 _0x515651=_0x2348,_0x346c43={'FIYaA':_0x515651(0xd0)};if(cancellationHandlersInstalled)return;const _0x4b3961=()=>{const _0x3c8280=_0x515651;process[_0x3c8280(0xd1)](0x0);};process[_0x515651(0xcb)](_0x346c43[_0x515651(0xcd)],_0x4b3961),process[_0x515651(0xcb)](_0x515651(0xd8),_0x4b3961),process[_0x515651(0xcb)](_0x515651(0xd6),_0x4b3961),cancellationHandlersInstalled=!![];}export async function hook(_0xe60b4f,_0x22583c){const _0xb320a0=_0x2348;installCancellationHandlers();const _0x383ba3=HOOKS[_0xe60b4f];if(!_0x383ba3){const _0x51ed02=Object['keys'](HOOKS)['join'](',\x20');console[_0xb320a0(0xc7)](_0xb320a0(0xd4)+_0xe60b4f),console[_0xb320a0(0xc7)]('Valid\x20hooks:\x20'+_0x51ed02),process['exit'](0x1);}await _0x383ba3(_0x22583c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa9ad39,_0x1bb8b0){const _0xe322de=_0x3a33,_0x32ae56=_0xa9ad39();while(!![]){try{const _0x3689f3=parseInt(_0xe322de(0x14c))/0x1+parseInt(_0xe322de(0x148))/0x2+parseInt(_0xe322de(0x142))/0x3*(-parseInt(_0xe322de(0x144))/0x4)+parseInt(_0xe322de(0x145))/0x5*(-parseInt(_0xe322de(0x147))/0x6)+-parseInt(_0xe322de(0x14b))/0x7+-parseInt(_0xe322de(0x149))/0x8+-parseInt(_0xe322de(0x143))/0x9*(-parseInt(_0xe322de(0x14a))/0xa);if(_0x3689f3===_0x1bb8b0)break;else _0x32ae56['push'](_0x32ae56['shift']());}catch(_0xb2b8e4){_0x32ae56['push'](_0x32ae56['shift']());}}}(_0x3e5f,0x1bbfb));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x6107c1=_0x3a33,_0x1879c9={'UJYSE':function(_0x1e0418){return _0x1e0418();},'StyMZ':function(_0x256db4,_0x554517){return _0x256db4(_0x554517);},'VqHrK':function(_0x112c5b,_0x3edc5a){return _0x112c5b(_0x3edc5a);}},_0x4187f9=await _0x1879c9['UJYSE'](readHookInput),_0x3c2fd4=_0x4187f9?.['session_id'];if(!_0x3c2fd4)return;if(_0x1879c9[_0x6107c1(0x140)](isSessionEnabled,_0x3c2fd4)||_0x1879c9[_0x6107c1(0x146)](hasSessionBeenPrompted,_0x3c2fd4))return;_0x1879c9[_0x6107c1(0x140)](markSessionPrompted,_0x3c2fd4),console[_0x6107c1(0x141)](AUTO_PROMPT_TEXT);}function _0x3a33(_0x411b32,_0x14f620){_0x411b32=_0x411b32-0x140;const _0x3e5f73=_0x3e5f();let _0x3a3321=_0x3e5f73[_0x411b32];return _0x3a3321;}function _0x3e5f(){const _0x3777e8=['135SftHKL','VqHrK','13770yflDWp','148424sYZXfN','605264XqJgkn','60CAhDWa','976451FHHIKU','78113atNcRo','StyMZ','log','86484ntztZL','444159rbJVPb','8StaSxh'];_0x3e5f=function(){return _0x3777e8;};return _0x3e5f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4b47a6,_0x35bafc){const _0x3d313c=_0x82d5,_0x124eb3=_0x4b47a6();while(!![]){try{const _0x5ea219=-parseInt(_0x3d313c(0x1e9))/0x1*(parseInt(_0x3d313c(0x1ea))/0x2)+parseInt(_0x3d313c(0x1ec))/0x3*(-parseInt(_0x3d313c(0x1eb))/0x4)+parseInt(_0x3d313c(0x1f1))/0x5*(-parseInt(_0x3d313c(0x1ef))/0x6)+-parseInt(_0x3d313c(0x1e6))/0x7+-parseInt(_0x3d313c(0x1f3))/0x8+-parseInt(_0x3d313c(0x1e7))/0x9+parseInt(_0x3d313c(0x1ee))/0xa;if(_0x5ea219===_0x35bafc)break;else _0x124eb3['push'](_0x124eb3['shift']());}catch(_0x2aae6b){_0x124eb3['push'](_0x124eb3['shift']());}}}(_0x398a,0x7da20));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x398a(){const _0x3c83fe=['\x20and\x20branch\x20\x27','8660eLsmRI','HIepL','2586504jKuWrl','PBaQJ','master','main','5596598PnScut','3572181bEMGiQ','tcOwI','23926DuUJsa','18vVXrWI','14824mGOrJo','216tWBPpz','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','34396500ERyTbR','3198YXzUvg'];_0x398a=function(){return _0x3c83fe;};return _0x398a();}import{printBlock}from'./output.js';function _0x82d5(_0x37753e,_0x2afb4f){_0x37753e=_0x37753e-0x1e6;const _0x398a69=_0x398a();let _0x82d5de=_0x398a69[_0x37753e];return _0x82d5de;}export async function disable(_0x1bfbcd){const _0x5a3c3c=_0x82d5,_0x8eea4e={'RIwrw':function(_0x4001d7,_0x24065c){return _0x4001d7(_0x24065c);},'tcOwI':_0x5a3c3c(0x1f6),'PBaQJ':function(_0x5783ec,_0x38d71d){return _0x5783ec!==_0x38d71d;},'TxIWb':_0x5a3c3c(0x1f5),'HIepL':function(_0x3e4b6c,_0x12653f){return _0x3e4b6c(_0x12653f);}},_0x2b4f23=_0x1bfbcd||process['env']['CLAUDE_SESSION_ID']||'';_0x2b4f23&&_0x8eea4e['RIwrw'](disableSession,_0x2b4f23);const _0x2f1a5c=getCurrentBranch();_0x2f1a5c&&_0x2f1a5c!==_0x8eea4e['tcOwI']&&_0x8eea4e[_0x5a3c3c(0x1f4)](_0x2f1a5c,_0x8eea4e['TxIWb'])&&_0x8eea4e[_0x5a3c3c(0x1f2)](disableBranch,_0x2f1a5c),printBlock(_0x5a3c3c(0x1ed)+(_0x2f1a5c&&_0x2f1a5c!==_0x8eea4e[_0x5a3c3c(0x1e8)]&&_0x8eea4e[_0x5a3c3c(0x1f4)](_0x2f1a5c,'master')?_0x5a3c3c(0x1f0)+_0x2f1a5c+'\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 _0x2f3a(_0x4a56e3,_0x3d583b){_0x4a56e3=_0x4a56e3-0xdf;const _0x51e000=_0x51e0();let _0x2f3ae7=_0x51e000[_0x4a56e3];return _0x2f3ae7;}(function(_0x40450b,_0x569901){const _0x151241=_0x2f3a,_0x60bd8c=_0x40450b();while(!![]){try{const _0x5051e=parseInt(_0x151241(0xdf))/0x1+-parseInt(_0x151241(0xec))/0x2+parseInt(_0x151241(0xee))/0x3*(parseInt(_0x151241(0xe3))/0x4)+-parseInt(_0x151241(0xf3))/0x5+parseInt(_0x151241(0xe6))/0x6+parseInt(_0x151241(0xf0))/0x7*(-parseInt(_0x151241(0xe9))/0x8)+parseInt(_0x151241(0xe5))/0x9*(-parseInt(_0x151241(0xf2))/0xa);if(_0x5051e===_0x569901)break;else _0x60bd8c['push'](_0x60bd8c['shift']());}catch(_0x10c053){_0x60bd8c['push'](_0x60bd8c['shift']());}}}(_0x51e0,0x5ae36));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x51e0(){const _0x579b93=['gxkUk','287151bsIreW','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','543200igixMC','main','2690kNSPGO','2669910jKHmpr','384758ByXYxJ','\x0a\x0a**Branch\x20\x27','env','\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`.','16zOpzIY','LqqLU','387xTbFUI','3388914kcsmNm','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','WKIjb','40XHNbKd','ranger\x20setup','oVpSe','53236IbSciL'];_0x51e0=function(){return _0x579b93;};return _0x51e0();}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(_0x4aaeca){const _0xb063c8=_0x2f3a,_0x3abc30={'oVpSe':'ranger\x20setup\x20--opencode','tvQRl':_0xb063c8(0xea),'gxkUk':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','bjkiD':_0xb063c8(0xe7),'WKIjb':function(_0x43eb36,_0x53ca6c){return _0x43eb36(_0x53ca6c);},'ZgKOi':function(_0x301124,_0x2e0e1e){return _0x301124!==_0x2e0e1e;},'LqqLU':function(_0x59ad30){return _0x59ad30();}},_0x4d2a64=_0x4aaeca||process[_0xb063c8(0xe1)]['CLAUDE_SESSION_ID']||'',_0x4173d8=Boolean(_0x4aaeca),_0x3723ea=await getToken();if(!_0x3723ea){const _0xee4a7d=_0x4173d8?_0x3abc30[_0xb063c8(0xeb)]:_0x3abc30['tvQRl'],_0xff2b55=_0x4173d8?_0x3abc30[_0xb063c8(0xed)]:_0x3abc30['bjkiD'];_0x3abc30[_0xb063c8(0xe8)](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`'+_0xee4a7d+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0xff2b55);return;}try{await update();}catch{}_0x4d2a64&&enableSession(_0x4d2a64);const _0x2e9ed3=getCurrentBranch(),_0xe8c7e=_0x2e9ed3&&_0x2e9ed3!==_0xb063c8(0xf1)&&_0x3abc30['ZgKOi'](_0x2e9ed3,'master')?_0xb063c8(0xe0)+_0x2e9ed3+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x3be31a=_0x3abc30[_0xb063c8(0xe4)](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0xe8c7e+_0xb063c8(0xef)+_0x3be31a+_0xb063c8(0xe2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x581ce3,_0x1f1da6){const _0x172a86=_0xd24b,_0x1c9623=_0x581ce3();while(!![]){try{const _0x346853=parseInt(_0x172a86(0x1ac))/0x1*(-parseInt(_0x172a86(0x1a5))/0x2)+parseInt(_0x172a86(0x1a2))/0x3+-parseInt(_0x172a86(0x1a7))/0x4*(-parseInt(_0x172a86(0x1a3))/0x5)+parseInt(_0x172a86(0x1a4))/0x6+-parseInt(_0x172a86(0x1ab))/0x7+parseInt(_0x172a86(0x1a6))/0x8+parseInt(_0x172a86(0x1a9))/0x9*(-parseInt(_0x172a86(0x1aa))/0xa);if(_0x346853===_0x1f1da6)break;else _0x1c9623['push'](_0x1c9623['shift']());}catch(_0x452da3){_0x1c9623['push'](_0x1c9623['shift']());}}}(_0x5659,0xeb2d7));function _0xd24b(_0x2ce207,_0x5d25a6){_0x2ce207=_0x2ce207-0x1a2;const _0x5659e8=_0x5659();let _0xd24beb=_0x5659e8[_0x2ce207];return _0xd24beb;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x789084){const _0x2d7334=_0xd24b,_0x8a01f5={'VPxws':function(_0x312a12,_0x559897){return _0x312a12(_0x559897);}},_0x2498bd=await getEnabledSessionId(_0x789084);if(!_0x2498bd)return;_0x8a01f5[_0x2d7334(0x1a8)](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x5659(){const _0x2ff526=['6532DebUvn','VPxws','81IUSFMw','743810qNGfRC','1032059ZMeltG','223217kUnYpU','1691460LEHzuM','115IqmDxz','485820Clddyr','2CgxnCT','10568168WXoZLA'];_0x5659=function(){return _0x2ff526;};return _0x5659();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4026d1,_0x3a0e5f){var _0xe493e8=_0x239b,_0x347702=_0x4026d1();while(!![]){try{var _0x350bf5=-parseInt(_0xe493e8(0xb1))/0x1+-parseInt(_0xe493e8(0xb8))/0x2*(parseInt(_0xe493e8(0xb4))/0x3)+parseInt(_0xe493e8(0xb9))/0x4*(parseInt(_0xe493e8(0xb3))/0x5)+parseInt(_0xe493e8(0xb5))/0x6*(-parseInt(_0xe493e8(0xba))/0x7)+parseInt(_0xe493e8(0xb7))/0x8+-parseInt(_0xe493e8(0xb6))/0x9+parseInt(_0xe493e8(0xb2))/0xa;if(_0x350bf5===_0x3a0e5f)break;else _0x347702['push'](_0x347702['shift']());}catch(_0x5f24ef){_0x347702['push'](_0x347702['shift']());}}}(_0x3767,0x724b9));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x239b(_0x1d75c5,_0x198586){_0x1d75c5=_0x1d75c5-0xb1;var _0x37673a=_0x3767();var _0x239b37=_0x37673a[_0x1d75c5];return _0x239b37;}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0x3767(){var _0x1c11de=['286064ajDtfj','16321490oGDCMz','5SHJUBS','1824594TKNfZo','610050wpnRFP','5756409OfoOiC','75528phoNaU','2byQwMj','3475204tGeTsI','35QafcKq'];_0x3767=function(){return _0x1c11de;};return _0x3767();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1dff40,_0x39328a){const _0x2c697d=_0x3204,_0x148ac8=_0x1dff40();while(!![]){try{const _0xfd540c=parseInt(_0x2c697d(0xcb))/0x1*(parseInt(_0x2c697d(0xcc))/0x2)+parseInt(_0x2c697d(0xc8))/0x3+-parseInt(_0x2c697d(0xc3))/0x4+parseInt(_0x2c697d(0xc5))/0x5+parseInt(_0x2c697d(0xca))/0x6+parseInt(_0x2c697d(0xc7))/0x7+-parseInt(_0x2c697d(0xcd))/0x8*(parseInt(_0x2c697d(0xc6))/0x9);if(_0xfd540c===_0x39328a)break;else _0x148ac8['push'](_0x148ac8['shift']());}catch(_0x57b2ee){_0x148ac8['push'](_0x148ac8['shift']());}}}(_0xac2e,0x7b0e7));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x2f5e6c){console['log'](_0x2f5e6c);}function _0x3204(_0x592308,_0x4d207d){_0x592308=_0x592308-0xc3;const _0xac2e0f=_0xac2e();let _0x320451=_0xac2e0f[_0x592308];return _0x320451;}export async function readHookInput(){const _0x23e852=_0x3204;let _0x267fc9='';try{for await(const _0x17ca3d of process['stdin']){_0x267fc9+=_0x17ca3d;}}catch{return null;}if(!_0x267fc9[_0x23e852(0xc9)]())return null;try{return JSON['parse'](_0x267fc9);}catch{return null;}}export async function getEnabledSessionId(_0x2170d0){const _0x94a15c={'wbZEF':function(_0xbe142f,_0x3534e7){return _0xbe142f(_0x3534e7);}};if(_0x2170d0)return isSessionEnabled(_0x2170d0)?_0x2170d0:null;const _0x4b0dc9=await readHookInput(),_0x4e01e0=_0x4b0dc9?.['session_id'];if(!_0x4e01e0||!_0x94a15c['wbZEF'](isSessionEnabled,_0x4e01e0))return null;return _0x4e01e0;}export async function getEnabledHookContext(_0x3494f2){const _0xf51472=_0x3204,_0x32153d={'dsvWN':function(_0x1b1f42){return _0x1b1f42();}};if(_0x3494f2){if(!isSessionEnabled(_0x3494f2))return null;return{'sessionId':_0x3494f2,'input':{'session_id':_0x3494f2}};}const _0x3ca602=await _0x32153d[_0xf51472(0xc4)](readHookInput),_0x5bee4f=_0x3ca602?.['session_id'];if(!_0x5bee4f||!isSessionEnabled(_0x5bee4f))return null;return{'sessionId':_0x5bee4f,'input':_0x3ca602};}function _0xac2e(){const _0x1b1365=['1441518ycopgi','109ENvdrG','16222xHlvte','232xySrEL','1767668gFiuBL','dsvWN','4034280BiXrxc','699768DxdqkP','3126487DXJcNB','2468745XATtbZ','trim'];_0xac2e=function(){return _0x1b1365;};return _0xac2e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x37bc(){const _0xa32ca0=['49VyBAHF','584346KWbFzT','12147773ICareX','510231njKmoi','permission_mode','1818FUAHvX','16547210FHMgfv','28bLSFxR','3740265GTHbFx','128079crmdjJ','4tQkSTf','7928yCbVQx'];_0x37bc=function(){return _0xa32ca0;};return _0x37bc();}(function(_0x85fda4,_0x546c39){const _0x580eef=_0x9498,_0x33bc03=_0x85fda4();while(!![]){try{const _0x41c287=parseInt(_0x580eef(0x109))/0x1+parseInt(_0x580eef(0x10d))/0x2*(-parseInt(_0x580eef(0x10f))/0x3)+parseInt(_0x580eef(0x110))/0x4*(parseInt(_0x580eef(0x10e))/0x5)+-parseInt(_0x580eef(0x113))/0x6*(-parseInt(_0x580eef(0x112))/0x7)+parseInt(_0x580eef(0x111))/0x8*(parseInt(_0x580eef(0x10b))/0x9)+-parseInt(_0x580eef(0x10c))/0xa+parseInt(_0x580eef(0x108))/0xb;if(_0x41c287===_0x546c39)break;else _0x33bc03['push'](_0x33bc03['shift']());}catch(_0x4b4af6){_0x33bc03['push'](_0x33bc03['shift']());}}}(_0x37bc,0xf237b));import{printBlock,getEnabledHookContext}from'./output.js';function _0x9498(_0x4be626,_0x30a8e6){_0x4be626=_0x4be626-0x108;const _0x37bcc0=_0x37bc();let _0x949894=_0x37bcc0[_0x4be626];return _0x949894;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x468e24){const _0x18c0e4=_0x9498,_0x106adf={'vZbmC':function(_0x376bdc,_0x43b83d){return _0x376bdc(_0x43b83d);}},_0x588406=await getEnabledHookContext(_0x468e24);if(!_0x588406)return;if(_0x588406['input'][_0x18c0e4(0x10a)]!=='plan')return;if(!shouldShowPlanReminder(_0x588406['sessionId']))return;_0x106adf['vZbmC'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x25b6bc,_0x1f3036){const _0x3d5e8c=_0x5930,_0x5943bb=_0x25b6bc();while(!![]){try{const _0x26965f=parseInt(_0x3d5e8c(0x16b))/0x1+-parseInt(_0x3d5e8c(0x165))/0x2*(-parseInt(_0x3d5e8c(0x169))/0x3)+-parseInt(_0x3d5e8c(0x16a))/0x4+-parseInt(_0x3d5e8c(0x168))/0x5+parseInt(_0x3d5e8c(0x164))/0x6*(parseInt(_0x3d5e8c(0x16d))/0x7)+parseInt(_0x3d5e8c(0x16c))/0x8*(parseInt(_0x3d5e8c(0x16e))/0x9)+-parseInt(_0x3d5e8c(0x166))/0xa;if(_0x26965f===_0x1f3036)break;else _0x5943bb['push'](_0x5943bb['shift']());}catch(_0x1a8a4b){_0x5943bb['push'](_0x5943bb['shift']());}}}(_0x3ed1,0x708eb));function _0x5930(_0x52e2c7,_0x265c89){_0x52e2c7=_0x52e2c7-0x164;const _0x3ed1b5=_0x3ed1();let _0x5930ff=_0x3ed1b5[_0x52e2c7];return _0x5930ff;}function _0x3ed1(){const _0x2c1845=['3202026OOHnxr','244136KIdwpQ','3134060Zjswdq','===\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===','3608705SXYTFK','18vPPaLI','1780964YpPVAo','118131DSKwYk','8hYFWcg','7kcbFtU','5014917EKJEhS'];_0x3ed1=function(){return _0x2c1845;};return _0x3ed1();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x1e7389){const _0x368bd0=_0x5930,_0x5e572e=await getEnabledSessionId(_0x1e7389);if(!_0x5e572e)return;printBlock(_0x368bd0(0x167));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x72e422,_0x2beb9d){const _0xad404e=_0x5bca,_0x3d39ea=_0x72e422();while(!![]){try{const _0x3b0019=-parseInt(_0xad404e(0x15f))/0x1*(-parseInt(_0xad404e(0x158))/0x2)+-parseInt(_0xad404e(0x160))/0x3*(-parseInt(_0xad404e(0x166))/0x4)+parseInt(_0xad404e(0x157))/0x5+parseInt(_0xad404e(0x15e))/0x6+-parseInt(_0xad404e(0x15c))/0x7+-parseInt(_0xad404e(0x156))/0x8*(-parseInt(_0xad404e(0x15d))/0x9)+-parseInt(_0xad404e(0x163))/0xa;if(_0x3b0019===_0x2beb9d)break;else _0x3d39ea['push'](_0x3d39ea['shift']());}catch(_0x32c62b){_0x3d39ea['push'](_0x3d39ea['shift']());}}}(_0x2f1e,0x311c3));function _0x2f1e(){const _0xf18cb=['1317728bCQMfm','235776HZFdNW','268325VNqdXn','2PwlcHa','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.','stringify','log','2683898FRbUyE','108ueHVkY','1633074VLZmxs','125477QWfzpz','3scjgaU','duuWf','oPSeS','5498480TJisKk','PostToolUse','SnuQP'];_0x2f1e=function(){return _0xf18cb;};return _0x2f1e();}function _0x5bca(_0x2630fb,_0x4e21c8){_0x2630fb=_0x2630fb-0x156;const _0x2f1e77=_0x2f1e();let _0x5bca9=_0x2f1e77[_0x2630fb];return _0x5bca9;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x1b3aec){const _0x7bb3dd=_0x5bca,_0x5d84a0={'duuWf':function(_0x3d3db5,_0x5d9bc9){return _0x3d3db5(_0x5d9bc9);},'Cheyq':function(_0x1d9355){return _0x1d9355();},'oPSeS':function(_0x5384da,_0x49b7f4){return _0x5384da(_0x49b7f4);},'SnuQP':_0x7bb3dd(0x164)},_0x47643c=await _0x5d84a0[_0x7bb3dd(0x161)](getEnabledSessionId,_0x1b3aec);if(!_0x47643c)return;updateBranchTracking(_0x47643c);const _0x5f45a1=await _0x5d84a0['Cheyq'](getToken);if(!_0x5f45a1)return;const _0x2a87b6=_0x5d84a0[_0x7bb3dd(0x162)](getSessionEntry,_0x47643c);if(_0x2a87b6){const _0x1ad06f={'hookSpecificOutput':{'hookEventName':_0x5d84a0[_0x7bb3dd(0x165)],'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[_0x7bb3dd(0x15a)](_0x1ad06f));return;}const _0x238d9f={'hookSpecificOutput':{'hookEventName':_0x5d84a0[_0x7bb3dd(0x165)],'additionalContext':_0x7bb3dd(0x159)}};console[_0x7bb3dd(0x15b)](JSON['stringify'](_0x238d9f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x900a36,_0x313172){const _0x2e85aa=_0x3b72,_0x1dc59f=_0x900a36();while(!![]){try{const _0x27fc6b=parseInt(_0x2e85aa(0x7c))/0x1+-parseInt(_0x2e85aa(0x80))/0x2+parseInt(_0x2e85aa(0x7e))/0x3+-parseInt(_0x2e85aa(0x7f))/0x4+-parseInt(_0x2e85aa(0x7d))/0x5*(-parseInt(_0x2e85aa(0x7a))/0x6)+-parseInt(_0x2e85aa(0x82))/0x7+-parseInt(_0x2e85aa(0x7b))/0x8*(-parseInt(_0x2e85aa(0x83))/0x9);if(_0x27fc6b===_0x313172)break;else _0x1dc59f['push'](_0x1dc59f['shift']());}catch(_0x10085e){_0x1dc59f['push'](_0x1dc59f['shift']());}}}(_0x41f6,0xf3654));import{getToken}from'../utils/keychain.js';function _0x3b72(_0x38edfb,_0x1f8c4c){_0x38edfb=_0x38edfb-0x7a;const _0x41f631=_0x41f6();let _0x3b7289=_0x41f631[_0x38edfb];return _0x3b7289;}function _0x41f6(){const _0x4e3e63=['1782432SZBhaI','2755054FAqEqn','AAvnB','4365067MmhiRQ','2349ITjZHX','18PTiyNQ','776DPlohd','1388229sxxAdX','1030365huAqTS','4235697zvAYMF'];_0x41f6=function(){return _0x4e3e63;};return _0x41f6();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2aee02){const _0xa4a487=_0x3b72,_0x1cc584={'AAvnB':function(_0x5df08e){return _0x5df08e();}},_0xf22546=await getEnabledSessionId(_0x2aee02);if(!_0xf22546)return;try{const _0x4a4068=await _0x1cc584[_0xa4a487(0x81)](getToken);if(!_0x4a4068)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1f2598,_0x340928){const _0x86d8f4=_0x2fb3,_0x50a0dd=_0x1f2598();while(!![]){try{const _0x576b69=parseInt(_0x86d8f4(0x16f))/0x1*(parseInt(_0x86d8f4(0x169))/0x2)+parseInt(_0x86d8f4(0x16c))/0x3+parseInt(_0x86d8f4(0x16e))/0x4*(parseInt(_0x86d8f4(0x172))/0x5)+-parseInt(_0x86d8f4(0x16d))/0x6*(-parseInt(_0x86d8f4(0x166))/0x7)+-parseInt(_0x86d8f4(0x16a))/0x8+-parseInt(_0x86d8f4(0x171))/0x9+-parseInt(_0x86d8f4(0x16b))/0xa;if(_0x576b69===_0x340928)break;else _0x50a0dd['push'](_0x50a0dd['shift']());}catch(_0x275502){_0x50a0dd['push'](_0x50a0dd['shift']());}}}(_0x2006,0x23f44));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x2fb3(_0x89e30b,_0x14b506){_0x89e30b=_0x89e30b-0x166;const _0x20068d=_0x2006();let _0x2fb36d=_0x20068d[_0x89e30b];return _0x2fb36d;}export async function sessionEnd(_0x30d964){const _0x2b0094=_0x2fb3,_0x5d569f={'jbaNY':function(_0x18eb51,_0x5b3e20){return _0x18eb51(_0x5b3e20);},'jOQfI':_0x2b0094(0x170)},_0x19f5e8=process[_0x2b0094(0x167)][_0x2b0094(0x168)];let _0x133c5c=_0x30d964,_0x37a034;if(!_0x30d964){if(_0x19f5e8&&!_0x5d569f['jbaNY'](isSessionEnabled,_0x19f5e8))return;const _0x4e3807=await readHookInput();_0x133c5c=_0x4e3807?.['session_id']||_0x19f5e8,_0x37a034=_0x4e3807?.['reason'];}if(!_0x133c5c)return;_0x37a034===_0x5d569f['jOQfI']&&recordEnabledSessionCleared(_0x133c5c);}function _0x2006(){const _0x109962=['4DxFrNc','58080SHkivv','1269590wzxOsE','740730dFUrDb','149424AoLLHP','660wmWDMn','56300kTflsy','clear','933768thSape','25tsTRtE','7vuhbYP','env','CLAUDE_SESSION_ID'];_0x2006=function(){return _0x109962;};return _0x2006();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x319801=_0xeb82;(function(_0x308328,_0x2b0e5a){const _0x29fd99=_0xeb82,_0x52d5b7=_0x308328();while(!![]){try{const _0x2de810=parseInt(_0x29fd99(0x12c))/0x1*(parseInt(_0x29fd99(0x132))/0x2)+-parseInt(_0x29fd99(0x135))/0x3+-parseInt(_0x29fd99(0x13e))/0x4+-parseInt(_0x29fd99(0x128))/0x5+parseInt(_0x29fd99(0x12b))/0x6+-parseInt(_0x29fd99(0x13f))/0x7+parseInt(_0x29fd99(0x141))/0x8;if(_0x2de810===_0x2b0e5a)break;else _0x52d5b7['push'](_0x52d5b7['shift']());}catch(_0x2172e6){_0x52d5b7['push'](_0x52d5b7['shift']());}}}(_0x1fe0,0xf27ee));import{appendFile}from'fs/promises';function _0xeb82(_0x42b8e3,_0x3ce48a){_0x42b8e3=_0x42b8e3-0x127;const _0x1fe0e0=_0x1fe0();let _0xeb82b1=_0x1fe0e0[_0x42b8e3];return _0xeb82b1;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x319801(0x13a);export async function sessionStart(_0x40a2fa){const _0x3dc1a3=_0x319801,_0x2f78e8={'Xfgvl':'session_id','GimBB':'source','hBSwl':function(_0x5a8392,_0xbb99e9){return _0x5a8392&&_0xbb99e9;},'IigsM':function(_0x519346,_0x5dcb02,_0x111314){return _0x519346(_0x5dcb02,_0x111314);},'dmVFt':function(_0x4804b9,_0x5628d2){return _0x4804b9(_0x5628d2);},'jIBcG':function(_0x34e1be,_0x26a83f){return _0x34e1be(_0x26a83f);},'lEEuh':_0x3dc1a3(0x129),'oijKt':_0x3dc1a3(0x12a),'GhOac':function(_0x3d4e2d){return _0x3d4e2d();},'XTpcq':function(_0x23473c,_0x361468){return _0x23473c!==_0x361468;},'bvsWG':function(_0x257979,_0x445f89){return _0x257979!==_0x445f89;},'PAFlW':'master','lBmkP':_0x3dc1a3(0x136),'UJnmh':function(_0x26e323,_0x3f8dfc){return _0x26e323+_0x3f8dfc;}};let _0x57dcf1=_0x40a2fa||'',_0x229062;if(!_0x40a2fa){let _0x1a3eff='';for await(const _0x484817 of process['stdin']){_0x1a3eff+=_0x484817;}try{const _0x4de4c1=JSON[_0x3dc1a3(0x12e)](_0x1a3eff);_0x57dcf1=_0x4de4c1[_0x2f78e8[_0x3dc1a3(0x12d)]]||'',_0x229062=_0x4de4c1[_0x2f78e8['GimBB']];}catch{}const _0x1159c9=process['env'][_0x3dc1a3(0x140)];if(_0x2f78e8[_0x3dc1a3(0x13b)](_0x1159c9,_0x57dcf1))try{await _0x2f78e8['IigsM'](appendFile,_0x1159c9,'export\x20CLAUDE_SESSION_ID=\x22'+_0x57dcf1+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x57dcf1){shouldAutoEnableAfterClear(_0x229062)&&autoEnableAfterClear(_0x57dcf1);_0x2f78e8[_0x3dc1a3(0x13c)](initBranchTracking,_0x57dcf1);const _0x2421c5=_0x2f78e8[_0x3dc1a3(0x13d)](isSessionEnabled,_0x57dcf1);try{const _0x343f43=_0x2f78e8['dmVFt'](createTelemetryCollector,_0x2f78e8['lEEuh']);await _0x343f43[_0x3dc1a3(0x131)]({'sessionId':_0x57dcf1,'hooksEnabled':_0x2421c5}),await _0x343f43['trackCommandEnd'](_0x2f78e8[_0x3dc1a3(0x130)]);}catch{}if(_0x2421c5){const _0x1a1c62=_0x2f78e8[_0x3dc1a3(0x134)](getCurrentBranch),_0x42ed90=_0x1a1c62&&_0x2f78e8[_0x3dc1a3(0x139)](_0x1a1c62,'main')&&_0x2f78e8[_0x3dc1a3(0x127)](_0x1a1c62,_0x2f78e8['PAFlW'])?_0x3dc1a3(0x12f)+_0x1a1c62+')':'',_0x44228f={'hookSpecificOutput':{'hookEventName':_0x2f78e8[_0x3dc1a3(0x137)],'additionalContext':_0x2f78e8['UJnmh'](RANGER_AUTO_ENABLED_PROMPT,_0x42ed90)}};console[_0x3dc1a3(0x138)](JSON[_0x3dc1a3(0x133)](_0x44228f));}}}function _0x1fe0(){const _0x26876a=['5574156PDorXv','CLAUDE_ENV_FILE','18909848UHFbJb','bvsWG','8046380LxhIVx','hook:session-start','success','6947352DBhjdL','77320DWvrZg','Xfgvl','parse','\x20(Branch:\x20','oijKt','trackCommandStart','46BUTmzB','stringify','GhOac','2994924xPnxWE','SessionStart','lBmkP','log','XTpcq','=================================================================\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=================================================================','hBSwl','dmVFt','jIBcG','3611316tprESu'];_0x1fe0=function(){return _0x26876a;};return _0x1fe0();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2ca5cf,_0x20e5a9){const _0x2d1e45=_0x2da7,_0x25a0ed=_0x2ca5cf();while(!![]){try{const _0x568a7c=-parseInt(_0x2d1e45(0xae))/0x1+-parseInt(_0x2d1e45(0xaf))/0x2*(-parseInt(_0x2d1e45(0xa2))/0x3)+parseInt(_0x2d1e45(0xb4))/0x4+parseInt(_0x2d1e45(0xac))/0x5+parseInt(_0x2d1e45(0xa8))/0x6+-parseInt(_0x2d1e45(0x9f))/0x7+-parseInt(_0x2d1e45(0xb2))/0x8*(-parseInt(_0x2d1e45(0xaa))/0x9);if(_0x568a7c===_0x20e5a9)break;else _0x25a0ed['push'](_0x25a0ed['shift']());}catch(_0x3afa5b){_0x25a0ed['push'](_0x25a0ed['shift']());}}}(_0x45e3,0x81a5e));import{getToken}from'../utils/keychain.js';function _0x2da7(_0x4843ba,_0x150199){_0x4843ba=_0x4843ba-0x9f;const _0x45e397=_0x45e3();let _0x2da779=_0x45e397[_0x4843ba];return _0x2da779;}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x45e3(){const _0x334db5=['https://dashboard.ranger.net/features/','closed','currentSessionId','432210HSZHTX','success','3753muMVYd','vgNGN','1227320XCVPvj','shKXg','780641ouKiDB','194QCERsX','sessionId','filter','14984ltpekh','featureId','1601468BfzhxM','log','hook:stop','verification_in_progress','DPlSp','3173093MmBljE','iANXG','status','8229SOSoSB','some','verified'];_0x45e3=function(){return _0x334db5;};return _0x45e3();}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x8eb103){const _0x1a7807=_0x2da7,_0x1b2399={'shKXg':function(_0x372ad2,_0x21b2f5){return _0x372ad2(_0x21b2f5);},'CXqoe':function(_0x58c6b9,_0x3bf611,_0x598579,_0x4004aa){return _0x58c6b9(_0x3bf611,_0x598579,_0x4004aa);},'DPlSp':function(_0x379c94,_0x1fdc23,_0x453ab9,_0x584f9e){return _0x379c94(_0x1fdc23,_0x453ab9,_0x584f9e);},'iANXG':'Stop','vgNGN':function(_0x562539,_0x3fc2d0,_0x1ab02f){return _0x562539(_0x3fc2d0,_0x1ab02f);}},_0x31baac=await _0x1b2399[_0x1a7807(0xad)](getEnabledHookContext,_0x8eb103),_0x4f0748=_0x31baac?.[_0x1a7807(0xb0)]??null;let _0x259489=!![];if(!_0x4f0748){await _0x1b2399['CXqoe'](trackStop,_0x4f0748,![],_0x259489);return;}try{const _0x2f2cc2=getSessionEntry(_0x4f0748);if(!_0x2f2cc2){await _0x1b2399[_0x1a7807(0xb8)](trackStop,_0x4f0748,!![],_0x259489);return;}const _0x2eda29=await getToken(),_0x381a7e=_0x1a7807(0xa5)+_0x2f2cc2[_0x1a7807(0xb3)];let _0x4609a9=null,_0x174192=![],_0x4d149a=![];if(_0x2eda29)try{const _0x195bd9=await getFeature(_0x2f2cc2['featureId']);_0x4609a9=_0x195bd9[_0x1a7807(0xa7)]??null;const _0x2f46e6=_0x195bd9['checklistItems'][_0x1a7807(0xb1)](_0x2a3412=>_0x2a3412[_0x1a7807(0xb0)]===_0x4609a9);_0x174192=_0x2f46e6['some'](_0x98c63=>_0x98c63[_0x1a7807(0xa1)]!==_0x1a7807(0xa4)&&_0x98c63['status']!=='blocked'&&_0x98c63[_0x1a7807(0xa1)]!==_0x1a7807(0xa6)&&_0x98c63[_0x1a7807(0xa1)]!=='incomplete'),_0x4d149a=_0x2f46e6[_0x1a7807(0xa3)](_0x186d46=>_0x186d46['status']===_0x1a7807(0xb7));}catch{}if(_0x2eda29&&_0x4609a9&&_0x174192){if(!_0x4d149a&&shouldShowStopReminder(_0x4f0748)){const _0x46cd7d={'hookSpecificOutput':{'hookEventName':_0x1b2399[_0x1a7807(0xa0)],'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'+_0x381a7e}};console[_0x1a7807(0xb5)](JSON['stringify'](_0x46cd7d));}}if(_0x2eda29&&_0x4609a9&&!_0x174192)try{await _0x1b2399[_0x1a7807(0xab)](concludeSession,_0x2f2cc2['featureId'],_0x4609a9);}catch{}await _0x1b2399['CXqoe'](trackStop,_0x4f0748,!![],_0x259489);return;}catch{await _0x1b2399['DPlSp'](trackStop,_0x4f0748,!![],_0x259489);return;}}async function trackStop(_0xb15087,_0x22c1ae,_0x5688ef){const _0x2010f1=_0x2da7,_0x24e006={'QjCog':_0x2010f1(0xb6)};try{const _0x2316bf=createTelemetryCollector(_0x24e006['QjCog']);await _0x2316bf['trackCommandStart']({'sessionId':_0xb15087??undefined,'hooksEnabled':_0x22c1ae,'stopAllowed':_0x5688ef}),await _0x2316bf['trackCommandEnd'](_0x2010f1(0xa9));}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x103ac4,_0x4239e3){var _0x1624e3=_0x7c23,_0x39a199=_0x103ac4();while(!![]){try{var _0x2498a2=-parseInt(_0x1624e3(0xed))/0x1*(parseInt(_0x1624e3(0xeb))/0x2)+-parseInt(_0x1624e3(0xee))/0x3+-parseInt(_0x1624e3(0xe6))/0x4*(-parseInt(_0x1624e3(0xe7))/0x5)+-parseInt(_0x1624e3(0xec))/0x6*(-parseInt(_0x1624e3(0xe5))/0x7)+-parseInt(_0x1624e3(0xe4))/0x8*(-parseInt(_0x1624e3(0xe8))/0x9)+parseInt(_0x1624e3(0xe9))/0xa+parseInt(_0x1624e3(0xea))/0xb;if(_0x2498a2===_0x4239e3)break;else _0x39a199['push'](_0x39a199['shift']());}catch(_0x3222c2){_0x39a199['push'](_0x39a199['shift']());}}}(_0x4b31,0x9c136));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0x7c23(_0x1def45,_0x1f712d){_0x1def45=_0x1def45-0xe4;var _0x4b31e4=_0x4b31();var _0x7c2388=_0x4b31e4[_0x1def45];return _0x7c2388;}export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x4b31(){var _0xbaa87f=['238aWeFfh','32YVXaKY','172290rnmmuC','45nDhydU','1499650HASnPm','7494674CfgTvb','2oIoxbU','85458KLnDMi','1153133KztCDo','501558FowWcQ','589408sUzzJY'];_0x4b31=function(){return _0xbaa87f;};return _0x4b31();}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|