@ranger-testing/ranger-cli 2.2.3 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/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/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/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudePlugin.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/featureReportGenerator.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/git.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/reportGenerator.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/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/verifyInBrowser.js +1 -1
- package/package.json +1 -1
package/build/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x489fec=_0x3655;(function(_0x3ee971,_0x27188d){const _0x4c5f1f=_0x3655,_0x1b726b=_0x3ee971();while(!![]){try{const _0x38390b=-parseInt(_0x4c5f1f(0x1a9))/0x1+-parseInt(_0x4c5f1f(0x1a8))/0x2*(parseInt(_0x4c5f1f(0x199))/0x3)+parseInt(_0x4c5f1f(0x1a3))/0x4+parseInt(_0x4c5f1f(0x19f))/0x5+parseInt(_0x4c5f1f(0x1a2))/0x6+-parseInt(_0x4c5f1f(0x19c))/0x7*(parseInt(_0x4c5f1f(0x19e))/0x8)+-parseInt(_0x4c5f1f(0x198))/0x9*(parseInt(_0x4c5f1f(0x197))/0xa);if(_0x38390b===_0x27188d)break;else _0x1b726b['push'](_0x1b726b['shift']());}catch(_0x383342){_0x1b726b['push'](_0x1b726b['shift']());}}}(_0x83a2,0xa12a7));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=[_0x489fec(0x1a6),_0x489fec(0x1a5)];function _0x83a2(){const _0x20158d=['object','XQAcK','stringify','1960ZDTBpD','45jxKCix','33pTopEb','FIFmJ','xuqRg','1978116rvmLZH','No\x20configuration\x20set\x20for\x20\x22','16MzLOTM','2954400WuwpbN','includes','\x20=\x20','7596414fLfOEF','1625172DrPavw','log','allowInsecureLocalhost','headless','true','7642PgzVOV','994920DJGeST','\x22\x20does\x20not\x20exist.','Profile\x20\x22'];_0x83a2=function(){return _0x20158d;};return _0x83a2();}function parseValue(_0x1c43af,_0x37eee2){const _0x5a5258=_0x489fec;if(BOOLEAN_KEYS[_0x5a5258(0x1a0)](_0x1c43af)){if(_0x37eee2===_0x5a5258(0x1a7))return!![];if(_0x37eee2==='false')return![];throw new Error('Invalid\x20value\x20for\x20'+_0x1c43af+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x37eee2;}function _0x3655(_0x543a7f,_0x556d07){_0x543a7f=_0x543a7f-0x197;const _0x83a20f=_0x83a2();let _0x3655f0=_0x83a20f[_0x543a7f];return _0x3655f0;}export async function configSet(_0x5735d0,_0x4b90a1,_0x2e02aa){const _0x425aa9=_0x489fec,_0x16aa0b={'cvJgY':function(_0x297321,_0x4cb3e1){return _0x297321(_0x4cb3e1);},'XQAcK':function(_0x87bccb,_0x402cd0,_0x1bad8f){return _0x87bccb(_0x402cd0,_0x1bad8f);}},_0x235d56=getEnvDir(_0x5735d0);if(!existsSync(_0x235d56))throw new Error('Profile\x20\x22'+_0x5735d0+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x5735d0);const _0x1c5dab=await _0x16aa0b['cvJgY'](loadSettings,_0x5735d0),_0x1eb6f6=_0x16aa0b[_0x425aa9(0x1ad)](parseValue,_0x4b90a1,_0x2e02aa);setNestedValue(_0x1c5dab,_0x4b90a1,_0x1eb6f6),await saveSettings(_0x5735d0,_0x1c5dab),console[_0x425aa9(0x1a4)]('Set\x20'+_0x4b90a1+_0x425aa9(0x1a1)+_0x1eb6f6);}export async function configGet(_0x1da180,_0x49ea01){const _0x5bb0be=_0x489fec,_0x239c08={'Rcres':function(_0x26105b,_0x12ca9c){return _0x26105b===_0x12ca9c;},'jfmzu':_0x5bb0be(0x1ac)},_0x72c766=getEnvDir(_0x1da180);if(!existsSync(_0x72c766))throw new Error(_0x5bb0be(0x1ab)+_0x1da180+'\x22\x20does\x20not\x20exist.');const _0x224fc7=await loadSettings(_0x1da180),_0x22d4e1=getNestedValue(_0x224fc7,_0x49ea01);if(_0x239c08['Rcres'](_0x22d4e1,undefined))console['log']('(not\x20set)');else typeof _0x22d4e1===_0x239c08['jfmzu']?console[_0x5bb0be(0x1a4)](JSON[_0x5bb0be(0x1ae)](_0x22d4e1,null,0x2)):console[_0x5bb0be(0x1a4)](_0x22d4e1);}export async function configList(_0x196212){const _0x585287=_0x489fec,_0x155f87={'xuqRg':function(_0x177381,_0x2eab27){return _0x177381(_0x2eab27);},'sqkSM':function(_0x3415ea,_0xfe8c55){return _0x3415ea(_0xfe8c55);},'VTlan':function(_0x5b533e,_0x176a13){return _0x5b533e(_0x176a13);}},_0x49a4fb=_0x155f87['xuqRg'](getSettingsPath,_0x196212);if(!_0x155f87[_0x585287(0x19b)](existsSync,_0x49a4fb)){const _0x2dc84c=_0x155f87['sqkSM'](getEnvDir,_0x196212);if(!existsSync(_0x2dc84c))throw new Error(_0x585287(0x1ab)+_0x196212+_0x585287(0x1aa));console['log'](_0x585287(0x19d)+_0x196212+'\x22');return;}const _0x4b3164=await loadSettings(_0x196212),_0x11d9bb=_0x155f87['VTlan'](formatSettings,_0x4b3164);!_0x11d9bb?console['log'](_0x585287(0x19d)+_0x196212+'\x22'):console['log'](_0x11d9bb);}export async function configUnset(_0x57779a,_0x575885){const _0x2ece2c=_0x489fec,_0x3065fa={'FIFmJ':function(_0x1fcaba,_0x4e62aa){return _0x1fcaba(_0x4e62aa);},'QvwuP':function(_0x5be5db,_0x3b5584,_0x35c1c3){return _0x5be5db(_0x3b5584,_0x35c1c3);}},_0x20f6db=getEnvDir(_0x57779a);if(!_0x3065fa[_0x2ece2c(0x19a)](existsSync,_0x20f6db))throw new Error('Profile\x20\x22'+_0x57779a+'\x22\x20does\x20not\x20exist.');const _0x53ced9=await loadSettings(_0x57779a),_0x311c69=_0x3065fa['QvwuP'](deleteNestedValue,_0x53ced9,_0x575885);_0x311c69?(await _0x3065fa['QvwuP'](saveSettings,_0x57779a,_0x53ced9),console['log']('Removed\x20'+_0x575885)):console[_0x2ece2c(0x1a4)]('Key\x20\x22'+_0x575885+'\x22\x20not\x20found');}
|
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x163e0e=_0x5345;function _0x5345(_0x2e1ebc,_0x244e50){_0x2e1ebc=_0x2e1ebc-0x12f;const _0x6808c5=_0x6808();let _0x53454c=_0x6808c5[_0x2e1ebc];return _0x53454c;}(function(_0x59d10b,_0x51d25b){const _0x40a736=_0x5345,_0x15b142=_0x59d10b();while(!![]){try{const _0x20cdc0=-parseInt(_0x40a736(0x144))/0x1+parseInt(_0x40a736(0x135))/0x2*(parseInt(_0x40a736(0x131))/0x3)+-parseInt(_0x40a736(0x145))/0x4*(-parseInt(_0x40a736(0x13a))/0x5)+-parseInt(_0x40a736(0x136))/0x6*(parseInt(_0x40a736(0x146))/0x7)+-parseInt(_0x40a736(0x13f))/0x8*(-parseInt(_0x40a736(0x133))/0x9)+-parseInt(_0x40a736(0x142))/0xa+parseInt(_0x40a736(0x12f))/0xb;if(_0x20cdc0===_0x51d25b)break;else _0x15b142['push'](_0x15b142['shift']());}catch(_0x58ad64){_0x15b142['push'](_0x15b142['shift']());}}}(_0x6808,0xbc28d));import{readdir,stat}from'fs/promises';function _0x6808(){const _0xfb3310=['kGTHw','includes','13777753lOzEJr','LCIxy','436017aGeBhZ','JEXuv','45AIrNZI','legacy','4MhydGF','42ILeYgy','log','HdIng','fHdmV','5kvIhbs','beRMT','\x0aNo\x20profiles\x20found.','\x0aProfiles:','environmentDetails','892360GUwBWp','isDirectory','vflyu','6619660yLTwei','endsWith','532677QADnYs','2752124GIUrmp','823613DnmdBk','length','local','.txt','push'];_0x6808=function(){return _0xfb3310;};return _0x6808();}import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=['sessions','bug-bashes','reports',_0x163e0e(0x148),'ci'];export async function getEnvNames(){const _0x5ec987=_0x163e0e,_0x55faef={'xvUZA':function(_0x185216){return _0x185216();},'JEXuv':function(_0x179757,_0x45eca,_0x5b0a2f){return _0x179757(_0x45eca,_0x5b0a2f);},'vflyu':_0x5ec987(0x148),'beRMT':function(_0x223a34,_0x1e5e25){return _0x223a34(_0x1e5e25);},'NQQdx':_0x5ec987(0x149),'HdIng':function(_0xdb5dec,_0x1631a6){return _0xdb5dec(_0x1631a6);},'fHdmV':'settings.json','kGTHw':_0x5ec987(0x134)},_0x5f459d=_0x55faef['xvUZA'](getRangerDir);if(!existsSync(_0x5f459d))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x55b1ae=await _0x55faef['xvUZA'](readActiveProfileName),_0x3bca77=[],_0x4145b9={},_0x290e67=_0x55faef['JEXuv'](join,_0x5f459d,_0x55faef[_0x5ec987(0x141)]);if(existsSync(_0x290e67)){const _0x13d36f=await readdir(_0x290e67);for(const _0x3a4562 of _0x13d36f){const _0x411cad=join(_0x290e67,_0x3a4562),_0x378ec4=await stat(_0x411cad);_0x378ec4['isDirectory']()&&(_0x3bca77[_0x5ec987(0x14a)](_0x3a4562),_0x4145b9[_0x3a4562]=_0x5ec987(0x148));}}const _0x3679cd=join(_0x5f459d,'ci');if(_0x55faef[_0x5ec987(0x13b)](existsSync,_0x3679cd)){const _0x80fcbc=await _0x55faef[_0x5ec987(0x13b)](readdir,_0x3679cd);for(const _0xa44f16 of _0x80fcbc){const _0x542c82=_0x55faef['JEXuv'](join,_0x3679cd,_0xa44f16),_0x415547=await _0x55faef['beRMT'](stat,_0x542c82);_0x415547[_0x5ec987(0x140)]()&&(_0x3bca77[_0x5ec987(0x14a)](_0xa44f16),_0x4145b9[_0xa44f16]='ci');}}const _0x3307cb=await readdir(_0x5f459d);for(const _0x4bfb71 of _0x3307cb){if(NON_ENV_DIRS['includes'](_0x4bfb71))continue;if(_0x4bfb71['startsWith']('.'))continue;if(_0x4bfb71[_0x5ec987(0x143)](_0x55faef['NQQdx']))continue;const _0x5ae44e=_0x55faef[_0x5ec987(0x132)](join,_0x5f459d,_0x4bfb71),_0xec8fe0=await _0x55faef['beRMT'](stat,_0x5ae44e);_0xec8fe0['isDirectory']()&&_0x55faef[_0x5ec987(0x138)](existsSync,_0x55faef[_0x5ec987(0x132)](join,_0x5ae44e,_0x55faef[_0x5ec987(0x139)]))&&(!_0x3bca77[_0x5ec987(0x14c)](_0x4bfb71)&&(_0x3bca77['push'](_0x4bfb71),_0x4145b9[_0x4bfb71]=_0x55faef[_0x5ec987(0x14b)]));}return{'envNames':_0x3bca77,'activeEnv':_0x55b1ae,'envTypes':_0x4145b9};}export async function envList(){const _0x12d628=_0x163e0e,_0x2cc50a={'LCIxy':function(_0x2b7de2){return _0x2b7de2();},'vSeMf':function(_0x3f1af9,_0x46ab12){return _0x3f1af9===_0x46ab12;},'FZKhu':function(_0x35cd10,_0x1ac038){return _0x35cd10===_0x1ac038;},'pBqRG':_0x12d628(0x134)},{envNames:_0x4db52e,activeEnv:_0x3f2b27,envTypes:_0xda10ae}=await _0x2cc50a[_0x12d628(0x130)](getEnvNames);if(_0x4db52e[_0x12d628(0x147)]===0x0){console[_0x12d628(0x137)](_0x12d628(0x13c)),console[_0x12d628(0x137)]('Run:\x20ranger\x20profile\x20add\x20<profile-name>');return;}console[_0x12d628(0x137)](_0x12d628(0x13d));for(const _0x334a54 of _0x4db52e['sort']()){const _0x4c168a=_0x2cc50a['vSeMf'](_0x334a54,_0x3f2b27),_0x3f8e6d=_0xda10ae[_0x334a54]||_0x12d628(0x148),_0x1471ae=await loadSettings(_0x334a54),_0x370b5b=_0x2cc50a['FZKhu'](_0x3f8e6d,_0x2cc50a['pBqRG'])?'':'\x20['+_0x3f8e6d+']';console['log']('\x20\x20'+(_0x4c168a?'*\x20':'\x20\x20')+_0x334a54+_0x370b5b),_0x1471ae['baseUrl']&&console[_0x12d628(0x137)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x1471ae['baseUrl']),_0x1471ae[_0x12d628(0x13e)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x1471ae['environmentDetails']);}_0x3f2b27&&console[_0x12d628(0x137)]('\x0a*\x20=\x20active\x20profile');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x40170a,_0x55c12e){const _0xa6de93=_0x4bac,_0x3d853d=_0x40170a();while(!![]){try{const _0x51e9da=parseInt(_0xa6de93(0x1fe))/0x1*(-parseInt(_0xa6de93(0x25d))/0x2)+parseInt(_0xa6de93(0x275))/0x3+-parseInt(_0xa6de93(0x1f2))/0x4*(-parseInt(_0xa6de93(0x248))/0x5)+-parseInt(_0xa6de93(0x1ff))/0x6*(parseInt(_0xa6de93(0x28e))/0x7)+-parseInt(_0xa6de93(0x207))/0x8+parseInt(_0xa6de93(0x20a))/0x9+-parseInt(_0xa6de93(0x24a))/0xa*(-parseInt(_0xa6de93(0x1ee))/0xb);if(_0x51e9da===_0x55c12e)break;else _0x3d853d['push'](_0x3d853d['shift']());}catch(_0x3165d8){_0x3d853d['push'](_0x3d853d['shift']());}}}(_0x58f3,0xd0d5e));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5eeedd 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';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x1c89d6=>'\x1b[1m'+_0x1c89d6+'\x1b[0m';function getGitRepoUrl(){const _0x150b80=_0x4bac,_0x351e02={'nWrwc':function(_0x4b1f1d,_0x3ef944,_0x192958){return _0x4b1f1d(_0x3ef944,_0x192958);},'FGnSK':'utf-8','LIxqi':'pipe'};try{const _0x3c709d=_0x351e02[_0x150b80(0x1f9)](execSync,_0x150b80(0x26a),{'encoding':_0x351e02[_0x150b80(0x1f7)],'stdio':[_0x150b80(0x25c),_0x351e02[_0x150b80(0x25e)],_0x351e02[_0x150b80(0x25e)]]})[_0x150b80(0x293)]();return _0x3c709d[_0x150b80(0x277)](/\.git$/,'')[_0x150b80(0x277)](/^git@github\.com:/,'github.com/')[_0x150b80(0x277)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x6f801a=_0x4bac,_0x4f92f9={'uMCOs':function(_0x5682dd,_0x11d674,_0x55c8fe){return _0x5682dd(_0x11d674,_0x55c8fe);},'ETiWm':_0x6f801a(0x243),'xDRrl':'pipe'};try{return _0x4f92f9[_0x6f801a(0x218)](execSync,_0x6f801a(0x209),{'encoding':_0x4f92f9['ETiWm'],'stdio':['pipe',_0x4f92f9[_0x6f801a(0x205)],_0x6f801a(0x25c)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3cb247=_0x4bac,_0x1d5826={'ZgfEb':function(_0x1ab241){return _0x1ab241();},'msfOx':_0x3cb247(0x243)},_0x3425af=join(_0x1d5826['ZgfEb'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x3425af))return null;try{const _0x112916=await readFile(_0x3425af,_0x1d5826['msfOx']);return _0x112916['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x262a24){const _0x448f29=_0x4bac,_0x5a3558={'YBgLI':function(_0x5492c8,_0x2a4f4c,_0x2e92bc,_0x20668e){return _0x5492c8(_0x2a4f4c,_0x2e92bc,_0x20668e);}},_0x298ed8=getRangerDir(),_0x2155de=join(_0x298ed8,ACTIVE_FEATURE_FILE);!existsSync(_0x298ed8)&&await mkdir(_0x298ed8,{'recursive':!![]}),await _0x5a3558[_0x448f29(0x246)](writeFile,_0x2155de,_0x262a24,_0x448f29(0x243));}function getProgressDisplay(_0x329b97){const _0x50ba59=_0x4bac,_0x220b82={'nSJch':function(_0x56d9f6,_0x3c3b02){return _0x56d9f6+_0x3c3b02;},'pMkcS':function(_0x411f9e,_0x5e0967){return _0x411f9e+_0x5e0967;},'rSEwg':function(_0x464b54,_0x23fc98){return _0x464b54-_0x23fc98;},'FnSmD':function(_0x5acd26,_0x182993){return _0x5acd26>_0x182993;},'gZAnc':function(_0x3044b0,_0x5787ef){return _0x3044b0>_0x5787ef;}},_0x520bd8=_0x329b97[_0x50ba59(0x253)]||0x0,_0x625454=_0x329b97[_0x50ba59(0x239)]||0x0,_0x3e82f3=_0x329b97[_0x50ba59(0x26f)]||0x0,_0x5e3a38=_0x329b97['incompleteItems']||0x0,_0x117f93=_0x329b97['pendingItems']||0x0,_0x1abccd=_0x220b82['nSJch'](_0x220b82[_0x50ba59(0x237)](_0x520bd8,_0x625454),_0x3e82f3)+_0x5e3a38+_0x117f93;if(_0x1abccd===0x0)return'-';const _0x240f9f=0xa,_0x1a44da=Math['round'](_0x520bd8/_0x1abccd*_0x240f9f),_0x1385d3='█'['repeat'](_0x1a44da)+'░'['repeat'](_0x220b82[_0x50ba59(0x213)](_0x240f9f,_0x1a44da)),_0x88738b=[];if(_0x3e82f3>0x0)_0x88738b['push'](_0x3e82f3+'\x20blocked');if(_0x5e3a38>0x0)_0x88738b[_0x50ba59(0x242)](_0x5e3a38+_0x50ba59(0x20c));if(_0x220b82[_0x50ba59(0x284)](_0x625454,0x0))_0x88738b[_0x50ba59(0x242)](_0x625454+'\x20in\x20progress');const _0x273ab4=_0x220b82[_0x50ba59(0x1fb)](_0x88738b['length'],0x0)?'\x20('+_0x88738b['join'](',\x20')+')':'';return _0x1385d3+'\x20'+_0x520bd8+'/'+_0x1abccd+'\x20verified'+_0x273ab4;}function getCurrentSessionItems(_0x2dacd7,_0x603786){const _0x481208=_0x4bac;if(!_0x2dacd7['currentSessionId'])return _0x603786['filter'](_0x3d5d6f=>!_0x3d5d6f['sessionId']);return _0x603786[_0x481208(0x278)](_0x161f31=>_0x161f31['sessionId']===_0x2dacd7['currentSessionId']||!_0x161f31[_0x481208(0x220)]);}function displayFeature(_0x3017e2,_0x29b837){const _0x20efda=_0x4bac,_0x453a04={'KiAso':function(_0x5c3ae0,_0x406ffc){return _0x5c3ae0>_0x406ffc;},'Cjpoo':function(_0x3791ad,_0x3c0421){return _0x3791ad<_0x3c0421;},'IuFos':_0x20efda(0x206),'gMjgi':function(_0x3018d,_0x13eef8){return _0x3018d===_0x13eef8;},'sfmHP':'approved','dWXmm':'verified','NDjcr':function(_0x1c5ee6,_0x3ebdcd){return _0x1c5ee6===_0x3ebdcd;},'NcoiU':function(_0xaa848e,_0x45f03b){return _0xaa848e!==_0x45f03b;},'GjcFF':'\x20[has\x20reviewer\x20feedback]','YaNgO':function(_0x2c51cc,_0x30a111){return _0x2c51cc+_0x30a111;},'iwjYI':_0x20efda(0x240),'hOXDX':function(_0x9fd4b,_0x3e3e90){return _0x9fd4b===_0x3e3e90;},'jFkBl':function(_0xecc225,_0x49f7c){return _0xecc225===_0x49f7c;}};console['log']('\x0a'+_0x3017e2['name']+'\x20('+_0x3017e2['dashboardUrl']+')');_0x3017e2[_0x20efda(0x1e0)]&&console[_0x20efda(0x217)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3017e2[_0x20efda(0x1e0)]));_0x3017e2[_0x20efda(0x1d6)]&&console['log'](_0x20efda(0x28d)+_0x3017e2['description']);_0x3017e2['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x3017e2['gitRepoUrl']);_0x3017e2['gitBranch']&&console['log'](_0x20efda(0x20f)+_0x3017e2['gitBranch']);console[_0x20efda(0x217)]('\x20\x20\x20Created:\x20'+new Date(_0x3017e2['createdAt'])['toLocaleString']());_0x3017e2[_0x20efda(0x23d)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3017e2[_0x20efda(0x23d)])['toLocaleString']());if(_0x29b837&&_0x453a04['KiAso'](_0x29b837[_0x20efda(0x1eb)],0x0)){console[_0x20efda(0x217)]('\x0a\x20\x20\x20Scenarios:');for(let _0x1d489d=0x0;_0x453a04['Cjpoo'](_0x1d489d,_0x29b837['length']);_0x1d489d++){const _0x4951d1=_0x29b837[_0x1d489d];let _0x1ffaf5;if(_0x4951d1[_0x20efda(0x25b)]===_0x453a04[_0x20efda(0x21f)]&&_0x453a04[_0x20efda(0x245)](_0x4951d1['terminalReason'],_0x453a04[_0x20efda(0x202)]))_0x1ffaf5='✅';else{if(_0x4951d1['status']===_0x453a04['dWXmm'])_0x1ffaf5='🟢';else{if(_0x4951d1[_0x20efda(0x25b)]==='incomplete')_0x1ffaf5='🟠';else{if(_0x453a04['gMjgi'](_0x4951d1['status'],'blocked'))_0x1ffaf5='🛑';else{if(_0x453a04['NDjcr'](_0x4951d1['status'],_0x453a04['IuFos']))_0x1ffaf5='⛔';else _0x4951d1['status']==='verification_in_progress'?_0x1ffaf5='⏳':_0x1ffaf5='⬜';}}}}const _0x26247a=_0x4951d1['version']>0x1?'\x20(v'+_0x4951d1['version']+')':'',_0x4f280e=_0x4951d1['version']>0x1&&_0x4951d1[_0x20efda(0x264)]&&_0x4951d1[_0x20efda(0x25b)]!=='closed'&&_0x453a04['NcoiU'](_0x4951d1['status'],_0x453a04['dWXmm'])?_0x453a04[_0x20efda(0x1f0)]:'';console[_0x20efda(0x217)](_0x20efda(0x221)+_0x453a04[_0x20efda(0x288)](_0x1d489d,0x1)+'.\x20'+_0x1ffaf5+'\x20'+_0x4951d1['description']+_0x26247a+_0x4f280e);_0x4951d1[_0x20efda(0x25b)]===_0x453a04['iwjYI']&&_0x4951d1['blockedReason']&&console[_0x20efda(0x217)](_0x20efda(0x289)+_0x4951d1['blockedReason']);_0x4951d1[_0x20efda(0x25b)]==='incomplete'&&_0x4951d1['incompleteReason']&&console['log'](_0x20efda(0x236)+_0x4951d1['incompleteReason']);if(_0x4951d1[_0x20efda(0x25b)]===_0x20efda(0x206)&&_0x453a04[_0x20efda(0x1e8)](_0x4951d1[_0x20efda(0x210)],'approved'))console[_0x20efda(0x217)](_0x20efda(0x235));else _0x453a04['jFkBl'](_0x4951d1['status'],_0x453a04[_0x20efda(0x21f)])&&_0x4951d1['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4951d1[_0x20efda(0x1ec)]);}}}function _0x4bac(_0x195396,_0xfebc9a){_0x195396=_0x195396-0x1d3;const _0x58f3a6=_0x58f3();let _0x4bac08=_0x58f3a6[_0x195396];return _0x4bac08;}export async function featureCreate(_0x19339c,_0x3f0d24){const _0x37b4d4=_0x4bac,_0xdbc751={'UomeD':function(_0x5a413a){return _0x5a413a();},'PHaYa':function(_0x45eee6,_0x5d9197){return _0x45eee6===_0x5d9197;},'Axpsc':function(_0x22a1f0,_0x4e32bc){return _0x22a1f0(_0x4e32bc);},'beoqp':function(_0x4c2307,_0x38024a,_0x165f01){return _0x4c2307(_0x38024a,_0x165f01);}},{envNames:_0x5f14de}=await _0xdbc751['UomeD'](getEnvNames);_0xdbc751['PHaYa'](_0x5f14de['length'],0x0)&&console[_0x37b4d4(0x23a)]('\x0a'+_0xdbc751[_0x37b4d4(0x1e7)](formatProfileRequiredMessage,_0x5285d2=>bold(_0x5285d2)));const _0xf8bd24=_0x3f0d24[_0x37b4d4(0x1f4)]?_0x3f0d24[_0x37b4d4(0x1f4)][_0x37b4d4(0x294)](_0x4edc4e=>_0x4edc4e['trim']()):[],_0x7fbd32=_0xdbc751[_0x37b4d4(0x201)](getGitRepoUrl),_0x5b2b83=getGitBranch();console['log']('\x0aCreating\x20feature\x20review...');const _0x1e9d55=await createFeature({'name':_0x19339c,'description':_0x3f0d24['description'],'checklist':_0xf8bd24,'gitRepoUrl':_0x7fbd32,'gitBranch':_0x5b2b83});await setActiveFeatureId(_0x1e9d55['id']),await _0xdbc751[_0x37b4d4(0x1e7)](tryStartCurrentSession,_0x1e9d55['id']);const _0x1d359f=process[_0x37b4d4(0x266)]['CLAUDE_SESSION_ID'];_0x1d359f&&_0xdbc751['beoqp'](registerSession,_0x1d359f,_0x1e9d55['id']),console['log'](_0x37b4d4(0x244)+_0x1e9d55['id']),displayFeature(_0x1e9d55,_0x1e9d55['checklistItems']),console['log'](_0x37b4d4(0x203));}export async function featureList(_0x2ca3fc){const _0x27a007=_0x4bac,_0x59dde3={'ZciFh':function(_0x803544){return _0x803544();},'RkkbC':function(_0x23d427,_0x144a32){return _0x23d427(_0x144a32);},'NHTLe':function(_0x451862,_0x43044b){return _0x451862>_0x43044b;},'WoVID':'\x20--include-deleted'},_0x4fcddf={'limit':_0x2ca3fc['limit']??0xa,'offset':_0x2ca3fc['offset']??0x0,'includeDeleted':_0x2ca3fc[_0x27a007(0x1d5)]};_0x2ca3fc[_0x27a007(0x1de)]&&(_0x4fcddf[_0x27a007(0x261)]=getGitRepoUrl(),_0x4fcddf[_0x27a007(0x22a)]=_0x59dde3[_0x27a007(0x226)](getGitBranch));const _0x11f637=await _0x59dde3['RkkbC'](listFeatures,_0x4fcddf);if(_0x11f637['items']['length']===0x0){console[_0x27a007(0x217)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x5ca8a3=_0x59dde3[_0x27a007(0x1f6)](_0x11f637['totalCount'],_0x11f637['items']['length'])?_0x27a007(0x27e)+_0x11f637[_0x27a007(0x1e3)][_0x27a007(0x1eb)]+_0x27a007(0x250)+_0x11f637[_0x27a007(0x252)]:_0x11f637[_0x27a007(0x252)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x5ca8a3+':\x0a');for(const _0x5ca130 of _0x11f637[_0x27a007(0x1e3)]){const _0x1e8a4b='0|3|2|4|1|5'[_0x27a007(0x23c)]('|');let _0x497f72=0x0;while(!![]){switch(_0x1e8a4b[_0x497f72++]){case'0':console[_0x27a007(0x217)](''+_0x5ca130[_0x27a007(0x259)]);continue;case'1':console['log'](_0x27a007(0x1e2)+new Date(_0x5ca130['createdAt'])[_0x27a007(0x234)]());continue;case'2':_0x5ca130['stats']&&console[_0x27a007(0x217)]('\x20\x20\x20Progress:\x20'+_0x59dde3['RkkbC'](getProgressDisplay,_0x5ca130['stats']));continue;case'3':console['log']('\x20\x20\x20ID:\x20'+_0x5ca130['id']);continue;case'4':_0x5ca130['gitBranch']&&console[_0x27a007(0x217)](_0x27a007(0x20f)+_0x5ca130['gitBranch']);continue;case'5':console[_0x27a007(0x217)]('');continue;}break;}}const _0x1ce94a=_0x4fcddf[_0x27a007(0x1fc)]??0xa,_0x177e3a=(_0x4fcddf[_0x27a007(0x27d)]??0x0)+_0x11f637['items'][_0x27a007(0x1eb)];if(_0x177e3a<_0x11f637['totalCount']){const _0x528ac0=_0x1ce94a!==0xa?'\x20--limit\x20'+_0x1ce94a:'',_0xc4f2d3=_0x2ca3fc['currentBranch']?'\x20--current-branch':'',_0x45eada=_0x2ca3fc[_0x27a007(0x1d5)]?_0x59dde3['WoVID']:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x177e3a+_0x528ac0+_0xc4f2d3+_0x45eada);}}export async function featureShow(_0x3c74f0){const _0x32bc72={'VywLT':function(_0x347bf3,_0x1aca6d){return _0x347bf3(_0x1aca6d);},'QyjSM':function(_0x413785,_0x524d3f,_0x3b4c0c){return _0x413785(_0x524d3f,_0x3b4c0c);}},_0x27e693=_0x3c74f0||await getActiveFeatureId();if(!_0x27e693)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 _0x2f3367=await _0x32bc72['VywLT'](getFeature,_0x27e693);_0x32bc72['QyjSM'](displayFeature,_0x2f3367,_0x2f3367['checklistItems']);}export async function featureResume(_0x9be4f5){const _0x26b193=_0x4bac,_0x577ce1={'dWdxa':function(_0x192b1d,_0x495744){return _0x192b1d(_0x495744);},'wlrPq':function(_0x2086a9,_0xd5048b){return _0x2086a9(_0xd5048b);},'khjKo':function(_0x2b1e74){return _0x2b1e74();},'fYOJn':function(_0x3f2087,_0x1934f6,_0x15638a){return _0x3f2087(_0x1934f6,_0x15638a);},'kgNCl':function(_0x476257){return _0x476257();},'KAbyQ':function(_0x16615b){return _0x16615b();},'opDnV':function(_0x2c50c9,_0x8c0dd6){return _0x2c50c9&&_0x8c0dd6;},'cmfgH':function(_0x5b264f,_0x4cff2b){return _0x5b264f||_0x4cff2b;},'SiDaa':function(_0x4b1a30,_0x243381){return _0x4b1a30===_0x243381;},'vsNTY':_0x26b193(0x1d4),'fxwGU':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','hBbJp':'list','cTGDm':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','wHSRX':function(_0x33a66e,_0x22bee4){return _0x33a66e!==_0x22bee4;},'PjSBm':function(_0x43af52,_0x1bc5e5){return _0x43af52(_0x1bc5e5);},'UYSRZ':function(_0x3db589,_0x55d17b,_0x512bb0){return _0x3db589(_0x55d17b,_0x512bb0);}};if(_0x9be4f5){const _0x38c364=await _0x577ce1['dWdxa'](getFeature,_0x9be4f5);await _0x577ce1[_0x26b193(0x211)](setActiveFeatureId,_0x38c364['id']);const _0xe38918=_0x577ce1['khjKo'](getGitBranch);_0xe38918&&_0xe38918!==_0x38c364['gitBranch']&&(await _0x577ce1[_0x26b193(0x269)](updateFeature,_0x38c364['id'],{'gitBranch':_0xe38918}),console['log'](_0x26b193(0x23b)+_0xe38918));console[_0x26b193(0x217)](_0x26b193(0x24f)+_0x38c364['name']+'\x20('+_0x38c364['id']+')'),await tryStartCurrentSession(_0x38c364['id']);const _0x1c59c1=process[_0x26b193(0x266)][_0x26b193(0x20b)];_0x1c59c1&®isterSession(_0x1c59c1,_0x38c364['id']);_0x577ce1['fYOJn'](displayFeature,_0x38c364,_0x38c364['checklistItems']),await printFeedbackNudge(_0x38c364['id']);return;}const _0x4a75c1=_0x577ce1['kgNCl'](getGitRepoUrl),_0x2a3259=_0x577ce1['KAbyQ'](getGitBranch);if(_0x577ce1[_0x26b193(0x282)](!_0x4a75c1,!_0x2a3259))throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x26b193(0x217)](_0x26b193(0x1d3)+_0x577ce1[_0x26b193(0x274)](_0x4a75c1,'any')+_0x26b193(0x1fa)+(_0x2a3259||_0x26b193(0x295))+'...');const _0x273926=await listFeatures({'gitRepoUrl':_0x4a75c1,'gitBranch':_0x2a3259}),_0x30c538=_0x273926[_0x26b193(0x1e3)][_0x26b193(0x278)](_0x4b43f8=>!_0x4b43f8['completedAt']);if(_0x577ce1['SiDaa'](_0x30c538['length'],0x0)){console[_0x26b193(0x217)](_0x26b193(0x214)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x21f8ee;if(_0x30c538[_0x26b193(0x1eb)]===0x1)_0x21f8ee=_0x30c538[0x0];else{const _0x1b1786=process[_0x26b193(0x1fd)][_0x26b193(0x258)]&&process['stdout']['isTTY'];if(!_0x1b1786){console['log'](_0x577ce1['vsNTY']);for(const _0x12e252 of _0x30c538){console[_0x26b193(0x217)]('\x20\x20'+_0x12e252[_0x26b193(0x259)]),console[_0x26b193(0x217)](_0x26b193(0x27a)+_0x12e252['id']),_0x12e252[_0x26b193(0x1e0)]&&console[_0x26b193(0x217)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x12e252[_0x26b193(0x1e0)])),_0x12e252[_0x26b193(0x22a)]&&console[_0x26b193(0x217)](_0x26b193(0x1e9)+_0x12e252[_0x26b193(0x22a)]);}throw new Error(_0x577ce1['fxwGU']);}const {selected:_0x172c29}=await _0x5eeedd[_0x26b193(0x287)]([{'type':_0x577ce1['hBbJp'],'name':'selected','message':_0x577ce1[_0x26b193(0x27f)],'choices':_0x30c538['map'](_0x148036=>({'name':_0x148036['name']+'\x20('+_0x148036['id']+')','value':_0x148036['id']}))}]);_0x21f8ee=_0x30c538[_0x26b193(0x223)](_0xae5d51=>_0xae5d51['id']===_0x172c29);}await setActiveFeatureId(_0x21f8ee['id']);_0x2a3259&&_0x577ce1[_0x26b193(0x28c)](_0x2a3259,_0x21f8ee[_0x26b193(0x22a)])&&(await _0x577ce1[_0x26b193(0x269)](updateFeature,_0x21f8ee['id'],{'gitBranch':_0x2a3259}),console['log'](_0x26b193(0x23b)+_0x2a3259));console[_0x26b193(0x217)](_0x26b193(0x24f)+_0x21f8ee['name']+'\x20('+_0x21f8ee['id']+')'),await _0x577ce1[_0x26b193(0x263)](tryStartCurrentSession,_0x21f8ee['id']);const _0x2e1052=await getFeature(_0x21f8ee['id']),_0x12f70f=process['env'][_0x26b193(0x20b)];_0x12f70f&&_0x577ce1['fYOJn'](registerSession,_0x12f70f,_0x2e1052['id']),_0x577ce1[_0x26b193(0x24d)](displayFeature,_0x2e1052,_0x2e1052[_0x26b193(0x28a)]),await _0x577ce1['PjSBm'](printFeedbackNudge,_0x2e1052['id']);}async function printFeedbackNudge(_0x52d0cd){const _0x5d2015=_0x4bac,_0x2ebf44={'SzVaZ':function(_0x53358b,_0x5dfa68){return _0x53358b(_0x5dfa68);},'oSpbk':function(_0x4932b8,_0x5a516c,_0x1d8337){return _0x4932b8(_0x5a516c,_0x1d8337);},'owUen':function(_0x333178,_0x4cf818){return _0x333178>_0x4cf818;}};try{const {items:_0x5f263a}=await _0x2ebf44[_0x5d2015(0x1db)](getActionItems,_0x52d0cd);let _0x40c291=0x0,_0x31cfcb=0x0;for(const _0x5e5b1b of _0x5f263a){const _0x33d70b=await _0x2ebf44['oSpbk'](getItemFeedback,_0x52d0cd,_0x5e5b1b['id']);_0x33d70b['unaddressedComments']['length']>0x0&&(_0x40c291+=_0x33d70b[_0x5d2015(0x27c)]['length'],_0x31cfcb++);}_0x2ebf44['owUen'](_0x40c291,0x0)&&(console['log']('\x0a⚠️\x20\x20'+_0x40c291+_0x5d2015(0x216)+_0x31cfcb+'\x20scenario(s).'),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x495c57){const _0x5be9c4=_0x4bac,_0x2806da={'wWjNK':function(_0x1de292,_0x24a16a){return _0x1de292(_0x24a16a);},'fkqOV':function(_0x4f0e7e,_0x5b53a5,_0x415d6a){return _0x4f0e7e(_0x5b53a5,_0x415d6a);}};try{const {sessions:_0x52e362}=await _0x2806da[_0x5be9c4(0x1ed)](listFeatureSessions,_0x495c57),_0x4a154a=_0x52e362['find'](_0x48cca9=>_0x48cca9[_0x5be9c4(0x25b)]==='ready');_0x4a154a&&(await _0x2806da['fkqOV'](startSession,_0x495c57,_0x4a154a['id']),console['log'](_0x5be9c4(0x1df)+_0x4a154a[_0x5be9c4(0x238)]));}catch{}}export async function featureReport(_0xe0f39c,_0x619ffe){const _0x34894e=_0x4bac,_0x3daf44={'EJwgD':'\x0aGenerating\x20report...','ScbdB':function(_0x35316c,_0x291a28,_0x466976,_0x443da8){return _0x35316c(_0x291a28,_0x466976,_0x443da8);},'QdTEy':'reports','TqUrZ':function(_0x2474e6,_0x6d4a73,_0x4e3880){return _0x2474e6(_0x6d4a73,_0x4e3880);}},_0x1f45a1=_0xe0f39c||await getActiveFeatureId();if(!_0x1f45a1)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x3daf44['EJwgD']);const _0x5961f1=await getFeatureReportMarkdown(_0x1f45a1,{'style':_0x619ffe['style']}),_0x5f37d6=_0x619ffe['output']||_0x3daf44[_0x34894e(0x21c)](join,getRangerDir(),_0x3daf44['QdTEy'],_0x1f45a1+_0x34894e(0x276)),_0x4a67e0=join(_0x5f37d6,'..');!existsSync(_0x4a67e0)&&await _0x3daf44['TqUrZ'](mkdir,_0x4a67e0,{'recursive':!![]}),await writeFile(_0x5f37d6,_0x5961f1,_0x34894e(0x243)),console[_0x34894e(0x217)]('\x0a✅\x20Report\x20generated:\x20'+_0x5f37d6);}function getScenarioResult(_0x2c8ad0){const _0x245d74=_0x4bac,_0x50e619={'IHhru':'closed','nBGeK':function(_0x3aa5b7,_0x4978a0){return _0x3aa5b7===_0x4978a0;}};if(_0x2c8ad0['status']===_0x50e619[_0x245d74(0x23e)])return _0x2c8ad0['terminalReason']??_0x50e619['IHhru'];if(_0x50e619['nBGeK'](_0x2c8ad0[_0x245d74(0x25b)],_0x245d74(0x28b)))return'in_progress';return _0x2c8ad0[_0x245d74(0x25b)];}function getScenarioRationale(_0x5b554e,_0x2bbbfd){const _0x405c76=_0x4bac;if(_0x2bbbfd)return _0x2bbbfd;if(_0x5b554e[_0x405c76(0x279)])return _0x5b554e[_0x405c76(0x279)];if(_0x5b554e['incompleteReason'])return _0x5b554e['incompleteReason'];if(_0x5b554e[_0x405c76(0x1ec)])return _0x5b554e['canceledReason'];if(_0x5b554e['notes'])return _0x5b554e[_0x405c76(0x26b)];return null;}export async function featureReportPrDescription(_0x1316d4,_0x341bff){const _0x3b07f7=_0x4bac,_0x44e857={'mUyfI':function(_0x1a8172){return _0x1a8172();},'AnGgC':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','hLEIS':function(_0x526000,_0x48fea0){return _0x526000>_0x48fea0;},'CDQEu':'\x0aAvailable\x20scenarios:','lUjtT':function(_0x5cfdef,_0x1f52fe){return _0x5cfdef<_0x1f52fe;},'VlXBt':function(_0x295673,_0x31adb4){return _0x295673+_0x31adb4;},'iEsQx':function(_0x183076,_0x26b2c3){return _0x183076===_0x26b2c3;},'uQWal':_0x3b07f7(0x270)},_0x5853c6=_0x1316d4||await _0x44e857['mUyfI'](getActiveFeatureId);if(!_0x5853c6)throw new Error(_0x44e857['AnGgC']);const _0x519407=await getFeature(_0x5853c6),_0xc5bf79=_0x519407['checklistItems']||[],_0x2ec963=getCurrentSessionItems(_0x519407,_0xc5bf79);_0x2ec963['length']===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0x3b07f7(0x1f5)](0x1));const _0x12eee9=_0x341bff[_0x3b07f7(0x1d7)]??[],_0x3be1d1=_0x12eee9[_0x3b07f7(0x278)](_0x34c2f7=>!Number['isInteger'](_0x34c2f7)||_0x34c2f7<0x1||_0x34c2f7>_0x2ec963['length']);if(_0x44e857['hLEIS'](_0x3be1d1[_0x3b07f7(0x1eb)],0x0)){console['error'](_0x3b07f7(0x292)+_0x3be1d1['join'](',\x20')),console[_0x3b07f7(0x217)](_0x44e857[_0x3b07f7(0x21b)]);for(let _0x270b4f=0x0;_0x44e857['lUjtT'](_0x270b4f,_0x2ec963[_0x3b07f7(0x1eb)]);_0x270b4f++){console['log']('\x20\x20'+_0x44e857['VlXBt'](_0x270b4f,0x1)+'.\x20'+_0x2ec963[_0x270b4f]['description']);}process['exit'](0x1);}const _0x429286=new Set(_0x12eee9[_0x3b07f7(0x294)](_0x3001bb=>_0x3001bb-0x1)),_0x5e0bdb=_0x2ec963[_0x3b07f7(0x278)]((_0x123b6f,_0x371742)=>!_0x429286[_0x3b07f7(0x21d)](_0x371742));_0x44e857[_0x3b07f7(0x268)](_0x5e0bdb['length'],0x0)&&(console[_0x3b07f7(0x232)](_0x44e857[_0x3b07f7(0x273)]),process['exit'](0x1));if(_0x341bff[_0x3b07f7(0x22b)])await outputJsonReport(_0x5853c6,_0x519407,_0x5e0bdb);else{const _0x3f2d77=await getFeatureReportMarkdown(_0x5853c6,{'itemIds':_0x5e0bdb[_0x3b07f7(0x294)](_0x27eb56=>_0x27eb56['id'])});process['stdout']['write'](_0x3f2d77[_0x3b07f7(0x208)]()+'\x0a');}}async function outputJsonReport(_0x4bb312,_0x49fe4a,_0x188d9e){const _0x3a0b7a=_0x4bac,_0x44f1e2={'UJEFm':function(_0x1a73d7,_0x3996e3){return _0x1a73d7+_0x3996e3;}},_0x4029e2=getApiBaseUrl(),_0x49b981=await getFeatureReport(_0x4bb312),_0x172048=new Map(_0x49b981['checklistItems'][_0x3a0b7a(0x294)](_0x25758a=>[_0x25758a['id'],_0x25758a])),_0x48a789=await Promise['all'](_0x188d9e['map'](async _0xbb3916=>{const _0x5e3acb=_0x3a0b7a,_0x204174=_0x172048['get'](_0xbb3916['id']),_0x5b12b4=_0x204174?.['linkedSession']??null;let _0xdfb4b8=[];if(_0xbb3916[_0x5e3acb(0x1e5)])try{const {steps:_0x51b9fc}=await getBrowserSessionSteps(_0xbb3916['browserSessionId']);_0x51b9fc[_0x5e3acb(0x1eb)]>0x0&&(_0xdfb4b8=_0x51b9fc[_0x5e3acb(0x294)](_0x162c81=>{const _0x3df8a8=_0x5e3acb,_0x2d9739=_0x162c81['assets']['find'](_0x510544=>_0x510544[_0x3df8a8(0x1d9)]==='screenshot'&&_0x510544['timing']===_0x3df8a8(0x219))??_0x162c81['assets']['find'](_0x408ca9=>_0x408ca9[_0x3df8a8(0x1d9)]==='screenshot');let _0x50e754=null,_0x567436=null;if(_0x2d9739){const _0x50ee0e=_0x2d9739[_0x3df8a8(0x241)][_0x3df8a8(0x1f8)]['split']('/')[_0x3df8a8(0x229)]();_0x50e754=_0x4029e2+_0x3df8a8(0x1f1)+_0xbb3916['browserSessionId']+_0x3df8a8(0x255)+_0x50ee0e,_0x50ee0e&&(_0x567436=_0x50ee0e['replace'](/\.\w+$/,'')[_0x3df8a8(0x277)](/^(key_)?\d+_/,'')[_0x3df8a8(0x277)](/[-_]/g,'\x20'));}return{'description':_0x567436||_0x162c81['description']||_0x162c81[_0x3df8a8(0x254)]||_0x3df8a8(0x272)+_0x162c81['position'],'screenshot':_0x50e754,'is_key_step':_0x162c81[_0x3df8a8(0x249)]};}));}catch{}return _0xdfb4b8[_0x5e3acb(0x1eb)]===0x0&&_0x5b12b4?.[_0x5e3acb(0x215)]&&(_0xdfb4b8=_0x5b12b4['screenshotUrls'][_0x5e3acb(0x294)]((_0x5cc215,_0x31a99e)=>({'description':'Screenshot\x20'+(_0x31a99e+0x1),'screenshot':_0x5cc215,'is_key_step':![]}))),{'description':_0xbb3916[_0x5e3acb(0x1d6)],'result':getScenarioResult(_0xbb3916),'rationale':getScenarioRationale(_0xbb3916,_0x5b12b4?.['agentResponse']),'steps':_0xdfb4b8};})),_0x408681={'url':_0x49fe4a[_0x3a0b7a(0x251)],'scenarios':_0x48a789};process['stdout']['write'](_0x44f1e2['UJEFm'](JSON[_0x3a0b7a(0x212)](_0x408681,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x22d79d){const _0x55916b=_0x4bac,_0x4d655e={'wYhkl':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','HTBMo':'completed','fPfvW':function(_0x43a34b,_0x12c35a){return _0x43a34b!==_0x12c35a;},'jNINu':'\x0aConcluding\x20session...','bVPnX':function(_0x587542,_0x3c5847,_0x3a5da9){return _0x587542(_0x3c5847,_0x3a5da9);}},_0x3cdb38=_0x22d79d||await getActiveFeatureId();if(!_0x3cdb38)throw new Error(_0x55916b(0x280));const _0x2c89ed=await getFeature(_0x3cdb38);if(!_0x2c89ed['currentSessionId'])throw new Error(_0x4d655e[_0x55916b(0x224)]);const {sessions:_0x4b1aca}=await listFeatureSessions(_0x3cdb38),_0x1c5248=_0x4b1aca[_0x55916b(0x223)](_0x29a8d6=>_0x29a8d6['id']===_0x2c89ed['currentSessionId']);if(!_0x1c5248)throw new Error('Current\x20session\x20not\x20found.');if(_0x1c5248['status']===_0x4d655e['HTBMo']){console[_0x55916b(0x217)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x4d655e['fPfvW'](_0x1c5248[_0x55916b(0x25b)],_0x55916b(0x286)))throw new Error(_0x55916b(0x1e4)+_0x1c5248[_0x55916b(0x25b)]);console[_0x55916b(0x217)](_0x4d655e['jNINu']),await _0x4d655e[_0x55916b(0x22f)](concludeSession,_0x3cdb38,_0x2c89ed['currentSessionId']),console['log'](_0x55916b(0x283)+_0x1c5248[_0x55916b(0x238)]+'\x20concluded.'),console['log'](_0x55916b(0x296));}export async function featureSessions(_0x1b6aa7){const _0x3fa419=_0x4bac,_0x307658={'mKDGc':function(_0x25d587,_0x1bb34c){return _0x25d587(_0x1bb34c);},'PAcPC':function(_0x21c725,_0x5c88c3){return _0x21c725===_0x5c88c3;},'SgtEt':function(_0x3531b7,_0x3e5863){return _0x3531b7===_0x3e5863;}},_0x5555d2=_0x1b6aa7||await getActiveFeatureId();if(!_0x5555d2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5a97e0=await getFeature(_0x5555d2);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5a97e0['name']+'\x0a');const {sessions:_0x464da5}=await _0x307658['mKDGc'](listFeatureSessions,_0x5555d2);if(_0x464da5[_0x3fa419(0x1eb)]===0x0){console['log'](_0x3fa419(0x1f3));return;}for(const _0x5352da of _0x464da5){const _0x3fe2bf=_0x307658['PAcPC'](_0x5352da[_0x3fa419(0x25b)],'completed')?'✅':_0x307658['SgtEt'](_0x5352da['status'],'in_progress')?'🔄':'▶️';console['log'](_0x3fe2bf+_0x3fa419(0x1ef)+_0x5352da['iteration']+'\x20('+_0x5352da['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x5352da[_0x3fa419(0x25b)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x5352da[_0x3fa419(0x1dd)])['toLocaleString']()),_0x5352da[_0x3fa419(0x23d)]&&console['log'](_0x3fa419(0x233)+new Date(_0x5352da[_0x3fa419(0x23d)])['toLocaleString']()),console[_0x3fa419(0x217)]('');}}export async function featureAddScenario(_0x409b71,_0x241387){const _0x448804=_0x4bac,_0x46545b={'oPxVv':function(_0x5d7d14,_0x16083b){return _0x5d7d14(_0x16083b);},'UQkXm':function(_0x3f4b35,_0x18529c,_0x4caaca){return _0x3f4b35(_0x18529c,_0x4caaca);},'eVkTC':function(_0x2dd909,_0x14288d,_0xd2b13){return _0x2dd909(_0x14288d,_0xd2b13);}},_0x59529f=_0x241387||await getActiveFeatureId();if(!_0x59529f)throw new Error(_0x448804(0x280));const _0x43a7ce=await _0x46545b['oPxVv'](getFeature,_0x59529f);if(_0x43a7ce[_0x448804(0x20d)]&&!_0x43a7ce['latestReview'][_0x448804(0x26e)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x43a7ce[_0x448804(0x251)]);await _0x46545b['UQkXm'](createChecklistItem,_0x59529f,_0x409b71);const _0x4303d9=await getFeature(_0x59529f);console['log'](_0x448804(0x25a)),_0x46545b[_0x448804(0x1da)](displayFeature,_0x4303d9,_0x4303d9[_0x448804(0x28a)]);}export async function featureEditScenario(_0x46ee19,_0x4aea8f){const _0x25845a=_0x4bac,_0x1d71c0={'mKPyy':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','LTzxp':function(_0x2b7aaf,_0x2aa91b){return _0x2b7aaf<_0x2aa91b;},'jVqXG':function(_0x3df8b2,_0x3e000f){return _0x3df8b2+_0x3e000f;},'rCDhq':function(_0x17d7a5,_0x4518b4,_0x599ca1,_0x452cde){return _0x17d7a5(_0x4518b4,_0x599ca1,_0x452cde);},'IRMiM':function(_0x196992,_0x4f3091,_0xe9e817){return _0x196992(_0x4f3091,_0xe9e817);}},_0x2ed92c=_0x4aea8f['id']||await getActiveFeatureId();!_0x2ed92c&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x25845a(0x232)](_0x1d71c0['mKPyy']),process[_0x25845a(0x1f5)](0x1));const _0x52a710=await getFeature(_0x2ed92c);_0x52a710['latestReview']&&!_0x52a710['latestReview']['submittedAt']&&(console[_0x25845a(0x232)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x25845a(0x232)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x25845a(0x232)]('\x20\x20'+_0x52a710['dashboardUrl']),process['exit'](0x1));const _0xbd74e5=_0x52a710['checklistItems']||[];_0xbd74e5['length']===0x0&&(console[_0x25845a(0x232)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x25845a(0x1f5)](0x1));if(_0x4aea8f['scenario']===undefined){console[_0x25845a(0x232)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x25845a(0x285));for(let _0x3872e0=0x0;_0x3872e0<_0xbd74e5[_0x25845a(0x1eb)];_0x3872e0++){console['log']('\x20\x20'+(_0x3872e0+0x1)+'.\x20'+_0xbd74e5[_0x3872e0]['description']);}process[_0x25845a(0x1f5)](0x1);}const _0x1d0716=_0x4aea8f['scenario']-0x1;if(_0x1d0716<0x0||_0x1d0716>=_0xbd74e5['length']){console[_0x25845a(0x232)](_0x25845a(0x297)+_0x4aea8f[_0x25845a(0x23f)]+'.\x20Feature\x20review\x20has\x20'+_0xbd74e5[_0x25845a(0x1eb)]+'\x20scenarios.'),console['log'](_0x25845a(0x285));for(let _0x4354e4=0x0;_0x1d71c0['LTzxp'](_0x4354e4,_0xbd74e5['length']);_0x4354e4++){console[_0x25845a(0x217)]('\x20\x20'+_0x1d71c0[_0x25845a(0x204)](_0x4354e4,0x1)+'.\x20'+_0xbd74e5[_0x4354e4][_0x25845a(0x1d6)]);}process[_0x25845a(0x1f5)](0x1);}const _0xf6e59a=_0xbd74e5[_0x1d0716];await _0x1d71c0[_0x25845a(0x20e)](updateChecklistItem,_0x2ed92c,_0xf6e59a['id'],{'description':_0x46ee19});const _0x160bb0=await getFeature(_0x2ed92c);console['log']('\x0a✅\x20Scenario\x20updated'),_0x1d71c0[_0x25845a(0x256)](displayFeature,_0x160bb0,_0x160bb0['checklistItems']);}function _0x58f3(){const _0x5ab8f0=['pMkcS','iteration','verificationInProgressItems','warn','\x20\x20\x20Updated\x20branch\x20to:\x20','split','completedAt','IHhru','scenario','blocked','storage','push','utf-8','\x0a✅\x20Feature\x20review\x20created:\x20','gMjgi','YBgLI','toFixed','5pQBNBW','isKeyStep','13649650PBZeug','UKiNh','Qkkwl','UYSRZ','domRef','\x0a✅\x20Resumed\x20feature\x20review:\x20','\x20of\x20','dashboardUrl','totalCount','verifiedItems','stepName','/artifacts/','IRMiM','join','isTTY','name','\x0a✅\x20Scenario\x20added','status','pipe','97252vzTWIO','LIxqi','\x20>\x20','No\x20scenarios\x20found.','gitRepoUrl','yzdai','PjSBm','parentItemId','authorName','env','\x20\x20💬\x20','iEsQx','fYOJn','git\x20remote\x20get-url\x20origin','notes','\x20—\x20no\x20comments','comment_','submittedAt','blockedItems','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','VRSum','Step\x20','uQWal','cmfgH','2634270reZpWn','.md','replace','filter','blockedReason','\x20\x20\x20\x20\x20ID:\x20','type','unaddressedComments','offset','Showing\x20','cTGDm','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review',':\x20\x22','opDnV','\x0a✅\x20Session\x20','FnSmD','\x0aAvailable\x20scenarios:','in_progress','prompt','YaNgO','\x20\x20\x20\x20\x20\x20Blocked:\x20','checklistItems','verification_in_progress','wHSRX','\x20\x20\x20Description:\x20','30569XwTLQL','ylzFf','MvAPo','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','trim','map','any','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','includeDeleted','description','excludeScenarios','\x20\x20Expected\x20flow:','assetType','eVkTC','SzVaZ','nDROA','createdAt','currentBranch','\x20\x20\x20▶️\x20Started\x20session\x20','stats','canonicalFlow','\x20\x20\x20Created:\x20','items','Cannot\x20conclude\x20session\x20with\x20status:\x20','browserSessionId','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','Axpsc','hOXDX','\x20\x20\x20\x20\x20Branch:\x20','GSbOC','length','canceledReason','wWjNK','11SHZCxN','\x20Session\x20','GjcFF','/api/v1/mcp/browser-sessions/','1534396RGoAAC','No\x20sessions\x20found.','scenarios','exit','NHTLe','FGnSK','location','nWrwc','\x20/\x20','gZAnc','limit','stdin','31nppZFi','78FzqOVr','content','UomeD','sfmHP','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','jVqXG','xDRrl','closed','8777840nyZIHq','trimEnd','git\x20rev-parse\x20--abbrev-ref\x20HEAD','8011287VTiLtv','CLAUDE_SESSION_ID','\x20incomplete','latestReview','rCDhq','\x20\x20\x20Branch:\x20','terminalReason','wlrPq','stringify','rSEwg','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','screenshotUrls','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','log','uMCOs','after','version','CDQEu','ScbdB','has','GhmJT','IuFos','sessionId','\x20\x20\x20','):\x20\x22','find','wYhkl','slice','ZciFh','\x20at\x20[','spatial','pop','gitBranch','json','Scenario\x20','feedback-images','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','bVPnX','TsGQs','\x20\x20\x20\x20\x20📋\x20Selector:\x20','error','\x20\x20\x20Completed:\x20','toLocaleDateString','\x20\x20\x20\x20\x20\x20Approved','\x20\x20\x20\x20\x20\x20Incomplete:\x20'];_0x58f3=function(){return _0x5ab8f0;};return _0x58f3();}async function downloadFeedbackImage(_0x159d49,_0x262ccc){const _0x4e268f=_0x4bac,_0x49a552={'cjMui':function(_0x2e4fed){return _0x2e4fed();},'sVfoL':function(_0x59cb25,_0x183eae,_0x108a8e){return _0x59cb25(_0x183eae,_0x108a8e);},'okSgs':function(_0x37f55c,_0x27b82e){return _0x37f55c(_0x27b82e);}};try{const _0xa8dd94=join(_0x49a552['cjMui'](getRangerDir),_0x4e268f(0x22d));await mkdir(_0xa8dd94,{'recursive':!![]});const _0x3dcb83=_0x49a552['sVfoL'](join,_0xa8dd94,_0x4e268f(0x26d)+_0x262ccc+'.png'),_0x2b4ca0=await _0x49a552['okSgs'](fetch,_0x159d49);if(!_0x2b4ca0['ok'])return null;const _0x4e1fa1=Buffer['from'](await _0x2b4ca0['arrayBuffer']());return await _0x49a552['sVfoL'](writeFile,_0x3dcb83,_0x4e1fa1),_0x3dcb83;}catch{return null;}}export async function featureGetReview(_0x588db5){const _0x357ae3=_0x4bac,_0x4e196e={'yzdai':function(_0x1ce15c){return _0x1ce15c();},'RjWPJ':_0x357ae3(0x280),'UKiNh':function(_0x21f8f9,_0x195347){return _0x21f8f9===_0x195347;},'GSbOC':function(_0x2de0a3,_0x4f11ea){return _0x2de0a3<_0x4f11ea;},'VRSum':function(_0x3dc53a,_0x49868c){return _0x3dc53a>_0x49868c;},'TnrSf':'short','Qkkwl':function(_0xd46888,_0x4fe061,_0x6eb17b){return _0xd46888(_0x4fe061,_0x6eb17b);},'vwzeu':_0x357ae3(0x25f),'lntxY':'element','eoeJP':function(_0x1f0e8f,_0x43028c){return _0x1f0e8f===_0x43028c;},'nDROA':function(_0x40c575,_0x449d5f){return _0x40c575>=_0x449d5f;},'uXuIw':function(_0x27b689,_0x103605){return _0x27b689+_0x103605;}},_0x212abd=_0x588db5||await _0x4e196e[_0x357ae3(0x262)](getActiveFeatureId);if(!_0x212abd)throw new Error(_0x4e196e['RjWPJ']);const _0x420a6b=await getFeature(_0x212abd),{items:_0xea0c12}=await getActionItems(_0x212abd);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x420a6b[_0x357ae3(0x259)]+'\x20('+_0x420a6b['id']+')\x0a');if(_0x4e196e[_0x357ae3(0x24b)](_0xea0c12[_0x357ae3(0x1eb)],0x0)){console[_0x357ae3(0x217)](_0x357ae3(0x260));return;}for(let _0x1f9f36=0x0;_0x4e196e[_0x357ae3(0x1ea)](_0x1f9f36,_0xea0c12[_0x357ae3(0x1eb)]);_0x1f9f36++){const _0x419e24=_0xea0c12[_0x1f9f36],_0x4a020f=_0x4e196e[_0x357ae3(0x271)](_0x419e24[_0x357ae3(0x21a)],0x1)?'\x20(v'+_0x419e24['version']+')':'',_0x24ecb7=await getItemFeedback(_0x212abd,_0x419e24['id']);if(_0x24ecb7['unaddressedComments']['length']>0x0){console[_0x357ae3(0x217)](_0x357ae3(0x22c)+(_0x1f9f36+0x1)+_0x357ae3(0x281)+_0x419e24['description']+'\x22'+_0x4a020f+'\x20—\x20'+_0x24ecb7['unaddressedComments'][_0x357ae3(0x1eb)]+'\x20unaddressed\x20comment(s)');for(const _0x4c57c7 of _0x24ecb7['unaddressedComments']){const _0x3c191b=new Date(_0x4c57c7['createdAt'])[_0x357ae3(0x234)]('en-US',{'month':_0x4e196e['TnrSf'],'day':'numeric'}),_0x548f76=_0x4c57c7[_0x357ae3(0x265)]||_0x4c57c7['authorEmail']||'Unknown';console['log'](_0x357ae3(0x267)+_0x548f76+'\x20('+_0x3c191b+_0x357ae3(0x222)+_0x4c57c7[_0x357ae3(0x200)]+'\x22');if(_0x4c57c7['assetUrl']){const _0x41b4fd=await _0x4e196e[_0x357ae3(0x24c)](downloadFeedbackImage,_0x4c57c7['assetUrl'],_0x4c57c7['id']);_0x41b4fd&&console[_0x357ae3(0x217)](_0x357ae3(0x22e)+_0x41b4fd);}if(_0x4c57c7['domRef']){const _0x32bff8=_0x4c57c7[_0x357ae3(0x24e)]['selector'][_0x357ae3(0x23c)](_0x4e196e['vwzeu'])[_0x357ae3(0x229)]()?.['split'](':')[0x0]||_0x4e196e['lntxY'],_0x572dfd=_0x4c57c7['domRef']['textContent']?'\x20\x22'+_0x4c57c7[_0x357ae3(0x24e)]['textContent'][_0x357ae3(0x225)](0x0,0x3c)+'\x22':'';console[_0x357ae3(0x217)](_0x357ae3(0x291)+_0x32bff8+'>'+_0x572dfd),console[_0x357ae3(0x217)](_0x357ae3(0x231)+_0x4c57c7['domRef']['selector']);}else{if(_0x4c57c7['spatial']){const _0x21b33f=_0x4c57c7[_0x357ae3(0x228)]['coordinates'];_0x4e196e['eoeJP'](_0x4c57c7[_0x357ae3(0x228)][_0x357ae3(0x27b)],'point')&&_0x4e196e[_0x357ae3(0x1dc)](_0x21b33f['length'],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x21b33f[0x0][_0x357ae3(0x247)](0x2)+',\x20'+_0x21b33f[0x1]['toFixed'](0x2)+')'):console['log'](_0x357ae3(0x1e6)+_0x4c57c7[_0x357ae3(0x228)]['type']+_0x357ae3(0x227)+_0x21b33f['map'](_0x114324=>_0x114324['toFixed'](0x2))[_0x357ae3(0x257)](',\x20')+']');}}}if(_0x24ecb7[_0x357ae3(0x1e1)]){console['log'](_0x357ae3(0x1d8));for(const _0x12b908 of _0x24ecb7['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x12b908);}}}else console[_0x357ae3(0x217)]('Scenario\x20'+_0x4e196e['uXuIw'](_0x1f9f36,0x1)+':\x20\x22'+_0x419e24['description']+'\x22'+_0x4a020f+_0x357ae3(0x26c)),console[_0x357ae3(0x217)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x566bb7){const _0x1f34d6=_0x4bac,_0x53b8c5={'ylzFf':function(_0x138238){return _0x138238();},'hoRrR':function(_0x70850f,_0x45c7ab){return _0x70850f(_0x45c7ab);},'GhmJT':function(_0x5d1748,_0x5d3021){return _0x5d1748+_0x5d3021;},'TsGQs':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x2366d9=_0x566bb7||await _0x53b8c5[_0x1f34d6(0x28f)](getActiveFeatureId);if(!_0x2366d9)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 _0x44e9ea=await getFeature(_0x2366d9);await _0x53b8c5['hoRrR'](softDeleteFeature,_0x2366d9),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x44e9ea[_0x1f34d6(0x259)]+'\x20('+_0x2366d9+')'),console['log'](_0x53b8c5[_0x1f34d6(0x21e)](_0x53b8c5[_0x1f34d6(0x230)],_0x2366d9));}export async function featureRestore(_0x4a25cc){const _0x11a688=_0x4bac,_0x1dc4f1={'dZPaL':function(_0x7229e,_0x33474a){return _0x7229e(_0x33474a);},'MvAPo':function(_0x1d7a54,_0x28c654,_0xa3d168){return _0x1d7a54(_0x28c654,_0xa3d168);}};await _0x1dc4f1['dZPaL'](restoreFeature,_0x4a25cc);const _0x555d71=await getFeature(_0x4a25cc);console[_0x11a688(0x217)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x555d71[_0x11a688(0x259)]+'\x20('+_0x4a25cc+')'),_0x1dc4f1[_0x11a688(0x290)](displayFeature,_0x555d71,_0x555d71[_0x11a688(0x28a)]);}
|
|
1
|
+
const _0x4dc6cf=_0x56d8;(function(_0x5bf525,_0x697570){const _0x437ebc=_0x56d8,_0xd72b1c=_0x5bf525();while(!![]){try{const _0x5620e9=-parseInt(_0x437ebc(0x1a1))/0x1*(parseInt(_0x437ebc(0x1dd))/0x2)+parseInt(_0x437ebc(0x23a))/0x3+-parseInt(_0x437ebc(0x211))/0x4+parseInt(_0x437ebc(0x213))/0x5*(parseInt(_0x437ebc(0x1af))/0x6)+parseInt(_0x437ebc(0x232))/0x7+-parseInt(_0x437ebc(0x1dc))/0x8*(parseInt(_0x437ebc(0x1d5))/0x9)+parseInt(_0x437ebc(0x252))/0xa*(parseInt(_0x437ebc(0x185))/0xb);if(_0x5620e9===_0x697570)break;else _0xd72b1c['push'](_0xd72b1c['shift']());}catch(_0x560b1c){_0xd72b1c['push'](_0xd72b1c['shift']());}}}(_0x4cbe,0x5ca3a));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2737b7 from'inquirer';function _0x56d8(_0x263c74,_0xd64bef){_0x263c74=_0x263c74-0x17a;const _0x4cbe1e=_0x4cbe();let _0x56d8cb=_0x4cbe1e[_0x263c74];return _0x56d8cb;}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';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x27ac2c=>'\x1b[1m'+_0x27ac2c+_0x4dc6cf(0x1b2);function getGitRepoUrl(){const _0x2fce0d=_0x4dc6cf,_0x3ff3a5={'cBcDD':_0x2fce0d(0x1c1),'gbzTD':'pipe'};try{const _0x55ce0d=execSync(_0x3ff3a5['cBcDD'],{'encoding':'utf-8','stdio':[_0x3ff3a5['gbzTD'],'pipe',_0x3ff3a5[_0x2fce0d(0x1a0)]]})[_0x2fce0d(0x1cf)]();return _0x55ce0d['replace'](/\.git$/,'')[_0x2fce0d(0x1e3)](/^git@github\.com:/,_0x2fce0d(0x1ee))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x327ac0=_0x4dc6cf,_0x5c8497={'cwNjG':_0x327ac0(0x219),'gDtlU':'utf-8','pxaxu':'pipe'};try{return execSync(_0x5c8497[_0x327ac0(0x22d)],{'encoding':_0x5c8497[_0x327ac0(0x205)],'stdio':[_0x5c8497['pxaxu'],_0x5c8497[_0x327ac0(0x1b4)],_0x5c8497[_0x327ac0(0x1b4)]]})[_0x327ac0(0x1cf)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1df5e6={'PbFXl':function(_0x1bd29d,_0x56655c,_0x4a68fa){return _0x1bd29d(_0x56655c,_0x4a68fa);},'OQgqZ':'utf-8'},_0x25897f=_0x1df5e6['PbFXl'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x25897f))return null;try{const _0x2cec4a=await readFile(_0x25897f,_0x1df5e6['OQgqZ']);return _0x2cec4a['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x18bf0b){const _0x29edd4=_0x4dc6cf,_0x33e66c={'iRdVF':function(_0x2dd9fe,_0x55d53c){return _0x2dd9fe(_0x55d53c);},'DyJnk':function(_0x369976,_0x4aca14,_0x41526c,_0x12ed01){return _0x369976(_0x4aca14,_0x41526c,_0x12ed01);},'EpBvF':'utf-8'},_0x33c8ac=getRangerDir(),_0x30a753=join(_0x33c8ac,ACTIVE_FEATURE_FILE);!_0x33e66c[_0x29edd4(0x223)](existsSync,_0x33c8ac)&&await mkdir(_0x33c8ac,{'recursive':!![]}),await _0x33e66c[_0x29edd4(0x1e7)](writeFile,_0x30a753,_0x18bf0b,_0x33e66c[_0x29edd4(0x20d)]);}function getProgressDisplay(_0x4eb928){const _0x448816=_0x4dc6cf,_0x5c06c9={'RqIyz':function(_0x495283,_0x5bf4e9){return _0x495283/_0x5bf4e9;},'kqJfU':function(_0x224a92,_0x428e12){return _0x224a92+_0x428e12;},'tKQku':function(_0x2a88e5,_0x5cd882){return _0x2a88e5>_0x5cd882;},'RMXvI':function(_0x1cd0ae,_0xfa6e3){return _0x1cd0ae>_0xfa6e3;},'Qlcgi':function(_0x40116e,_0x409885){return _0x40116e>_0x409885;}},_0x89c527=_0x4eb928[_0x448816(0x190)]||0x0,_0x31d3f7=_0x4eb928[_0x448816(0x21b)]||0x0,_0x4f6fd2=_0x4eb928[_0x448816(0x19e)]||0x0,_0x35cc16=_0x4eb928['incompleteItems']||0x0,_0x2e4b7c=_0x4eb928['pendingItems']||0x0,_0x46e5f1=_0x89c527+_0x31d3f7+_0x4f6fd2+_0x35cc16+_0x2e4b7c;if(_0x46e5f1===0x0)return'-';const _0xcc96c4=0xa,_0x2c56d1=Math[_0x448816(0x1ae)](_0x5c06c9['RqIyz'](_0x89c527,_0x46e5f1)*_0xcc96c4),_0x233dcf=_0x5c06c9[_0x448816(0x1ed)]('█'['repeat'](_0x2c56d1),'░'['repeat'](_0xcc96c4-_0x2c56d1)),_0x56e1be=[];if(_0x5c06c9[_0x448816(0x1a8)](_0x4f6fd2,0x0))_0x56e1be['push'](_0x4f6fd2+_0x448816(0x202));if(_0x5c06c9['tKQku'](_0x35cc16,0x0))_0x56e1be['push'](_0x35cc16+_0x448816(0x231));if(_0x5c06c9[_0x448816(0x1df)](_0x31d3f7,0x0))_0x56e1be['push'](_0x31d3f7+'\x20in\x20progress');const _0x528221=_0x5c06c9['Qlcgi'](_0x56e1be['length'],0x0)?'\x20('+_0x56e1be[_0x448816(0x1f8)](',\x20')+')':'';return _0x233dcf+'\x20'+_0x89c527+'/'+_0x46e5f1+'\x20verified'+_0x528221;}function getCurrentSessionItems(_0x17d40d,_0x1d29ac){const _0x36280f=_0x4dc6cf;if(!_0x17d40d['currentSessionId'])return _0x1d29ac['filter'](_0xd3a863=>!_0xd3a863[_0x36280f(0x222)]);return _0x1d29ac[_0x36280f(0x1d7)](_0x88da86=>_0x88da86['sessionId']===_0x17d40d['currentSessionId']||!_0x88da86[_0x36280f(0x222)]);}function displayFeature(_0x4397de,_0x1231ba){const _0x494317=_0x4dc6cf,_0x39ab39={'QoCyt':function(_0x20793f,_0x3a212e){return _0x20793f>_0x3a212e;},'hjoBP':'\x0a\x20\x20\x20Scenarios:','OaOwH':function(_0x19754b,_0x28e074){return _0x19754b===_0x28e074;},'uGHQD':'closed','iDZIu':function(_0x3c5baf,_0x37116e){return _0x3c5baf===_0x37116e;},'wxnro':function(_0x527d2a,_0x3fe7c3){return _0x527d2a===_0x3fe7c3;},'cLCkj':function(_0x481984,_0x2c0951){return _0x481984===_0x2c0951;},'aRLCt':_0x494317(0x235),'VbvNq':function(_0x59d209,_0x3b190d){return _0x59d209>_0x3b190d;},'jfPBC':function(_0x1441a8,_0x267bea){return _0x1441a8>_0x267bea;},'rtZam':function(_0x25aae0,_0x3bf49f){return _0x25aae0!==_0x3bf49f;},'sriYV':_0x494317(0x1c7),'Nsljt':function(_0x67b2d,_0x54cb61){return _0x67b2d===_0x54cb61;},'tRXdY':'blocked','qNIXE':function(_0x160355,_0x218a97){return _0x160355===_0x218a97;}};console['log']('\x0a'+_0x4397de[_0x494317(0x1b7)]+'\x20('+_0x4397de[_0x494317(0x24d)]+')');_0x4397de['stats']&&console[_0x494317(0x244)](_0x494317(0x1ec)+getProgressDisplay(_0x4397de[_0x494317(0x1f5)]));_0x4397de[_0x494317(0x24b)]&&console['log'](_0x494317(0x1bd)+_0x4397de['description']);_0x4397de['gitRepoUrl']&&console[_0x494317(0x244)](_0x494317(0x20f)+_0x4397de[_0x494317(0x21f)]);_0x4397de['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x4397de['gitBranch']);console['log'](_0x494317(0x20b)+new Date(_0x4397de[_0x494317(0x217)])['toLocaleString']());_0x4397de[_0x494317(0x1c0)]&&console[_0x494317(0x244)](_0x494317(0x198)+new Date(_0x4397de['completedAt'])['toLocaleString']());if(_0x1231ba&&_0x39ab39['QoCyt'](_0x1231ba[_0x494317(0x181)],0x0)){console['log'](_0x39ab39[_0x494317(0x18e)]);for(let _0x4e0a58=0x0;_0x4e0a58<_0x1231ba[_0x494317(0x181)];_0x4e0a58++){const _0x526dba=_0x1231ba[_0x4e0a58];let _0x36a4dd;if(_0x39ab39['OaOwH'](_0x526dba[_0x494317(0x1e4)],_0x39ab39[_0x494317(0x1d1)])&&_0x39ab39['iDZIu'](_0x526dba[_0x494317(0x251)],'approved'))_0x36a4dd='✅';else{if(_0x526dba['status']===_0x494317(0x227))_0x36a4dd='🟢';else{if(_0x39ab39['wxnro'](_0x526dba['status'],_0x494317(0x22a)))_0x36a4dd='🟠';else{if(_0x526dba['status']==='blocked')_0x36a4dd='🛑';else{if(_0x526dba[_0x494317(0x1e4)]==='closed')_0x36a4dd='⛔';else _0x39ab39['cLCkj'](_0x526dba['status'],_0x39ab39[_0x494317(0x1be)])?_0x36a4dd='⏳':_0x36a4dd='⬜';}}}}const _0x41c414=_0x39ab39[_0x494317(0x20a)](_0x526dba['version'],0x1)?_0x494317(0x23d)+_0x526dba[_0x494317(0x1b3)]+')':'',_0x240f8f=_0x39ab39[_0x494317(0x24e)](_0x526dba['version'],0x1)&&_0x526dba[_0x494317(0x1b5)]&&_0x526dba[_0x494317(0x1e4)]!==_0x494317(0x249)&&_0x39ab39['rtZam'](_0x526dba['status'],_0x494317(0x227))?_0x39ab39['sriYV']:'';console['log']('\x20\x20\x20'+(_0x4e0a58+0x1)+'.\x20'+_0x36a4dd+'\x20'+_0x526dba[_0x494317(0x24b)]+_0x41c414+_0x240f8f);_0x39ab39['Nsljt'](_0x526dba['status'],_0x39ab39['tRXdY'])&&_0x526dba[_0x494317(0x189)]&&console['log'](_0x494317(0x23c)+_0x526dba['blockedReason']);_0x39ab39[_0x494317(0x200)](_0x526dba[_0x494317(0x1e4)],'incomplete')&&_0x526dba['incompleteReason']&&console[_0x494317(0x244)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x526dba[_0x494317(0x1d4)]);if(_0x39ab39['cLCkj'](_0x526dba['status'],_0x494317(0x249))&&_0x39ab39['Nsljt'](_0x526dba[_0x494317(0x251)],_0x494317(0x1ba)))console['log'](_0x494317(0x207));else _0x39ab39[_0x494317(0x1e9)](_0x526dba[_0x494317(0x1e4)],'closed')&&_0x526dba[_0x494317(0x1c9)]&&console[_0x494317(0x244)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x526dba[_0x494317(0x1c9)]);}}}export async function featureCreate(_0x32c0b1,_0x2fede3){const _0x16cda2=_0x4dc6cf,_0x3af2ab={'uachd':function(_0xf24130){return _0xf24130();},'ZzbHz':function(_0x5a39f5,_0x32996f){return _0x5a39f5===_0x32996f;},'uiNIv':function(_0x3ce903,_0x4f4e52){return _0x3ce903(_0x4f4e52);},'pjgud':function(_0x432e65){return _0x432e65();},'FzJSg':function(_0xd62d42){return _0xd62d42();},'wnQpc':'\x0aCreating\x20feature\x20review...','ZDfgO':function(_0x13a2b0,_0x40409b){return _0x13a2b0(_0x40409b);},'YiCPl':function(_0x5410a8,_0x1d856d,_0x2c98a2){return _0x5410a8(_0x1d856d,_0x2c98a2);}},{envNames:_0x2c859f}=await _0x3af2ab['uachd'](getEnvNames);_0x3af2ab[_0x16cda2(0x1f2)](_0x2c859f[_0x16cda2(0x181)],0x0)&&console['warn']('\x0a'+_0x3af2ab[_0x16cda2(0x239)](formatProfileRequiredMessage,_0x7cf4fd=>bold(_0x7cf4fd)));const _0x245efc=_0x2fede3[_0x16cda2(0x182)]?_0x2fede3[_0x16cda2(0x182)]['map'](_0x39343e=>_0x39343e[_0x16cda2(0x1cf)]()):[],_0x93c602=_0x3af2ab['pjgud'](getGitRepoUrl),_0x17ef6e=_0x3af2ab['FzJSg'](getGitBranch);console['log'](_0x3af2ab['wnQpc']);const _0x5ba122=await _0x3af2ab['uiNIv'](createFeature,{'name':_0x32c0b1,'description':_0x2fede3[_0x16cda2(0x24b)],'checklist':_0x245efc,'gitRepoUrl':_0x93c602,'gitBranch':_0x17ef6e});await setActiveFeatureId(_0x5ba122['id']),await _0x3af2ab[_0x16cda2(0x197)](tryStartCurrentSession,_0x5ba122['id']);const _0x12dfac=process[_0x16cda2(0x226)]['CLAUDE_SESSION_ID'];_0x12dfac&&_0x3af2ab['YiCPl'](registerSession,_0x12dfac,_0x5ba122['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5ba122['id']),displayFeature(_0x5ba122,_0x5ba122[_0x16cda2(0x22f)]),console['log'](_0x16cda2(0x1d0));}export async function featureList(_0x4a5959){const _0x147b62=_0x4dc6cf,_0x2eaf55={'GjYnk':function(_0x729e8d){return _0x729e8d();},'tqzdd':function(_0x347f99,_0x25e628){return _0x347f99>_0x25e628;},'EszZy':function(_0x5bbc99,_0x348337){return _0x5bbc99+_0x348337;},'bVKdu':'\x20--include-deleted'},_0x4936b7={'limit':_0x4a5959[_0x147b62(0x1c8)]??0xa,'offset':_0x4a5959[_0x147b62(0x191)]??0x0,'includeDeleted':_0x4a5959[_0x147b62(0x240)]};_0x4a5959['currentBranch']&&(_0x4936b7[_0x147b62(0x21f)]=_0x2eaf55[_0x147b62(0x1bc)](getGitRepoUrl),_0x4936b7['gitBranch']=_0x2eaf55[_0x147b62(0x1bc)](getGitBranch));const _0x2ce1a9=await listFeatures(_0x4936b7);if(_0x2ce1a9['items'][_0x147b62(0x181)]===0x0){console['log'](_0x147b62(0x17c));return;}const _0x25ae39=_0x2eaf55[_0x147b62(0x206)](_0x2ce1a9[_0x147b62(0x253)],_0x2ce1a9[_0x147b62(0x236)]['length'])?'Showing\x20'+_0x2ce1a9[_0x147b62(0x236)][_0x147b62(0x181)]+'\x20of\x20'+_0x2ce1a9[_0x147b62(0x253)]:_0x2ce1a9['totalCount']+_0x147b62(0x1e8);console[_0x147b62(0x244)]('\x0a'+_0x25ae39+':\x0a');for(const _0x4b06bf of _0x2ce1a9[_0x147b62(0x236)]){console['log'](''+_0x4b06bf['name']),console[_0x147b62(0x244)](_0x147b62(0x1d6)+_0x4b06bf['id']),_0x4b06bf['stats']&&console[_0x147b62(0x244)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4b06bf[_0x147b62(0x1f5)])),_0x4b06bf[_0x147b62(0x19b)]&&console['log'](_0x147b62(0x1fb)+_0x4b06bf['gitBranch']),console['log'](_0x147b62(0x20b)+new Date(_0x4b06bf['createdAt'])['toLocaleDateString']()),console['log']('');}const _0x32c0db=_0x4936b7['limit']??0xa,_0x1a1414=_0x2eaf55['EszZy'](_0x4936b7[_0x147b62(0x191)]??0x0,_0x2ce1a9['items']['length']);if(_0x1a1414<_0x2ce1a9['totalCount']){const _0x472809=_0x32c0db!==0xa?_0x147b62(0x1b0)+_0x32c0db:'',_0x1636d9=_0x4a5959['currentBranch']?'\x20--current-branch':'',_0x2e728f=_0x4a5959['includeDeleted']?_0x2eaf55['bVKdu']:'';console[_0x147b62(0x244)](_0x147b62(0x224)+_0x1a1414+_0x472809+_0x1636d9+_0x2e728f);}}export async function featureShow(_0xdc3569){const _0x139051=_0x4dc6cf,_0x45dd16={'jeylJ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x37a362=_0xdc3569||await getActiveFeatureId();if(!_0x37a362)throw new Error(_0x45dd16['jeylJ']);const _0x309b0=await getFeature(_0x37a362);displayFeature(_0x309b0,_0x309b0[_0x139051(0x22f)]);}export async function featureResume(_0x30b337){const _0x1c9e80=_0x4dc6cf,_0x28bbd9={'MZGTo':function(_0x218a0e,_0x887a90){return _0x218a0e(_0x887a90);},'EbOKq':function(_0x1fecf7,_0x5a821d){return _0x1fecf7(_0x5a821d);},'aXjRi':function(_0x55fc24){return _0x55fc24();},'EtAiP':function(_0x109c91,_0x33a16f){return _0x109c91!==_0x33a16f;},'tBkyh':function(_0x5016fd,_0x1c5b22){return _0x5016fd(_0x1c5b22);},'aaSgT':function(_0x1e15c4,_0x577a2f){return _0x1e15c4&&_0x577a2f;},'jPMhj':_0x1c9e80(0x187),'MmcHS':function(_0x43e7be,_0x3df679){return _0x43e7be||_0x3df679;},'rHMmJ':_0x1c9e80(0x245),'HshpL':function(_0x4b14a4,_0x1569c4){return _0x4b14a4(_0x1569c4);},'UfROi':function(_0x54c054,_0x5046c7){return _0x54c054===_0x5046c7;},'oSjhP':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','dudxV':'list','zINpj':function(_0x4885aa,_0x1a5a37,_0xdef3a1){return _0x4885aa(_0x1a5a37,_0xdef3a1);},'rHRhp':function(_0x1c81f0,_0x1865f3){return _0x1c81f0(_0x1865f3);},'KKkZv':function(_0x432196,_0x16fe19){return _0x432196(_0x16fe19);}};if(_0x30b337){const _0x474d63=await _0x28bbd9['MZGTo'](getFeature,_0x30b337);await _0x28bbd9[_0x1c9e80(0x1cb)](setActiveFeatureId,_0x474d63['id']);const _0x3f71b7=_0x28bbd9['aXjRi'](getGitBranch);_0x3f71b7&&_0x28bbd9[_0x1c9e80(0x1ef)](_0x3f71b7,_0x474d63['gitBranch'])&&(await updateFeature(_0x474d63['id'],{'gitBranch':_0x3f71b7}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3f71b7));console['log'](_0x1c9e80(0x1da)+_0x474d63['name']+'\x20('+_0x474d63['id']+')'),await _0x28bbd9['tBkyh'](tryStartCurrentSession,_0x474d63['id']);const _0x2dc601=process[_0x1c9e80(0x226)]['CLAUDE_SESSION_ID'];_0x2dc601&®isterSession(_0x2dc601,_0x474d63['id']);displayFeature(_0x474d63,_0x474d63[_0x1c9e80(0x22f)]),await printFeedbackNudge(_0x474d63['id']);return;}const _0x68a950=getGitRepoUrl(),_0x3ec929=_0x28bbd9['aXjRi'](getGitBranch);if(_0x28bbd9[_0x1c9e80(0x210)](!_0x68a950,!_0x3ec929))throw new Error(_0x28bbd9['jPMhj']);console[_0x1c9e80(0x244)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x68a950||'any')+_0x1c9e80(0x20e)+_0x28bbd9[_0x1c9e80(0x1a9)](_0x3ec929,_0x28bbd9[_0x1c9e80(0x1eb)])+'...');const _0x4c5758=await _0x28bbd9[_0x1c9e80(0x1f0)](listFeatures,{'gitRepoUrl':_0x68a950,'gitBranch':_0x3ec929}),_0x18c7a8=_0x4c5758['items']['filter'](_0x4a7ffd=>!_0x4a7ffd['completedAt']);if(_0x28bbd9['UfROi'](_0x18c7a8[_0x1c9e80(0x181)],0x0)){console['log'](_0x1c9e80(0x21e)),console['log'](_0x28bbd9['oSjhP']);return;}let _0x4ccb12;if(_0x18c7a8['length']===0x1)_0x4ccb12=_0x18c7a8[0x0];else{const _0x5612e3=process['stdin']['isTTY']&&process[_0x1c9e80(0x1ea)]['isTTY'];if(!_0x5612e3){console[_0x1c9e80(0x244)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x1cb3b1 of _0x18c7a8){console['log']('\x20\x20'+_0x1cb3b1['name']),console['log'](_0x1c9e80(0x242)+_0x1cb3b1['id']),_0x1cb3b1['stats']&&console[_0x1c9e80(0x244)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1cb3b1[_0x1c9e80(0x1f5)])),_0x1cb3b1[_0x1c9e80(0x19b)]&&console[_0x1c9e80(0x244)](_0x1c9e80(0x220)+_0x1cb3b1['gitBranch']);}throw new Error(_0x1c9e80(0x1e2));}const {selected:_0x3426b3}=await _0x2737b7[_0x1c9e80(0x1ca)]([{'type':_0x28bbd9['dudxV'],'name':_0x1c9e80(0x214),'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x18c7a8[_0x1c9e80(0x1bf)](_0x4a821d=>({'name':_0x4a821d['name']+'\x20('+_0x4a821d['id']+')','value':_0x4a821d['id']}))}]);_0x4ccb12=_0x18c7a8['find'](_0x15b419=>_0x15b419['id']===_0x3426b3);}await setActiveFeatureId(_0x4ccb12['id']);_0x3ec929&&_0x28bbd9['EtAiP'](_0x3ec929,_0x4ccb12['gitBranch'])&&(await _0x28bbd9[_0x1c9e80(0x184)](updateFeature,_0x4ccb12['id'],{'gitBranch':_0x3ec929}),console[_0x1c9e80(0x244)](_0x1c9e80(0x1a4)+_0x3ec929));console[_0x1c9e80(0x244)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x4ccb12['name']+'\x20('+_0x4ccb12['id']+')'),await _0x28bbd9[_0x1c9e80(0x1cb)](tryStartCurrentSession,_0x4ccb12['id']);const _0x487faf=await _0x28bbd9[_0x1c9e80(0x1c2)](getFeature,_0x4ccb12['id']),_0x438651=process[_0x1c9e80(0x226)][_0x1c9e80(0x241)];_0x438651&®isterSession(_0x438651,_0x487faf['id']),displayFeature(_0x487faf,_0x487faf['checklistItems']),await _0x28bbd9[_0x1c9e80(0x1de)](printFeedbackNudge,_0x487faf['id']);}async function printFeedbackNudge(_0x584477){const _0x26cfad=_0x4dc6cf,_0x341efb={'bNKmy':function(_0x2253bf,_0x54739c,_0x48d180){return _0x2253bf(_0x54739c,_0x48d180);},'XXPPp':function(_0x5b7446,_0x819e68){return _0x5b7446>_0x819e68;},'nrdEy':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x1a3193}=await getActionItems(_0x584477);let _0x22b04a=0x0,_0x4520c6=0x0;for(const _0x2f4eca of _0x1a3193){const _0x55e374=await _0x341efb['bNKmy'](getItemFeedback,_0x584477,_0x2f4eca['id']);_0x341efb[_0x26cfad(0x221)](_0x55e374[_0x26cfad(0x195)]['length'],0x0)&&(_0x22b04a+=_0x55e374[_0x26cfad(0x195)]['length'],_0x4520c6++);}_0x341efb[_0x26cfad(0x221)](_0x22b04a,0x0)&&(console['log'](_0x26cfad(0x1cc)+_0x22b04a+_0x26cfad(0x1e5)+_0x4520c6+'\x20scenario(s).'),console[_0x26cfad(0x244)](_0x341efb[_0x26cfad(0x188)]));}catch{}}async function tryStartCurrentSession(_0x24200e){const _0x55fae0=_0x4dc6cf,_0x4f6142={'TsdXJ':function(_0x284398,_0x1a51ba,_0x5db21a){return _0x284398(_0x1a51ba,_0x5db21a);}};try{const {sessions:_0x2c76f2}=await listFeatureSessions(_0x24200e),_0x2af2ac=_0x2c76f2['find'](_0x34dda8=>_0x34dda8[_0x55fae0(0x1e4)]===_0x55fae0(0x243));_0x2af2ac&&(await _0x4f6142['TsdXJ'](startSession,_0x24200e,_0x2af2ac['id']),console[_0x55fae0(0x244)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x2af2ac[_0x55fae0(0x1fd)]));}catch{}}export async function featureReport(_0x1265d8,_0x336917){const _0x416c77=_0x4dc6cf,_0x43bc16={'awJOw':_0x416c77(0x1c6),'ePeIy':function(_0x11923b,_0x23cf6f,_0x5bdd6a){return _0x11923b(_0x23cf6f,_0x5bdd6a);},'rmXIc':function(_0x1f23cc,_0x151bd5,_0x38b053,_0x1edd9b){return _0x1f23cc(_0x151bd5,_0x38b053,_0x1edd9b);},'TKuuU':function(_0x3b725c,_0x34299a){return _0x3b725c(_0x34299a);}},_0x2ed2ab=_0x1265d8||await getActiveFeatureId();if(!_0x2ed2ab)throw new Error(_0x416c77(0x238));console['log'](_0x43bc16[_0x416c77(0x1f7)]);const _0x4b4106=await _0x43bc16['ePeIy'](getFeatureReportMarkdown,_0x2ed2ab,{'style':_0x336917['style']}),_0x1b4a7e=_0x336917[_0x416c77(0x23e)]||_0x43bc16[_0x416c77(0x208)](join,getRangerDir(),'reports',_0x2ed2ab+'.md'),_0x583583=join(_0x1b4a7e,'..');!_0x43bc16[_0x416c77(0x1ff)](existsSync,_0x583583)&&await mkdir(_0x583583,{'recursive':!![]}),await _0x43bc16['rmXIc'](writeFile,_0x1b4a7e,_0x4b4106,_0x416c77(0x212)),console[_0x416c77(0x244)](_0x416c77(0x1e6)+_0x1b4a7e);}function getScenarioResult(_0x42321f){const _0xd04d11=_0x4dc6cf;if(_0x42321f['status']===_0xd04d11(0x249))return _0x42321f['terminalReason']??_0xd04d11(0x249);if(_0x42321f[_0xd04d11(0x1e4)]==='verification_in_progress')return'in_progress';return _0x42321f[_0xd04d11(0x1e4)];}function _0x4cbe(){const _0x33ae9b=['\x20\x20\x20Completed:\x20','\x20\x20\x20\x20\x20📋\x20Selector:\x20','McJiD','gitBranch','has','diekW','blockedItems','trimEnd','gbzTD','1341UyROYy','assets','assetType','\x20\x20\x20Updated\x20branch\x20to:\x20','oPkRf','AGlCe','.png','tKQku','MmcHS','iZvJL','clVaz','\x20>\x20','PCMNN','round','234YGtmGF','\x20--limit\x20','DCSIU','\x1b[0m','version','pxaxu','parentItemId','xkvQQ','name','location','currentSessionId','approved','linkedSession','GjYnk','\x20\x20\x20Description:\x20','aRLCt','map','completedAt','git\x20remote\x20get-url\x20origin','rHRhp','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','PGLbL','screenshot','\x0aGenerating\x20report...','\x20[has\x20reviewer\x20feedback]','limit','canceledReason','prompt','EbOKq','\x0a⚠️\x20\x20','pop','domRef','trim','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','uGHQD','scenario','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','incompleteReason','832347DUuRwy','\x20\x20\x20ID:\x20','filter','write','toLocaleString','\x0a✅\x20Resumed\x20feature\x20review:\x20','exit','56PjrNNw','116rKUuDm','KKkZv','RMXvI','):\x20\x22','screenshotUrls','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','replace','status','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','\x0a✅\x20Report\x20generated:\x20','DyJnk','\x20feature\x20review(s)\x20found','qNIXE','stdout','rHMmJ','\x20\x20\x20Progress:\x20','kqJfU','github.com/','EtAiP','HshpL','stringify','ZzbHz','htqIq','latestReview','stats','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','awJOw','join','element','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x20\x20\x20Branch:\x20','tlAam','iteration','storage','TKuuU','cLCkj','get','\x20blocked','iWjtN','spatial','gDtlU','tqzdd','\x20\x20\x20\x20\x20\x20Approved','rmXIc','assetUrl','VbvNq','\x20\x20\x20Created:\x20','KDTez','EpBvF','\x20/\x20','\x20\x20\x20Repository:\x20','aaSgT','2059892hSnwyj','utf-8','53180FoJcyU','selected','\x20Session\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','createdAt','toFixed','git\x20rev-parse\x20--abbrev-ref\x20HEAD','Scenario\x20','verificationInProgressItems','\x0aAvailable\x20scenarios:','\x20at\x20[','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','gitRepoUrl','\x20\x20\x20\x20\x20Branch:\x20','XXPPp','sessionId','iRdVF','Next\x20page:\x20ranger\x20list\x20--offset\x20','/artifacts/','env','verified','\x0a✅\x20Scenario\x20updated','browserSessionId','incomplete','submittedAt','EwddZ','cwNjG','split','checklistItems','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x20incomplete','2375345qfTSBt','ipILe','yhdHx','verification_in_progress','items','canonicalFlow','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','uiNIv','1797024AQmEVF','QqZuE','\x20\x20\x20\x20\x20\x20Blocked:\x20','\x20(v','output','selector','includeDeleted','CLAUDE_SESSION_ID','\x20\x20\x20\x20\x20ID:\x20','ready','log','any','EWoeD','GPSHH','IFqlB','closed','textContent','description','\x20\x20✅\x20No\x20feedback\x20to\x20address','dashboardUrl','jfPBC','\x20concluded.','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','terminalReason','532870bUvVgi','totalCount','Current\x20session\x20not\x20found.','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0aNo\x20feature\x20reviews\x20found.','after','/api/v1/mcp/browser-sessions/','\x20\x20Expected\x20flow:','oRHBB','length','scenarios',':\x20\x22','zINpj','55XZMmne','\x20\x20\x20\x20','Not\x20in\x20a\x20git\x20repository.','nrdEy','blockedReason','EqBhb','notes','completed','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','hjoBP','in_progress','verifiedItems','offset','json','error','hZzwQ','unaddressedComments','toLocaleDateString','ZDfgO'];_0x4cbe=function(){return _0x33ae9b;};return _0x4cbe();}function getScenarioRationale(_0x31cc47,_0xa30ad1){const _0x2badba=_0x4dc6cf;if(_0xa30ad1)return _0xa30ad1;if(_0x31cc47['blockedReason'])return _0x31cc47[_0x2badba(0x189)];if(_0x31cc47['incompleteReason'])return _0x31cc47[_0x2badba(0x1d4)];if(_0x31cc47['canceledReason'])return _0x31cc47[_0x2badba(0x1c9)];if(_0x31cc47[_0x2badba(0x18b)])return _0x31cc47['notes'];return null;}export async function featureReportPrDescription(_0x22f69f,_0x2d713f){const _0x350a01=_0x4dc6cf,_0x2e37ad={'KDTez':_0x350a01(0x1d3),'oPkRf':function(_0x1642c6,_0x5542c8){return _0x1642c6>_0x5542c8;},'xkvQQ':_0x350a01(0x21c),'IKUMm':function(_0x535f82,_0x407ffe){return _0x535f82===_0x407ffe;},'gwIIm':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','bvDDg':function(_0x2bbb0c,_0x215406,_0x2dc064){return _0x2bbb0c(_0x215406,_0x2dc064);}},_0x2ff24c=_0x22f69f||await getActiveFeatureId();if(!_0x2ff24c)throw new Error(_0x350a01(0x238));const _0xee97e=await getFeature(_0x2ff24c),_0x268a99=_0xee97e['checklistItems']||[],_0x55357a=getCurrentSessionItems(_0xee97e,_0x268a99);_0x55357a[_0x350a01(0x181)]===0x0&&(console['error'](_0x2e37ad[_0x350a01(0x20c)]),process['exit'](0x1));const _0x327a20=_0x2d713f['excludeScenarios']??[],_0x5eb2ac=_0x327a20['filter'](_0xafcc8f=>!Number['isInteger'](_0xafcc8f)||_0xafcc8f<0x1||_0xafcc8f>_0x55357a[_0x350a01(0x181)]);if(_0x2e37ad[_0x350a01(0x1a5)](_0x5eb2ac['length'],0x0)){console[_0x350a01(0x193)](_0x350a01(0x216)+_0x5eb2ac['join'](',\x20')),console['log'](_0x2e37ad[_0x350a01(0x1b6)]);for(let _0x43c6ee=0x0;_0x43c6ee<_0x55357a['length'];_0x43c6ee++){console[_0x350a01(0x244)]('\x20\x20'+(_0x43c6ee+0x1)+'.\x20'+_0x55357a[_0x43c6ee]['description']);}process['exit'](0x1);}const _0x644a26=new Set(_0x327a20['map'](_0x152a9b=>_0x152a9b-0x1)),_0x59abd0=_0x55357a['filter']((_0x4cee60,_0x56d2c0)=>!_0x644a26[_0x350a01(0x19c)](_0x56d2c0));_0x2e37ad['IKUMm'](_0x59abd0['length'],0x0)&&(console['error'](_0x2e37ad['gwIIm']),process[_0x350a01(0x1db)](0x1));if(_0x2d713f[_0x350a01(0x192)])await outputJsonReport(_0x2ff24c,_0xee97e,_0x59abd0);else{const _0x2a6622=await _0x2e37ad['bvDDg'](getFeatureReportMarkdown,_0x2ff24c,{'itemIds':_0x59abd0[_0x350a01(0x1bf)](_0x47dd7d=>_0x47dd7d['id'])});process['stdout'][_0x350a01(0x1d8)](_0x2a6622[_0x350a01(0x19f)]()+'\x0a');}}async function outputJsonReport(_0x42108f,_0x4ed3cf,_0x5039c8){const _0x1d717f=_0x4dc6cf,_0x35f8c2={'oRHBB':function(_0x3f405e,_0xde2aae){return _0x3f405e>_0xde2aae;},'jxnsp':function(_0x5708b9,_0x315596){return _0x5708b9===_0x315596;},'iWjtN':function(_0x3408a6,_0x11af50){return _0x3408a6(_0x11af50);},'EdPkm':function(_0x4bc475){return _0x4bc475();},'RumMd':function(_0x16c348,_0x4deb02){return _0x16c348+_0x4deb02;}},_0x339bed=_0x35f8c2['EdPkm'](getApiBaseUrl),_0x3b3b9a=await _0x35f8c2[_0x1d717f(0x203)](getFeatureReport,_0x42108f),_0x181e1b=new Map(_0x3b3b9a[_0x1d717f(0x22f)][_0x1d717f(0x1bf)](_0xd2b890=>[_0xd2b890['id'],_0xd2b890])),_0x27fd34=await Promise['all'](_0x5039c8[_0x1d717f(0x1bf)](async _0x24e712=>{const _0x378244=_0x1d717f,_0x542d33=_0x181e1b[_0x378244(0x201)](_0x24e712['id']),_0x4d57c3=_0x542d33?.[_0x378244(0x1bb)]??null;let _0x302d8f=[];if(_0x24e712['browserSessionId'])try{const {steps:_0x2ba588}=await getBrowserSessionSteps(_0x24e712[_0x378244(0x229)]);_0x35f8c2[_0x378244(0x180)](_0x2ba588[_0x378244(0x181)],0x0)&&(_0x302d8f=_0x2ba588[_0x378244(0x1bf)](_0x3402a5=>{const _0x258936=_0x378244,_0x4ff0f5=_0x3402a5[_0x258936(0x1a2)]['find'](_0x1e9ddb=>_0x1e9ddb[_0x258936(0x1a3)]==='screenshot'&&_0x1e9ddb['timing']===_0x258936(0x17d))??_0x3402a5['assets']['find'](_0x12b7d5=>_0x12b7d5[_0x258936(0x1a3)]===_0x258936(0x1c5));let _0x2166a8=null,_0x4753a4=null;if(_0x4ff0f5){const _0x341205=_0x4ff0f5[_0x258936(0x1fe)][_0x258936(0x1b8)]['split']('/')[_0x258936(0x1cd)]();_0x2166a8=_0x339bed+_0x258936(0x17e)+_0x24e712['browserSessionId']+_0x258936(0x225)+_0x341205,_0x341205&&(_0x4753a4=_0x341205['replace'](/\.\w+$/,'')[_0x258936(0x1e3)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x4753a4||_0x3402a5['description']||_0x3402a5['stepName']||'Step\x20'+_0x3402a5['position'],'screenshot':_0x2166a8,'is_key_step':_0x3402a5['isKeyStep']};}));}catch{}return _0x35f8c2['jxnsp'](_0x302d8f[_0x378244(0x181)],0x0)&&_0x4d57c3?.[_0x378244(0x1e1)]&&(_0x302d8f=_0x4d57c3['screenshotUrls'][_0x378244(0x1bf)]((_0x538df5,_0xc7161d)=>({'description':'Screenshot\x20'+(_0xc7161d+0x1),'screenshot':_0x538df5,'is_key_step':![]}))),{'description':_0x24e712[_0x378244(0x24b)],'result':_0x35f8c2['iWjtN'](getScenarioResult,_0x24e712),'rationale':getScenarioRationale(_0x24e712,_0x4d57c3?.['agentResponse']),'steps':_0x302d8f};})),_0x42edbe={'url':_0x4ed3cf[_0x1d717f(0x24d)],'scenarios':_0x27fd34};process['stdout']['write'](_0x35f8c2['RumMd'](JSON[_0x1d717f(0x1f1)](_0x42edbe,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x14c243){const _0x31c62d=_0x4dc6cf,_0x187a89={'EqBhb':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','ZARhq':function(_0x10ae70,_0x12239f){return _0x10ae70(_0x12239f);},'QDAve':function(_0x5b6562,_0x57dcb1){return _0x5b6562===_0x57dcb1;},'PCMNN':'completed','ipILe':'\x0a✅\x20Session\x20is\x20already\x20completed.','htqIq':'\x0aConcluding\x20session...'},_0x4dc397=_0x14c243||await getActiveFeatureId();if(!_0x4dc397)throw new Error(_0x31c62d(0x250));const _0x24db23=await getFeature(_0x4dc397);if(!_0x24db23['currentSessionId'])throw new Error(_0x187a89[_0x31c62d(0x18a)]);const {sessions:_0x462db5}=await _0x187a89['ZARhq'](listFeatureSessions,_0x4dc397),_0x2a7b89=_0x462db5['find'](_0x399a52=>_0x399a52['id']===_0x24db23['currentSessionId']);if(!_0x2a7b89)throw new Error(_0x31c62d(0x17a));if(_0x187a89['QDAve'](_0x2a7b89[_0x31c62d(0x1e4)],_0x187a89[_0x31c62d(0x1ad)])){console['log'](_0x187a89[_0x31c62d(0x233)]);return;}if(_0x2a7b89['status']!==_0x31c62d(0x18f))throw new Error(_0x31c62d(0x17b)+_0x2a7b89[_0x31c62d(0x1e4)]);console['log'](_0x187a89[_0x31c62d(0x1f3)]),await concludeSession(_0x4dc397,_0x24db23[_0x31c62d(0x1b9)]),console['log']('\x0a✅\x20Session\x20'+_0x2a7b89[_0x31c62d(0x1fd)]+_0x31c62d(0x24f)),console[_0x31c62d(0x244)](_0x31c62d(0x1f6));}export async function featureSessions(_0x544e2c){const _0x4dbd00=_0x4dc6cf,_0x2916cb={'jlFIK':function(_0x402602){return _0x402602();},'GPSHH':function(_0xc9044d,_0x120f04){return _0xc9044d(_0x120f04);},'IFqlB':function(_0x5c4aab,_0x3396d2){return _0x5c4aab===_0x3396d2;},'clVaz':'No\x20sessions\x20found.','OCotD':_0x4dbd00(0x18c)},_0xff220a=_0x544e2c||await _0x2916cb['jlFIK'](getActiveFeatureId);if(!_0xff220a)throw new Error(_0x4dbd00(0x238));const _0x51a362=await getFeature(_0xff220a);console[_0x4dbd00(0x244)](_0x4dbd00(0x1c3)+_0x51a362[_0x4dbd00(0x1b7)]+'\x0a');const {sessions:_0x2b3d5d}=await _0x2916cb[_0x4dbd00(0x247)](listFeatureSessions,_0xff220a);if(_0x2916cb['IFqlB'](_0x2b3d5d[_0x4dbd00(0x181)],0x0)){console['log'](_0x2916cb[_0x4dbd00(0x1ab)]);return;}for(const _0x8c5747 of _0x2b3d5d){const _0x41609a=_0x8c5747[_0x4dbd00(0x1e4)]===_0x2916cb['OCotD']?'✅':_0x2916cb[_0x4dbd00(0x248)](_0x8c5747[_0x4dbd00(0x1e4)],_0x4dbd00(0x18f))?'🔄':'▶️';console['log'](_0x41609a+_0x4dbd00(0x215)+_0x8c5747[_0x4dbd00(0x1fd)]+'\x20('+_0x8c5747['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x8c5747['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x8c5747[_0x4dbd00(0x217)])['toLocaleString']()),_0x8c5747['completedAt']&&console[_0x4dbd00(0x244)](_0x4dbd00(0x198)+new Date(_0x8c5747['completedAt'])[_0x4dbd00(0x1d9)]()),console[_0x4dbd00(0x244)]('');}}export async function featureAddScenario(_0x2d8a50,_0x5d5e4f){const _0x5db8d5=_0x4dc6cf,_0x512f51={'QqZuE':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CZTRP':function(_0x4227e9,_0x40d423,_0x1007f9){return _0x4227e9(_0x40d423,_0x1007f9);},'BXhXn':function(_0x4f7bbf,_0x4c1211){return _0x4f7bbf(_0x4c1211);},'EwddZ':function(_0x5e3813,_0x1e858d,_0x4d79ce){return _0x5e3813(_0x1e858d,_0x4d79ce);}},_0x5b7d9b=_0x5d5e4f||await getActiveFeatureId();if(!_0x5b7d9b)throw new Error(_0x512f51[_0x5db8d5(0x23b)]);const _0x38e177=await getFeature(_0x5b7d9b);if(_0x38e177['latestReview']&&!_0x38e177[_0x5db8d5(0x1f4)]['submittedAt'])throw new Error(_0x5db8d5(0x230)+_0x38e177['dashboardUrl']);await _0x512f51['CZTRP'](createChecklistItem,_0x5b7d9b,_0x2d8a50);const _0xa871fa=await _0x512f51['BXhXn'](getFeature,_0x5b7d9b);console['log']('\x0a✅\x20Scenario\x20added'),_0x512f51[_0x5db8d5(0x22c)](displayFeature,_0xa871fa,_0xa871fa[_0x5db8d5(0x22f)]);}export async function featureEditScenario(_0x3a374e,_0x1778e4){const _0x21a332=_0x4dc6cf,_0x54dfca={'SvieQ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ctGCl':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','yhdHx':function(_0x253913,_0x550387){return _0x253913===_0x550387;},'RCRwY':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','TMDqQ':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','ukSuw':function(_0x46b07f,_0x43b064){return _0x46b07f<_0x43b064;},'tlAam':function(_0x530b44,_0x1cc0b9){return _0x530b44-_0x1cc0b9;},'PGLbL':function(_0x1fdd19,_0x193df0){return _0x1fdd19>=_0x193df0;},'XUTdR':function(_0x5e48be,_0x571e8a){return _0x5e48be<_0x571e8a;},'JNlvJ':function(_0x105dda,_0x48a825){return _0x105dda+_0x48a825;},'hZzwQ':function(_0x2f3a6d,_0x352e69){return _0x2f3a6d(_0x352e69);},'WYaUc':function(_0x356a62,_0x444b62,_0x4ba0cb){return _0x356a62(_0x444b62,_0x4ba0cb);}},_0x24bb42=_0x1778e4['id']||await getActiveFeatureId();!_0x24bb42&&(console[_0x21a332(0x193)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x21a332(0x193)](_0x54dfca['SvieQ']),process['exit'](0x1));const _0x4bede1=await getFeature(_0x24bb42);_0x4bede1['latestReview']&&!_0x4bede1['latestReview'][_0x21a332(0x22b)]&&(console[_0x21a332(0x193)](_0x54dfca['ctGCl']),console[_0x21a332(0x193)]('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0x4bede1['dashboardUrl']),process['exit'](0x1));const _0x4e0900=_0x4bede1[_0x21a332(0x22f)]||[];_0x54dfca[_0x21a332(0x234)](_0x4e0900['length'],0x0)&&(console[_0x21a332(0x193)](_0x54dfca['RCRwY']),process['exit'](0x1));if(_0x54dfca[_0x21a332(0x234)](_0x1778e4[_0x21a332(0x1d2)],undefined)){console[_0x21a332(0x193)](_0x54dfca['TMDqQ']),console['log'](_0x21a332(0x21c));for(let _0x5168d2=0x0;_0x54dfca['ukSuw'](_0x5168d2,_0x4e0900[_0x21a332(0x181)]);_0x5168d2++){console[_0x21a332(0x244)]('\x20\x20'+(_0x5168d2+0x1)+'.\x20'+_0x4e0900[_0x5168d2]['description']);}process['exit'](0x1);}const _0x448387=_0x54dfca[_0x21a332(0x1fc)](_0x1778e4[_0x21a332(0x1d2)],0x1);if(_0x448387<0x0||_0x54dfca[_0x21a332(0x1c4)](_0x448387,_0x4e0900['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x1778e4['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x4e0900['length']+'\x20scenarios.'),console[_0x21a332(0x244)]('\x0aAvailable\x20scenarios:');for(let _0x41097e=0x0;_0x54dfca['XUTdR'](_0x41097e,_0x4e0900[_0x21a332(0x181)]);_0x41097e++){console['log']('\x20\x20'+_0x54dfca['JNlvJ'](_0x41097e,0x1)+'.\x20'+_0x4e0900[_0x41097e][_0x21a332(0x24b)]);}process['exit'](0x1);}const _0x5ea0a5=_0x4e0900[_0x448387];await updateChecklistItem(_0x24bb42,_0x5ea0a5['id'],{'description':_0x3a374e});const _0xf9e08d=await _0x54dfca[_0x21a332(0x194)](getFeature,_0x24bb42);console['log'](_0x21a332(0x228)),_0x54dfca['WYaUc'](displayFeature,_0xf9e08d,_0xf9e08d[_0x21a332(0x22f)]);}async function downloadFeedbackImage(_0x1e2048,_0x448203){const _0x19ba49=_0x4dc6cf,_0x3ce9b3={'McJiD':'feedback-images'};try{const _0x163d80=join(getRangerDir(),_0x3ce9b3[_0x19ba49(0x19a)]);await mkdir(_0x163d80,{'recursive':!![]});const _0x293bf2=join(_0x163d80,'comment_'+_0x448203+_0x19ba49(0x1a7)),_0x13eea8=await fetch(_0x1e2048);if(!_0x13eea8['ok'])return null;const _0x490d6e=Buffer['from'](await _0x13eea8['arrayBuffer']());return await writeFile(_0x293bf2,_0x490d6e),_0x293bf2;}catch{return null;}}export async function featureGetReview(_0x270baf){const _0xfab706=_0x4dc6cf,_0x5e5450={'SeHnF':function(_0x268f17){return _0x268f17();},'DCSIU':_0xfab706(0x250),'VXlsQ':function(_0x5782d4,_0x3df429){return _0x5782d4===_0x3df429;},'iKauD':function(_0x191fb9,_0x2ee09c){return _0x191fb9<_0x2ee09c;},'diekW':'en-US','DVYmQ':'numeric','AGlCe':'Unknown','dovPP':function(_0x5217f2,_0x31735a,_0x3f1be9){return _0x5217f2(_0x31735a,_0x3f1be9);},'EWoeD':_0xfab706(0x1f9),'HKhjz':function(_0x40c568,_0xc2b9b4){return _0x40c568+_0xc2b9b4;}},_0x5780eb=_0x270baf||await _0x5e5450['SeHnF'](getActiveFeatureId);if(!_0x5780eb)throw new Error(_0x5e5450[_0xfab706(0x1b1)]);const _0x4cdbcd=await getFeature(_0x5780eb),{items:_0x280624}=await getActionItems(_0x5780eb);console[_0xfab706(0x244)]('\x0a📋\x20Feedback\x20for:\x20'+_0x4cdbcd['name']+'\x20('+_0x4cdbcd['id']+')\x0a');if(_0x5e5450['VXlsQ'](_0x280624[_0xfab706(0x181)],0x0)){console[_0xfab706(0x244)]('No\x20scenarios\x20found.');return;}for(let _0x2f4325=0x0;_0x5e5450['iKauD'](_0x2f4325,_0x280624['length']);_0x2f4325++){const _0x271696=_0x280624[_0x2f4325],_0x22c325=_0x271696['version']>0x1?'\x20(v'+_0x271696[_0xfab706(0x1b3)]+')':'',_0x3803c3=await getItemFeedback(_0x5780eb,_0x271696['id']);if(_0x3803c3['unaddressedComments'][_0xfab706(0x181)]>0x0){console[_0xfab706(0x244)]('Scenario\x20'+(_0x2f4325+0x1)+_0xfab706(0x183)+_0x271696[_0xfab706(0x24b)]+'\x22'+_0x22c325+'\x20—\x20'+_0x3803c3[_0xfab706(0x195)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x211e18 of _0x3803c3[_0xfab706(0x195)]){const _0x4f6ddb=new Date(_0x211e18['createdAt'])[_0xfab706(0x196)](_0x5e5450[_0xfab706(0x19d)],{'month':'short','day':_0x5e5450['DVYmQ']}),_0xece4d9=_0x211e18['authorName']||_0x211e18['authorEmail']||_0x5e5450[_0xfab706(0x1a6)];console['log']('\x20\x20💬\x20'+_0xece4d9+'\x20('+_0x4f6ddb+_0xfab706(0x1e0)+_0x211e18['content']+'\x22');if(_0x211e18[_0xfab706(0x209)]){const _0x23ece3=await _0x5e5450['dovPP'](downloadFeedbackImage,_0x211e18[_0xfab706(0x209)],_0x211e18['id']);_0x23ece3&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x23ece3);}if(_0x211e18[_0xfab706(0x1ce)]){const _0x1a9bba=_0x211e18[_0xfab706(0x1ce)][_0xfab706(0x23f)][_0xfab706(0x22e)](_0xfab706(0x1ac))['pop']()?.['split'](':')[0x0]||_0x5e5450[_0xfab706(0x246)],_0x1fc5e7=_0x211e18['domRef']['textContent']?'\x20\x22'+_0x211e18[_0xfab706(0x1ce)][_0xfab706(0x24a)]['slice'](0x0,0x3c)+'\x22':'';console[_0xfab706(0x244)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1a9bba+'>'+_0x1fc5e7),console['log'](_0xfab706(0x199)+_0x211e18[_0xfab706(0x1ce)]['selector']);}else{if(_0x211e18[_0xfab706(0x204)]){const _0x5a4bee=_0x211e18[_0xfab706(0x204)]['coordinates'];_0x211e18['spatial']['type']==='point'&&_0x5a4bee['length']>=0x2?console[_0xfab706(0x244)](_0xfab706(0x1fa)+_0x5a4bee[0x0][_0xfab706(0x218)](0x2)+',\x20'+_0x5a4bee[0x1][_0xfab706(0x218)](0x2)+')'):console[_0xfab706(0x244)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x211e18['spatial']['type']+_0xfab706(0x21d)+_0x5a4bee[_0xfab706(0x1bf)](_0x394109=>_0x394109['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x3803c3[_0xfab706(0x237)]){console['log'](_0xfab706(0x17f));for(const _0x16d0a7 of _0x3803c3[_0xfab706(0x237)][_0xfab706(0x22e)]('\x0a')){console[_0xfab706(0x244)](_0xfab706(0x186)+_0x16d0a7);}}}else console[_0xfab706(0x244)](_0xfab706(0x21a)+_0x5e5450['HKhjz'](_0x2f4325,0x1)+_0xfab706(0x183)+_0x271696[_0xfab706(0x24b)]+'\x22'+_0x22c325+'\x20—\x20no\x20comments'),console[_0xfab706(0x244)](_0xfab706(0x24c));console['log']('');}}export async function featureDelete(_0x52b06a){const _0x4dd9ba=_0x4dc6cf,_0x362aed=_0x52b06a||await getActiveFeatureId();if(!_0x362aed)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 _0x56d650=await getFeature(_0x362aed);await softDeleteFeature(_0x362aed),console[_0x4dd9ba(0x244)](_0x4dd9ba(0x18d)+_0x56d650['name']+'\x20('+_0x362aed+')'),console['log']('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x362aed);}export async function featureRestore(_0x30b353){const _0x1e3084=_0x4dc6cf,_0x37a8c1={'iZvJL':function(_0x324871,_0x14d9c0,_0xb330e2){return _0x324871(_0x14d9c0,_0xb330e2);}};await restoreFeature(_0x30b353);const _0x53e5cf=await getFeature(_0x30b353);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x53e5cf['name']+'\x20('+_0x30b353+')'),_0x37a8c1[_0x1e3084(0x1aa)](displayFeature,_0x53e5cf,_0x53e5cf['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3efe17,_0x42bc57){const _0xdfbc1a=_0x3068,_0x1d09cc=_0x3efe17();while(!![]){try{const _0x97a414=parseInt(_0xdfbc1a(0x86))/0x1+parseInt(_0xdfbc1a(0x81))/0x2+parseInt(_0xdfbc1a(0x83))/0x3+-parseInt(_0xdfbc1a(0x85))/0x4+parseInt(_0xdfbc1a(0x7d))/0x5*(parseInt(_0xdfbc1a(0x87))/0x6)+parseInt(_0xdfbc1a(0x80))/0x7+-parseInt(_0xdfbc1a(0x7e))/0x8;if(_0x97a414===_0x42bc57)break;else _0x1d09cc['push'](_0x1d09cc['shift']());}catch(_0x1e6494){_0x1d09cc['push'](_0x1d09cc['shift']());}}}(_0x1589,0x8757d));function _0x3068(_0x4c46ae,_0x2f9d30){_0x4c46ae=_0x4c46ae-0x7d;const _0x15892a=_0x1589();let _0x3068a0=_0x15892a[_0x4c46ae];return _0x3068a0;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x1589(){const _0x5f2eb8=['Unknown\x20hook:\x20','1349688ISYRpb','Gtxrb','1062612sciDuh','191395aGTeXP','6jXFhjy','1635210feUSUB','7393416mqQIIs','error','3505187tqdZHC','550242ybPjvM'];_0x1589=function(){return _0x5f2eb8;};return _0x1589();}export async function hook(_0x5b9401,_0xce70d3){const _0x124e03=_0x3068,_0xa08aac={'Gtxrb':function(_0x26d123,_0x1453d5){return _0x26d123(_0x1453d5);}},_0x36099a=HOOKS[_0x5b9401];if(!_0x36099a){const _0x2105ca=Object['keys'](HOOKS)['join'](',\x20');console['error'](_0x124e03(0x82)+_0x5b9401),console[_0x124e03(0x7f)]('Valid\x20hooks:\x20'+_0x2105ca),process['exit'](0x1);}await _0xa08aac[_0x124e03(0x84)](_0x36099a,_0xce70d3);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x23ee(_0x28bba9,_0x1e767d){_0x28bba9=_0x28bba9-0x1d7;const _0x1bd104=_0x1bd1();let _0x23ee34=_0x1bd104[_0x28bba9];return _0x23ee34;}(function(_0x13778d,_0x5619db){const _0x5512e7=_0x23ee,_0x3cff77=_0x13778d();while(!![]){try{const _0xd51eb8=-parseInt(_0x5512e7(0x1dc))/0x1+-parseInt(_0x5512e7(0x1dd))/0x2+parseInt(_0x5512e7(0x1e0))/0x3+-parseInt(_0x5512e7(0x1d8))/0x4*(-parseInt(_0x5512e7(0x1d9))/0x5)+-parseInt(_0x5512e7(0x1df))/0x6+parseInt(_0x5512e7(0x1da))/0x7+parseInt(_0x5512e7(0x1de))/0x8;if(_0xd51eb8===_0x5619db)break;else _0x3cff77['push'](_0x3cff77['shift']());}catch(_0x15e38a){_0x3cff77['push'](_0x3cff77['shift']());}}}(_0x1bd1,0xb3e32));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.';function _0x1bd1(){const _0xc45bfe=['session_id','log','867248ROmpSh','5JXRDqm','9121952GaAwyt','CfQLj','1219236aRCJRD','579716cYHYuN','5976080BGuuEv','8349762LRYeAw','4111743PCCVCv'];_0x1bd1=function(){return _0xc45bfe;};return _0x1bd1();}export async function autoPrompt(){const _0x544f65=_0x23ee,_0x10b029={'kQMse':function(_0x1bd607,_0x978aef){return _0x1bd607(_0x978aef);},'CfQLj':function(_0x4b5a60,_0xc750c7){return _0x4b5a60(_0xc750c7);}},_0x283408=await readHookInput(),_0x464ebc=_0x283408?.[_0x544f65(0x1e1)];if(!_0x464ebc)return;if(_0x10b029['kQMse'](isSessionEnabled,_0x464ebc)||_0x10b029[_0x544f65(0x1db)](hasSessionBeenPrompted,_0x464ebc))return;markSessionPrompted(_0x464ebc),console[_0x544f65(0x1d7)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3f08c8,_0x4df618){const _0x4806ab=_0x76d4,_0xe386f5=_0x3f08c8();while(!![]){try{const _0x401f87=parseInt(_0x4806ab(0x19c))/0x1+-parseInt(_0x4806ab(0x192))/0x2+parseInt(_0x4806ab(0x19a))/0x3*(-parseInt(_0x4806ab(0x1a1))/0x4)+-parseInt(_0x4806ab(0x19e))/0x5+parseInt(_0x4806ab(0x197))/0x6*(parseInt(_0x4806ab(0x198))/0x7)+-parseInt(_0x4806ab(0x19f))/0x8+parseInt(_0x4806ab(0x194))/0x9;if(_0x401f87===_0x4df618)break;else _0xe386f5['push'](_0xe386f5['shift']());}catch(_0x176835){_0xe386f5['push'](_0xe386f5['shift']());}}}(_0x37ef,0xa441e));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x76d4(_0x3b1883,_0x2dc885){_0x3b1883=_0x3b1883-0x192;const _0x37ef6a=_0x37ef();let _0x76d45c=_0x37ef6a[_0x3b1883];return _0x76d45c;}function _0x37ef(){const _0x19d7c9=['#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','6wIOMLZ','1968757clHbnF','pilUZ','3917949lLNyfU','CLAUDE_SESSION_ID','69007BOPmGI','main','2427845sxYdCo','5368352fVrmAc','.\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`.','4vTSUeY','171480BMvJdq','GntnW','25837884OEmWcQ','NxlAK'];_0x37ef=function(){return _0x19d7c9;};return _0x37ef();}import{printBlock}from'./output.js';export async function disable(_0x44add2){const _0x351aa0=_0x76d4,_0x3210bd={'GntnW':function(_0x179325,_0x1bfeaa){return _0x179325(_0x1bfeaa);},'pilUZ':function(_0x229e14,_0x445555){return _0x229e14!==_0x445555;},'NxlAK':_0x351aa0(0x19d),'vrnvl':function(_0x3ccfd6,_0x5ee72d){return _0x3ccfd6(_0x5ee72d);},'alCAa':'master'},_0x3e45fe=_0x44add2||process['env'][_0x351aa0(0x19b)]||'';_0x3e45fe&&_0x3210bd[_0x351aa0(0x193)](disableSession,_0x3e45fe);const _0x27937c=getCurrentBranch();_0x27937c&&_0x3210bd[_0x351aa0(0x199)](_0x27937c,_0x3210bd[_0x351aa0(0x195)])&&_0x27937c!=='master'&&_0x3210bd['vrnvl'](disableBranch,_0x27937c),printBlock(_0x351aa0(0x196)+(_0x27937c&&_0x27937c!==_0x351aa0(0x19d)&&_0x27937c!==_0x3210bd['alCAa']?'\x20and\x20branch\x20\x27'+_0x27937c+'\x27':'')+_0x351aa0(0x1a0));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2d97a1,_0x413221){const _0x5f21de=_0x1bff,_0x323850=_0x2d97a1();while(!![]){try{const _0x3bd4b5=parseInt(_0x5f21de(0xe5))/0x1*(parseInt(_0x5f21de(0xeb))/0x2)+parseInt(_0x5f21de(0xe7))/0x3*(parseInt(_0x5f21de(0xf7))/0x4)+-parseInt(_0x5f21de(0xf8))/0x5+parseInt(_0x5f21de(0xf2))/0x6+parseInt(_0x5f21de(0xe9))/0x7*(parseInt(_0x5f21de(0xf9))/0x8)+-parseInt(_0x5f21de(0xf0))/0x9*(-parseInt(_0x5f21de(0xf5))/0xa)+-parseInt(_0x5f21de(0xea))/0xb;if(_0x3bd4b5===_0x413221)break;else _0x323850['push'](_0x323850['shift']());}catch(_0x41dfeb){_0x323850['push'](_0x323850['shift']());}}}(_0x5aed,0x343f2));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x1bff(_0x12150c,_0x28a4ff){_0x12150c=_0x12150c-0xe4;const _0x5aedd9=_0x5aed();let _0x1bff02=_0x5aedd9[_0x12150c];return _0x1bff02;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x5aed(){const _0x39c59f=['oCQqo','1171899XvpcLi','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','2096832eDmZNK','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','YtEPX','30hAlyoQ','\x0a\x0a**Branch\x20\x27','70644iXvAqI','1722605hoNCwD','368kWDXJx','env','1kEeKoQ','CLAUDE_SESSION_ID','9zfApVM','main','5593bFMSeK','4177184hWGgJV','216850ahWFrO','#\x20RANGER\x20ENABLED','#\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`','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.'];_0x5aed=function(){return _0x39c59f;};return _0x5aed();}import{update}from'../update.js';export async function enable(_0x3fd5c8){const _0x36c60d=_0x1bff,_0x327baf={'KaTkY':function(_0x15e77f){return _0x15e77f();},'OYkbZ':_0x36c60d(0xee),'YtEPX':function(_0x2f0f4b,_0x5a7a69){return _0x2f0f4b(_0x5a7a69);},'Fgjsw':function(_0x2b8781){return _0x2b8781();},'oCQqo':_0x36c60d(0xe8),'UFCay':function(_0x468c76){return _0x468c76();}},_0x3d4983=_0x3fd5c8||process[_0x36c60d(0xe4)][_0x36c60d(0xe6)]||'',_0x5d14cb=Boolean(_0x3fd5c8),_0x53521c=await _0x327baf['KaTkY'](getToken);if(!_0x53521c){const _0x217556=_0x5d14cb?'ranger\x20setup\x20--opencode':'ranger\x20setup',_0x11da59=_0x5d14cb?_0x36c60d(0xf1):_0x327baf['OYkbZ'];_0x327baf['YtEPX'](printBlock,_0x36c60d(0xed)+_0x217556+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x11da59);return;}try{await update();}catch{}_0x3d4983&&enableSession(_0x3d4983);const _0xe61d50=_0x327baf['Fgjsw'](getCurrentBranch),_0x7715d1=_0xe61d50&&_0xe61d50!==_0x327baf[_0x36c60d(0xef)]&&_0xe61d50!=='master'?_0x36c60d(0xf6)+_0xe61d50+_0x36c60d(0xf3):'',_0xcef355=_0x327baf['UFCay'](getRangerSkillContent);_0x327baf[_0x36c60d(0xf4)](printBlock,_0x36c60d(0xec)+_0x7715d1+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0xcef355+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x400c(_0x18b93d,_0x36d190){_0x18b93d=_0x18b93d-0xd4;const _0x5d2206=_0x5d22();let _0x400c61=_0x5d2206[_0x18b93d];return _0x400c61;}function _0x5d22(){const _0x4b56eb=['79864ypdhmZ','3313208JopmKI','1043oKjoRV','3205210cWpTsi','6DyOjoo','===\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===','706899aWChtG','4ersWVX','19630400UpBoSi','TtbQo','279684hvlEOf','2362473Cquroj'];_0x5d22=function(){return _0x4b56eb;};return _0x5d22();}(function(_0x3fe80b,_0x4d119b){const _0x12cd17=_0x400c,_0x35bfb2=_0x3fe80b();while(!![]){try{const _0x59c67a=parseInt(_0x12cd17(0xdc))/0x1*(parseInt(_0x12cd17(0xdd))/0x2)+parseInt(_0x12cd17(0xd4))/0x3+-parseInt(_0x12cd17(0xd7))/0x4+parseInt(_0x12cd17(0xd9))/0x5*(-parseInt(_0x12cd17(0xda))/0x6)+-parseInt(_0x12cd17(0xd8))/0x7*(parseInt(_0x12cd17(0xd6))/0x8)+parseInt(_0x12cd17(0xd5))/0x9+parseInt(_0x12cd17(0xde))/0xa;if(_0x59c67a===_0x4d119b)break;else _0x35bfb2['push'](_0x35bfb2['shift']());}catch(_0x3d284d){_0x35bfb2['push'](_0x35bfb2['shift']());}}}(_0x5d22,0xbd648));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x4d6263){const _0x2af860=_0x400c,_0x412e90={'TtbQo':function(_0xc538c0,_0x2c614d){return _0xc538c0(_0x2c614d);}},_0x4b290f=await getEnabledSessionId(_0x4d6263);if(!_0x4b290f)return;_0x412e90[_0x2af860(0xdf)](printBlock,_0x2af860(0xdb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1c6845,_0x55781d){var _0x4a9afd=_0x5dd4,_0x429cf9=_0x1c6845();while(!![]){try{var _0x4df369=parseInt(_0x4a9afd(0x7f))/0x1*(-parseInt(_0x4a9afd(0x7c))/0x2)+parseInt(_0x4a9afd(0x7e))/0x3+-parseInt(_0x4a9afd(0x78))/0x4*(-parseInt(_0x4a9afd(0x81))/0x5)+-parseInt(_0x4a9afd(0x7b))/0x6+parseInt(_0x4a9afd(0x7a))/0x7+-parseInt(_0x4a9afd(0x80))/0x8*(parseInt(_0x4a9afd(0x79))/0x9)+parseInt(_0x4a9afd(0x7d))/0xa;if(_0x4df369===_0x55781d)break;else _0x429cf9['push'](_0x429cf9['shift']());}catch(_0x38de92){_0x429cf9['push'](_0x429cf9['shift']());}}}(_0x3fce,0x5fda8));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x5dd4(_0x29b734,_0x3aa001){_0x29b734=_0x29b734-0x78;var _0x3fce1b=_0x3fce();var _0x5dd469=_0x3fce1b[_0x29b734];return _0x5dd469;}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0x3fce(){var _0x341c87=['87638soJnxi','10505740fzdlcc','115971fmmShs','15bkhsJV','368PIPyNB','745345EwpnVB','4AIfLnn','128214DqsNCh','4390708wPqdPy','961962YbrRHU'];_0x3fce=function(){return _0x341c87;};return _0x3fce();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3cab0f,_0x1f8d1d){const _0x56e932=_0x1c69,_0xbfb8ab=_0x3cab0f();while(!![]){try{const _0x3d2703=-parseInt(_0x56e932(0xec))/0x1*(parseInt(_0x56e932(0xe9))/0x2)+-parseInt(_0x56e932(0xea))/0x3*(-parseInt(_0x56e932(0xf1))/0x4)+-parseInt(_0x56e932(0xef))/0x5+parseInt(_0x56e932(0xe5))/0x6*(parseInt(_0x56e932(0xed))/0x7)+parseInt(_0x56e932(0xf4))/0x8*(parseInt(_0x56e932(0xee))/0x9)+-parseInt(_0x56e932(0xe6))/0xa*(parseInt(_0x56e932(0xf0))/0xb)+parseInt(_0x56e932(0xe8))/0xc*(parseInt(_0x56e932(0xe7))/0xd);if(_0x3d2703===_0x1f8d1d)break;else _0xbfb8ab['push'](_0xbfb8ab['shift']());}catch(_0x3a4182){_0xbfb8ab['push'](_0xbfb8ab['shift']());}}}(_0x3dff,0x3dd61));function _0x1c69(_0x532740,_0x5b54ab){_0x532740=_0x532740-0xe5;const _0x3dff32=_0x3dff();let _0x1c691e=_0x3dff32[_0x532740];return _0x1c691e;}import{isSessionEnabled}from'../utils/sessionCache.js';function _0x3dff(){const _0xf1485b=['204pzUgFM','68YhONLR','2127UHfZax','eGcpa','7785nqFKan','1149477NnWtcQ','3247803eVfXYn','1615930toYfGA','55WuPchi','2772fsGAdZ','MgegE','session_id','8KeEMzs','stdin','sFoHW','12GiunZc','921460kHxByA','92729vwJhyj'];_0x3dff=function(){return _0xf1485b;};return _0x3dff();}export function printBlock(_0x51fc0d){console['log'](_0x51fc0d);}export async function readHookInput(){const _0x20b91e=_0x1c69;let _0x3aa6b6='';for await(const _0x5d29c5 of process[_0x20b91e(0xf5)]){_0x3aa6b6+=_0x5d29c5;}try{return JSON['parse'](_0x3aa6b6);}catch{return null;}}export async function getEnabledSessionId(_0x1ff13a){const _0x419f63=_0x1c69,_0x452920={'sFoHW':function(_0x5679a1){return _0x5679a1();},'eGcpa':function(_0x1430e0,_0x5918d8){return _0x1430e0(_0x5918d8);}};if(_0x1ff13a)return isSessionEnabled(_0x1ff13a)?_0x1ff13a:null;const _0x2c4d09=await _0x452920[_0x419f63(0xf6)](readHookInput),_0x57bb0a=_0x2c4d09?.[_0x419f63(0xf3)];if(!_0x57bb0a||!_0x452920[_0x419f63(0xeb)](isSessionEnabled,_0x57bb0a))return null;return _0x57bb0a;}export async function getEnabledHookContext(_0x47e5f9){const _0x45e0d2=_0x1c69,_0x254bcd={'jRQcS':function(_0x74cfed){return _0x74cfed();},'MgegE':function(_0x536abc,_0x466715){return _0x536abc(_0x466715);}};if(_0x47e5f9){if(!isSessionEnabled(_0x47e5f9))return null;return{'sessionId':_0x47e5f9,'input':{'session_id':_0x47e5f9}};}const _0x249a2e=await _0x254bcd['jRQcS'](readHookInput),_0x14bc9b=_0x249a2e?.[_0x45e0d2(0xf3)];if(!_0x14bc9b||!_0x254bcd[_0x45e0d2(0xf2)](isSessionEnabled,_0x14bc9b))return null;return{'sessionId':_0x14bc9b,'input':_0x249a2e};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4d9582,_0x3713f1){const _0x375dc8=_0xff2a,_0x2991e2=_0x4d9582();while(!![]){try{const _0x2f48d3=parseInt(_0x375dc8(0x198))/0x1*(-parseInt(_0x375dc8(0x197))/0x2)+-parseInt(_0x375dc8(0x193))/0x3*(parseInt(_0x375dc8(0x19d))/0x4)+parseInt(_0x375dc8(0x19a))/0x5*(-parseInt(_0x375dc8(0x194))/0x6)+parseInt(_0x375dc8(0x199))/0x7*(parseInt(_0x375dc8(0x191))/0x8)+-parseInt(_0x375dc8(0x19f))/0x9*(-parseInt(_0x375dc8(0x192))/0xa)+-parseInt(_0x375dc8(0x196))/0xb+parseInt(_0x375dc8(0x19c))/0xc;if(_0x2f48d3===_0x3713f1)break;else _0x2991e2['push'](_0x2991e2['shift']());}catch(_0x72f927){_0x2991e2['push'](_0x2991e2['shift']());}}}(_0xbede,0x963bc));function _0xff2a(_0x50ec84,_0x470660){_0x50ec84=_0x50ec84-0x191;const _0xbedec=_0xbede();let _0xff2a95=_0xbedec[_0x50ec84];return _0xff2a95;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5426cf){const _0x5659e6=_0xff2a,_0x4eabb7={'Kmttc':_0x5659e6(0x195),'qYDTW':function(_0x453748,_0x24e192){return _0x453748(_0x24e192);}},_0xe7236c=await getEnabledHookContext(_0x5426cf);if(!_0xe7236c)return;if(_0xe7236c[_0x5659e6(0x19b)][_0x5659e6(0x19e)]!==_0x4eabb7['Kmttc'])return;if(!shouldShowPlanReminder(_0xe7236c['sessionId']))return;_0x4eabb7['qYDTW'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0xbede(){const _0x4495aa=['input','17649792mdfAwb','3904468mpMgyZ','permission_mode','45ganJGy','4370824Xedjqc','1907530CcBtOk','3IbAELz','2082iLzNPq','plan','1899227RBiqbD','2duzdDn','307033VRSzEC','7wTmpkc','12965ilQQpF'];_0xbede=function(){return _0x4495aa;};return _0xbede();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x109f3f,_0x3f8563){const _0x23cb07=_0x538f,_0x24e754=_0x109f3f();while(!![]){try{const _0x532735=-parseInt(_0x23cb07(0x1d2))/0x1+parseInt(_0x23cb07(0x1d3))/0x2+parseInt(_0x23cb07(0x1d1))/0x3+parseInt(_0x23cb07(0x1d4))/0x4+parseInt(_0x23cb07(0x1d7))/0x5*(-parseInt(_0x23cb07(0x1d5))/0x6)+parseInt(_0x23cb07(0x1d9))/0x7+-parseInt(_0x23cb07(0x1d6))/0x8;if(_0x532735===_0x3f8563)break;else _0x24e754['push'](_0x24e754['shift']());}catch(_0x1b6d51){_0x24e754['push'](_0x24e754['shift']());}}}(_0x3a26,0x9bb12));import{printBlock,getEnabledSessionId}from'./output.js';function _0x538f(_0x3dae24,_0x9e48c0){_0x3dae24=_0x3dae24-0x1d1;const _0x3a26b4=_0x3a26();let _0x538ff1=_0x3a26b4[_0x3dae24];return _0x538ff1;}function _0x3a26(){const _0x3f05e4=['623189oeRCQc','2433501TchFuz','402503BvjQRj','2120816EJLFrJ','1765012vtthBf','399624ZmgsYy','5564784eakoEy','50pTldfr','BgtjO'];_0x3a26=function(){return _0x3f05e4;};return _0x3a26();}export async function planStart(_0x4b909f){const _0x39bdbf=_0x538f,_0xb67d1b={'BgtjO':function(_0xb3c9ed,_0x5b8f04){return _0xb3c9ed(_0x5b8f04);}},_0x25884c=await _0xb67d1b[_0x39bdbf(0x1d8)](getEnabledSessionId,_0x4b909f);if(!_0x25884c)return;_0xb67d1b[_0x39bdbf(0x1d8)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x2c84(){const _0x4842ca=['4876125hWxFNM','517202azJkoB','22065525Yhlgjc','3OjRzma','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).','1083176anTBxc','28IVNnPH','3319374ZJPCYh','log','4482260wbYDOR','stringify','1251310AKdqZC','PostToolUse'];_0x2c84=function(){return _0x4842ca;};return _0x2c84();}(function(_0x281af7,_0x1b6ce2){const _0x5713ff=_0x3d20,_0x424a6a=_0x281af7();while(!![]){try{const _0x335c09=parseInt(_0x5713ff(0x8b))/0x1+parseInt(_0x5713ff(0x8e))/0x2*(-parseInt(_0x5713ff(0x90))/0x3)+parseInt(_0x5713ff(0x89))/0x4+parseInt(_0x5713ff(0x8d))/0x5+parseInt(_0x5713ff(0x94))/0x6+-parseInt(_0x5713ff(0x93))/0x7*(parseInt(_0x5713ff(0x92))/0x8)+-parseInt(_0x5713ff(0x8f))/0x9;if(_0x335c09===_0x1b6ce2)break;else _0x424a6a['push'](_0x424a6a['shift']());}catch(_0x577d40){_0x424a6a['push'](_0x424a6a['shift']());}}}(_0x2c84,0x9e4df));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x3d20(_0x46bb42,_0xbf4157){_0x46bb42=_0x46bb42-0x88;const _0x2c847b=_0x2c84();let _0x3d2077=_0x2c847b[_0x46bb42];return _0x3d2077;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x569065){const _0x216d01=_0x3d20,_0x2d6e0d={'DdGaz':function(_0x5d8655,_0x17351c){return _0x5d8655(_0x17351c);},'nhpWo':_0x216d01(0x8c)},_0x9f3ec1=await _0x2d6e0d['DdGaz'](getEnabledSessionId,_0x569065);if(!_0x9f3ec1)return;updateBranchTracking(_0x9f3ec1);const _0x369014=await getToken();if(!_0x369014)return;const _0x538281=getSessionEntry(_0x9f3ec1);if(_0x538281){const _0x212cf7={'hookSpecificOutput':{'hookEventName':_0x216d01(0x8c),'additionalContext':_0x216d01(0x91)}};console[_0x216d01(0x88)](JSON[_0x216d01(0x8a)](_0x212cf7));return;}const _0x3dea81={'hookSpecificOutput':{'hookEventName':_0x2d6e0d['nhpWo'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x3dea81));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x13bd26,_0x4e6fbc){const _0x1e357b=_0x1943,_0x4b6282=_0x13bd26();while(!![]){try{const _0xeddf9=parseInt(_0x1e357b(0x103))/0x1+-parseInt(_0x1e357b(0x101))/0x2*(-parseInt(_0x1e357b(0x104))/0x3)+-parseInt(_0x1e357b(0x107))/0x4+-parseInt(_0x1e357b(0x102))/0x5+-parseInt(_0x1e357b(0x106))/0x6*(parseInt(_0x1e357b(0x105))/0x7)+-parseInt(_0x1e357b(0xfe))/0x8+parseInt(_0x1e357b(0xff))/0x9;if(_0xeddf9===_0x4e6fbc)break;else _0x4b6282['push'](_0x4b6282['shift']());}catch(_0x463557){_0x4b6282['push'](_0x4b6282['shift']());}}}(_0x5678,0xd567d));function _0x1943(_0x190304,_0x26c3a8){_0x190304=_0x190304-0xfe;const _0x567893=_0x5678();let _0x1943fb=_0x567893[_0x190304];return _0x1943fb;}import{getToken}from'../utils/keychain.js';function _0x5678(){const _0x3efbed=['1548030dNnORo','2415hgqBBs','267ntPjvY','714889EhZHRT','36EQEtEB','2972572uHmHTj','3863368hrdIhy','19332135oTyqxT','INdlQ','19598mVoXqc'];_0x5678=function(){return _0x3efbed;};return _0x5678();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x19e1df){const _0x2f7109=_0x1943,_0x2a73f7={'INdlQ':function(_0x2455dc){return _0x2455dc();},'JeqrF':function(_0x40c12a,_0x141ed8){return _0x40c12a(_0x141ed8);}},_0x2aaa44=await getEnabledSessionId(_0x19e1df);if(!_0x2aaa44)return;try{const _0x53f93a=await _0x2a73f7[_0x2f7109(0x100)](getToken);if(!_0x53f93a)return;_0x2a73f7['JeqrF'](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
|
-
|
|
1
|
+
(function(_0x190506,_0x3f6379){const _0x5c4c18=_0x4b7a,_0xe8692f=_0x190506();while(!![]){try{const _0x40017f=parseInt(_0x5c4c18(0xfa))/0x1+parseInt(_0x5c4c18(0xf6))/0x2*(parseInt(_0x5c4c18(0xf7))/0x3)+-parseInt(_0x5c4c18(0xf8))/0x4*(-parseInt(_0x5c4c18(0xf9))/0x5)+parseInt(_0x5c4c18(0x100))/0x6*(parseInt(_0x5c4c18(0xfb))/0x7)+parseInt(_0x5c4c18(0x101))/0x8+parseInt(_0x5c4c18(0xff))/0x9+-parseInt(_0x5c4c18(0xf5))/0xa*(parseInt(_0x5c4c18(0xfc))/0xb);if(_0x40017f===_0x3f6379)break;else _0xe8692f['push'](_0xe8692f['shift']());}catch(_0x315688){_0xe8692f['push'](_0xe8692f['shift']());}}}(_0x565d,0xc3dde));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x4b7a(_0x3958ce,_0x10d309){_0x3958ce=_0x3958ce-0xf4;const _0x565d6c=_0x565d();let _0x4b7a9a=_0x565d6c[_0x3958ce];return _0x4b7a9a;}function _0x565d(){const _0x3bbbef=['143fyQMIa','clear','session_id','12976524wHVxjG','181686cKYHDe','3203120acZXro','zyWdJ','4009310ZMNLPI','2KwmsDW','3650736klyYlY','715012KmeHOV','5bYHYdK','1474399mkJsex','301IoAjPW'];_0x565d=function(){return _0x3bbbef;};return _0x565d();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x262a17){const _0x430773=_0x4b7a,_0x233282={'BUKhe':function(_0x46b94e){return _0x46b94e();},'zyWdJ':function(_0x23ec33,_0x28558c){return _0x23ec33===_0x28558c;}};let _0x15147c=_0x262a17,_0x2e2d95;if(!_0x262a17){const _0x290e52=await _0x233282['BUKhe'](readHookInput);_0x15147c=_0x290e52?.[_0x430773(0xfe)],_0x2e2d95=_0x290e52?.['reason'];}if(!_0x15147c)return;_0x233282[_0x430773(0xf4)](_0x2e2d95,_0x430773(0xfd))&&recordEnabledSessionCleared(_0x15147c);}
|