@ranger-testing/ranger-cli 2.3.1 → 2.4.0
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/agentEnv.js +1 -0
- 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/playwrightCli.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/verifyFeatureCli.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/package.json +1 -1
package/build/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x481fb6=_0x1288;(function(_0x1e82de,_0x69ddc5){const _0x3c4c3f=_0x1288,_0x5eba0c=_0x1e82de();while(!![]){try{const _0x1ee55a=-parseInt(_0x3c4c3f(0x105))/0x1*(-parseInt(_0x3c4c3f(0xf9))/0x2)+parseInt(_0x3c4c3f(0xf6))/0x3+-parseInt(_0x3c4c3f(0xf7))/0x4*(-parseInt(_0x3c4c3f(0xfc))/0x5)+parseInt(_0x3c4c3f(0xee))/0x6+parseInt(_0x3c4c3f(0xfe))/0x7+-parseInt(_0x3c4c3f(0xef))/0x8*(-parseInt(_0x3c4c3f(0x101))/0x9)+-parseInt(_0x3c4c3f(0xf4))/0xa;if(_0x1ee55a===_0x69ddc5)break;else _0x5eba0c['push'](_0x5eba0c['shift']());}catch(_0x1efc13){_0x5eba0c['push'](_0x5eba0c['shift']());}}}(_0x353b,0xc2a9e));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0x481fb6(0xfa)];function parseValue(_0x3cde67,_0x474ac4){const _0x23ce62=_0x481fb6,_0x24b230={'zJEkj':function(_0x2f9262,_0x1590ba){return _0x2f9262===_0x1590ba;},'AYkMX':'false'};if(BOOLEAN_KEYS[_0x23ce62(0xeb)](_0x3cde67)){if(_0x24b230[_0x23ce62(0xf5)](_0x474ac4,'true'))return!![];if(_0x474ac4===_0x24b230['AYkMX'])return![];throw new Error(_0x23ce62(0xed)+_0x3cde67+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x474ac4;}function _0x1288(_0xe8a91c,_0x1ab06e){_0xe8a91c=_0xe8a91c-0xeb;const _0x353b08=_0x353b();let _0x128840=_0x353b08[_0xe8a91c];return _0x128840;}export async function configSet(_0x41c412,_0x220d3e,_0x386690){const _0x4f6fdd=_0x481fb6,_0x430226={'iNvNm':function(_0x4fe17a,_0xc1e97a){return _0x4fe17a(_0xc1e97a);}},_0x58c627=_0x430226[_0x4f6fdd(0x100)](getEnvDir,_0x41c412);if(!existsSync(_0x58c627))throw new Error(_0x4f6fdd(0x103)+_0x41c412+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x41c412);const _0x2f54d6=await loadSettings(_0x41c412),_0x3931b1=parseValue(_0x220d3e,_0x386690);setNestedValue(_0x2f54d6,_0x220d3e,_0x3931b1),await saveSettings(_0x41c412,_0x2f54d6),console[_0x4f6fdd(0xfb)]('Set\x20'+_0x220d3e+_0x4f6fdd(0xf1)+_0x3931b1);}export async function configGet(_0x42281c,_0xc97fc0){const _0xfc9b72=_0x481fb6,_0x20a73c={'hjEyj':function(_0x1c994c,_0x1c5c13){return _0x1c994c(_0x1c5c13);},'IsEJW':'object'},_0x11c43f=getEnvDir(_0x42281c);if(!_0x20a73c['hjEyj'](existsSync,_0x11c43f))throw new Error('Profile\x20\x22'+_0x42281c+'\x22\x20does\x20not\x20exist.');const _0x53a1f1=await _0x20a73c[_0xfc9b72(0xf2)](loadSettings,_0x42281c),_0x2f4eed=getNestedValue(_0x53a1f1,_0xc97fc0);if(_0x2f4eed===undefined)console[_0xfc9b72(0xfb)](_0xfc9b72(0x102));else typeof _0x2f4eed===_0x20a73c[_0xfc9b72(0xec)]?console['log'](JSON['stringify'](_0x2f4eed,null,0x2)):console['log'](_0x2f4eed);}function _0x353b(){const _0x4f4f49=['Removed\x20','10329116ZmSndA','Key\x20\x22','iNvNm','126zHXfbb','(not\x20set)','Profile\x20\x22','No\x20configuration\x20set\x20for\x20\x22','1qbvqtS','includes','IsEJW','Invalid\x20value\x20for\x20','743580CUkMbG','375112nvGSdt','\x22\x20not\x20found','\x20=\x20','hjEyj','JMRXJ','25730160WpdNbr','zJEkj','2083689CmYbUh','8FqVmFd','\x22\x20does\x20not\x20exist.','179726ZfXdWb','allowInsecureLocalhost','log','824920YfbBwx'];_0x353b=function(){return _0x4f4f49;};return _0x353b();}export async function configList(_0x193e4b){const _0x3829e1=_0x481fb6,_0x394027={'yTlIV':function(_0x435a08,_0x352b9b){return _0x435a08(_0x352b9b);}},_0x5df2db=getSettingsPath(_0x193e4b);if(!_0x394027['yTlIV'](existsSync,_0x5df2db)){const _0x2195a5=getEnvDir(_0x193e4b);if(!existsSync(_0x2195a5))throw new Error(_0x3829e1(0x103)+_0x193e4b+_0x3829e1(0xf8));console[_0x3829e1(0xfb)](_0x3829e1(0x104)+_0x193e4b+'\x22');return;}const _0x51b0c2=await loadSettings(_0x193e4b),_0x5745f3=formatSettings(_0x51b0c2);!_0x5745f3?console['log'](_0x3829e1(0x104)+_0x193e4b+'\x22'):console['log'](_0x5745f3);}export async function configUnset(_0x2bb67a,_0x3a0dfe){const _0x48126d=_0x481fb6,_0x2161ba={'JMRXJ':function(_0x51c641,_0x320c76){return _0x51c641(_0x320c76);},'OZtJn':function(_0x470cba,_0x32e54b,_0x4faebf){return _0x470cba(_0x32e54b,_0x4faebf);}},_0x482451=getEnvDir(_0x2bb67a);if(!existsSync(_0x482451))throw new Error(_0x48126d(0x103)+_0x2bb67a+_0x48126d(0xf8));const _0x238592=await _0x2161ba[_0x48126d(0xf3)](loadSettings,_0x2bb67a),_0x59c039=deleteNestedValue(_0x238592,_0x3a0dfe);_0x59c039?(await _0x2161ba['OZtJn'](saveSettings,_0x2bb67a,_0x238592),console['log'](_0x48126d(0xfd)+_0x3a0dfe)):console[_0x48126d(0xfb)](_0x48126d(0xff)+_0x3a0dfe+_0x48126d(0xf0));}
|
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x21df93=_0x32ee;(function(_0x1ae23e,_0xc2b3c9){const _0x44f300=_0x32ee,_0x1762aa=_0x1ae23e();while(!![]){try{const _0x369fc4=-parseInt(_0x44f300(0xec))/0x1*(parseInt(_0x44f300(0xe2))/0x2)+parseInt(_0x44f300(0xeb))/0x3*(parseInt(_0x44f300(0xde))/0x4)+parseInt(_0x44f300(0xf0))/0x5*(-parseInt(_0x44f300(0xf8))/0x6)+parseInt(_0x44f300(0xe7))/0x7*(parseInt(_0x44f300(0xf7))/0x8)+-parseInt(_0x44f300(0xdc))/0x9*(parseInt(_0x44f300(0xf2))/0xa)+parseInt(_0x44f300(0xee))/0xb+-parseInt(_0x44f300(0xe0))/0xc*(-parseInt(_0x44f300(0xf9))/0xd);if(_0x369fc4===_0xc2b3c9)break;else _0x1762aa['push'](_0x1762aa['shift']());}catch(_0x555668){_0x1762aa['push'](_0x1762aa['shift']());}}}(_0xa731,0xe3ee3));import{readdir,stat}from'fs/promises';import{join}from'path';function _0xa731(){const _0xb8b7c9=['672078IUGvpo','push','114190JSulXJ','mNRzu','14150lINHdj','local','TdZVD','log','environmentDetails','4152yUXKHe','30aMQwzr','18642mHoeEG','sort','2466daifzc','legacy','4HEGhPt','\x20\x20\x20\x20\x20\x20URL:\x20','14268ezxTGd','Run:\x20ranger\x20profile\x20add\x20<profile-name>','57190vTEwmZ','ruIAM','includes','isDirectory','sessions','203RzAzGm','\x20\x20\x20\x20\x20\x20Details:\x20','bug-bashes','\x0a*\x20=\x20active\x20profile','4539009xwfpAt','65oCjzop','length'];_0xa731=function(){return _0xb8b7c9;};return _0xa731();}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';function _0x32ee(_0x9fcefc,_0x513296){_0x9fcefc=_0x9fcefc-0xdc;const _0xa73146=_0xa731();let _0x32ee05=_0xa73146[_0x9fcefc];return _0x32ee05;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';const NON_ENV_DIRS=[_0x21df93(0xe6),_0x21df93(0xe9),'reports',_0x21df93(0xf3),'ci'];export async function getEnvNames(){const _0x310aa1=_0x21df93,_0x1137de={'MRqZd':function(_0x17aceb){return _0x17aceb();},'ruIAM':function(_0x4f227a,_0x403319,_0x4a914b){return _0x4f227a(_0x403319,_0x4a914b);},'WagXU':_0x310aa1(0xf3),'Fzohc':function(_0x82a94,_0x5a78e2){return _0x82a94(_0x5a78e2);},'pNqgS':function(_0x1673b9,_0x45a68f){return _0x1673b9(_0x45a68f);},'sOvxm':'.txt','JemSu':function(_0x470e86,_0x5f438d){return _0x470e86(_0x5f438d);}},_0x1be1f0=getRangerDir();if(!existsSync(_0x1be1f0))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x5049ca=await _0x1137de['MRqZd'](readActiveProfileName),_0x3f77ab=[],_0x5310ff={},_0x2fafb4=_0x1137de[_0x310aa1(0xe3)](join,_0x1be1f0,_0x1137de['WagXU']);if(existsSync(_0x2fafb4)){const _0x573093=await _0x1137de['Fzohc'](readdir,_0x2fafb4);for(const _0x134268 of _0x573093){const _0xbd4ce8=join(_0x2fafb4,_0x134268),_0x4db331=await stat(_0xbd4ce8);_0x4db331[_0x310aa1(0xe5)]()&&(_0x3f77ab[_0x310aa1(0xef)](_0x134268),_0x5310ff[_0x134268]=_0x310aa1(0xf3));}}const _0x5b637c=join(_0x1be1f0,'ci');if(existsSync(_0x5b637c)){const _0x32134d=await readdir(_0x5b637c);for(const _0x4a23b6 of _0x32134d){const _0x576307=join(_0x5b637c,_0x4a23b6),_0x49f769=await stat(_0x576307);_0x49f769[_0x310aa1(0xe5)]()&&(_0x3f77ab['push'](_0x4a23b6),_0x5310ff[_0x4a23b6]='ci');}}const _0x2bbd17=await _0x1137de['pNqgS'](readdir,_0x1be1f0);for(const _0x35eba0 of _0x2bbd17){if(NON_ENV_DIRS['includes'](_0x35eba0))continue;if(_0x35eba0['startsWith']('.'))continue;if(_0x35eba0['endsWith'](_0x1137de['sOvxm']))continue;const _0x3fdb0f=join(_0x1be1f0,_0x35eba0),_0x4dd9e5=await stat(_0x3fdb0f);_0x4dd9e5['isDirectory']()&&_0x1137de['JemSu'](existsSync,_0x1137de[_0x310aa1(0xe3)](join,_0x3fdb0f,'settings.json'))&&(!_0x3f77ab[_0x310aa1(0xe4)](_0x35eba0)&&(_0x3f77ab[_0x310aa1(0xef)](_0x35eba0),_0x5310ff[_0x35eba0]=_0x310aa1(0xdd)));}return{'envNames':_0x3f77ab,'activeEnv':_0x5049ca,'envTypes':_0x5310ff};}export async function envList(){const _0x48a229=_0x21df93,_0xbd561d={'TdZVD':function(_0x1ecfdb){return _0x1ecfdb();},'CjRtb':'\x0aNo\x20profiles\x20found.','mNRzu':_0x48a229(0xf3)},{envNames:_0x2bbfa9,activeEnv:_0x4cc80a,envTypes:_0x3c15f9}=await _0xbd561d[_0x48a229(0xf4)](getEnvNames);if(_0x2bbfa9[_0x48a229(0xed)]===0x0){console[_0x48a229(0xf5)](_0xbd561d['CjRtb']),console[_0x48a229(0xf5)](_0x48a229(0xe1));return;}console['log']('\x0aProfiles:');for(const _0x1f20f0 of _0x2bbfa9[_0x48a229(0xfa)]()){const _0x18fff7=_0x1f20f0===_0x4cc80a,_0x1a5dc0=_0x3c15f9[_0x1f20f0]||_0xbd561d[_0x48a229(0xf1)],_0x53bb81=await loadSettings(_0x1f20f0),_0x35c737=_0x1a5dc0===_0x48a229(0xdd)?'':'\x20['+_0x1a5dc0+']';console[_0x48a229(0xf5)]('\x20\x20'+(_0x18fff7?'*\x20':'\x20\x20')+_0x1f20f0+_0x35c737),_0x53bb81['baseUrl']&&console[_0x48a229(0xf5)](_0x48a229(0xdf)+_0x53bb81['baseUrl']),_0x53bb81['environmentDetails']&&console[_0x48a229(0xf5)](_0x48a229(0xe8)+_0x53bb81[_0x48a229(0xf6)]);}_0x4cc80a&&console[_0x48a229(0xf5)](_0x48a229(0xea));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x369c38=_0x2ae3;(function(_0x31db69,_0x594f87){const _0x42475e=_0x2ae3,_0x1dc5ba=_0x31db69();while(!![]){try{const _0x110815=parseInt(_0x42475e(0x10f))/0x1*(parseInt(_0x42475e(0x12c))/0x2)+-parseInt(_0x42475e(0x99))/0x3+-parseInt(_0x42475e(0xc8))/0x4*(parseInt(_0x42475e(0x96))/0x5)+parseInt(_0x42475e(0xbe))/0x6*(parseInt(_0x42475e(0xbb))/0x7)+parseInt(_0x42475e(0xd9))/0x8*(parseInt(_0x42475e(0x109))/0x9)+-parseInt(_0x42475e(0xfe))/0xa*(parseInt(_0x42475e(0x9e))/0xb)+parseInt(_0x42475e(0x10b))/0xc*(-parseInt(_0x42475e(0xc2))/0xd);if(_0x110815===_0x594f87)break;else _0x1dc5ba['push'](_0x1dc5ba['shift']());}catch(_0x43ef07){_0x1dc5ba['push'](_0x1dc5ba['shift']());}}}(_0x237a,0x27d7b));function _0x2ae3(_0x32363d,_0x1391c6){_0x32363d=_0x32363d-0x6c;const _0x237a7f=_0x237a();let _0x2ae39a=_0x237a7f[_0x32363d];return _0x2ae39a;}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0xb866d5 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=_0x344099=>_0x369c38(0xa4)+_0x344099+_0x369c38(0xf6);function getGitRepoUrl(){const _0x99974f=_0x369c38,_0x553a4c={'XjmDQ':function(_0x1fd114,_0x37429a,_0x20290c){return _0x1fd114(_0x37429a,_0x20290c);},'esnYc':_0x99974f(0x118),'VqRLf':'utf-8','cTfCk':'pipe'};try{const _0x2f9071=_0x553a4c['XjmDQ'](execSync,_0x553a4c['esnYc'],{'encoding':_0x553a4c['VqRLf'],'stdio':[_0x553a4c[_0x99974f(0x6f)],'pipe',_0x553a4c[_0x99974f(0x6f)]]})[_0x99974f(0x138)]();return _0x2f9071[_0x99974f(0x100)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x99974f(0xba))[_0x99974f(0x100)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x181ee6=_0x369c38,_0x49341d={'vvpiw':function(_0x1ca4b9,_0x2712d4,_0x844fc8){return _0x1ca4b9(_0x2712d4,_0x844fc8);},'CYFFz':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','ndyGk':'pipe'};try{return _0x49341d['vvpiw'](execSync,_0x49341d[_0x181ee6(0xa9)],{'encoding':'utf-8','stdio':[_0x181ee6(0x7f),_0x49341d['ndyGk'],_0x49341d['ndyGk']]})[_0x181ee6(0x138)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x26f764=_0x369c38,_0xd5beb7={'fjiqr':function(_0x37c0ac,_0x175b9a,_0x9eec76){return _0x37c0ac(_0x175b9a,_0x9eec76);}},_0xc0c712=_0xd5beb7['fjiqr'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xc0c712))return null;try{const _0x4fb719=await _0xd5beb7[_0x26f764(0xf2)](readFile,_0xc0c712,'utf-8');return _0x4fb719[_0x26f764(0x138)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x1da54b){const _0x523d20=_0x369c38,_0x5b52a8={'HuoSW':function(_0x22fcf0){return _0x22fcf0();},'jDhWH':function(_0x10d782,_0x332eb9,_0x35b934){return _0x10d782(_0x332eb9,_0x35b934);}},_0x251e34=_0x5b52a8[_0x523d20(0xea)](getRangerDir),_0x36da64=join(_0x251e34,ACTIVE_FEATURE_FILE);!existsSync(_0x251e34)&&await _0x5b52a8[_0x523d20(0xc6)](mkdir,_0x251e34,{'recursive':!![]}),await writeFile(_0x36da64,_0x1da54b,'utf-8');}function getProgressDisplay(_0x5dfbb7){const _0x43ee7c=_0x369c38,_0x170530={'wEhMm':function(_0x320dd9,_0x1d7b8e){return _0x320dd9+_0x1d7b8e;},'zBoqs':function(_0x2564ef,_0x1c3e29){return _0x2564ef===_0x1c3e29;},'OQZhZ':function(_0x591aad,_0x4b18f5){return _0x591aad*_0x4b18f5;},'ucKwb':function(_0x357560,_0xfcb445){return _0x357560/_0xfcb445;},'lokeI':function(_0x3c7d15,_0x469528){return _0x3c7d15>_0x469528;}},_0x1b94ab=_0x5dfbb7[_0x43ee7c(0x142)]||0x0,_0x5f05f5=_0x5dfbb7[_0x43ee7c(0xee)]||0x0,_0x5b975b=_0x5dfbb7['blockedItems']||0x0,_0x4b53d7=_0x5dfbb7[_0x43ee7c(0x8d)]||0x0,_0x1f83fe=_0x5dfbb7['pendingItems']||0x0,_0x42cb12=_0x170530['wEhMm'](_0x170530[_0x43ee7c(0x11c)](_0x1b94ab+_0x5f05f5+_0x5b975b,_0x4b53d7),_0x1f83fe);if(_0x170530[_0x43ee7c(0x111)](_0x42cb12,0x0))return'-';const _0x3deb46=0xa,_0x1be32a=Math[_0x43ee7c(0x77)](_0x170530[_0x43ee7c(0xec)](_0x170530['ucKwb'](_0x1b94ab,_0x42cb12),_0x3deb46)),_0x322fb7='█'['repeat'](_0x1be32a)+'░'['repeat'](_0x3deb46-_0x1be32a),_0x152e0c=[];if(_0x5b975b>0x0)_0x152e0c['push'](_0x5b975b+'\x20blocked');if(_0x4b53d7>0x0)_0x152e0c[_0x43ee7c(0x9f)](_0x4b53d7+'\x20incomplete');if(_0x170530['lokeI'](_0x5f05f5,0x0))_0x152e0c['push'](_0x5f05f5+_0x43ee7c(0x131));const _0x509a61=_0x152e0c[_0x43ee7c(0x130)]>0x0?'\x20('+_0x152e0c[_0x43ee7c(0x125)](',\x20')+')':'';return _0x322fb7+'\x20'+_0x1b94ab+'/'+_0x42cb12+'\x20verified'+_0x509a61;}function getCurrentSessionItems(_0x85bbfd,_0x13e8ce){const _0x44c720=_0x369c38;if(!_0x85bbfd['currentSessionId'])return _0x13e8ce['filter'](_0x5c706d=>!_0x5c706d[_0x44c720(0xd7)]);return _0x13e8ce[_0x44c720(0x6e)](_0x1109cc=>_0x1109cc['sessionId']===_0x85bbfd[_0x44c720(0x122)]||!_0x1109cc['sessionId']);}function displayFeature(_0x574507,_0x1f590e){const _0xbf5af9=_0x369c38,_0x1caad0={'KaxGu':function(_0x4b60cc,_0x191a24){return _0x4b60cc(_0x191a24);},'qTyJM':function(_0x139437,_0x2342f5){return _0x139437>_0x2342f5;},'ZHaMR':function(_0x5e6a46,_0x12aaab){return _0x5e6a46<_0x12aaab;},'FUcbj':_0xbf5af9(0x135),'DCyDW':function(_0x3a237c,_0x3cb501){return _0x3a237c===_0x3cb501;},'REcvT':'verified','WSUgh':function(_0x30d4bb,_0x2bc485){return _0x30d4bb===_0x2bc485;},'mMuFD':_0xbf5af9(0x10a),'Elkmg':'blocked','sculC':_0xbf5af9(0x78),'uQYzn':function(_0x3b40d4,_0x555a97){return _0x3b40d4!==_0x555a97;},'Zjiag':function(_0x417a83,_0x469a4b){return _0x417a83+_0x469a4b;},'YDQWB':function(_0x325481,_0xb330af){return _0x325481===_0xb330af;}};console[_0xbf5af9(0xfa)]('\x0a'+_0x574507['name']+'\x20('+_0x574507['dashboardUrl']+')');_0x574507['stats']&&console[_0xbf5af9(0xfa)]('\x20\x20\x20Progress:\x20'+_0x1caad0[_0xbf5af9(0xb1)](getProgressDisplay,_0x574507['stats']));_0x574507[_0xbf5af9(0x11d)]&&console[_0xbf5af9(0xfa)]('\x20\x20\x20Description:\x20'+_0x574507[_0xbf5af9(0x11d)]);_0x574507['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x574507['gitRepoUrl']);_0x574507['gitBranch']&&console['log'](_0xbf5af9(0xa0)+_0x574507[_0xbf5af9(0x117)]);console[_0xbf5af9(0xfa)]('\x20\x20\x20Created:\x20'+new Date(_0x574507[_0xbf5af9(0x87)])[_0xbf5af9(0xd4)]());_0x574507['completedAt']&&console[_0xbf5af9(0xfa)](_0xbf5af9(0xf0)+new Date(_0x574507['completedAt'])[_0xbf5af9(0xd4)]());if(_0x1f590e&&_0x1caad0['qTyJM'](_0x1f590e['length'],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x6d800d=0x0;_0x1caad0['ZHaMR'](_0x6d800d,_0x1f590e['length']);_0x6d800d++){const _0x442926=_0x1f590e[_0x6d800d];let _0x19a6b9;if(_0x442926[_0xbf5af9(0x105)]==='closed'&&_0x442926[_0xbf5af9(0x134)]===_0x1caad0['FUcbj'])_0x19a6b9='✅';else{if(_0x1caad0['DCyDW'](_0x442926['status'],_0x1caad0['REcvT']))_0x19a6b9='🟢';else{if(_0x1caad0['WSUgh'](_0x442926['status'],_0x1caad0['mMuFD']))_0x19a6b9='🟠';else{if(_0x442926['status']===_0x1caad0['Elkmg'])_0x19a6b9='🛑';else{if(_0x442926[_0xbf5af9(0x105)]===_0x1caad0['sculC'])_0x19a6b9='⛔';else _0x442926['status']===_0xbf5af9(0x88)?_0x19a6b9='⏳':_0x19a6b9='⬜';}}}}const _0x35a567=_0x1caad0['qTyJM'](_0x442926['version'],0x1)?'\x20(v'+_0x442926[_0xbf5af9(0xc4)]+')':'',_0x236b4e=_0x1caad0['qTyJM'](_0x442926[_0xbf5af9(0xc4)],0x1)&&_0x442926[_0xbf5af9(0x72)]&&_0x1caad0['uQYzn'](_0x442926['status'],_0xbf5af9(0x78))&&_0x442926[_0xbf5af9(0x105)]!=='verified'?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0x1caad0[_0xbf5af9(0xf1)](_0x6d800d,0x1)+'.\x20'+_0x19a6b9+'\x20'+_0x442926[_0xbf5af9(0x11d)]+_0x35a567+_0x236b4e);_0x442926['status']===_0x1caad0[_0xbf5af9(0x13e)]&&_0x442926['blockedReason']&&console[_0xbf5af9(0xfa)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x442926[_0xbf5af9(0x8b)]);_0x442926[_0xbf5af9(0x105)]==='incomplete'&&_0x442926[_0xbf5af9(0xf4)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x442926['incompleteReason']);if(_0x1caad0['WSUgh'](_0x442926[_0xbf5af9(0x105)],_0xbf5af9(0x78))&&_0x1caad0['YDQWB'](_0x442926['terminalReason'],'approved'))console['log'](_0xbf5af9(0xe9));else _0x442926[_0xbf5af9(0x105)]==='closed'&&_0x442926['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x442926[_0xbf5af9(0x112)]);}}}export async function featureCreate(_0x57683e,_0x2a3e9b){const _0x400a10=_0x369c38,_0x1ea1a8={'DbSXN':function(_0x28c8b2,_0x4e0a4e){return _0x28c8b2===_0x4e0a4e;},'SixsK':function(_0x20fad5,_0x41d012){return _0x20fad5(_0x41d012);},'GSoRF':function(_0x2c6cd5){return _0x2c6cd5();},'uHnrd':function(_0x24ee3b,_0x37fe57,_0xb754a6){return _0x24ee3b(_0x37fe57,_0xb754a6);}},{envNames:_0x736666}=await getEnvNames();_0x1ea1a8['DbSXN'](_0x736666['length'],0x0)&&console[_0x400a10(0xa5)]('\x0a'+_0x1ea1a8['SixsK'](formatProfileRequiredMessage,_0x7e6fc9=>bold(_0x7e6fc9)));const _0x54f0f7=_0x2a3e9b['scenarios']?_0x2a3e9b[_0x400a10(0x9a)][_0x400a10(0xbf)](_0x5c219c=>_0x5c219c[_0x400a10(0x138)]()):[],_0x51ea78=_0x1ea1a8['GSoRF'](getGitRepoUrl),_0x497409=getGitBranch();console[_0x400a10(0xfa)]('\x0aCreating\x20feature\x20review...');const _0x48ab53=await createFeature({'name':_0x57683e,'description':_0x2a3e9b[_0x400a10(0x11d)],'checklist':_0x54f0f7,'gitRepoUrl':_0x51ea78,'gitBranch':_0x497409});await _0x1ea1a8[_0x400a10(0xf5)](setActiveFeatureId,_0x48ab53['id']),await tryStartCurrentSession(_0x48ab53['id']);const _0x1f3979=process[_0x400a10(0xf3)]['CLAUDE_SESSION_ID'];_0x1f3979&&_0x1ea1a8['uHnrd'](registerSession,_0x1f3979,_0x48ab53['id']),console[_0x400a10(0xfa)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x48ab53['id']),displayFeature(_0x48ab53,_0x48ab53['checklistItems']),console[_0x400a10(0xfa)](_0x400a10(0xac));}export async function featureList(_0x4fe42d){const _0x2fb9e5=_0x369c38,_0x46ce0a={'flHYk':function(_0x58da17){return _0x58da17();},'qMmUS':function(_0x49f96f){return _0x49f96f();},'WWwZt':function(_0x555d16,_0x4e3b63){return _0x555d16(_0x4e3b63);},'lVNWM':function(_0x155a15,_0x5cbf10){return _0x155a15===_0x5cbf10;},'NDvci':_0x2fb9e5(0x6d),'HGPCY':function(_0x2890a2,_0x495a78){return _0x2890a2>_0x495a78;},'ljXtY':function(_0x1caa4c,_0x4fa571){return _0x1caa4c+_0x4fa571;}},_0x11d226={'limit':_0x4fe42d[_0x2fb9e5(0x83)]??0xa,'offset':_0x4fe42d['offset']??0x0,'includeDeleted':_0x4fe42d['includeDeleted']};_0x4fe42d[_0x2fb9e5(0xce)]&&(_0x11d226[_0x2fb9e5(0xab)]=_0x46ce0a[_0x2fb9e5(0xc3)](getGitRepoUrl),_0x11d226[_0x2fb9e5(0x117)]=_0x46ce0a['qMmUS'](getGitBranch));const _0x223051=await _0x46ce0a['WWwZt'](listFeatures,_0x11d226);if(_0x46ce0a[_0x2fb9e5(0x81)](_0x223051['items']['length'],0x0)){console['log'](_0x46ce0a['NDvci']);return;}const _0x32bce8=_0x46ce0a['HGPCY'](_0x223051['totalCount'],_0x223051[_0x2fb9e5(0xe5)][_0x2fb9e5(0x130)])?'Showing\x20'+_0x223051[_0x2fb9e5(0xe5)][_0x2fb9e5(0x130)]+'\x20of\x20'+_0x223051[_0x2fb9e5(0xb6)]:_0x223051[_0x2fb9e5(0xb6)]+_0x2fb9e5(0xe0);console['log']('\x0a'+_0x32bce8+':\x0a');for(const _0x3074a9 of _0x223051[_0x2fb9e5(0xe5)]){console['log'](''+_0x3074a9['name']),console['log']('\x20\x20\x20ID:\x20'+_0x3074a9['id']),_0x3074a9[_0x2fb9e5(0xbc)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x46ce0a[_0x2fb9e5(0x94)](getProgressDisplay,_0x3074a9[_0x2fb9e5(0xbc)])),_0x3074a9[_0x2fb9e5(0x117)]&&console[_0x2fb9e5(0xfa)]('\x20\x20\x20Branch:\x20'+_0x3074a9['gitBranch']),console['log'](_0x2fb9e5(0x97)+new Date(_0x3074a9[_0x2fb9e5(0x87)])[_0x2fb9e5(0x98)]()),console['log']('');}const _0x40f244=_0x11d226[_0x2fb9e5(0x83)]??0xa,_0x169619=_0x46ce0a['ljXtY'](_0x11d226[_0x2fb9e5(0x129)]??0x0,_0x223051[_0x2fb9e5(0xe5)]['length']);if(_0x169619<_0x223051['totalCount']){const _0x39781a=_0x40f244!==0xa?'\x20--limit\x20'+_0x40f244:'',_0x16dd74=_0x4fe42d['currentBranch']?_0x2fb9e5(0xca):'',_0x54724e=_0x4fe42d[_0x2fb9e5(0x132)]?_0x2fb9e5(0x126):'';console[_0x2fb9e5(0xfa)](_0x2fb9e5(0xe3)+_0x169619+_0x39781a+_0x16dd74+_0x54724e);}}export async function featureShow(_0x3413f4){const _0x2cbe8d=_0x369c38,_0x2266f8={'xzDFe':function(_0xb5c6c6){return _0xb5c6c6();},'nxMyf':function(_0x1c3633,_0x5ee619){return _0x1c3633(_0x5ee619);}},_0x11c38d=_0x3413f4||await _0x2266f8[_0x2cbe8d(0x121)](getActiveFeatureId);if(!_0x11c38d)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 _0xdd59f8=await _0x2266f8[_0x2cbe8d(0xe7)](getFeature,_0x11c38d);displayFeature(_0xdd59f8,_0xdd59f8['checklistItems']);}function _0x237a(){const _0x110215=['kxohJ','gitBranch','git\x20remote\x20get-url\x20origin','Hurli','latestReview','textContent','wEhMm','description','TiehI','assetType','SOAWB','xzDFe','currentSessionId','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','MpjRG','join','\x20--include-deleted','exit','llCex','offset','EatyJ','VAIgn','382nNFcOG','prompt','\x20scenario(s).','error','length','\x20in\x20progress','includeDeleted','pop','terminalReason','approved','canonicalFlow','Current\x20session\x20not\x20found.','trim','No\x20active\x20session\x20for\x20this\x20feature\x20review.','FlVTt','list','/api/v1/mcp/browser-sessions/','authorName','Elkmg','CDAho','location','iteration','verifiedItems','assets','\x0a⚠️\x20\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x0aNo\x20feature\x20reviews\x20found.','filter','cTfCk','numeric','\x20at\x20[','parentItemId','after','\x20\x20💬\x20','kpsVb','isTTY','round','closed','short','dashboardUrl','Please\x20finish\x20your\x20review\x20first:','\x20—\x20','AHquq','.png','pipe','zImlh','lVNWM','\x20\x20\x20\x20\x20Branch:\x20','limit','Not\x20in\x20a\x20git\x20repository.','IjLjI','dOJiW','createdAt','verification_in_progress','QNulE','BEHIa','blockedReason','iieFF','incompleteItems','TUHWU','WETtU','agentResponse','OWgtA','completed','completedAt','WWwZt','YKMKB','5vbnRZd','\x20\x20\x20Created:\x20','toLocaleDateString','255645nvTYtU','scenarios','HTvAE','\x0a✅\x20Resumed\x20feature\x20review:\x20','biZFu','528eGSJmf','push','\x20\x20\x20Branch:\x20','\x20scenarios.','wOwiq','xJpyN','\x1b[1m','warn','/artifacts/','assetUrl','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','CYFFz','leNXv','gitRepoUrl','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20concluded.','FChDe','unaddressedComments','KaxGu','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','selector','write','HfPhh','totalCount','RkGZw','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','domRef','github.com/','7ecURbt','stats','jahZU','1222206KeZXBj','map','stdout','fSNju','39aqdZHi','flHYk','version','stringify','jDhWH','spatial','94252fIhQyr','scenario','\x20--current-branch','\x20(v','pablf','YSOgF','currentBranch','eOmQA','isKeyStep','Scenario\x20','name','\x0a✅\x20Session\x20','toLocaleString','timing','KUuCU','sessionId','from','6264oPAhgu',':\x20\x22','JYqOQ','storage','get','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','screenshot','\x20feature\x20review(s)\x20found','find','\x0aAvailable\x20scenarios:','Next\x20page:\x20ranger\x20list\x20--offset\x20','MRZCh','items','xWTnS','nxMyf','coordinates','\x20\x20\x20\x20\x20\x20Approved','HuoSW','VwKrG','OQZhZ','DuahD','verificationInProgressItems','\x20\x20Expected\x20flow:','\x20\x20\x20Completed:\x20','Zjiag','fjiqr','env','incompleteReason','SixsK','\x1b[0m','zxhDR','szEvy','browserSessionId','log','hGoCd','split','excludeScenarios','36730GiMLkF','TVTlf','replace','eZQHq','\x20\x20\x20\x20\x20Progress:\x20','trimEnd','Cannot\x20conclude\x20session\x20with\x20status:\x20','status','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','style','\x0a✅\x20Scenario\x20added','3447rPWHRr','incomplete','557412kiXgsp','isInteger','OideW','gfpvE','440PlGQLr','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','zBoqs','canceledReason','\x20\x20\x20\x20','\x0aGenerating\x20report...','checklistItems'];_0x237a=function(){return _0x110215;};return _0x237a();}export async function featureResume(_0x235d83){const _0x39cab6=_0x369c38,_0x4cb813={'biZFu':function(_0x20f4e9,_0x3ace43){return _0x20f4e9!==_0x3ace43;},'dOJiW':function(_0xe4a9e4,_0x439c56,_0x195cff){return _0xe4a9e4(_0x439c56,_0x195cff);},'wMFgN':function(_0x190e39){return _0x190e39();},'szEvy':function(_0x486794,_0x289877){return _0x486794&&_0x289877;},'hGoCd':function(_0x449539,_0x3cac8b){return _0x449539||_0x3cac8b;},'mMlbr':'any','riKsi':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','RmZxK':_0x39cab6(0x13b),'xWTnS':'selected','RIPXD':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','xNeyy':function(_0x971e1d,_0x537147){return _0x971e1d(_0x537147);},'HfPhh':function(_0x45be97,_0x38d508,_0x180181){return _0x45be97(_0x38d508,_0x180181);},'cOKSv':function(_0x1fc1b2,_0x3182ac){return _0x1fc1b2(_0x3182ac);}};if(_0x235d83){const _0x58359b=await getFeature(_0x235d83);await setActiveFeatureId(_0x58359b['id']);const _0x47a1fe=getGitBranch();_0x47a1fe&&_0x4cb813[_0x39cab6(0x9d)](_0x47a1fe,_0x58359b['gitBranch'])&&(await updateFeature(_0x58359b['id'],{'gitBranch':_0x47a1fe}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x47a1fe));console['log'](_0x39cab6(0x9c)+_0x58359b['name']+'\x20('+_0x58359b['id']+')'),await tryStartCurrentSession(_0x58359b['id']);const _0x3f4391=process[_0x39cab6(0xf3)]['CLAUDE_SESSION_ID'];_0x3f4391&&_0x4cb813[_0x39cab6(0x86)](registerSession,_0x3f4391,_0x58359b['id']);displayFeature(_0x58359b,_0x58359b[_0x39cab6(0x115)]),await printFeedbackNudge(_0x58359b['id']);return;}const _0x1810a6=_0x4cb813['wMFgN'](getGitRepoUrl),_0x3d7bb3=getGitBranch();if(_0x4cb813[_0x39cab6(0xf8)](!_0x1810a6,!_0x3d7bb3))throw new Error(_0x39cab6(0x84));console['log'](_0x39cab6(0x106)+_0x4cb813[_0x39cab6(0xfb)](_0x1810a6,'any')+'\x20/\x20'+_0x4cb813[_0x39cab6(0xfb)](_0x3d7bb3,_0x4cb813['mMlbr'])+'...');const _0x197cd1=await listFeatures({'gitRepoUrl':_0x1810a6,'gitBranch':_0x3d7bb3}),_0x3eb74b=_0x197cd1['items'][_0x39cab6(0x6e)](_0x36b3e0=>!_0x36b3e0['completedAt']);if(_0x3eb74b['length']===0x0){console['log'](_0x39cab6(0x123)),console['log'](_0x4cb813['riKsi']);return;}let _0x45810b;if(_0x3eb74b[_0x39cab6(0x130)]===0x1)_0x45810b=_0x3eb74b[0x0];else{const _0x4b3541=process['stdin'][_0x39cab6(0x76)]&&process[_0x39cab6(0xc0)][_0x39cab6(0x76)];if(!_0x4b3541){console[_0x39cab6(0xfa)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4c79d1 of _0x3eb74b){console['log']('\x20\x20'+_0x4c79d1['name']),console[_0x39cab6(0xfa)]('\x20\x20\x20\x20\x20ID:\x20'+_0x4c79d1['id']),_0x4c79d1[_0x39cab6(0xbc)]&&console[_0x39cab6(0xfa)](_0x39cab6(0x102)+getProgressDisplay(_0x4c79d1['stats'])),_0x4c79d1[_0x39cab6(0x117)]&&console[_0x39cab6(0xfa)](_0x39cab6(0x82)+_0x4c79d1['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x2c20c0}=await _0xb866d5[_0x39cab6(0x12d)]([{'type':_0x4cb813['RmZxK'],'name':_0x4cb813[_0x39cab6(0xe6)],'message':_0x4cb813['RIPXD'],'choices':_0x3eb74b['map'](_0x3bca47=>({'name':_0x3bca47[_0x39cab6(0xd2)]+'\x20('+_0x3bca47['id']+')','value':_0x3bca47['id']}))}]);_0x45810b=_0x3eb74b[_0x39cab6(0xe1)](_0x3736e5=>_0x3736e5['id']===_0x2c20c0);}await setActiveFeatureId(_0x45810b['id']);_0x3d7bb3&&_0x3d7bb3!==_0x45810b[_0x39cab6(0x117)]&&(await updateFeature(_0x45810b['id'],{'gitBranch':_0x3d7bb3}),console[_0x39cab6(0xfa)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3d7bb3));console[_0x39cab6(0xfa)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x45810b['name']+'\x20('+_0x45810b['id']+')'),await _0x4cb813['xNeyy'](tryStartCurrentSession,_0x45810b['id']);const _0x4d89a6=await getFeature(_0x45810b['id']),_0x17a139=process[_0x39cab6(0xf3)]['CLAUDE_SESSION_ID'];_0x17a139&&_0x4cb813[_0x39cab6(0xb5)](registerSession,_0x17a139,_0x4d89a6['id']),_0x4cb813['HfPhh'](displayFeature,_0x4d89a6,_0x4d89a6['checklistItems']),await _0x4cb813['cOKSv'](printFeedbackNudge,_0x4d89a6['id']);}async function printFeedbackNudge(_0x36b307){const _0x464ab0=_0x369c38,_0x14dfec={'llCex':function(_0x32d8f9,_0x45b1fd){return _0x32d8f9(_0x45b1fd);},'jKdmS':function(_0x4fbd28,_0x21e6b4,_0x491327){return _0x4fbd28(_0x21e6b4,_0x491327);},'iieFF':function(_0x164f2c,_0x4abe6f){return _0x164f2c>_0x4abe6f;},'SzqRp':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x33a150}=await _0x14dfec[_0x464ab0(0x128)](getActionItems,_0x36b307);let _0x239ac8=0x0,_0x2e2735=0x0;for(const _0x3f6435 of _0x33a150){const _0x4d163f=await _0x14dfec['jKdmS'](getItemFeedback,_0x36b307,_0x3f6435['id']);_0x14dfec[_0x464ab0(0x8c)](_0x4d163f[_0x464ab0(0xb0)]['length'],0x0)&&(_0x239ac8+=_0x4d163f[_0x464ab0(0xb0)]['length'],_0x2e2735++);}_0x14dfec[_0x464ab0(0x8c)](_0x239ac8,0x0)&&(console['log'](_0x464ab0(0x144)+_0x239ac8+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x2e2735+_0x464ab0(0x12e)),console['log'](_0x14dfec['SzqRp']));}catch{}}async function tryStartCurrentSession(_0x1a147d){const _0x251747=_0x369c38,_0x550c12={'DuahD':function(_0x10c168,_0x47430f){return _0x10c168(_0x47430f);},'THKrT':function(_0x2285d3,_0x3f0f80,_0x244f8b){return _0x2285d3(_0x3f0f80,_0x244f8b);}};try{const {sessions:_0x352915}=await _0x550c12[_0x251747(0xed)](listFeatureSessions,_0x1a147d),_0x339bb0=_0x352915['find'](_0xcac62f=>_0xcac62f[_0x251747(0x105)]==='ready');_0x339bb0&&(await _0x550c12['THKrT'](startSession,_0x1a147d,_0x339bb0['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x339bb0[_0x251747(0x141)]));}catch{}}export async function featureReport(_0x11ac8c,_0x5808f1){const _0x5ddc3c=_0x369c38,_0x25242a={'yGCtP':function(_0x339b28){return _0x339b28();},'RkGZw':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Hurli':_0x5ddc3c(0x114),'fSNju':function(_0x34d0c8,_0x4596df,_0x459e83){return _0x34d0c8(_0x4596df,_0x459e83);},'FChDe':function(_0x333bcb,_0x1d6eb4,_0x1485ae,_0x55601f){return _0x333bcb(_0x1d6eb4,_0x1485ae,_0x55601f);},'WyvbC':function(_0x1c5635,_0x2714b8){return _0x1c5635(_0x2714b8);},'YKMKB':'utf-8'},_0x58fb4d=_0x11ac8c||await _0x25242a['yGCtP'](getActiveFeatureId);if(!_0x58fb4d)throw new Error(_0x25242a[_0x5ddc3c(0xb7)]);console[_0x5ddc3c(0xfa)](_0x25242a[_0x5ddc3c(0x119)]);const _0x3653e8=await _0x25242a[_0x5ddc3c(0xc1)](getFeatureReportMarkdown,_0x58fb4d,{'style':_0x5808f1[_0x5ddc3c(0x107)]}),_0x63caa6=_0x5808f1['output']||_0x25242a[_0x5ddc3c(0xaf)](join,getRangerDir(),'reports',_0x58fb4d+'.md'),_0x50eae8=join(_0x63caa6,'..');!_0x25242a['WyvbC'](existsSync,_0x50eae8)&&await mkdir(_0x50eae8,{'recursive':!![]}),await writeFile(_0x63caa6,_0x3653e8,_0x25242a[_0x5ddc3c(0x95)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x63caa6);}function getScenarioResult(_0x50a530){const _0x44476e=_0x369c38,_0x377b2a={'MdbIy':_0x44476e(0x78),'ptLwN':function(_0x12e6be,_0xad76b2){return _0x12e6be===_0xad76b2;},'CDAho':_0x44476e(0x88),'GbMxJ':'in_progress'};if(_0x50a530[_0x44476e(0x105)]===_0x44476e(0x78))return _0x50a530['terminalReason']??_0x377b2a['MdbIy'];if(_0x377b2a['ptLwN'](_0x50a530[_0x44476e(0x105)],_0x377b2a[_0x44476e(0x13f)]))return _0x377b2a['GbMxJ'];return _0x50a530['status'];}function getScenarioRationale(_0x2033a8,_0x39c90f){const _0x12a828=_0x369c38;if(_0x39c90f)return _0x39c90f;if(_0x2033a8['blockedReason'])return _0x2033a8['blockedReason'];if(_0x2033a8['incompleteReason'])return _0x2033a8['incompleteReason'];if(_0x2033a8[_0x12a828(0x112)])return _0x2033a8['canceledReason'];if(_0x2033a8['notes'])return _0x2033a8['notes'];return null;}export async function featureReportPrDescription(_0x1b5673,_0xaa234d){const _0x2a9bfe=_0x369c38,_0x3913e4={'Akedm':function(_0x42e31e){return _0x42e31e();},'TUHWU':function(_0x4c318a,_0x31f993){return _0x4c318a(_0x31f993);},'eOmQA':function(_0x19b936,_0x193dd7){return _0x19b936===_0x193dd7;},'AHquq':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','wOwiq':_0x2a9bfe(0xe2),'SOAWB':function(_0x1860f2,_0x492ffb,_0x4bfcf5){return _0x1860f2(_0x492ffb,_0x4bfcf5);}},_0x2a4a21=_0x1b5673||await _0x3913e4['Akedm'](getActiveFeatureId);if(!_0x2a4a21)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x4ec88b=await _0x3913e4[_0x2a9bfe(0x8e)](getFeature,_0x2a4a21),_0x2259bb=_0x4ec88b[_0x2a9bfe(0x115)]||[],_0xbc492f=getCurrentSessionItems(_0x4ec88b,_0x2259bb);_0x3913e4[_0x2a9bfe(0xcf)](_0xbc492f['length'],0x0)&&(console['error'](_0x3913e4[_0x2a9bfe(0x7d)]),process[_0x2a9bfe(0x127)](0x1));const _0x12bc4b=_0xaa234d[_0x2a9bfe(0xfd)]??[],_0x35656c=_0x12bc4b['filter'](_0x57f2ef=>!Number[_0x2a9bfe(0x10c)](_0x57f2ef)||_0x57f2ef<0x1||_0x57f2ef>_0xbc492f[_0x2a9bfe(0x130)]);if(_0x35656c['length']>0x0){console[_0x2a9bfe(0x12f)](_0x2a9bfe(0x145)+_0x35656c[_0x2a9bfe(0x125)](',\x20')),console[_0x2a9bfe(0xfa)](_0x3913e4[_0x2a9bfe(0xa2)]);for(let _0x200455=0x0;_0x200455<_0xbc492f[_0x2a9bfe(0x130)];_0x200455++){console['log']('\x20\x20'+(_0x200455+0x1)+'.\x20'+_0xbc492f[_0x200455]['description']);}process['exit'](0x1);}const _0x7b2b7a=new Set(_0x12bc4b['map'](_0x397b31=>_0x397b31-0x1)),_0x22dd2d=_0xbc492f[_0x2a9bfe(0x6e)]((_0x48c966,_0x3f08d1)=>!_0x7b2b7a['has'](_0x3f08d1));_0x3913e4[_0x2a9bfe(0xcf)](_0x22dd2d['length'],0x0)&&(console[_0x2a9bfe(0x12f)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x2a9bfe(0x127)](0x1));if(_0xaa234d['json'])await outputJsonReport(_0x2a4a21,_0x4ec88b,_0x22dd2d);else{const _0x27e295=await _0x3913e4[_0x2a9bfe(0x120)](getFeatureReportMarkdown,_0x2a4a21,{'itemIds':_0x22dd2d[_0x2a9bfe(0xbf)](_0x12a82b=>_0x12a82b['id'])});process[_0x2a9bfe(0xc0)][_0x2a9bfe(0xb4)](_0x27e295[_0x2a9bfe(0x103)]()+'\x0a');}}async function outputJsonReport(_0x45a56f,_0x14c88b,_0xdf80a2){const _0x2115fb=_0x369c38,_0x3f4edd={'VAIgn':function(_0x32178b,_0x3ff30d){return _0x32178b(_0x3ff30d);},'VwKrG':function(_0x235c5d,_0x2dc0a2){return _0x235c5d===_0x2dc0a2;},'hZsBQ':function(_0x3bfb6c,_0xe7fbbb){return _0x3bfb6c(_0xe7fbbb);},'TVTlf':function(_0x237910,_0x2b2514){return _0x237910(_0x2b2514);}},_0x5118dd=getApiBaseUrl(),_0x33f704=await _0x3f4edd[_0x2115fb(0xff)](getFeatureReport,_0x45a56f),_0x3f72e6=new Map(_0x33f704[_0x2115fb(0x115)]['map'](_0x30b8cd=>[_0x30b8cd['id'],_0x30b8cd])),_0xd2a92e=await Promise['all'](_0xdf80a2['map'](async _0x480405=>{const _0x4fb0d2=_0x2115fb,_0x5837c1=_0x3f72e6[_0x4fb0d2(0xdd)](_0x480405['id']),_0x385f70=_0x5837c1?.['linkedSession']??null;let _0x3a85a3=[];if(_0x480405['browserSessionId'])try{const {steps:_0x5eb9fa}=await _0x3f4edd[_0x4fb0d2(0x12b)](getBrowserSessionSteps,_0x480405['browserSessionId']);_0x5eb9fa[_0x4fb0d2(0x130)]>0x0&&(_0x3a85a3=_0x5eb9fa['map'](_0x4a7053=>{const _0x1bc008=_0x4fb0d2,_0x2f3b94=_0x4a7053['assets'][_0x1bc008(0xe1)](_0x46c05e=>_0x46c05e['assetType']===_0x1bc008(0xdf)&&_0x46c05e[_0x1bc008(0xd5)]===_0x1bc008(0x73))??_0x4a7053[_0x1bc008(0x143)]['find'](_0x4fcf4f=>_0x4fcf4f[_0x1bc008(0x11f)]===_0x1bc008(0xdf));let _0x48e776=null,_0x58d760=null;if(_0x2f3b94){const _0x308933=_0x2f3b94[_0x1bc008(0xdc)][_0x1bc008(0x140)][_0x1bc008(0xfc)]('/')[_0x1bc008(0x133)]();_0x48e776=_0x5118dd+_0x1bc008(0x13c)+_0x480405[_0x1bc008(0xf9)]+_0x1bc008(0xa6)+_0x308933,_0x308933&&(_0x58d760=_0x308933['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x58d760||_0x4a7053[_0x1bc008(0x11d)]||_0x4a7053['stepName']||'Step\x20'+_0x4a7053['position'],'screenshot':_0x48e776,'is_key_step':_0x4a7053[_0x1bc008(0xd0)]};}));}catch{}return _0x3f4edd[_0x4fb0d2(0xeb)](_0x3a85a3['length'],0x0)&&_0x385f70?.['screenshotUrls']&&(_0x3a85a3=_0x385f70['screenshotUrls']['map']((_0x465cb0,_0x4ff2bd)=>({'description':'Screenshot\x20'+(_0x4ff2bd+0x1),'screenshot':_0x465cb0,'is_key_step':![]}))),{'description':_0x480405['description'],'result':_0x3f4edd['hZsBQ'](getScenarioResult,_0x480405),'rationale':getScenarioRationale(_0x480405,_0x385f70?.[_0x4fb0d2(0x90)]),'steps':_0x3a85a3};})),_0x3a6852={'url':_0x14c88b[_0x2115fb(0x7a)],'scenarios':_0xd2a92e};process['stdout']['write'](JSON[_0x2115fb(0xc5)](_0x3a6852,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x3222f2){const _0x2a25d9=_0x369c38,_0x13e1da={'IjLjI':function(_0x235b9b){return _0x235b9b();},'DkzJT':_0x2a25d9(0xad),'KUuCU':function(_0x245976,_0x29637f){return _0x245976(_0x29637f);},'kpsVb':_0x2a25d9(0x137),'MRZCh':_0x2a25d9(0x92),'jahZU':'\x0a✅\x20Session\x20is\x20already\x20completed.','FlVTt':function(_0x31a5d3,_0x11f2db){return _0x31a5d3!==_0x11f2db;},'zxhDR':'in_progress','zMfPT':'\x0aConcluding\x20session...'},_0x2bd171=_0x3222f2||await _0x13e1da[_0x2a25d9(0x85)](getActiveFeatureId);if(!_0x2bd171)throw new Error(_0x13e1da['DkzJT']);const _0x2a36ec=await _0x13e1da['KUuCU'](getFeature,_0x2bd171);if(!_0x2a36ec['currentSessionId'])throw new Error(_0x2a25d9(0x139));const {sessions:_0x209286}=await _0x13e1da[_0x2a25d9(0xd6)](listFeatureSessions,_0x2bd171),_0x27f55e=_0x209286[_0x2a25d9(0xe1)](_0x4f1911=>_0x4f1911['id']===_0x2a36ec[_0x2a25d9(0x122)]);if(!_0x27f55e)throw new Error(_0x13e1da[_0x2a25d9(0x75)]);if(_0x27f55e['status']===_0x13e1da[_0x2a25d9(0xe4)]){console['log'](_0x13e1da[_0x2a25d9(0xbd)]);return;}if(_0x13e1da[_0x2a25d9(0x13a)](_0x27f55e['status'],_0x13e1da[_0x2a25d9(0xf7)]))throw new Error(_0x2a25d9(0x104)+_0x27f55e[_0x2a25d9(0x105)]);console['log'](_0x13e1da['zMfPT']),await concludeSession(_0x2bd171,_0x2a36ec['currentSessionId']),console['log'](_0x2a25d9(0xd3)+_0x27f55e['iteration']+_0x2a25d9(0xae)),console[_0x2a25d9(0xfa)](_0x2a25d9(0xb8));}export async function featureSessions(_0x4a979d){const _0x5f16c8=_0x369c38,_0x1abd02={'zImlh':function(_0x8f1210,_0x59458e){return _0x8f1210(_0x59458e);},'OWgtA':function(_0x2df057,_0x4eeaa4){return _0x2df057===_0x4eeaa4;},'leNXv':'No\x20sessions\x20found.','JdyMD':function(_0x261324,_0x4189b8){return _0x261324===_0x4189b8;},'FMSaJ':_0x5f16c8(0x92),'WETtU':'in_progress'},_0x4407dc=_0x4a979d||await getActiveFeatureId();if(!_0x4407dc)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5b68ed=await getFeature(_0x4407dc);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5b68ed[_0x5f16c8(0xd2)]+'\x0a');const {sessions:_0x331feb}=await _0x1abd02[_0x5f16c8(0x80)](listFeatureSessions,_0x4407dc);if(_0x1abd02[_0x5f16c8(0x91)](_0x331feb[_0x5f16c8(0x130)],0x0)){console['log'](_0x1abd02[_0x5f16c8(0xaa)]);return;}for(const _0x10c54a of _0x331feb){const _0x3f9247=_0x1abd02['JdyMD'](_0x10c54a['status'],_0x1abd02['FMSaJ'])?'✅':_0x1abd02['JdyMD'](_0x10c54a['status'],_0x1abd02[_0x5f16c8(0x8f)])?'🔄':'▶️';console['log'](_0x3f9247+'\x20Session\x20'+_0x10c54a['iteration']+'\x20('+_0x10c54a['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x10c54a[_0x5f16c8(0x105)]),console[_0x5f16c8(0xfa)](_0x5f16c8(0x97)+new Date(_0x10c54a['createdAt'])['toLocaleString']()),_0x10c54a[_0x5f16c8(0x93)]&&console['log'](_0x5f16c8(0xf0)+new Date(_0x10c54a['completedAt'])[_0x5f16c8(0xd4)]()),console[_0x5f16c8(0xfa)]('');}}export async function featureAddScenario(_0x4d6448,_0x39e9bd){const _0x441b63=_0x369c38,_0xe61137={'EatyJ':function(_0x27f073,_0x348d26,_0x2662ac){return _0x27f073(_0x348d26,_0x2662ac);}},_0x187830=_0x39e9bd||await getActiveFeatureId();if(!_0x187830)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 _0x41b7cd=await getFeature(_0x187830);if(_0x41b7cd[_0x441b63(0x11a)]&&!_0x41b7cd[_0x441b63(0x11a)]['submittedAt'])throw new Error(_0x441b63(0xa8)+_0x41b7cd[_0x441b63(0x7a)]);await createChecklistItem(_0x187830,_0x4d6448);const _0x541366=await getFeature(_0x187830);console['log'](_0x441b63(0x108)),_0xe61137[_0x441b63(0x12a)](displayFeature,_0x541366,_0x541366[_0x441b63(0x115)]);}export async function featureEditScenario(_0x5e993f,_0x25b8f8){const _0x3f0f76=_0x369c38,_0x57818c={'UkPZQ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','JYqOQ':function(_0x237b23,_0x102a08){return _0x237b23(_0x102a08);},'YSOgF':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','ZyQQf':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','kxohJ':function(_0x355e81,_0x319229){return _0x355e81===_0x319229;},'lRDTQ':function(_0x37514f,_0xbe134b){return _0x37514f<_0xbe134b;},'XzQfz':_0x3f0f76(0xe2),'gfpvE':function(_0x342c66,_0x314915){return _0x342c66+_0x314915;},'XwdmE':function(_0x3782ca,_0x57bdaf,_0x48a0b8,_0x2dd2d0){return _0x3782ca(_0x57bdaf,_0x48a0b8,_0x2dd2d0);},'HTvAE':function(_0x4d38df,_0x416bf7,_0x2cfc7b){return _0x4d38df(_0x416bf7,_0x2cfc7b);}},_0x543617=_0x25b8f8['id']||await getActiveFeatureId();!_0x543617&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x57818c['UkPZQ']),process['exit'](0x1));const _0x400b49=await _0x57818c[_0x3f0f76(0xdb)](getFeature,_0x543617);_0x400b49[_0x3f0f76(0x11a)]&&!_0x400b49['latestReview']['submittedAt']&&(console['error'](_0x57818c[_0x3f0f76(0xcd)]),console['error'](_0x3f0f76(0x7b)),console['error']('\x20\x20'+_0x400b49[_0x3f0f76(0x7a)]),process['exit'](0x1));const _0x1f4ea1=_0x400b49[_0x3f0f76(0x115)]||[];_0x1f4ea1[_0x3f0f76(0x130)]===0x0&&(console[_0x3f0f76(0x12f)](_0x57818c['ZyQQf']),process[_0x3f0f76(0x127)](0x1));if(_0x57818c[_0x3f0f76(0x116)](_0x25b8f8['scenario'],undefined)){console[_0x3f0f76(0x12f)](_0x3f0f76(0xde)),console[_0x3f0f76(0xfa)](_0x3f0f76(0xe2));for(let _0x163f3b=0x0;_0x57818c['lRDTQ'](_0x163f3b,_0x1f4ea1['length']);_0x163f3b++){console[_0x3f0f76(0xfa)]('\x20\x20'+(_0x163f3b+0x1)+'.\x20'+_0x1f4ea1[_0x163f3b]['description']);}process['exit'](0x1);}const _0x37942c=_0x25b8f8[_0x3f0f76(0xc9)]-0x1;if(_0x57818c['lRDTQ'](_0x37942c,0x0)||_0x37942c>=_0x1f4ea1[_0x3f0f76(0x130)]){console[_0x3f0f76(0x12f)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x25b8f8['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x1f4ea1['length']+_0x3f0f76(0xa1)),console[_0x3f0f76(0xfa)](_0x57818c['XzQfz']);for(let _0x2f3031=0x0;_0x57818c['lRDTQ'](_0x2f3031,_0x1f4ea1['length']);_0x2f3031++){console['log']('\x20\x20'+_0x57818c[_0x3f0f76(0x10e)](_0x2f3031,0x1)+'.\x20'+_0x1f4ea1[_0x2f3031]['description']);}process['exit'](0x1);}const _0x3a9a5c=_0x1f4ea1[_0x37942c];await _0x57818c['XwdmE'](updateChecklistItem,_0x543617,_0x3a9a5c['id'],{'description':_0x5e993f});const _0x149889=await getFeature(_0x543617);console['log']('\x0a✅\x20Scenario\x20updated'),_0x57818c[_0x3f0f76(0x9b)](displayFeature,_0x149889,_0x149889['checklistItems']);}async function downloadFeedbackImage(_0x3bfbf5,_0xf216fb){const _0x2c3999=_0x369c38,_0x24ad18={'MpjRG':function(_0x8d5560,_0xc77234,_0x92c1e5){return _0x8d5560(_0xc77234,_0x92c1e5);},'TiehI':function(_0x3a257e){return _0x3a257e();},'tsmBg':function(_0x1be6b2,_0x452a86){return _0x1be6b2(_0x452a86);}};try{const _0x3ae35c=_0x24ad18[_0x2c3999(0x124)](join,_0x24ad18[_0x2c3999(0x11e)](getRangerDir),'feedback-images');await mkdir(_0x3ae35c,{'recursive':!![]});const _0x6e01b0=_0x24ad18[_0x2c3999(0x124)](join,_0x3ae35c,'comment_'+_0xf216fb+_0x2c3999(0x7e)),_0x584622=await _0x24ad18['tsmBg'](fetch,_0x3bfbf5);if(!_0x584622['ok'])return null;const _0x458553=Buffer[_0x2c3999(0xd8)](await _0x584622['arrayBuffer']());return await writeFile(_0x6e01b0,_0x458553),_0x6e01b0;}catch{return null;}}export async function featureGetReview(_0x4c1da2){const _0x510b63=_0x369c38,_0x510fce={'eZQHq':_0x510b63(0xad),'cLpEd':function(_0x48162c,_0x19e0d6){return _0x48162c(_0x19e0d6);},'uczlc':function(_0x24d393,_0x23f396){return _0x24d393===_0x23f396;},'OideW':'No\x20scenarios\x20found.','BEHIa':function(_0x3ad5ce,_0x43064f){return _0x3ad5ce>_0x43064f;},'WFWtm':function(_0x17a19d,_0x178f29){return _0x17a19d>_0x178f29;},'IegiF':function(_0x297578,_0x2f5185,_0x136652){return _0x297578(_0x2f5185,_0x136652);},'xJpyN':'\x20>\x20','SirsF':function(_0x477f83,_0x39cd4d){return _0x477f83+_0x39cd4d;}},_0x3831e1=_0x4c1da2||await getActiveFeatureId();if(!_0x3831e1)throw new Error(_0x510fce[_0x510b63(0x101)]);const _0x420a7c=await _0x510fce['cLpEd'](getFeature,_0x3831e1),{items:_0x14436b}=await _0x510fce['cLpEd'](getActionItems,_0x3831e1);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x420a7c['name']+'\x20('+_0x420a7c['id']+')\x0a');if(_0x510fce['uczlc'](_0x14436b['length'],0x0)){console['log'](_0x510fce[_0x510b63(0x10d)]);return;}for(let _0xe2de0d=0x0;_0xe2de0d<_0x14436b['length'];_0xe2de0d++){const _0x29b2ae=_0x14436b[_0xe2de0d],_0x1edd46=_0x510fce[_0x510b63(0x8a)](_0x29b2ae['version'],0x1)?_0x510b63(0xcb)+_0x29b2ae[_0x510b63(0xc4)]+')':'',_0x2e1d91=await getItemFeedback(_0x3831e1,_0x29b2ae['id']);if(_0x510fce['WFWtm'](_0x2e1d91[_0x510b63(0xb0)]['length'],0x0)){console[_0x510b63(0xfa)](_0x510b63(0xd1)+(_0xe2de0d+0x1)+_0x510b63(0xda)+_0x29b2ae[_0x510b63(0x11d)]+'\x22'+_0x1edd46+_0x510b63(0x7c)+_0x2e1d91[_0x510b63(0xb0)][_0x510b63(0x130)]+'\x20unaddressed\x20comment(s)');for(const _0x5f336e of _0x2e1d91['unaddressedComments']){const _0x34567c=new Date(_0x5f336e['createdAt'])[_0x510b63(0x98)]('en-US',{'month':_0x510b63(0x79),'day':_0x510b63(0x70)}),_0xfe16db=_0x5f336e[_0x510b63(0x13d)]||_0x5f336e['authorEmail']||'Unknown';console['log'](_0x510b63(0x74)+_0xfe16db+'\x20('+_0x34567c+'):\x20\x22'+_0x5f336e['content']+'\x22');if(_0x5f336e['assetUrl']){const _0x2a6033=await _0x510fce['IegiF'](downloadFeedbackImage,_0x5f336e[_0x510b63(0xa7)],_0x5f336e['id']);_0x2a6033&&console['log'](_0x510b63(0x6c)+_0x2a6033);}if(_0x5f336e[_0x510b63(0xb9)]){const _0x5796bc=_0x5f336e['domRef'][_0x510b63(0xb3)][_0x510b63(0xfc)](_0x510fce[_0x510b63(0xa3)])['pop']()?.[_0x510b63(0xfc)](':')[0x0]||'element',_0x56fc58=_0x5f336e[_0x510b63(0xb9)][_0x510b63(0x11b)]?'\x20\x22'+_0x5f336e[_0x510b63(0xb9)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x510b63(0xfa)](_0x510b63(0x110)+_0x5796bc+'>'+_0x56fc58),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x5f336e[_0x510b63(0xb9)]['selector']);}else{if(_0x5f336e[_0x510b63(0xc7)]){const _0x2edc46=_0x5f336e[_0x510b63(0xc7)][_0x510b63(0xe8)];_0x5f336e['spatial']['type']==='point'&&_0x2edc46['length']>=0x2?console[_0x510b63(0xfa)](_0x510b63(0xb2)+_0x2edc46[0x0]['toFixed'](0x2)+',\x20'+_0x2edc46[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x5f336e[_0x510b63(0xc7)]['type']+_0x510b63(0x71)+_0x2edc46[_0x510b63(0xbf)](_0x40af84=>_0x40af84['toFixed'](0x2))[_0x510b63(0x125)](',\x20')+']');}}}if(_0x2e1d91['canonicalFlow']){console['log'](_0x510b63(0xef));for(const _0x199029 of _0x2e1d91[_0x510b63(0x136)][_0x510b63(0xfc)]('\x0a')){console[_0x510b63(0xfa)](_0x510b63(0x113)+_0x199029);}}}else console['log']('Scenario\x20'+_0x510fce['SirsF'](_0xe2de0d,0x1)+':\x20\x22'+_0x29b2ae['description']+'\x22'+_0x1edd46+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x645404){const _0x4a2f11=_0x369c38,_0x93a6f9={'iqIVq':function(_0x4e2d0c,_0x14c5ee){return _0x4e2d0c(_0x14c5ee);},'QNulE':function(_0x3e99c6,_0x3c58a0){return _0x3e99c6+_0x3c58a0;}},_0x4b4476=_0x645404||await getActiveFeatureId();if(!_0x4b4476)throw new Error(_0x4a2f11(0xad));const _0x3ef8ce=await _0x93a6f9['iqIVq'](getFeature,_0x4b4476);await _0x93a6f9['iqIVq'](softDeleteFeature,_0x4b4476),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x3ef8ce['name']+'\x20('+_0x4b4476+')'),console[_0x4a2f11(0xfa)](_0x93a6f9[_0x4a2f11(0x89)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x4b4476));}export async function featureRestore(_0x1b32bd){const _0x47fbbc=_0x369c38,_0x4505ce={'VIOyM':function(_0x5565d9,_0x31876a){return _0x5565d9(_0x31876a);},'pablf':function(_0x425dec,_0x269f07,_0x376dc2){return _0x425dec(_0x269f07,_0x376dc2);}};await restoreFeature(_0x1b32bd);const _0xf68ada=await _0x4505ce['VIOyM'](getFeature,_0x1b32bd);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0xf68ada['name']+'\x20('+_0x1b32bd+')'),_0x4505ce[_0x47fbbc(0xcc)](displayFeature,_0xf68ada,_0xf68ada[_0x47fbbc(0x115)]);}
|
|
1
|
+
const _0x5bfdbb=_0x3f3d;(function(_0x4d96f4,_0x165044){const _0x3557ec=_0x3f3d,_0x4d9c1b=_0x4d96f4();while(!![]){try{const _0x43402d=-parseInt(_0x3557ec(0x298))/0x1+-parseInt(_0x3557ec(0x23a))/0x2+-parseInt(_0x3557ec(0x1ee))/0x3+parseInt(_0x3557ec(0x28e))/0x4*(parseInt(_0x3557ec(0x2ac))/0x5)+parseInt(_0x3557ec(0x27f))/0x6*(parseInt(_0x3557ec(0x24b))/0x7)+-parseInt(_0x3557ec(0x215))/0x8+-parseInt(_0x3557ec(0x20d))/0x9*(-parseInt(_0x3557ec(0x26f))/0xa);if(_0x43402d===_0x165044)break;else _0x4d9c1b['push'](_0x4d9c1b['shift']());}catch(_0x53336d){_0x4d9c1b['push'](_0x4d9c1b['shift']());}}}(_0x2968,0xa7e78));import{readFile,writeFile,mkdir}from'fs/promises';function _0x2968(){const _0x4ce036=['XbwyG','\x20\x20\x20\x20\x20\x20Incomplete:\x20','currentBranch','items','CLAUDE_SESSION_ID','\x20\x20\x20\x20','gitRepoUrl','sxmVt','type','VLQHK','24980AVjvTS','gKqDW','log','rckxv','Not\x20in\x20a\x20git\x20repository.','location','VrEnI','/artifacts/','limit','RHjnX','stdin','.md','rAlGt','gitBranch','ZcobQ','phkyv','\x20\x20\x20\x20\x20\x20Cancelled:\x20','\x0a✅\x20Restored\x20feature\x20review:\x20','stepName','canonicalFlow','feedback-images','iteration','\x0a📋\x20Feedback\x20for:\x20','blockedReason','createdAt','SgegZ','kIIby','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','VGmmE','dashboardUrl','replace','235155OpkJwn','git\x20remote\x20get-url\x20origin','kCjRW','\x20>\x20','join','YNoZq','jOCmE','\x20\x20\x20Description:\x20','scenarios','LQnQP','content','\x20\x20\x20Progress:\x20','.png','isInteger','agentResponse','jGeSp','Screenshot\x20','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x1b[1m','yzjrk','after','sLjnl','SLYGv','active-feature.txt','utf-8','\x20\x20\x20ID:\x20','comment_','VBvLP','push','Unknown','assetType','81QGoYhk','lTJsR','teIbH','filter','textContent','github.com/','kbfCk','verified','10580016HytciK','approved','tjUhE','description','storage','wybZb','stdout','canceledReason','aigiX','wIOFW','xtQHB','name','wJcbR','JYDWb','completed','\x20—\x20','any','\x20/\x20','KhOsb','BFYJk','jixjB','notes','incomplete','\x0a✅\x20Feature\x20review\x20created:\x20','assets','verification_in_progress','ready','verifiedItems','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','...','ywXmW','DrzDE','ViMcM','UESZu','lGUSp','acJkO','status','2390444rGCUJQ','\x20(v','XYyul','HqPCk','\x0aGenerating\x20report...','zfoyR','authorName','gJAhd','closed','\x20\x20\x20\x20\x20Progress:\x20','submittedAt','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','totalCount','write','PaMIA','trimEnd','checklistItems','5678666yMnvvM','incompleteReason','HVdek','Scenario\x20','xMmOm','toLocaleString','error','coordinates','qvwme','latestReview','\x20blocked','\x20scenario(s).','1|5|3|0|2|4','screenshotUrls','nmeXd','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','rEdgH','spatial','sjwaX','currentSessionId','UTrli','fbYzu','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','excludeScenarios','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','dbPnH','\x20Session\x20','completedAt','\x20in\x20progress','unaddressedComments','version','env','toLocaleDateString','stats','HprmN','\x20--current-branch','2701310rxjFkP','sessionId','browserSessionId','pipe','GFetF','\x0a\x20\x20\x20Scenarios:','trim','domRef','toFixed','output','\x1b[0m','isTTY','pop','exit','map','length','6laVgIK','No\x20scenarios\x20found.','\x20\x20\x20Branch:\x20','\x20\x20💬\x20','qIbmd','in_progress','\x20--limit\x20','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','bBwbX','Step\x20','selector','scenario','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','blocked','148jnQHWt','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','ETmkB','\x0a✅\x20Session\x20','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x20\x20\x20▶️\x20Started\x20session\x20','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','omzQZ','xlNWy','143424vXuLyk','\x20\x20\x20\x20\x20ID:\x20','warn','find','ppVik','arrayBuffer','from','terminalReason',':\x20\x22','YtsGb'];_0x2968=function(){return _0x4ce036;};return _0x2968();}import{join}from'path';import{existsSync}from'fs';function _0x3f3d(_0x323135,_0x2f7057){_0x323135=_0x323135-0x1ee;const _0x29689b=_0x2968();let _0x3f3d53=_0x29689b[_0x323135];return _0x3f3d53;}import{execSync}from'child_process';import _0xda342 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=_0x5bfdbb(0x205),bold=_0x51638e=>_0x5bfdbb(0x200)+_0x51638e+_0x5bfdbb(0x279);function getGitRepoUrl(){const _0x157ce4=_0x5bfdbb,_0x14f95d={'jOCmE':function(_0x158c4a,_0x2190d0,_0x12e781){return _0x158c4a(_0x2190d0,_0x12e781);},'KhOsb':_0x157ce4(0x1ef),'hxEhm':'utf-8','LQnQP':_0x157ce4(0x212)};try{const _0x5025b5=_0x14f95d[_0x157ce4(0x1f4)](execSync,_0x14f95d[_0x157ce4(0x227)],{'encoding':_0x14f95d['hxEhm'],'stdio':['pipe',_0x157ce4(0x272),'pipe']})[_0x157ce4(0x275)]();return _0x5025b5[_0x157ce4(0x2cb)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x14f95d[_0x157ce4(0x1f7)])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x455fb2=_0x5bfdbb,_0x37bd74={'yzjrk':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','JgRTy':_0x455fb2(0x206),'rAlGt':_0x455fb2(0x272)};try{return execSync(_0x37bd74[_0x455fb2(0x201)],{'encoding':_0x37bd74['JgRTy'],'stdio':[_0x37bd74['rAlGt'],_0x455fb2(0x272),_0x37bd74[_0x455fb2(0x2b8)]]})[_0x455fb2(0x275)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0xfc0dbb=_0x5bfdbb,_0x541bdc={'lTJsR':function(_0x570046,_0x3742eb,_0x32023f){return _0x570046(_0x3742eb,_0x32023f);},'XYyul':function(_0x16f863,_0x18a361){return _0x16f863(_0x18a361);},'aigiX':function(_0x48f7dd,_0x1f0b75,_0x4c1077){return _0x48f7dd(_0x1f0b75,_0x4c1077);}},_0x674030=_0x541bdc[_0xfc0dbb(0x20e)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x541bdc[_0xfc0dbb(0x23c)](existsSync,_0x674030))return null;try{const _0x165e6d=await _0x541bdc[_0xfc0dbb(0x21d)](readFile,_0x674030,_0xfc0dbb(0x206));return _0x165e6d[_0xfc0dbb(0x275)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x326c17){const _0x5568e1={'BpGkF':function(_0x320e6e,_0x1d3b40){return _0x320e6e(_0x1d3b40);}},_0x5c19bf=getRangerDir(),_0x1a1b50=join(_0x5c19bf,ACTIVE_FEATURE_FILE);!_0x5568e1['BpGkF'](existsSync,_0x5c19bf)&&await mkdir(_0x5c19bf,{'recursive':!![]}),await writeFile(_0x1a1b50,_0x326c17,'utf-8');}function getProgressDisplay(_0x366816){const _0xa4999d=_0x5bfdbb,_0x89deeb={'ywXmW':function(_0xb1c301,_0x23fbca){return _0xb1c301+_0x23fbca;},'DrzDE':function(_0x3fcc42,_0x14e535){return _0x3fcc42+_0x14e535;},'VBvLP':function(_0x2cdca5,_0x8888b){return _0x2cdca5+_0x8888b;},'HFpwQ':function(_0x24e8a8,_0x53b430){return _0x24e8a8*_0x53b430;},'hlxAI':function(_0xface3d,_0x29b035){return _0xface3d+_0x29b035;},'BFYJk':function(_0x2cf16b,_0x5a5694){return _0x2cf16b>_0x5a5694;}},_0x3e9c6=_0x366816[_0xa4999d(0x230)]||0x0,_0x4625df=_0x366816['verificationInProgressItems']||0x0,_0x41cd45=_0x366816['blockedItems']||0x0,_0x772387=_0x366816['incompleteItems']||0x0,_0x38707d=_0x366816['pendingItems']||0x0,_0x1154fc=_0x89deeb[_0xa4999d(0x233)](_0x89deeb[_0xa4999d(0x234)](_0x89deeb[_0xa4999d(0x209)](_0x3e9c6,_0x4625df),_0x41cd45)+_0x772387,_0x38707d);if(_0x1154fc===0x0)return'-';const _0xafb1d3=0xa,_0xe67c01=Math['round'](_0x89deeb['HFpwQ'](_0x3e9c6/_0x1154fc,_0xafb1d3)),_0x154b00=_0x89deeb['hlxAI']('█'['repeat'](_0xe67c01),'░'['repeat'](_0xafb1d3-_0xe67c01)),_0x245798=[];if(_0x41cd45>0x0)_0x245798['push'](_0x41cd45+_0xa4999d(0x255));if(_0x89deeb[_0xa4999d(0x228)](_0x772387,0x0))_0x245798['push'](_0x772387+'\x20incomplete');if(_0x4625df>0x0)_0x245798[_0xa4999d(0x20a)](_0x4625df+_0xa4999d(0x267));const _0x2c958d=_0x245798[_0xa4999d(0x27e)]>0x0?'\x20('+_0x245798[_0xa4999d(0x1f2)](',\x20')+')':'';return _0x154b00+'\x20'+_0x3e9c6+'/'+_0x1154fc+'\x20verified'+_0x2c958d;}function getCurrentSessionItems(_0x33b9e9,_0x40f614){const _0x214e63=_0x5bfdbb;if(!_0x33b9e9[_0x214e63(0x25e)])return _0x40f614[_0x214e63(0x210)](_0x470381=>!_0x470381[_0x214e63(0x270)]);return _0x40f614[_0x214e63(0x210)](_0x29c3f8=>_0x29c3f8[_0x214e63(0x270)]===_0x33b9e9['currentSessionId']||!_0x29c3f8['sessionId']);}function displayFeature(_0x1e437c,_0x29398c){const _0x49e2b2=_0x5bfdbb,_0x19ed8d={'iYook':function(_0x217b1f,_0x4833c4){return _0x217b1f(_0x4833c4);},'acJkO':function(_0x8c819f,_0x191add){return _0x8c819f>_0x191add;},'bhqWh':_0x49e2b2(0x274),'SLYGv':function(_0x24b32f,_0x38e559){return _0x24b32f===_0x38e559;},'lGUSp':function(_0x1425c0,_0x4c6977){return _0x1425c0===_0x4c6977;},'HDssB':_0x49e2b2(0x242),'rckxv':function(_0x573ca7,_0x59cdef){return _0x573ca7===_0x59cdef;},'hrKxV':_0x49e2b2(0x22e),'jGeSp':function(_0x3e23dd,_0x44650a){return _0x3e23dd!==_0x44650a;},'GFetF':_0x49e2b2(0x216)};console['log']('\x0a'+_0x1e437c['name']+'\x20('+_0x1e437c[_0x49e2b2(0x2ca)]+')');_0x1e437c['stats']&&console['log'](_0x49e2b2(0x1f9)+_0x19ed8d['iYook'](getProgressDisplay,_0x1e437c['stats']));_0x1e437c['description']&&console[_0x49e2b2(0x2ae)](_0x49e2b2(0x1f5)+_0x1e437c[_0x49e2b2(0x218)]);_0x1e437c['gitRepoUrl']&&console[_0x49e2b2(0x2ae)]('\x20\x20\x20Repository:\x20'+_0x1e437c['gitRepoUrl']);_0x1e437c['gitBranch']&&console[_0x49e2b2(0x2ae)](_0x49e2b2(0x281)+_0x1e437c['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x1e437c['createdAt'])['toLocaleString']());_0x1e437c[_0x49e2b2(0x266)]&&console[_0x49e2b2(0x2ae)]('\x20\x20\x20Completed:\x20'+new Date(_0x1e437c[_0x49e2b2(0x266)])['toLocaleString']());if(_0x29398c&&_0x19ed8d[_0x49e2b2(0x238)](_0x29398c[_0x49e2b2(0x27e)],0x0)){console['log'](_0x19ed8d['bhqWh']);for(let _0x5183dc=0x0;_0x5183dc<_0x29398c['length'];_0x5183dc++){const _0x32ed8d=_0x29398c[_0x5183dc];let _0x2ac18b;if(_0x19ed8d['SLYGv'](_0x32ed8d['status'],'closed')&&_0x32ed8d[_0x49e2b2(0x29f)]===_0x49e2b2(0x216))_0x2ac18b='✅';else{if(_0x32ed8d[_0x49e2b2(0x239)]==='verified')_0x2ac18b='🟢';else{if(_0x19ed8d[_0x49e2b2(0x237)](_0x32ed8d['status'],'incomplete'))_0x2ac18b='🟠';else{if(_0x32ed8d[_0x49e2b2(0x239)]===_0x49e2b2(0x28d))_0x2ac18b='🛑';else{if(_0x32ed8d['status']===_0x19ed8d['HDssB'])_0x2ac18b='⛔';else _0x19ed8d['rckxv'](_0x32ed8d['status'],_0x19ed8d['hrKxV'])?_0x2ac18b='⏳':_0x2ac18b='⬜';}}}}const _0xf160d9=_0x32ed8d[_0x49e2b2(0x269)]>0x1?_0x49e2b2(0x23b)+_0x32ed8d['version']+')':'',_0x1001f8=_0x32ed8d['version']>0x1&&_0x32ed8d['parentItemId']&&_0x19ed8d[_0x49e2b2(0x1fd)](_0x32ed8d[_0x49e2b2(0x239)],_0x49e2b2(0x242))&&_0x19ed8d[_0x49e2b2(0x1fd)](_0x32ed8d['status'],_0x49e2b2(0x214))?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+(_0x5183dc+0x1)+'.\x20'+_0x2ac18b+'\x20'+_0x32ed8d['description']+_0xf160d9+_0x1001f8);_0x19ed8d[_0x49e2b2(0x204)](_0x32ed8d[_0x49e2b2(0x239)],'blocked')&&_0x32ed8d[_0x49e2b2(0x2c3)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x32ed8d['blockedReason']);_0x19ed8d['lGUSp'](_0x32ed8d['status'],_0x49e2b2(0x22b))&&_0x32ed8d['incompleteReason']&&console[_0x49e2b2(0x2ae)](_0x49e2b2(0x2a3)+_0x32ed8d[_0x49e2b2(0x24c)]);if(_0x32ed8d[_0x49e2b2(0x239)]===_0x49e2b2(0x242)&&_0x19ed8d[_0x49e2b2(0x2af)](_0x32ed8d[_0x49e2b2(0x29f)],_0x19ed8d[_0x49e2b2(0x273)]))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x32ed8d[_0x49e2b2(0x239)]===_0x49e2b2(0x242)&&_0x32ed8d[_0x49e2b2(0x21c)]&&console['log'](_0x49e2b2(0x2bc)+_0x32ed8d[_0x49e2b2(0x21c)]);}}}export async function featureCreate(_0x34212a,_0x30f851){const _0x19db35=_0x5bfdbb,_0x106707={'cMQwB':function(_0x4838b0,_0x5760f3){return _0x4838b0===_0x5760f3;},'kbfCk':function(_0x51d757,_0x361cde){return _0x51d757(_0x361cde);},'TLgxh':function(_0x54e13f){return _0x54e13f();},'ZcobQ':'\x0aCreating\x20feature\x20review...','xlNWy':function(_0xafaa,_0x49efad){return _0xafaa(_0x49efad);},'tjUhE':function(_0x391246,_0x201b59,_0x273b65){return _0x391246(_0x201b59,_0x273b65);}},{envNames:_0x8d13f3}=await getEnvNames();_0x106707['cMQwB'](_0x8d13f3['length'],0x0)&&console[_0x19db35(0x29a)]('\x0a'+_0x106707[_0x19db35(0x213)](formatProfileRequiredMessage,_0x5a935f=>bold(_0x5a935f)));const _0x3c9da0=_0x30f851['scenarios']?_0x30f851[_0x19db35(0x1f6)][_0x19db35(0x27d)](_0x4eedd7=>_0x4eedd7[_0x19db35(0x275)]()):[],_0xdcb1e8=_0x106707['TLgxh'](getGitRepoUrl),_0x5331ea=_0x106707['TLgxh'](getGitBranch);console['log'](_0x106707[_0x19db35(0x2ba)]);const _0x5ba2af=await createFeature({'name':_0x34212a,'description':_0x30f851['description'],'checklist':_0x3c9da0,'gitRepoUrl':_0xdcb1e8,'gitBranch':_0x5331ea});await _0x106707[_0x19db35(0x297)](setActiveFeatureId,_0x5ba2af['id']),await tryStartCurrentSession(_0x5ba2af['id']);const _0x245cfe=process['env'][_0x19db35(0x2a6)];_0x245cfe&&_0x106707[_0x19db35(0x217)](registerSession,_0x245cfe,_0x5ba2af['id']),console[_0x19db35(0x2ae)](_0x19db35(0x22c)+_0x5ba2af['id']),displayFeature(_0x5ba2af,_0x5ba2af['checklistItems']),console[_0x19db35(0x2ae)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0xb85c8a){const _0x20f13d=_0x5bfdbb,_0xa62b13={'RHjnX':function(_0x155b8f){return _0x155b8f();},'sjwaX':function(_0xbba96e,_0x1478a3){return _0xbba96e===_0x1478a3;},'PaMIA':'\x0aNo\x20feature\x20reviews\x20found.','VKxdA':function(_0x1c28ff,_0x316596){return _0x1c28ff>_0x316596;},'cdsCr':function(_0x4b6fa6,_0x494919){return _0x4b6fa6(_0x494919);},'DTCsF':function(_0x2292b9,_0x3ee4d2){return _0x2292b9+_0x3ee4d2;},'Ddcqh':_0x20f13d(0x26e),'bPlWL':'\x20--include-deleted'},_0x6612ae={'limit':_0xb85c8a[_0x20f13d(0x2b4)]??0xa,'offset':_0xb85c8a['offset']??0x0,'includeDeleted':_0xb85c8a['includeDeleted']};_0xb85c8a[_0x20f13d(0x2a4)]&&(_0x6612ae[_0x20f13d(0x2a8)]=getGitRepoUrl(),_0x6612ae[_0x20f13d(0x2b9)]=_0xa62b13[_0x20f13d(0x2b5)](getGitBranch));const _0x4e83c8=await listFeatures(_0x6612ae);if(_0xa62b13[_0x20f13d(0x25d)](_0x4e83c8['items']['length'],0x0)){console[_0x20f13d(0x2ae)](_0xa62b13[_0x20f13d(0x248)]);return;}const _0x1489f2=_0xa62b13['VKxdA'](_0x4e83c8[_0x20f13d(0x246)],_0x4e83c8['items']['length'])?'Showing\x20'+_0x4e83c8['items']['length']+'\x20of\x20'+_0x4e83c8['totalCount']:_0x4e83c8['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1489f2+':\x0a');for(const _0x5e1543 of _0x4e83c8['items']){const _0x54043c='5|2|1|4|0|3'['split']('|');let _0x1d1dd7=0x0;while(!![]){switch(_0x54043c[_0x1d1dd7++]){case'0':console['log']('\x20\x20\x20Created:\x20'+new Date(_0x5e1543['createdAt'])['toLocaleDateString']());continue;case'1':_0x5e1543[_0x20f13d(0x26c)]&&console['log'](_0x20f13d(0x1f9)+_0xa62b13['cdsCr'](getProgressDisplay,_0x5e1543['stats']));continue;case'2':console['log'](_0x20f13d(0x207)+_0x5e1543['id']);continue;case'3':console['log']('');continue;case'4':_0x5e1543['gitBranch']&&console[_0x20f13d(0x2ae)](_0x20f13d(0x281)+_0x5e1543[_0x20f13d(0x2b9)]);continue;case'5':console['log'](''+_0x5e1543[_0x20f13d(0x220)]);continue;}break;}}const _0x5e8338=_0x6612ae[_0x20f13d(0x2b4)]??0xa,_0xd64b4c=_0xa62b13['DTCsF'](_0x6612ae['offset']??0x0,_0x4e83c8[_0x20f13d(0x2a5)][_0x20f13d(0x27e)]);if(_0xd64b4c<_0x4e83c8['totalCount']){const _0x4f0a1e=_0x5e8338!==0xa?_0x20f13d(0x285)+_0x5e8338:'',_0xdb17de=_0xb85c8a['currentBranch']?_0xa62b13['Ddcqh']:'',_0x1cae55=_0xb85c8a['includeDeleted']?_0xa62b13['bPlWL']:'';console[_0x20f13d(0x2ae)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0xd64b4c+_0x4f0a1e+_0xdb17de+_0x1cae55);}}export async function featureShow(_0x249973){const _0x430a93=_0x5bfdbb,_0x591dbf={'TvIjG':_0x430a93(0x261),'wIOFW':function(_0x425b40,_0x34137d,_0x556dce){return _0x425b40(_0x34137d,_0x556dce);}},_0x1a6008=_0x249973||await getActiveFeatureId();if(!_0x1a6008)throw new Error(_0x591dbf['TvIjG']);const _0x5e7703=await getFeature(_0x1a6008);_0x591dbf[_0x430a93(0x21e)](displayFeature,_0x5e7703,_0x5e7703['checklistItems']);}export async function featureResume(_0x303485){const _0x121ae2=_0x5bfdbb,_0x2da828={'XbwyG':function(_0x4d51b6,_0x530270){return _0x4d51b6(_0x530270);},'ViMcM':function(_0xd540dd){return _0xd540dd();},'AlvHM':function(_0x569b94,_0x3c48a3){return _0x569b94!==_0x3c48a3;},'xtQHB':function(_0x58e059,_0x163c13,_0x374db8){return _0x58e059(_0x163c13,_0x374db8);},'QnfmN':function(_0x4a0838,_0x26c5a2,_0x29eaba){return _0x4a0838(_0x26c5a2,_0x29eaba);},'qvwme':function(_0x11968b,_0xfc223){return _0x11968b&&_0xfc223;},'mtJuM':_0x121ae2(0x2b0),'gKqDW':function(_0x5e2cb7,_0x4f6d6e){return _0x5e2cb7||_0x4f6d6e;},'SaZUt':function(_0x2bdd1c,_0x1af925){return _0x2bdd1c(_0x1af925);},'wJcbR':_0x121ae2(0x28c),'XJnHb':function(_0x1a75ad,_0x2db4a9){return _0x1a75ad===_0x2db4a9;},'SgegZ':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','kCjRW':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','wXRJk':'list','omzQZ':'selected','kIIby':function(_0x182b8f,_0xa751ce,_0x89d66b){return _0x182b8f(_0xa751ce,_0x89d66b);},'ppVik':function(_0x189be0,_0xafaef1){return _0x189be0(_0xafaef1);}};if(_0x303485){const _0x153c0b=await _0x2da828[_0x121ae2(0x2a2)](getFeature,_0x303485);await _0x2da828[_0x121ae2(0x2a2)](setActiveFeatureId,_0x153c0b['id']);const _0x33a654=_0x2da828['ViMcM'](getGitBranch);_0x33a654&&_0x2da828['AlvHM'](_0x33a654,_0x153c0b['gitBranch'])&&(await updateFeature(_0x153c0b['id'],{'gitBranch':_0x33a654}),console[_0x121ae2(0x2ae)](_0x121ae2(0x2c8)+_0x33a654));console[_0x121ae2(0x2ae)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x153c0b[_0x121ae2(0x220)]+'\x20('+_0x153c0b['id']+')'),await tryStartCurrentSession(_0x153c0b['id']);const _0x16dbcb=process[_0x121ae2(0x26a)]['CLAUDE_SESSION_ID'];_0x16dbcb&&_0x2da828[_0x121ae2(0x21f)](registerSession,_0x16dbcb,_0x153c0b['id']);_0x2da828['QnfmN'](displayFeature,_0x153c0b,_0x153c0b['checklistItems']),await _0x2da828[_0x121ae2(0x2a2)](printFeedbackNudge,_0x153c0b['id']);return;}const _0x18c4b9=_0x2da828[_0x121ae2(0x235)](getGitRepoUrl),_0x5625ff=_0x2da828[_0x121ae2(0x235)](getGitBranch);if(_0x2da828[_0x121ae2(0x253)](!_0x18c4b9,!_0x5625ff))throw new Error(_0x2da828['mtJuM']);console[_0x121ae2(0x2ae)](_0x121ae2(0x28f)+_0x2da828[_0x121ae2(0x2ad)](_0x18c4b9,'any')+_0x121ae2(0x226)+_0x2da828['gKqDW'](_0x5625ff,_0x121ae2(0x225))+_0x121ae2(0x232));const _0x44bedd=await _0x2da828['SaZUt'](listFeatures,{'gitRepoUrl':_0x18c4b9,'gitBranch':_0x5625ff}),_0x3973af=_0x44bedd['items'][_0x121ae2(0x210)](_0x3109ea=>!_0x3109ea['completedAt']);if(_0x3973af['length']===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x2da828[_0x121ae2(0x221)]);return;}let _0x18576f;if(_0x2da828['XJnHb'](_0x3973af['length'],0x1))_0x18576f=_0x3973af[0x0];else{const _0x49eefa=process[_0x121ae2(0x2b6)][_0x121ae2(0x27a)]&&process[_0x121ae2(0x21b)][_0x121ae2(0x27a)];if(!_0x49eefa){console['log'](_0x2da828[_0x121ae2(0x2c5)]);for(const _0x322712 of _0x3973af){console['log']('\x20\x20'+_0x322712['name']),console[_0x121ae2(0x2ae)](_0x121ae2(0x299)+_0x322712['id']),_0x322712['stats']&&console['log'](_0x121ae2(0x243)+getProgressDisplay(_0x322712['stats'])),_0x322712[_0x121ae2(0x2b9)]&&console[_0x121ae2(0x2ae)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x322712[_0x121ae2(0x2b9)]);}throw new Error(_0x2da828[_0x121ae2(0x1f0)]);}const {selected:_0xd4bbf8}=await _0xda342['prompt']([{'type':_0x2da828['wXRJk'],'name':_0x2da828[_0x121ae2(0x296)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x3973af[_0x121ae2(0x27d)](_0x4b3260=>({'name':_0x4b3260[_0x121ae2(0x220)]+'\x20('+_0x4b3260['id']+')','value':_0x4b3260['id']}))}]);_0x18576f=_0x3973af[_0x121ae2(0x29b)](_0x5e0fbc=>_0x5e0fbc['id']===_0xd4bbf8);}await setActiveFeatureId(_0x18576f['id']);_0x5625ff&&_0x5625ff!==_0x18576f['gitBranch']&&(await updateFeature(_0x18576f['id'],{'gitBranch':_0x5625ff}),console['log'](_0x121ae2(0x2c8)+_0x5625ff));console[_0x121ae2(0x2ae)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x18576f[_0x121ae2(0x220)]+'\x20('+_0x18576f['id']+')'),await tryStartCurrentSession(_0x18576f['id']);const _0xecbced=await getFeature(_0x18576f['id']),_0x26fca8=process[_0x121ae2(0x26a)]['CLAUDE_SESSION_ID'];_0x26fca8&®isterSession(_0x26fca8,_0xecbced['id']),_0x2da828[_0x121ae2(0x2c6)](displayFeature,_0xecbced,_0xecbced[_0x121ae2(0x24a)]),await _0x2da828[_0x121ae2(0x29c)](printFeedbackNudge,_0xecbced['id']);}async function printFeedbackNudge(_0x56850a){const _0x302d98=_0x5bfdbb,_0x228c44={'ZHhFn':function(_0x94938e,_0x2a0d88){return _0x94938e>_0x2a0d88;},'HqPCk':_0x302d98(0x286)};try{const {items:_0x373941}=await getActionItems(_0x56850a);let _0x1bc7fa=0x0,_0x5cdf1e=0x0;for(const _0x4436e1 of _0x373941){const _0x33031d=await getItemFeedback(_0x56850a,_0x4436e1['id']);_0x228c44['ZHhFn'](_0x33031d['unaddressedComments']['length'],0x0)&&(_0x1bc7fa+=_0x33031d['unaddressedComments']['length'],_0x5cdf1e++);}_0x1bc7fa>0x0&&(console[_0x302d98(0x2ae)]('\x0a⚠️\x20\x20'+_0x1bc7fa+_0x302d98(0x2c7)+_0x5cdf1e+_0x302d98(0x256)),console['log'](_0x228c44[_0x302d98(0x23d)]));}catch{}}async function tryStartCurrentSession(_0xde36b8){const _0xd8bc2=_0x5bfdbb,_0x30b8c7={'xeeRx':function(_0x37c1c6,_0x577b96){return _0x37c1c6(_0x577b96);}};try{const {sessions:_0xb09315}=await _0x30b8c7['xeeRx'](listFeatureSessions,_0xde36b8),_0x439793=_0xb09315['find'](_0x52795e=>_0x52795e['status']===_0xd8bc2(0x22f));_0x439793&&(await startSession(_0xde36b8,_0x439793['id']),console[_0xd8bc2(0x2ae)](_0xd8bc2(0x293)+_0x439793[_0xd8bc2(0x2c1)]));}catch{}}export async function featureReport(_0x17acab,_0x51783e){const _0x1c794a=_0x5bfdbb,_0x596b53={'adHrk':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','rXfqj':'reports','YHuib':function(_0x538bb3,_0x2823eb,_0xd2b604){return _0x538bb3(_0x2823eb,_0xd2b604);},'phkyv':function(_0x48a9bf,_0x5ab0c9,_0x358286,_0x3e6760){return _0x48a9bf(_0x5ab0c9,_0x358286,_0x3e6760);},'sxmVt':_0x1c794a(0x206)},_0x357b4f=_0x17acab||await getActiveFeatureId();if(!_0x357b4f)throw new Error(_0x596b53['adHrk']);console['log'](_0x1c794a(0x23e));const _0x12b1a9=await getFeatureReportMarkdown(_0x357b4f,{'style':_0x51783e['style']}),_0x41f597=_0x51783e[_0x1c794a(0x278)]||join(getRangerDir(),_0x596b53['rXfqj'],_0x357b4f+_0x1c794a(0x2b7)),_0x5377e2=_0x596b53['YHuib'](join,_0x41f597,'..');!existsSync(_0x5377e2)&&await _0x596b53['YHuib'](mkdir,_0x5377e2,{'recursive':!![]}),await _0x596b53[_0x1c794a(0x2bb)](writeFile,_0x41f597,_0x12b1a9,_0x596b53[_0x1c794a(0x2a9)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x41f597);}function getScenarioResult(_0x1e4d17){const _0x28c5b5=_0x5bfdbb,_0x10fbbb={'HprmN':function(_0x3e1b69,_0x12af8e){return _0x3e1b69===_0x12af8e;},'IwUxb':_0x28c5b5(0x242),'gJAhd':_0x28c5b5(0x22e),'nmeXd':_0x28c5b5(0x284)};if(_0x10fbbb['HprmN'](_0x1e4d17[_0x28c5b5(0x239)],_0x10fbbb['IwUxb']))return _0x1e4d17[_0x28c5b5(0x29f)]??'closed';if(_0x10fbbb[_0x28c5b5(0x26d)](_0x1e4d17[_0x28c5b5(0x239)],_0x10fbbb[_0x28c5b5(0x241)]))return _0x10fbbb[_0x28c5b5(0x259)];return _0x1e4d17[_0x28c5b5(0x239)];}function getScenarioRationale(_0x29b654,_0x4cb47a){const _0x128e66=_0x5bfdbb,_0x188ea5={'VrEnI':_0x128e66(0x257)},_0x4b7b78=_0x188ea5[_0x128e66(0x2b2)]['split']('|');let _0x491af7=0x0;while(!![]){switch(_0x4b7b78[_0x491af7++]){case'0':if(_0x29b654['canceledReason'])return _0x29b654['canceledReason'];continue;case'1':if(_0x4cb47a)return _0x4cb47a;continue;case'2':if(_0x29b654[_0x128e66(0x22a)])return _0x29b654[_0x128e66(0x22a)];continue;case'3':if(_0x29b654[_0x128e66(0x24c)])return _0x29b654['incompleteReason'];continue;case'4':return null;case'5':if(_0x29b654['blockedReason'])return _0x29b654['blockedReason'];continue;}break;}}export async function featureReportPrDescription(_0x2a5b31,_0x4a0a3a){const _0x52a423=_0x5bfdbb,_0x161134={'MVMXw':function(_0x4c5690){return _0x4c5690();},'XdkmS':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','CeyTJ':function(_0x15a7ca,_0x408f5f){return _0x15a7ca(_0x408f5f);},'xMmOm':function(_0x218bb9,_0x10d7af,_0x133f2f){return _0x218bb9(_0x10d7af,_0x133f2f);},'JYDWb':'\x0aAvailable\x20scenarios:','qIbmd':function(_0x1d0074,_0x5cd533){return _0x1d0074<_0x5cd533;},'hnsVk':function(_0x439a90,_0x149f3d){return _0x439a90+_0x149f3d;},'zzAXl':function(_0x3df11c,_0x36d735){return _0x3df11c===_0x36d735;}},_0x267460=_0x2a5b31||await _0x161134['MVMXw'](getActiveFeatureId);if(!_0x267460)throw new Error(_0x161134['XdkmS']);const _0x2958e4=await _0x161134['CeyTJ'](getFeature,_0x267460),_0x341b82=_0x2958e4['checklistItems']||[],_0x3b460a=_0x161134['xMmOm'](getCurrentSessionItems,_0x2958e4,_0x341b82);_0x3b460a['length']===0x0&&(console[_0x52a423(0x251)](_0x52a423(0x287)),process[_0x52a423(0x27c)](0x1));const _0x53b4f5=_0x4a0a3a[_0x52a423(0x262)]??[],_0x24a1a9=_0x53b4f5['filter'](_0x1009f4=>!Number[_0x52a423(0x1fb)](_0x1009f4)||_0x1009f4<0x1||_0x1009f4>_0x3b460a[_0x52a423(0x27e)]);if(_0x24a1a9[_0x52a423(0x27e)]>0x0){console[_0x52a423(0x251)](_0x52a423(0x263)+_0x24a1a9[_0x52a423(0x1f2)](',\x20')),console['log'](_0x161134[_0x52a423(0x222)]);for(let _0x38df1f=0x0;_0x161134[_0x52a423(0x283)](_0x38df1f,_0x3b460a[_0x52a423(0x27e)]);_0x38df1f++){console['log']('\x20\x20'+_0x161134['hnsVk'](_0x38df1f,0x1)+'.\x20'+_0x3b460a[_0x38df1f]['description']);}process['exit'](0x1);}const _0x1ede3c=new Set(_0x53b4f5[_0x52a423(0x27d)](_0x386522=>_0x386522-0x1)),_0x5a9008=_0x3b460a['filter']((_0x495e05,_0x9424d)=>!_0x1ede3c['has'](_0x9424d));_0x161134['zzAXl'](_0x5a9008[_0x52a423(0x27e)],0x0)&&(console[_0x52a423(0x251)](_0x52a423(0x231)),process[_0x52a423(0x27c)](0x1));if(_0x4a0a3a['json'])await outputJsonReport(_0x267460,_0x2958e4,_0x5a9008);else{const _0x3f8307=await _0x161134[_0x52a423(0x24f)](getFeatureReportMarkdown,_0x267460,{'itemIds':_0x5a9008[_0x52a423(0x27d)](_0x3a948a=>_0x3a948a['id'])});process[_0x52a423(0x21b)][_0x52a423(0x247)](_0x3f8307[_0x52a423(0x249)]()+'\x0a');}}async function outputJsonReport(_0xf2d6d2,_0x12b278,_0x14e082){const _0x38ae45=_0x5bfdbb,_0x391cdd={'mpMkC':function(_0x34b474,_0x12fe66){return _0x34b474(_0x12fe66);},'fbYzu':function(_0x577132){return _0x577132();}},_0x2ff59d=_0x391cdd[_0x38ae45(0x260)](getApiBaseUrl),_0x3e749c=await getFeatureReport(_0xf2d6d2),_0x37e7ec=new Map(_0x3e749c['checklistItems'][_0x38ae45(0x27d)](_0x129db1=>[_0x129db1['id'],_0x129db1])),_0x220b7a=await Promise['all'](_0x14e082['map'](async _0x3956ab=>{const _0x40236d=_0x38ae45,_0x4cebc9=_0x37e7ec['get'](_0x3956ab['id']),_0x5716f9=_0x4cebc9?.['linkedSession']??null;let _0x47c7be=[];if(_0x3956ab['browserSessionId'])try{const {steps:_0x2d96a8}=await _0x391cdd['mpMkC'](getBrowserSessionSteps,_0x3956ab[_0x40236d(0x271)]);_0x2d96a8[_0x40236d(0x27e)]>0x0&&(_0x47c7be=_0x2d96a8[_0x40236d(0x27d)](_0x309363=>{const _0x6b0a81=_0x40236d,_0x762176=_0x309363[_0x6b0a81(0x22d)][_0x6b0a81(0x29b)](_0x4578a0=>_0x4578a0[_0x6b0a81(0x20c)]==='screenshot'&&_0x4578a0['timing']===_0x6b0a81(0x202))??_0x309363['assets'][_0x6b0a81(0x29b)](_0x523ca2=>_0x523ca2['assetType']==='screenshot');let _0x3df10c=null,_0x358a48=null;if(_0x762176){const _0x1c8645=_0x762176[_0x6b0a81(0x219)][_0x6b0a81(0x2b1)]['split']('/')['pop']();_0x3df10c=_0x2ff59d+'/api/v1/mcp/browser-sessions/'+_0x3956ab[_0x6b0a81(0x271)]+_0x6b0a81(0x2b3)+_0x1c8645,_0x1c8645&&(_0x358a48=_0x1c8645[_0x6b0a81(0x2cb)](/\.\w+$/,'')[_0x6b0a81(0x2cb)](/^(key_)?\d+_/,'')[_0x6b0a81(0x2cb)](/[-_]/g,'\x20'));}return{'description':_0x358a48||_0x309363[_0x6b0a81(0x218)]||_0x309363[_0x6b0a81(0x2be)]||_0x6b0a81(0x289)+_0x309363['position'],'screenshot':_0x3df10c,'is_key_step':_0x309363['isKeyStep']};}));}catch{}return _0x47c7be[_0x40236d(0x27e)]===0x0&&_0x5716f9?.[_0x40236d(0x258)]&&(_0x47c7be=_0x5716f9[_0x40236d(0x258)][_0x40236d(0x27d)]((_0x5e46b7,_0x27dae0)=>({'description':_0x40236d(0x1fe)+(_0x27dae0+0x1),'screenshot':_0x5e46b7,'is_key_step':![]}))),{'description':_0x3956ab[_0x40236d(0x218)],'result':getScenarioResult(_0x3956ab),'rationale':getScenarioRationale(_0x3956ab,_0x5716f9?.[_0x40236d(0x1fc)]),'steps':_0x47c7be};})),_0x324c0f={'url':_0x12b278[_0x38ae45(0x2ca)],'scenarios':_0x220b7a};process['stdout'][_0x38ae45(0x247)](JSON['stringify'](_0x324c0f,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2fbf6c){const _0x2d0b5b=_0x5bfdbb,_0x4d51ce={'VLQHK':function(_0x113155){return _0x113155();},'UESZu':_0x2d0b5b(0x261),'xmNDf':function(_0x2c4185,_0x9f596d){return _0x2c4185===_0x9f596d;},'CpANh':function(_0x43eef7,_0x1e8aca,_0x2fc30d){return _0x43eef7(_0x1e8aca,_0x2fc30d);}},_0x226777=_0x2fbf6c||await _0x4d51ce[_0x2d0b5b(0x2ab)](getActiveFeatureId);if(!_0x226777)throw new Error(_0x4d51ce[_0x2d0b5b(0x236)]);const _0x1fce4f=await getFeature(_0x226777);if(!_0x1fce4f[_0x2d0b5b(0x25e)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x17d4c7}=await listFeatureSessions(_0x226777),_0x1336ca=_0x17d4c7['find'](_0x34707e=>_0x34707e['id']===_0x1fce4f['currentSessionId']);if(!_0x1336ca)throw new Error('Current\x20session\x20not\x20found.');if(_0x4d51ce['xmNDf'](_0x1336ca[_0x2d0b5b(0x239)],'completed')){console[_0x2d0b5b(0x2ae)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x1336ca['status']!=='in_progress')throw new Error(_0x2d0b5b(0x292)+_0x1336ca[_0x2d0b5b(0x239)]);console['log']('\x0aConcluding\x20session...'),await _0x4d51ce['CpANh'](concludeSession,_0x226777,_0x1fce4f['currentSessionId']),console['log'](_0x2d0b5b(0x291)+_0x1336ca['iteration']+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x6c62fa){const _0x2fc074=_0x5bfdbb,_0x4f30b3={'ETmkB':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','YtsGb':function(_0x466eec,_0x13b448){return _0x466eec===_0x13b448;}},_0x4e897b=_0x6c62fa||await getActiveFeatureId();if(!_0x4e897b)throw new Error(_0x4f30b3[_0x2fc074(0x290)]);const _0x2e49f2=await getFeature(_0x4e897b);console[_0x2fc074(0x2ae)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x2e49f2['name']+'\x0a');const {sessions:_0x52315c}=await listFeatureSessions(_0x4e897b);if(_0x4f30b3[_0x2fc074(0x2a1)](_0x52315c[_0x2fc074(0x27e)],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x537175 of _0x52315c){const _0x460ba5=_0x537175[_0x2fc074(0x239)]===_0x2fc074(0x223)?'✅':_0x4f30b3['YtsGb'](_0x537175[_0x2fc074(0x239)],_0x2fc074(0x284))?'🔄':'▶️';console[_0x2fc074(0x2ae)](_0x460ba5+_0x2fc074(0x265)+_0x537175[_0x2fc074(0x2c1)]+'\x20('+_0x537175['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x537175[_0x2fc074(0x239)]),console[_0x2fc074(0x2ae)]('\x20\x20\x20Created:\x20'+new Date(_0x537175[_0x2fc074(0x2c4)])['toLocaleString']()),_0x537175['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x537175[_0x2fc074(0x266)])[_0x2fc074(0x250)]()),console['log']('');}}export async function featureAddScenario(_0x103b5d,_0x592ca6){const _0x3abefa=_0x5bfdbb,_0x22c6f2={'zfoyR':_0x3abefa(0x261),'gLZyK':function(_0x1f91d3,_0xd85d16,_0x467167){return _0x1f91d3(_0xd85d16,_0x467167);},'sLjnl':function(_0x2d5ffa,_0xdcd3a3){return _0x2d5ffa(_0xdcd3a3);},'AnPoO':function(_0x2525eb,_0x322cd7,_0x13c8ce){return _0x2525eb(_0x322cd7,_0x13c8ce);}},_0x507528=_0x592ca6||await getActiveFeatureId();if(!_0x507528)throw new Error(_0x22c6f2[_0x3abefa(0x23f)]);const _0x459332=await getFeature(_0x507528);if(_0x459332[_0x3abefa(0x254)]&&!_0x459332[_0x3abefa(0x254)][_0x3abefa(0x244)])throw new Error(_0x3abefa(0x245)+_0x459332['dashboardUrl']);await _0x22c6f2['gLZyK'](createChecklistItem,_0x507528,_0x103b5d);const _0x415d1c=await _0x22c6f2[_0x3abefa(0x203)](getFeature,_0x507528);console[_0x3abefa(0x2ae)]('\x0a✅\x20Scenario\x20added'),_0x22c6f2['AnPoO'](displayFeature,_0x415d1c,_0x415d1c['checklistItems']);}export async function featureEditScenario(_0x50079a,_0x19c6ab){const _0x1a8df6=_0x5bfdbb,_0x2309e5={'bBwbX':_0x1a8df6(0x294),'UTrli':_0x1a8df6(0x295),'rmpma':function(_0x4af4b4,_0x13ba52){return _0x4af4b4===_0x13ba52;},'YNoZq':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','VGmmE':'\x0aAvailable\x20scenarios:','dbPnH':function(_0x7523be,_0x39f73e){return _0x7523be<_0x39f73e;},'teIbH':function(_0xe18136,_0x3394ec){return _0xe18136-_0x3394ec;},'rEdgH':function(_0x4a2c2e,_0x23433b){return _0x4a2c2e+_0x23433b;},'jixjB':function(_0x98b943,_0x137fed,_0x58fdae){return _0x98b943(_0x137fed,_0x58fdae);}},_0x1a96b8=_0x19c6ab['id']||await getActiveFeatureId();!_0x1a96b8&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x1a8df6(0x251)](_0x2309e5[_0x1a8df6(0x288)]),process[_0x1a8df6(0x27c)](0x1));const _0x3ccd5d=await getFeature(_0x1a96b8);_0x3ccd5d[_0x1a8df6(0x254)]&&!_0x3ccd5d['latestReview'][_0x1a8df6(0x244)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x1a8df6(0x251)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x1a8df6(0x251)]('\x20\x20'+_0x3ccd5d['dashboardUrl']),process['exit'](0x1));const _0x130c26=_0x3ccd5d[_0x1a8df6(0x24a)]||[];_0x130c26['length']===0x0&&(console['error'](_0x2309e5[_0x1a8df6(0x25f)]),process['exit'](0x1));if(_0x2309e5['rmpma'](_0x19c6ab[_0x1a8df6(0x28b)],undefined)){console['error'](_0x2309e5[_0x1a8df6(0x1f3)]),console[_0x1a8df6(0x2ae)](_0x2309e5[_0x1a8df6(0x2c9)]);for(let _0x4eb836=0x0;_0x2309e5[_0x1a8df6(0x264)](_0x4eb836,_0x130c26['length']);_0x4eb836++){console['log']('\x20\x20'+(_0x4eb836+0x1)+'.\x20'+_0x130c26[_0x4eb836][_0x1a8df6(0x218)]);}process[_0x1a8df6(0x27c)](0x1);}const _0x32420d=_0x2309e5[_0x1a8df6(0x20f)](_0x19c6ab[_0x1a8df6(0x28b)],0x1);if(_0x32420d<0x0||_0x32420d>=_0x130c26[_0x1a8df6(0x27e)]){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x19c6ab['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x130c26[_0x1a8df6(0x27e)]+'\x20scenarios.'),console['log'](_0x2309e5[_0x1a8df6(0x2c9)]);for(let _0x234005=0x0;_0x2309e5['dbPnH'](_0x234005,_0x130c26[_0x1a8df6(0x27e)]);_0x234005++){console['log']('\x20\x20'+_0x2309e5[_0x1a8df6(0x25b)](_0x234005,0x1)+'.\x20'+_0x130c26[_0x234005]['description']);}process[_0x1a8df6(0x27c)](0x1);}const _0x21fb35=_0x130c26[_0x32420d];await updateChecklistItem(_0x1a96b8,_0x21fb35['id'],{'description':_0x50079a});const _0x126be1=await getFeature(_0x1a96b8);console[_0x1a8df6(0x2ae)]('\x0a✅\x20Scenario\x20updated'),_0x2309e5[_0x1a8df6(0x229)](displayFeature,_0x126be1,_0x126be1['checklistItems']);}async function downloadFeedbackImage(_0x2e1271,_0x42a4d6){const _0x5dce36=_0x5bfdbb;try{const _0x166ad6=join(getRangerDir(),_0x5dce36(0x2c0));await mkdir(_0x166ad6,{'recursive':!![]});const _0x4025ee=join(_0x166ad6,_0x5dce36(0x208)+_0x42a4d6+_0x5dce36(0x1fa)),_0x582c92=await fetch(_0x2e1271);if(!_0x582c92['ok'])return null;const _0x2533ba=Buffer[_0x5dce36(0x29e)](await _0x582c92[_0x5dce36(0x29d)]());return await writeFile(_0x4025ee,_0x2533ba),_0x4025ee;}catch{return null;}}export async function featureGetReview(_0x13367a){const _0x45a2f4=_0x5bfdbb,_0x5337d0={'HVdek':function(_0x258eba,_0x3a83d7){return _0x258eba(_0x3a83d7);},'eaqxP':'numeric','RHmlQ':function(_0x2d1682,_0x108f9e,_0x20cb15){return _0x2d1682(_0x108f9e,_0x20cb15);},'nhnBn':function(_0xd65083,_0x588d15){return _0xd65083===_0x588d15;},'StIlL':function(_0x5387c8,_0x4a3dac){return _0x5387c8>=_0x4a3dac;}},_0x39a040=_0x13367a||await getActiveFeatureId();if(!_0x39a040)throw new Error(_0x45a2f4(0x261));const _0x4fff09=await _0x5337d0[_0x45a2f4(0x24d)](getFeature,_0x39a040),{items:_0x391707}=await _0x5337d0[_0x45a2f4(0x24d)](getActionItems,_0x39a040);console['log'](_0x45a2f4(0x2c2)+_0x4fff09['name']+'\x20('+_0x4fff09['id']+')\x0a');if(_0x391707['length']===0x0){console['log'](_0x45a2f4(0x280));return;}for(let _0x56294b=0x0;_0x56294b<_0x391707['length'];_0x56294b++){const _0x115953=_0x391707[_0x56294b],_0x4590b2=_0x115953[_0x45a2f4(0x269)]>0x1?_0x45a2f4(0x23b)+_0x115953['version']+')':'',_0x426846=await getItemFeedback(_0x39a040,_0x115953['id']);if(_0x426846['unaddressedComments']['length']>0x0){console['log'](_0x45a2f4(0x24e)+(_0x56294b+0x1)+_0x45a2f4(0x2a0)+_0x115953['description']+'\x22'+_0x4590b2+_0x45a2f4(0x224)+_0x426846[_0x45a2f4(0x268)][_0x45a2f4(0x27e)]+'\x20unaddressed\x20comment(s)');for(const _0x4d7c89 of _0x426846['unaddressedComments']){const _0x930fbf=new Date(_0x4d7c89['createdAt'])[_0x45a2f4(0x26b)]('en-US',{'month':'short','day':_0x5337d0['eaqxP']}),_0x4b8e6b=_0x4d7c89[_0x45a2f4(0x240)]||_0x4d7c89['authorEmail']||_0x45a2f4(0x20b);console[_0x45a2f4(0x2ae)](_0x45a2f4(0x282)+_0x4b8e6b+'\x20('+_0x930fbf+'):\x20\x22'+_0x4d7c89[_0x45a2f4(0x1f8)]+'\x22');if(_0x4d7c89['assetUrl']){const _0x19b0b1=await _0x5337d0['RHmlQ'](downloadFeedbackImage,_0x4d7c89['assetUrl'],_0x4d7c89['id']);_0x19b0b1&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x19b0b1);}if(_0x4d7c89[_0x45a2f4(0x276)]){const _0x4c3825=_0x4d7c89['domRef'][_0x45a2f4(0x28a)]['split'](_0x45a2f4(0x1f1))[_0x45a2f4(0x27b)]()?.['split'](':')[0x0]||'element',_0x311d2f=_0x4d7c89[_0x45a2f4(0x276)][_0x45a2f4(0x211)]?'\x20\x22'+_0x4d7c89['domRef'][_0x45a2f4(0x211)]['slice'](0x0,0x3c)+'\x22':'';console[_0x45a2f4(0x2ae)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x4c3825+'>'+_0x311d2f),console[_0x45a2f4(0x2ae)](_0x45a2f4(0x1ff)+_0x4d7c89['domRef']['selector']);}else{if(_0x4d7c89[_0x45a2f4(0x25c)]){const _0x4bddef=_0x4d7c89['spatial'][_0x45a2f4(0x252)];_0x5337d0['nhnBn'](_0x4d7c89[_0x45a2f4(0x25c)][_0x45a2f4(0x2aa)],'point')&&_0x5337d0['StIlL'](_0x4bddef['length'],0x2)?console[_0x45a2f4(0x2ae)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4bddef[0x0]['toFixed'](0x2)+',\x20'+_0x4bddef[0x1][_0x45a2f4(0x277)](0x2)+')'):console['log'](_0x45a2f4(0x25a)+_0x4d7c89[_0x45a2f4(0x25c)]['type']+'\x20at\x20['+_0x4bddef[_0x45a2f4(0x27d)](_0x4e0767=>_0x4e0767[_0x45a2f4(0x277)](0x2))[_0x45a2f4(0x1f2)](',\x20')+']');}}}if(_0x426846[_0x45a2f4(0x2bf)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x4589f0 of _0x426846['canonicalFlow']['split']('\x0a')){console[_0x45a2f4(0x2ae)](_0x45a2f4(0x2a7)+_0x4589f0);}}}else console['log'](_0x45a2f4(0x24e)+(_0x56294b+0x1)+':\x20\x22'+_0x115953['description']+'\x22'+_0x4590b2+'\x20—\x20no\x20comments'),console[_0x45a2f4(0x2ae)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x45a2f4(0x2ae)]('');}}export async function featureDelete(_0xb1e258){const _0x4d5138=_0x5bfdbb,_0x8f2e8c={'TFSxF':_0x4d5138(0x261),'wybZb':function(_0x11d83e,_0x556a06){return _0x11d83e(_0x556a06);},'ETUTI':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x1d33e3=_0xb1e258||await getActiveFeatureId();if(!_0x1d33e3)throw new Error(_0x8f2e8c['TFSxF']);const _0x18ed05=await _0x8f2e8c[_0x4d5138(0x21a)](getFeature,_0x1d33e3);await softDeleteFeature(_0x1d33e3),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x18ed05['name']+'\x20('+_0x1d33e3+')'),console[_0x4d5138(0x2ae)](_0x8f2e8c['ETUTI']+_0x1d33e3);}export async function featureRestore(_0x5b531f){const _0x2a0c2c=_0x5bfdbb,_0x1ad472={'umSiF':function(_0x533f94,_0x112466){return _0x533f94(_0x112466);}};await _0x1ad472['umSiF'](restoreFeature,_0x5b531f);const _0x9ac905=await getFeature(_0x5b531f);console[_0x2a0c2c(0x2ae)](_0x2a0c2c(0x2bd)+_0x9ac905[_0x2a0c2c(0x220)]+'\x20('+_0x5b531f+')'),displayFeature(_0x9ac905,_0x9ac905[_0x2a0c2c(0x24a)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x11ec2d,_0x52b342){const _0x2c0d7f=_0x4656,_0x5186f5=_0x11ec2d();while(!![]){try{const _0x4c8aa5=-parseInt(_0x2c0d7f(0xb1))/0x1*(parseInt(_0x2c0d7f(0xb4))/0x2)+parseInt(_0x2c0d7f(0xaf))/0x3*(parseInt(_0x2c0d7f(0xba))/0x4)+parseInt(_0x2c0d7f(0xb7))/0x5*(-parseInt(_0x2c0d7f(0xb0))/0x6)+-parseInt(_0x2c0d7f(0xbc))/0x7*(parseInt(_0x2c0d7f(0xb8))/0x8)+-parseInt(_0x2c0d7f(0xbd))/0x9*(parseInt(_0x2c0d7f(0xb9))/0xa)+parseInt(_0x2c0d7f(0xb3))/0xb*(-parseInt(_0x2c0d7f(0xae))/0xc)+parseInt(_0x2c0d7f(0xb2))/0xd;if(_0x4c8aa5===_0x52b342)break;else _0x5186f5['push'](_0x5186f5['shift']());}catch(_0x586c22){_0x5186f5['push'](_0x5186f5['shift']());}}}(_0x2cf7,0xc890b));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x4656(_0x5bb3dd,_0x2b5084){_0x5bb3dd=_0x5bb3dd-0xae;const _0x2cf733=_0x2cf7();let _0x465630=_0x2cf733[_0x5bb3dd];return _0x465630;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0xcaf6fb=_0x4656;if(cancellationHandlersInstalled)return;const _0x202858=()=>{const _0x103d37=_0x4656;process[_0x103d37(0xbe)](0x0);};process[_0xcaf6fb(0xb6)]('SIGINT',_0x202858),process[_0xcaf6fb(0xb6)]('SIGTERM',_0x202858),process['once'](_0xcaf6fb(0xb5),_0x202858),cancellationHandlersInstalled=!![];}function _0x2cf7(){const _0x4b19a5=['SIGHUP','once','35vzGUIW','8nHDXYj','3243040XRlfGt','18364ASMXsO','Unknown\x20hook:\x20','2642619MhtqrN','45QzruDy','exit','error','18211332gXheRf','1017NMjCaR','45204eHCrBD','3244iewYkB','51693720IqGTkh','11FhGxsp','704SheANX'];_0x2cf7=function(){return _0x4b19a5;};return _0x2cf7();}export async function hook(_0x55367c,_0x589046){const _0x52a20a=_0x4656;installCancellationHandlers();const _0x4e50a3=HOOKS[_0x55367c];if(!_0x4e50a3){const _0x56019f=Object['keys'](HOOKS)['join'](',\x20');console[_0x52a20a(0xbf)](_0x52a20a(0xbb)+_0x55367c),console['error']('Valid\x20hooks:\x20'+_0x56019f),process['exit'](0x1);}await _0x4e50a3(_0x589046);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x14299e,_0x585864){const _0x2d612b=_0x2cbe,_0x4cfc89=_0x14299e();while(!![]){try{const _0x1f841a=parseInt(_0x2d612b(0x1b0))/0x1*(-parseInt(_0x2d612b(0x1a5))/0x2)+-parseInt(_0x2d612b(0x1aa))/0x3+-parseInt(_0x2d612b(0x1a7))/0x4+parseInt(_0x2d612b(0x1a9))/0x5*(parseInt(_0x2d612b(0x1ab))/0x6)+parseInt(_0x2d612b(0x1a6))/0x7*(-parseInt(_0x2d612b(0x1af))/0x8)+parseInt(_0x2d612b(0x1ac))/0x9*(parseInt(_0x2d612b(0x1a4))/0xa)+parseInt(_0x2d612b(0x1ae))/0xb;if(_0x1f841a===_0x585864)break;else _0x4cfc89['push'](_0x4cfc89['shift']());}catch(_0x45bb90){_0x4cfc89['push'](_0x4cfc89['shift']());}}}(_0x255f,0x20256));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 _0x2cbe(_0x90f83a,_0x55321d){_0x90f83a=_0x90f83a-0x1a4;const _0x255f8d=_0x255f();let _0x2cbe19=_0x255f8d[_0x90f83a];return _0x2cbe19;}export async function autoPrompt(){const _0x3dcfaa=_0x2cbe,_0x53f193={'xWTTS':function(_0x5414d5){return _0x5414d5();}},_0x128fdb=await _0x53f193[_0x3dcfaa(0x1ad)](readHookInput),_0x41301b=_0x128fdb?.[_0x3dcfaa(0x1a8)];if(!_0x41301b)return;if(isSessionEnabled(_0x41301b)||hasSessionBeenPrompted(_0x41301b))return;markSessionPrompted(_0x41301b),console['log'](AUTO_PROMPT_TEXT);}function _0x255f(){const _0x280994=['1PkVUKk','10rQwgXz','870IPtXCa','503405DxjuDj','207476tDzLUw','session_id','5ysOXuy','705711ncpaPg','159966JRPIeX','61353Zjlbih','xWTTS','6616258SUZikb','24iqNoxw'];_0x255f=function(){return _0x280994;};return _0x255f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x10b1(){const _0x5d39aa=['\x20and\x20branch\x20\x27','22060qJvhHh','XMskM','env','20iTUyxd','444ObjxZO','master','rlkOP','3622048cYvccL','386358cNeJPY','1777171QLjxLh','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','DHrjG','15133NzlRdO','14jIVmdA','17197956exmyhe','CLAUDE_SESSION_ID','4064669ZsYQMr','20Ztqgdx','9FDnGnm'];_0x10b1=function(){return _0x5d39aa;};return _0x10b1();}function _0x4f11(_0x485221,_0x415260){_0x485221=_0x485221-0xb8;const _0x10b1a4=_0x10b1();let _0x4f1198=_0x10b1a4[_0x485221];return _0x4f1198;}(function(_0x4986c7,_0x5066af){const _0x2fa877=_0x4f11,_0x3281ea=_0x4986c7();while(!![]){try{const _0x2b5265=-parseInt(_0x2fa877(0xc5))/0x1*(-parseInt(_0x2fa877(0xc6))/0x2)+parseInt(_0x2fa877(0xc1))/0x3*(-parseInt(_0x2fa877(0xca))/0x4)+parseInt(_0x2fa877(0xb9))/0x5*(-parseInt(_0x2fa877(0xbd))/0x6)+parseInt(_0x2fa877(0xc9))/0x7+parseInt(_0x2fa877(0xc0))/0x8*(-parseInt(_0x2fa877(0xcb))/0x9)+-parseInt(_0x2fa877(0xbc))/0xa*(parseInt(_0x2fa877(0xc2))/0xb)+parseInt(_0x2fa877(0xc7))/0xc;if(_0x2b5265===_0x5066af)break;else _0x3281ea['push'](_0x3281ea['shift']());}catch(_0x3e6fe6){_0x3281ea['push'](_0x3281ea['shift']());}}}(_0x10b1,0x5b2d9));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x1a68ad){const _0x4b3512=_0x4f11,_0x4862f1={'XMskM':function(_0x21f58e,_0x54c041){return _0x21f58e(_0x54c041);},'DHrjG':function(_0xc3fd90,_0x528260){return _0xc3fd90!==_0x528260;},'rlkOP':'main'},_0xf031e7=_0x1a68ad||process[_0x4b3512(0xbb)][_0x4b3512(0xc8)]||'';_0xf031e7&&_0x4862f1[_0x4b3512(0xba)](disableSession,_0xf031e7);const _0x69eecd=getCurrentBranch();_0x69eecd&&_0x4862f1[_0x4b3512(0xc4)](_0x69eecd,'main')&&_0x4862f1[_0x4b3512(0xc4)](_0x69eecd,_0x4b3512(0xbe))&&disableBranch(_0x69eecd),printBlock(_0x4b3512(0xc3)+(_0x69eecd&&_0x4862f1[_0x4b3512(0xc4)](_0x69eecd,_0x4862f1[_0x4b3512(0xbf)])&&_0x69eecd!=='master'?_0x4b3512(0xb8)+_0x69eecd+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3822(_0x2054ce,_0x11db59){_0x2054ce=_0x2054ce-0xa9;const _0x2e50f1=_0x2e50();let _0x38225b=_0x2e50f1[_0x2054ce];return _0x38225b;}(function(_0x5cd103,_0x59165f){const _0x25e420=_0x3822,_0x28cdc5=_0x5cd103();while(!![]){try{const _0xa210a8=parseInt(_0x25e420(0xab))/0x1+parseInt(_0x25e420(0xaf))/0x2*(parseInt(_0x25e420(0xb5))/0x3)+parseInt(_0x25e420(0xbd))/0x4+parseInt(_0x25e420(0xbb))/0x5+-parseInt(_0x25e420(0xb3))/0x6*(parseInt(_0x25e420(0xae))/0x7)+-parseInt(_0x25e420(0xb6))/0x8*(parseInt(_0x25e420(0xb9))/0x9)+parseInt(_0x25e420(0xbc))/0xa;if(_0xa210a8===_0x59165f)break;else _0x28cdc5['push'](_0x28cdc5['shift']());}catch(_0x2c1405){_0x28cdc5['push'](_0x28cdc5['shift']());}}}(_0x2e50,0x3c93b));function _0x2e50(){const _0x1b90e9=['67851RvWyYj','44RUicMU','NxrYn','ranger\x20setup\x20--opencode','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','198ZGlsUH','\x0a\x0a**Branch\x20\x27','18687lAoKuF','5944BtGTCB','bbZBm','#\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`','5913NDELML','ranger\x20setup','848015mbfByJ','589200NtFKER','970408cdHold','\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`.','#\x20RANGER\x20ENABLED','447980GYkAGI','main','zdybM'];_0x2e50=function(){return _0x1b90e9;};return _0x2e50();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x172a32){const _0x7baa26=_0x3822,_0x281160={'NxrYn':function(_0x240168,_0x16eb26){return _0x240168(_0x16eb26);},'FekeE':_0x7baa26(0xba),'bbZBm':function(_0x218edb){return _0x218edb();},'zdybM':function(_0x5a2e79,_0x4f4fd7){return _0x5a2e79!==_0x4f4fd7;}},_0x748d5e=_0x172a32||process['env']['CLAUDE_SESSION_ID']||'',_0x21287d=_0x281160[_0x7baa26(0xb0)](Boolean,_0x172a32),_0x115104=await getToken();if(!_0x115104){const _0x48f436=_0x21287d?_0x7baa26(0xb1):_0x281160['FekeE'],_0x13fa9e=_0x21287d?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x281160[_0x7baa26(0xb0)](printBlock,_0x7baa26(0xb8)+_0x48f436+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x13fa9e);return;}try{await _0x281160['bbZBm'](update);}catch{}_0x748d5e&&enableSession(_0x748d5e);const _0x109b5c=_0x281160[_0x7baa26(0xb7)](getCurrentBranch),_0x3090a2=_0x109b5c&&_0x109b5c!==_0x7baa26(0xac)&&_0x281160[_0x7baa26(0xad)](_0x109b5c,'master')?_0x7baa26(0xb4)+_0x109b5c+_0x7baa26(0xb2):'',_0x5497a1=getRangerSkillContent();printBlock(_0x7baa26(0xaa)+_0x3090a2+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x5497a1+_0x7baa26(0xa9));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x4276(){const _0x19c707=['47270xVvQuU','6399yHKrDR','748MFNuwq','10072080PrxKqJ','16257LFnlRU','71510ctUlOx','2143396vJeqKA','222LqhneF','6919143csnlcz','1529967GGoIQE'];_0x4276=function(){return _0x19c707;};return _0x4276();}(function(_0x9293d8,_0x216cff){const _0x37890e=_0x3643,_0x172748=_0x9293d8();while(!![]){try{const _0x2b7aee=-parseInt(_0x37890e(0x12d))/0x1+-parseInt(_0x37890e(0x134))/0x2+-parseInt(_0x37890e(0x132))/0x3*(-parseInt(_0x37890e(0x130))/0x4)+-parseInt(_0x37890e(0x12e))/0x5*(parseInt(_0x37890e(0x135))/0x6)+-parseInt(_0x37890e(0x12c))/0x7+-parseInt(_0x37890e(0x131))/0x8+-parseInt(_0x37890e(0x12f))/0x9*(-parseInt(_0x37890e(0x133))/0xa);if(_0x2b7aee===_0x216cff)break;else _0x172748['push'](_0x172748['shift']());}catch(_0x12ce38){_0x172748['push'](_0x172748['shift']());}}}(_0x4276,0xdb6e8));import{printBlock,getEnabledSessionId}from'./output.js';function _0x3643(_0x5234bf,_0x3599cb){_0x5234bf=_0x5234bf-0x12c;const _0x427627=_0x4276();let _0x36436b=_0x427627[_0x5234bf];return _0x36436b;}export async function exitPlanMode(_0x35a0b){const _0xff6b7a=await getEnabledSessionId(_0x35a0b);if(!_0xff6b7a)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x446657,_0x2ad3dc){var _0x3f5863=_0x21bf,_0x58f7c7=_0x446657();while(!![]){try{var _0x2c6fd8=parseInt(_0x3f5863(0x1da))/0x1+parseInt(_0x3f5863(0x1d9))/0x2*(-parseInt(_0x3f5863(0x1dd))/0x3)+parseInt(_0x3f5863(0x1d8))/0x4+parseInt(_0x3f5863(0x1de))/0x5+-parseInt(_0x3f5863(0x1db))/0x6+parseInt(_0x3f5863(0x1dc))/0x7*(-parseInt(_0x3f5863(0x1d6))/0x8)+parseInt(_0x3f5863(0x1d7))/0x9;if(_0x2c6fd8===_0x2ad3dc)break;else _0x58f7c7['push'](_0x58f7c7['shift']());}catch(_0x5c48a9){_0x58f7c7['push'](_0x58f7c7['shift']());}}}(_0x1937,0x57589));function _0x21bf(_0x1de151,_0x5449d9){_0x1de151=_0x1de151-0x1d6;var _0x19374f=_0x1937();var _0x21bf76=_0x19374f[_0x1de151];return _0x21bf76;}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0x1937(){var _0x49e0d5=['1920lzaTaH','244720lNdHqO','16UqaxKk','7165755JeFcPq','2329468IsYWua','1052fDHbIQ','408250TGfSvy','3714102iWczSA','1828155iLbtQy'];_0x1937=function(){return _0x49e0d5;};return _0x1937();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1acc88,_0x539e7f){const _0x341df1=_0x3524,_0x336d20=_0x1acc88();while(!![]){try{const _0x5c7315=parseInt(_0x341df1(0x1a5))/0x1+-parseInt(_0x341df1(0x1ae))/0x2+-parseInt(_0x341df1(0x1a9))/0x3*(-parseInt(_0x341df1(0x1ab))/0x4)+parseInt(_0x341df1(0x1ad))/0x5+-parseInt(_0x341df1(0x1a2))/0x6+parseInt(_0x341df1(0x1a4))/0x7+-parseInt(_0x341df1(0x1a7))/0x8*(parseInt(_0x341df1(0x1aa))/0x9);if(_0x5c7315===_0x539e7f)break;else _0x336d20['push'](_0x336d20['shift']());}catch(_0x1e7d19){_0x336d20['push'](_0x336d20['shift']());}}}(_0xeac4,0xcb890));function _0xeac4(){const _0x13b5f8=['log','WCMMz','trim','3508698QJwwdM','session_id','6648677LuWAch','1296943mbvKIm','OsOwx','7256VCIyUx','hUWqX','25671VszKBP','3897nAKVjB','20mnwgIi','parse','1910630ILLuzf','1720942xtIAaQ'];_0xeac4=function(){return _0x13b5f8;};return _0xeac4();}import{isSessionEnabled}from'../utils/sessionCache.js';function _0x3524(_0x3d246a,_0x27df0d){_0x3d246a=_0x3d246a-0x1a2;const _0xeac4d7=_0xeac4();let _0x352432=_0xeac4d7[_0x3d246a];return _0x352432;}export function printBlock(_0x4afa1a){const _0x2cac97=_0x3524;console[_0x2cac97(0x1af)](_0x4afa1a);}export async function readHookInput(){const _0x5c903e=_0x3524;let _0x5e46cb='';try{for await(const _0x5515c5 of process['stdin']){_0x5e46cb+=_0x5515c5;}}catch{return null;}if(!_0x5e46cb[_0x5c903e(0x1b1)]())return null;try{return JSON[_0x5c903e(0x1ac)](_0x5e46cb);}catch{return null;}}export async function getEnabledSessionId(_0x5e6776){const _0x5bb2c2=_0x3524,_0x12ea06={'hUWqX':function(_0x3e9e81,_0x5153cc){return _0x3e9e81(_0x5153cc);},'WCMMz':function(_0x4a4438){return _0x4a4438();}};if(_0x5e6776)return _0x12ea06[_0x5bb2c2(0x1a8)](isSessionEnabled,_0x5e6776)?_0x5e6776:null;const _0x547b07=await _0x12ea06[_0x5bb2c2(0x1b0)](readHookInput),_0x1d153b=_0x547b07?.['session_id'];if(!_0x1d153b||!isSessionEnabled(_0x1d153b))return null;return _0x1d153b;}export async function getEnabledHookContext(_0x241dba){const _0x36d9aa=_0x3524,_0x34875f={'znbdr':function(_0x378d0d){return _0x378d0d();},'OsOwx':function(_0x445c0a,_0x1615c3){return _0x445c0a(_0x1615c3);}};if(_0x241dba){if(!isSessionEnabled(_0x241dba))return null;return{'sessionId':_0x241dba,'input':{'session_id':_0x241dba}};}const _0x29da06=await _0x34875f['znbdr'](readHookInput),_0x5c4d83=_0x29da06?.[_0x36d9aa(0x1a3)];if(!_0x5c4d83||!_0x34875f[_0x36d9aa(0x1a6)](isSessionEnabled,_0x5c4d83))return null;return{'sessionId':_0x5c4d83,'input':_0x29da06};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4a6566,_0x44f5c1){const _0x172373=_0x3894,_0x59dbe4=_0x4a6566();while(!![]){try{const _0x457e0e=parseInt(_0x172373(0x1a5))/0x1*(-parseInt(_0x172373(0x19f))/0x2)+-parseInt(_0x172373(0x19e))/0x3+parseInt(_0x172373(0x1a6))/0x4+parseInt(_0x172373(0x1a7))/0x5+parseInt(_0x172373(0x1a1))/0x6*(-parseInt(_0x172373(0x1aa))/0x7)+-parseInt(_0x172373(0x19d))/0x8+parseInt(_0x172373(0x1a8))/0x9*(parseInt(_0x172373(0x1a3))/0xa);if(_0x457e0e===_0x44f5c1)break;else _0x59dbe4['push'](_0x59dbe4['shift']());}catch(_0x1121cd){_0x59dbe4['push'](_0x59dbe4['shift']());}}}(_0x45e1,0x8e7cf));function _0x45e1(){const _0x497f9b=['sessionId','24NWpdpr','===\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===','29090ROQxTo','permission_mode','3buROLD','4219292OnjWpl','4421635GJwlws','3645HIZHyg','Ktipu','126805YVBFur','7935240UoNdWj','2604567SGJqDs','400740ecOvlP'];_0x45e1=function(){return _0x497f9b;};return _0x45e1();}import{printBlock,getEnabledHookContext}from'./output.js';function _0x3894(_0x1a6f6d,_0x84c8b2){_0x1a6f6d=_0x1a6f6d-0x19d;const _0x45e105=_0x45e1();let _0x3894ee=_0x45e105[_0x1a6f6d];return _0x3894ee;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x1d4bc0){const _0x40d622=_0x3894,_0x1f906f={'uFhDW':function(_0x2a2b47,_0xcbf500){return _0x2a2b47(_0xcbf500);},'Ktipu':function(_0x19b863,_0x19a014){return _0x19b863!==_0x19a014;},'TabZz':'plan'},_0x36ef64=await _0x1f906f['uFhDW'](getEnabledHookContext,_0x1d4bc0);if(!_0x36ef64)return;if(_0x1f906f[_0x40d622(0x1a9)](_0x36ef64['input'][_0x40d622(0x1a4)],_0x1f906f['TabZz']))return;if(!shouldShowPlanReminder(_0x36ef64[_0x40d622(0x1a0)]))return;printBlock(_0x40d622(0x1a2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1313ab,_0x36f267){const _0x179810=_0x304b,_0x48bef9=_0x1313ab();while(!![]){try{const _0x4dec2a=-parseInt(_0x179810(0x1d9))/0x1+parseInt(_0x179810(0x1dd))/0x2*(-parseInt(_0x179810(0x1de))/0x3)+parseInt(_0x179810(0x1e3))/0x4+-parseInt(_0x179810(0x1db))/0x5*(-parseInt(_0x179810(0x1df))/0x6)+parseInt(_0x179810(0x1dc))/0x7*(-parseInt(_0x179810(0x1e0))/0x8)+parseInt(_0x179810(0x1da))/0x9+parseInt(_0x179810(0x1d8))/0xa*(parseInt(_0x179810(0x1e1))/0xb);if(_0x4dec2a===_0x36f267)break;else _0x48bef9['push'](_0x48bef9['shift']());}catch(_0x46f37b){_0x48bef9['push'](_0x48bef9['shift']());}}}(_0x45ed,0xa0232));import{printBlock,getEnabledSessionId}from'./output.js';function _0x304b(_0x4cbf90,_0x7ba5e7){_0x4cbf90=_0x4cbf90-0x1d8;const _0x45ed55=_0x45ed();let _0x304bbd=_0x45ed55[_0x4cbf90];return _0x304bbd;}export async function planStart(_0x2a3992){const _0x6f1f9f=_0x304b,_0xb36c47={'SmBmk':function(_0x385257,_0x261446){return _0x385257(_0x261446);}},_0x25d92e=await getEnabledSessionId(_0x2a3992);if(!_0x25d92e)return;_0xb36c47[_0x6f1f9f(0x1e2)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}function _0x45ed(){const _0x4fa63a=['6670440KPEtcD','10jLMGXk','5901VHqWWP','4wfxTjv','826899PQJlVX','1456404IelZui','1112KgqaHX','3234HdedQZ','SmBmk','2461080cDLypG','15030Cmlplu','959415hgkHEE'];_0x45ed=function(){return _0x4fa63a;};return _0x45ed();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x47e9a2,_0x1c5994){const _0x4063d5=_0x50fb,_0x565252=_0x47e9a2();while(!![]){try{const _0x1613f4=-parseInt(_0x4063d5(0xd8))/0x1*(-parseInt(_0x4063d5(0xcf))/0x2)+parseInt(_0x4063d5(0xca))/0x3*(parseInt(_0x4063d5(0xcc))/0x4)+parseInt(_0x4063d5(0xd6))/0x5+parseInt(_0x4063d5(0xd7))/0x6*(-parseInt(_0x4063d5(0xd3))/0x7)+parseInt(_0x4063d5(0xd2))/0x8*(-parseInt(_0x4063d5(0xd0))/0x9)+-parseInt(_0x4063d5(0xcd))/0xa+-parseInt(_0x4063d5(0xd4))/0xb*(-parseInt(_0x4063d5(0xc8))/0xc);if(_0x1613f4===_0x1c5994)break;else _0x565252['push'](_0x565252['shift']());}catch(_0x338af4){_0x565252['push'](_0x565252['shift']());}}}(_0x4162,0x9a5c7));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x50fb(_0x2eac33,_0x19795a){_0x2eac33=_0x2eac33-0xc7;const _0x4162ab=_0x4162();let _0x50fbd9=_0x4162ab[_0x2eac33];return _0x50fbd9;}function _0x4162(){const _0x2b5ac2=['stringify','337176sGdvbF','log','6UayiXx','PostToolUse','1901332lzloOC','12500950SjZJLJ','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).','20oRMkZD','27xlkUVv','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.','2715528XXqOxU','7wrItNS','66YNXnJo','wvWCO','5757080vSTrAy','2690094FJgvtB','107836HmwUWN'];_0x4162=function(){return _0x2b5ac2;};return _0x4162();}export async function postEdit(_0x4bdac6){const _0x29c7de=_0x50fb,_0x2bb85a={'qdmxJ':function(_0x18708d){return _0x18708d();},'wvWCO':function(_0x582364,_0xdfd1bd){return _0x582364(_0xdfd1bd);}},_0x524e3c=await getEnabledSessionId(_0x4bdac6);if(!_0x524e3c)return;updateBranchTracking(_0x524e3c);const _0x49bc50=await _0x2bb85a['qdmxJ'](getToken);if(!_0x49bc50)return;const _0x54475e=_0x2bb85a[_0x29c7de(0xd5)](getSessionEntry,_0x524e3c);if(_0x54475e){const _0x230a2e={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x29c7de(0xce)}};console[_0x29c7de(0xc9)](JSON['stringify'](_0x230a2e));return;}const _0x37a767={'hookSpecificOutput':{'hookEventName':_0x29c7de(0xcb),'additionalContext':_0x29c7de(0xd1)}};console['log'](JSON[_0x29c7de(0xc7)](_0x37a767));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x157e42,_0x2c5e0b){const _0x2c1f0e=_0x2f70,_0x2c1994=_0x157e42();while(!![]){try{const _0x70e8ba=-parseInt(_0x2c1f0e(0x18e))/0x1*(-parseInt(_0x2c1f0e(0x18c))/0x2)+parseInt(_0x2c1f0e(0x191))/0x3+-parseInt(_0x2c1f0e(0x18b))/0x4*(-parseInt(_0x2c1f0e(0x18f))/0x5)+parseInt(_0x2c1f0e(0x18d))/0x6*(-parseInt(_0x2c1f0e(0x193))/0x7)+parseInt(_0x2c1f0e(0x18a))/0x8+parseInt(_0x2c1f0e(0x189))/0x9+-parseInt(_0x2c1f0e(0x194))/0xa;if(_0x70e8ba===_0x2c5e0b)break;else _0x2c1994['push'](_0x2c1994['shift']());}catch(_0x42f9a2){_0x2c1994['push'](_0x2c1994['shift']());}}}(_0x17bd,0xaa783));import{getToken}from'../utils/keychain.js';function _0x2f70(_0x4b18c4,_0x3d093d){_0x4b18c4=_0x4b18c4-0x189;const _0x17bdee=_0x17bd();let _0x2f7055=_0x17bdee[_0x4b18c4];return _0x2f7055;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x5c471d){const _0x33cd27=_0x2f70,_0x2f1c1a={'ZTARl':function(_0xc7c87f,_0x47352f){return _0xc7c87f(_0x47352f);},'jaDaC':function(_0x517b92){return _0x517b92();},'viAuL':function(_0x9964f6,_0x423a54){return _0x9964f6(_0x423a54);}},_0x227eff=await _0x2f1c1a[_0x33cd27(0x195)](getEnabledSessionId,_0x5c471d);if(!_0x227eff)return;try{const _0x496cea=await _0x2f1c1a[_0x33cd27(0x192)](getToken);if(!_0x496cea)return;_0x2f1c1a['viAuL'](printBlock,_0x33cd27(0x190));}catch{}}function _0x17bd(){const _0xc0d71=['4181430Ycbdjc','jaDaC','7fMVwQz','26182170FEeLrS','ZTARl','1164303bgVMFO','500912meKiYS','500984qFXotR','2SKUVDU','35484ResdKM','358877cQqzYf','55MAGwox','===\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`.'];_0x17bd=function(){return _0xc0d71;};return _0x17bd();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x30b39c,_0xfa205){const _0xfd9509=_0x38b9,_0x15cfa9=_0x30b39c();while(!![]){try{const _0x40f544=-parseInt(_0xfd9509(0x6a))/0x1*(-parseInt(_0xfd9509(0x6d))/0x2)+-parseInt(_0xfd9509(0x6c))/0x3*(-parseInt(_0xfd9509(0x65))/0x4)+parseInt(_0xfd9509(0x67))/0x5+parseInt(_0xfd9509(0x71))/0x6+parseInt(_0xfd9509(0x68))/0x7*(parseInt(_0xfd9509(0x69))/0x8)+parseInt(_0xfd9509(0x6f))/0x9*(-parseInt(_0xfd9509(0x70))/0xa)+-parseInt(_0xfd9509(0x6e))/0xb*(parseInt(_0xfd9509(0x66))/0xc);if(_0x40f544===_0xfa205)break;else _0x15cfa9['push'](_0x15cfa9['shift']());}catch(_0x2abe9a){_0x15cfa9['push'](_0x15cfa9['shift']());}}}(_0x8676,0xb9f38));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x38b9(_0x646fa6,_0x36fddd){_0x646fa6=_0x646fa6-0x65;const _0x8676bf=_0x8676();let _0x38b960=_0x8676bf[_0x646fa6];return _0x38b960;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x4da56d){const _0x1499d5=_0x38b9,_0x2cbdda={'PyItC':function(_0x832885,_0x39e540){return _0x832885(_0x39e540);},'gOwlI':function(_0x1ff073){return _0x1ff073();},'bSGsy':'clear'},_0x42c6ed=process['env']['CLAUDE_SESSION_ID'];let _0x1055ad=_0x4da56d,_0x444b92;if(!_0x4da56d){if(_0x42c6ed&&!_0x2cbdda['PyItC'](isSessionEnabled,_0x42c6ed))return;const _0x36b2ff=await _0x2cbdda['gOwlI'](readHookInput);_0x1055ad=_0x36b2ff?.['session_id']||_0x42c6ed,_0x444b92=_0x36b2ff?.[_0x1499d5(0x6b)];}if(!_0x1055ad)return;_0x444b92===_0x2cbdda[_0x1499d5(0x72)]&&recordEnabledSessionCleared(_0x1055ad);}function _0x8676(){const _0x38884c=['48UcPxJv','1483405sqYJAo','7fwGjMt','1167416aZGDDf','1300911obXxBZ','reason','1149aZKHLe','2fBXXxC','7019969sxbKIV','743913BqIHTm','10XDGJrn','4396668JwkIyE','bSGsy','9616IrpyRf'];_0x8676=function(){return _0x38884c;};return _0x8676();}
|