@ranger-testing/ranger-cli 2.4.5 → 2.4.7
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 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/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/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/skills/ranger/SKILL.md +38 -41
- package/build/skills/ranger/create.md +5 -13
- package/build/skills/ranger/feedback.md +3 -3
- package/build/skills/ranger/start.md +13 -13
- package/build/skills/ranger/verify.md +15 -28
- package/package.json +5 -3
- package/scripts/postinstall.js +4 -1
package/build/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0xfc8fbd=_0x19dc;(function(_0x5c19db,_0xc5a03c){const _0x25da17=_0x19dc,_0x254e96=_0x5c19db();while(!![]){try{const _0x3ff7a3=parseInt(_0x25da17(0x13a))/0x1*(-parseInt(_0x25da17(0x14d))/0x2)+-parseInt(_0x25da17(0x142))/0x3+parseInt(_0x25da17(0x13e))/0x4+-parseInt(_0x25da17(0x13b))/0x5*(-parseInt(_0x25da17(0x14a))/0x6)+-parseInt(_0x25da17(0x14c))/0x7*(parseInt(_0x25da17(0x143))/0x8)+-parseInt(_0x25da17(0x13d))/0x9+-parseInt(_0x25da17(0x147))/0xa*(-parseInt(_0x25da17(0x13c))/0xb);if(_0x3ff7a3===_0xc5a03c)break;else _0x254e96['push'](_0x254e96['shift']());}catch(_0x5eef24){_0x254e96['push'](_0x254e96['shift']());}}}(_0x5f41,0x42053));import{existsSync}from'fs';function _0x5f41(){const _0x2de316=['982296btVset','1928992dqyFsx',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','stringify','Profile\x20\x22','1529517hmoZKG','8FpCHZm','xncED','\x22\x20does\x20not\x20exist.','No\x20configuration\x20set\x20for\x20\x22','1610bohUgy','ehvQI','tOgNs','168WhsBWA','ECOSa','1683199vVyHKr','23434VwPTvP','log','includes','true','allowInsecureLocalhost','false','(not\x20set)','34QiCdyW','96020WzBvfQ','34727ooFauc'];_0x5f41=function(){return _0x2de316;};return _0x5f41();}import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';const BOOLEAN_KEYS=['headless',_0xfc8fbd(0x151)];function parseValue(_0x383bfc,_0x102e72){const _0x5c82b6=_0xfc8fbd,_0x2a2a75={'JsARZ':function(_0x714eb,_0x1e3c09){return _0x714eb===_0x1e3c09;},'ECOSa':_0x5c82b6(0x150)};if(BOOLEAN_KEYS[_0x5c82b6(0x14f)](_0x383bfc)){if(_0x2a2a75['JsARZ'](_0x102e72,_0x2a2a75[_0x5c82b6(0x14b)]))return!![];if(_0x102e72===_0x5c82b6(0x138))return![];throw new Error('Invalid\x20value\x20for\x20'+_0x383bfc+_0x5c82b6(0x13f));}return _0x102e72;}export async function configSet(_0x569786,_0x53f913,_0x447d4f){const _0x43ac21=_0xfc8fbd,_0x2ca089={'kGHMO':function(_0x127974,_0x18cabe){return _0x127974(_0x18cabe);},'LeaXU':function(_0x57f730,_0x162f39,_0xca71e7){return _0x57f730(_0x162f39,_0xca71e7);}},_0x5d98ba=_0x2ca089['kGHMO'](getEnvDir,_0x569786);if(!existsSync(_0x5d98ba))throw new Error(_0x43ac21(0x141)+_0x569786+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x569786);const _0x159614=await loadSettings(_0x569786),_0x5a1e51=_0x2ca089['LeaXU'](parseValue,_0x53f913,_0x447d4f);setNestedValue(_0x159614,_0x53f913,_0x5a1e51),await saveSettings(_0x569786,_0x159614),console['log']('Set\x20'+_0x53f913+'\x20=\x20'+_0x5a1e51);}function _0x19dc(_0x59ceca,_0xb61d76){_0x59ceca=_0x59ceca-0x138;const _0x5f41a3=_0x5f41();let _0x19dcad=_0x5f41a3[_0x59ceca];return _0x19dcad;}export async function configGet(_0x358884,_0x28b078){const _0x46973c=_0xfc8fbd,_0x2c0ae8={'vYJEA':function(_0xc56a15,_0x2a99a0){return _0xc56a15(_0x2a99a0);},'tOgNs':function(_0x15d03e,_0x11c66b,_0x3e2317){return _0x15d03e(_0x11c66b,_0x3e2317);}},_0x5997bc=getEnvDir(_0x358884);if(!_0x2c0ae8['vYJEA'](existsSync,_0x5997bc))throw new Error(_0x46973c(0x141)+_0x358884+'\x22\x20does\x20not\x20exist.');const _0x310d9c=await loadSettings(_0x358884),_0x27a088=_0x2c0ae8[_0x46973c(0x149)](getNestedValue,_0x310d9c,_0x28b078);if(_0x27a088===undefined)console[_0x46973c(0x14e)](_0x46973c(0x139));else typeof _0x27a088==='object'?console[_0x46973c(0x14e)](JSON[_0x46973c(0x140)](_0x27a088,null,0x2)):console[_0x46973c(0x14e)](_0x27a088);}export async function configList(_0x494d7c){const _0x139279=_0xfc8fbd,_0x8f328a={'qOBWk':function(_0x53ec0a,_0x14dfc2){return _0x53ec0a(_0x14dfc2);},'xncED':function(_0x52aaee,_0x40739d){return _0x52aaee(_0x40739d);}},_0x2f4d7f=_0x8f328a['qOBWk'](getSettingsPath,_0x494d7c);if(!existsSync(_0x2f4d7f)){const _0x26a72a=getEnvDir(_0x494d7c);if(!existsSync(_0x26a72a))throw new Error(_0x139279(0x141)+_0x494d7c+'\x22\x20does\x20not\x20exist.');console[_0x139279(0x14e)]('No\x20configuration\x20set\x20for\x20\x22'+_0x494d7c+'\x22');return;}const _0x4ec82e=await _0x8f328a[_0x139279(0x144)](loadSettings,_0x494d7c),_0x33d30f=_0x8f328a[_0x139279(0x144)](formatSettings,_0x4ec82e);!_0x33d30f?console[_0x139279(0x14e)](_0x139279(0x146)+_0x494d7c+'\x22'):console['log'](_0x33d30f);}export async function configUnset(_0x550a9b,_0x3054d4){const _0x2fede2=_0xfc8fbd,_0x3600b9={'HQuPY':function(_0xcbd5eb,_0x170fcf){return _0xcbd5eb(_0x170fcf);},'toIoU':function(_0x25a997,_0x3d5e27){return _0x25a997(_0x3d5e27);},'ehvQI':function(_0x3e4c0d,_0x334732,_0x243660){return _0x3e4c0d(_0x334732,_0x243660);}},_0x493dc6=_0x3600b9['HQuPY'](getEnvDir,_0x550a9b);if(!_0x3600b9['toIoU'](existsSync,_0x493dc6))throw new Error(_0x2fede2(0x141)+_0x550a9b+_0x2fede2(0x145));const _0x1d335b=await loadSettings(_0x550a9b),_0x50e0c5=_0x3600b9[_0x2fede2(0x148)](deleteNestedValue,_0x1d335b,_0x3054d4);_0x50e0c5?(await _0x3600b9[_0x2fede2(0x148)](saveSettings,_0x550a9b,_0x1d335b),console['log']('Removed\x20'+_0x3054d4)):console[_0x2fede2(0x14e)]('Key\x20\x22'+_0x3054d4+'\x22\x20not\x20found');}
|
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x4d3fc1=_0x317a;function _0x5ec0(){const _0x197ce5=['DZjVq','XVhdU','startsWith','includes','log','.txt','\x0aProfiles:','319134ZfsogA','sessions','1149412zeAWBV','46532fvAqdM','247992dxmrez','settings.json','gySfv','10471278cGwHTI','6KjwveB','baseUrl','push','87870jhRklA','RPBGu','reports','legacy','JdzqP','\x20\x20\x20\x20\x20\x20URL:\x20','endsWith','4377856tinzMu','isDirectory','55KBOeKp','\x0a*\x20=\x20active\x20profile','environmentDetails','length','sgocN','189IlSMmn'];_0x5ec0=function(){return _0x197ce5;};return _0x5ec0();}(function(_0x5e6b6d,_0x3f6265){const _0x242ef5=_0x317a,_0x5a0795=_0x5e6b6d();while(!![]){try{const _0x22a572=-parseInt(_0x242ef5(0xc0))/0x1+parseInt(_0x242ef5(0xbe))/0x2*(-parseInt(_0x242ef5(0xc6))/0x3)+parseInt(_0x242ef5(0xc1))/0x4*(parseInt(_0x242ef5(0xb1))/0x5)+parseInt(_0x242ef5(0xc5))/0x6+parseInt(_0x242ef5(0xaf))/0x7+parseInt(_0x242ef5(0xc2))/0x8+parseInt(_0x242ef5(0xb6))/0x9*(-parseInt(_0x242ef5(0xc9))/0xa);if(_0x22a572===_0x3f6265)break;else _0x5a0795['push'](_0x5a0795['shift']());}catch(_0x3c8199){_0x5a0795['push'](_0x5a0795['shift']());}}}(_0x5ec0,0xd5fde));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x317a(_0x59d79d,_0x32e384){_0x59d79d=_0x59d79d-0xad;const _0x5ec0b1=_0x5ec0();let _0x317a2f=_0x5ec0b1[_0x59d79d];return _0x317a2f;}const NON_ENV_DIRS=[_0x4d3fc1(0xbf),'bug-bashes',_0x4d3fc1(0xcb),'local','ci'];export async function getEnvNames(){const _0x6ba611=_0x4d3fc1,_0x261276={'JPAEU':function(_0x262ff6){return _0x262ff6();},'GhQup':'local','XVhdU':function(_0x4db535,_0x4119c1){return _0x4db535(_0x4119c1);},'JdzqP':function(_0x5c65cf,_0x20cd47){return _0x5c65cf(_0x20cd47);},'FhPVC':function(_0x47a53f,_0x124058,_0x4164a3){return _0x47a53f(_0x124058,_0x4164a3);},'DZjVq':function(_0x180f03,_0x41bc4d){return _0x180f03(_0x41bc4d);},'sgocN':_0x6ba611(0xbc)},_0x3ce5f6=_0x261276['JPAEU'](getRangerDir);if(!existsSync(_0x3ce5f6))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x10e375=await readActiveProfileName(),_0x1b9a86=[],_0x379314={},_0x479ecc=join(_0x3ce5f6,_0x261276['GhQup']);if(_0x261276[_0x6ba611(0xb8)](existsSync,_0x479ecc)){const _0x411c47=await readdir(_0x479ecc);for(const _0x300e58 of _0x411c47){const _0x1aacb9=join(_0x479ecc,_0x300e58),_0x53b59b=await _0x261276[_0x6ba611(0xcd)](stat,_0x1aacb9);_0x53b59b[_0x6ba611(0xb0)]()&&(_0x1b9a86[_0x6ba611(0xc8)](_0x300e58),_0x379314[_0x300e58]=_0x261276['GhQup']);}}const _0x1fe8fb=_0x261276['FhPVC'](join,_0x3ce5f6,'ci');if(_0x261276[_0x6ba611(0xb8)](existsSync,_0x1fe8fb)){const _0x55bebd=await _0x261276[_0x6ba611(0xb7)](readdir,_0x1fe8fb);for(const _0x1c814d of _0x55bebd){const _0x58432d=join(_0x1fe8fb,_0x1c814d),_0x511481=await stat(_0x58432d);_0x511481['isDirectory']()&&(_0x1b9a86['push'](_0x1c814d),_0x379314[_0x1c814d]='ci');}}const _0x3fee33=await _0x261276['JdzqP'](readdir,_0x3ce5f6);for(const _0x25dbd3 of _0x3fee33){if(NON_ENV_DIRS['includes'](_0x25dbd3))continue;if(_0x25dbd3[_0x6ba611(0xb9)]('.'))continue;if(_0x25dbd3[_0x6ba611(0xae)](_0x261276[_0x6ba611(0xb5)]))continue;const _0xca50c7=join(_0x3ce5f6,_0x25dbd3),_0x33a1c9=await stat(_0xca50c7);_0x33a1c9[_0x6ba611(0xb0)]()&&_0x261276[_0x6ba611(0xb7)](existsSync,join(_0xca50c7,_0x6ba611(0xc3)))&&(!_0x1b9a86[_0x6ba611(0xba)](_0x25dbd3)&&(_0x1b9a86[_0x6ba611(0xc8)](_0x25dbd3),_0x379314[_0x25dbd3]=_0x6ba611(0xcc)));}return{'envNames':_0x1b9a86,'activeEnv':_0x10e375,'envTypes':_0x379314};}export async function envList(){const _0x4568e5=_0x4d3fc1,_0x4c4ff4={'MytQm':function(_0x258811,_0x387dc1){return _0x258811===_0x387dc1;},'gySfv':'local','ZiEAt':function(_0x2b7afc,_0x2e51f1){return _0x2b7afc===_0x2e51f1;},'RPBGu':_0x4568e5(0xcc)},{envNames:_0x3b0c28,activeEnv:_0x58b1db,envTypes:_0x55eec9}=await getEnvNames();if(_0x3b0c28[_0x4568e5(0xb4)]===0x0){console['log']('\x0aNo\x20profiles\x20found.'),console[_0x4568e5(0xbb)]('Run:\x20ranger\x20profile\x20add\x20<profile-name>');return;}console[_0x4568e5(0xbb)](_0x4568e5(0xbd));for(const _0x44f37a of _0x3b0c28['sort']()){const _0x371b52=_0x4c4ff4['MytQm'](_0x44f37a,_0x58b1db),_0x1e12d8=_0x55eec9[_0x44f37a]||_0x4c4ff4[_0x4568e5(0xc4)],_0x216be3=await loadSettings(_0x44f37a),_0x168cdc=_0x4c4ff4['ZiEAt'](_0x1e12d8,_0x4c4ff4[_0x4568e5(0xca)])?'':'\x20['+_0x1e12d8+']';console[_0x4568e5(0xbb)]('\x20\x20'+(_0x371b52?'*\x20':'\x20\x20')+_0x44f37a+_0x168cdc),_0x216be3[_0x4568e5(0xc7)]&&console[_0x4568e5(0xbb)](_0x4568e5(0xad)+_0x216be3[_0x4568e5(0xc7)]),_0x216be3[_0x4568e5(0xb3)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x216be3['environmentDetails']);}_0x58b1db&&console['log'](_0x4568e5(0xb2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xfecff9=_0x356a;(function(_0x53562f,_0x495ba4){const _0x2e9785=_0x356a,_0x46fd72=_0x53562f();while(!![]){try{const _0x43e128=parseInt(_0x2e9785(0x1a0))/0x1*(-parseInt(_0x2e9785(0x19a))/0x2)+parseInt(_0x2e9785(0x1c1))/0x3+parseInt(_0x2e9785(0x151))/0x4*(parseInt(_0x2e9785(0x1aa))/0x5)+-parseInt(_0x2e9785(0x192))/0x6*(-parseInt(_0x2e9785(0x169))/0x7)+-parseInt(_0x2e9785(0x14e))/0x8+-parseInt(_0x2e9785(0x190))/0x9+parseInt(_0x2e9785(0x14b))/0xa*(parseInt(_0x2e9785(0x170))/0xb);if(_0x43e128===_0x495ba4)break;else _0x46fd72['push'](_0x46fd72['shift']());}catch(_0x478b30){_0x46fd72['push'](_0x46fd72['shift']());}}}(_0x494a,0xc3442));import{readFile,writeFile,mkdir}from'fs/promises';function _0x356a(_0xcc5319,_0x1db511){_0xcc5319=_0xcc5319-0x121;const _0x494a65=_0x494a();let _0x356a6d=_0x494a65[_0xcc5319];return _0x356a6d;}import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x48efea 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=_0x3f4a2f=>'\x1b[1m'+_0x3f4a2f+_0xfecff9(0x1c3);function getGitRepoUrl(){const _0x36b6eb=_0xfecff9,_0x4e60ef={'EoNVu':function(_0x5194da,_0x54e750,_0x1a7782){return _0x5194da(_0x54e750,_0x1a7782);},'hBHZB':'git\x20remote\x20get-url\x20origin','kwvdT':'utf-8','ZPQmB':_0x36b6eb(0x1e6)};try{const _0x286ac9=_0x4e60ef['EoNVu'](execSync,_0x4e60ef[_0x36b6eb(0x143)],{'encoding':_0x4e60ef['kwvdT'],'stdio':[_0x4e60ef['ZPQmB'],_0x4e60ef[_0x36b6eb(0x1bd)],_0x4e60ef[_0x36b6eb(0x1bd)]]})['trim']();return _0x286ac9['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x36b6eb(0x166))[_0x36b6eb(0x1cd)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0xc4403c=_0xfecff9,_0xcda4d0={'rRhVO':function(_0x14baf1,_0x1f2b99,_0x521a3a){return _0x14baf1(_0x1f2b99,_0x521a3a);},'fOOcb':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','mFtnV':'pipe'};try{return _0xcda4d0[_0xc4403c(0x18d)](execSync,_0xcda4d0['fOOcb'],{'encoding':_0xc4403c(0x1fd),'stdio':[_0xc4403c(0x1e6),_0xcda4d0[_0xc4403c(0x1ca)],'pipe']})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x549cff=_0xfecff9,_0x2b9d23={'NNYtQ':function(_0x1985b8,_0x58c180,_0x35ab08){return _0x1985b8(_0x58c180,_0x35ab08);}},_0xe3e44=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xe3e44))return null;try{const _0x1f72f5=await _0x2b9d23['NNYtQ'](readFile,_0xe3e44,_0x549cff(0x1fd));return _0x1f72f5['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0xfbbf8e){const _0x2c9316=_0xfecff9,_0x1840e6={'ChGXd':function(_0x5c8a00){return _0x5c8a00();},'ErCKI':function(_0x4be7fc,_0x4aeb07,_0x390669){return _0x4be7fc(_0x4aeb07,_0x390669);},'TNeFv':function(_0x5d9ef3,_0x2c3b2f){return _0x5d9ef3(_0x2c3b2f);},'ZhGNb':function(_0x2a2154,_0x198fdc,_0x15fdd9,_0x130e79){return _0x2a2154(_0x198fdc,_0x15fdd9,_0x130e79);}},_0x3304e4=_0x1840e6[_0x2c9316(0x1cb)](getRangerDir),_0x32a17a=_0x1840e6['ErCKI'](join,_0x3304e4,ACTIVE_FEATURE_FILE);!_0x1840e6[_0x2c9316(0x1b7)](existsSync,_0x3304e4)&&await mkdir(_0x3304e4,{'recursive':!![]}),await _0x1840e6['ZhGNb'](writeFile,_0x32a17a,_0xfbbf8e,_0x2c9316(0x1fd));}function getProgressDisplay(_0x213df3){const _0x56176d=_0xfecff9,_0x5d8104={'usYzO':function(_0x132957,_0x2637dc){return _0x132957+_0x2637dc;},'HYVvI':function(_0x30db47,_0x321c10){return _0x30db47+_0x321c10;},'TFcJq':function(_0x258dcf,_0x5bdd1b){return _0x258dcf===_0x5bdd1b;},'tmYDl':function(_0x391b05,_0x51dcd5){return _0x391b05*_0x51dcd5;},'ygOeg':function(_0x3d0c55,_0x1212cb){return _0x3d0c55>_0x1212cb;}},_0x1e552d=_0x213df3['verifiedItems']||0x0,_0x260b49=_0x213df3[_0x56176d(0x1bc)]||0x0,_0x3b1394=_0x213df3[_0x56176d(0x172)]||0x0,_0x3d4d8e=_0x213df3[_0x56176d(0x132)]||0x0,_0x197490=_0x213df3[_0x56176d(0x158)]||0x0,_0x60a4a1=_0x5d8104['usYzO'](_0x5d8104[_0x56176d(0x1a5)](_0x1e552d+_0x260b49,_0x3b1394)+_0x3d4d8e,_0x197490);if(_0x5d8104['TFcJq'](_0x60a4a1,0x0))return'-';const _0x3f7c91=0xa,_0x3489e6=Math[_0x56176d(0x186)](_0x5d8104['tmYDl'](_0x1e552d/_0x60a4a1,_0x3f7c91)),_0x4aed40='█'[_0x56176d(0x1e3)](_0x3489e6)+'░'[_0x56176d(0x1e3)](_0x3f7c91-_0x3489e6),_0x255387=[];if(_0x3b1394>0x0)_0x255387[_0x56176d(0x1e1)](_0x3b1394+_0x56176d(0x17c));if(_0x3d4d8e>0x0)_0x255387['push'](_0x3d4d8e+'\x20incomplete');if(_0x5d8104[_0x56176d(0x12f)](_0x260b49,0x0))_0x255387['push'](_0x260b49+_0x56176d(0x19b));const _0x14e479=_0x255387['length']>0x0?'\x20('+_0x255387[_0x56176d(0x18a)](',\x20')+')':'';return _0x4aed40+'\x20'+_0x1e552d+'/'+_0x60a4a1+'\x20verified'+_0x14e479;}function _0x494a(){const _0x57657d=['11jLxadH','WsdkH','blockedItems','feedback-images','GYrBH','description','includeDeleted','Jkvnk','\x20scenarios.','\x20\x20\x20\x20\x20\x20Incomplete:\x20','latestReview','OZSFq','\x20blocked','notes','hEdfo','\x20\x20\x20▶️\x20Started\x20session\x20','AszvJ','zQAtR','JKwKI','\x20\x20\x20\x20\x20Progress:\x20','sADkg','env','round','assetType','KSBgd','stepName','join','\x20\x20\x20Created:\x20','status','rRhVO','\x20\x20\x20\x20\x20📋\x20Selector:\x20','stdin','13489938MTstpS','Scenario\x20','2154786geUlkL','epoew','qLhxC','qIixI','\x0aGenerating\x20report...','\x0aNo\x20feature\x20reviews\x20found.','en-US','Unknown','405658AgrXtW','\x20in\x20progress','createdAt','gitRepoUrl','\x20/\x20','tmJAh','5jZQKlW','verification_in_progress','domRef','pop','get','HYVvI','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','exit','items','closed','1363955MqgtWK','\x0a✅\x20Session\x20is\x20already\x20completed.','KOyaU','isTTY','dashboardUrl','jrJLi','checklistItems','aSuQa','wPXRy','NxcuC','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','all','currentSessionId','TNeFv','\x20\x20\x20Status:\x20','assetUrl','write','ready','verificationInProgressItems','ZPQmB','bOaEs','isInteger','NrGpt','4312800mHAFZD','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x1b[0m','point','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','VFkgV','version','browserSessionId','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','mFtnV','ChGXd','\x20>\x20','replace','verified','stringify','mfDvp','Not\x20in\x20a\x20git\x20repository.','aEQex','dPvXb','error','\x20at\x20[','screenshotUrls','lMPwB','\x20\x20\x20\x20\x20\x20Approved','gitBranch','iteration','hnFJb','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20[has\x20reviewer\x20feedback]','eGMeF','offset','/api/v1/mcp/browser-sessions/','push','MXdYc','repeat','limit','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','pipe','FxkvY','ehGEz','position','sessionId','parentItemId','iXnvA','\x20scenario(s).','vBwJc','in_progress','WyWwW','TBJmc','\x0aAvailable\x20scenarios:','ZuiJV','gcXER','split','storage','isKeyStep','\x0a✅\x20Session\x20','submittedAt','HUsxt','\x20\x20\x20Progress:\x20','incompleteReason','utf-8','hqHpb','kXuzR','wlxTU','\x20unaddressed\x20comment(s)','NOSTV','eAmul','toLocaleDateString','\x20\x20\x20Branch:\x20','rabnj','\x20\x20\x20ID:\x20','TpSGv','spatial','\x20\x20\x20\x20\x20\x20Cancelled:\x20','sXEXs','\x0a📋\x20Feedback\x20for:\x20','authorEmail','cjdBK','linkedSession','content','reports','stdout','textContent','nvPlZ','log','yAMEB','ygOeg','\x20\x20\x20Description:\x20','name','incompleteItems','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','any','\x0a✅\x20Feature\x20review\x20created:\x20','LRvmJ','\x20--include-deleted','CLAUDE_SESSION_ID','No\x20scenarios\x20found.','WDYvb','toFixed','filter','...','snlUw','comment_','totalCount','prompt','location','hBHZB','\x20\x20\x20Updated\x20branch\x20to:\x20','IZqQo','iVFHi','completedAt','find','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','645230bvmONd','canceledReason','\x0a✅\x20Resumed\x20feature\x20review:\x20','7918120OZfOAA','2|4|0|5|3|1','riCCi','20wiHvVI','qzQug','incomplete','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','CEpqa','\x0a✅\x20Report\x20generated:\x20','output','pendingItems','CqiAJ','YBOQv','JjWHQ','screenshot','zeovD','wrXxH','QrZtF','boLEp','.\x20Feature\x20review\x20has\x20','toLocaleString','gMmOC','map','blocked','github.com/','):\x20\x22','\x0aConcluding\x20session...','28zEtCwy','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','stats','length','blockedReason','Screenshot\x20','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>'];_0x494a=function(){return _0x57657d;};return _0x494a();}function getCurrentSessionItems(_0x4c2c37,_0x45de60){const _0x114054=_0xfecff9;if(!_0x4c2c37[_0x114054(0x1b6)])return _0x45de60['filter'](_0x1a8107=>!_0x1a8107['sessionId']);return _0x45de60['filter'](_0x39ef50=>_0x39ef50['sessionId']===_0x4c2c37[_0x114054(0x1b6)]||!_0x39ef50[_0x114054(0x1ea)]);}function displayFeature(_0x21116a,_0x54347d){const _0x1b10e1=_0xfecff9,_0x46e164={'bVwny':function(_0x3f3aab,_0x5484a0){return _0x3f3aab(_0x5484a0);},'nvPlZ':function(_0x27d749,_0x11b06b){return _0x27d749>_0x11b06b;},'AnWFR':'\x0a\x20\x20\x20Scenarios:','AxCJM':function(_0x13a8cb,_0x17ffe1){return _0x13a8cb<_0x17ffe1;},'iVFHi':function(_0x2e1755,_0x357b6d){return _0x2e1755===_0x357b6d;},'aSuQa':function(_0xe8a6bc,_0x2af954){return _0xe8a6bc===_0x2af954;},'iXnvA':_0x1b10e1(0x153),'uFHDv':_0x1b10e1(0x165),'wPXRy':function(_0x11b521,_0x4bcf63){return _0x11b521===_0x4bcf63;},'cjdBK':_0x1b10e1(0x1a1),'gcXER':function(_0x566888,_0x132f69){return _0x566888!==_0x132f69;},'HUsxt':_0x1b10e1(0x1a9),'WDYvb':'verified','kXuzR':_0x1b10e1(0x1dd),'PYoFy':function(_0x33ac90,_0x218a00){return _0x33ac90===_0x218a00;},'eAmul':'approved','TBJmc':function(_0x1fbd2c,_0x548256){return _0x1fbd2c===_0x548256;}};console[_0x1b10e1(0x12d)]('\x0a'+_0x21116a[_0x1b10e1(0x131)]+'\x20('+_0x21116a['dashboardUrl']+')');_0x21116a['stats']&&console['log'](_0x1b10e1(0x1fb)+_0x46e164['bVwny'](getProgressDisplay,_0x21116a[_0x1b10e1(0x16b)]));_0x21116a['description']&&console[_0x1b10e1(0x12d)](_0x1b10e1(0x130)+_0x21116a[_0x1b10e1(0x175)]);_0x21116a[_0x1b10e1(0x19d)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x21116a['gitRepoUrl']);_0x21116a['gitBranch']&&console[_0x1b10e1(0x12d)](_0x1b10e1(0x205)+_0x21116a[_0x1b10e1(0x1d9)]);console[_0x1b10e1(0x12d)](_0x1b10e1(0x18b)+new Date(_0x21116a[_0x1b10e1(0x19c)])[_0x1b10e1(0x162)]());_0x21116a[_0x1b10e1(0x147)]&&console[_0x1b10e1(0x12d)]('\x20\x20\x20Completed:\x20'+new Date(_0x21116a[_0x1b10e1(0x147)])[_0x1b10e1(0x162)]());if(_0x54347d&&_0x46e164[_0x1b10e1(0x12c)](_0x54347d['length'],0x0)){console[_0x1b10e1(0x12d)](_0x46e164['AnWFR']);for(let _0x127239=0x0;_0x46e164['AxCJM'](_0x127239,_0x54347d[_0x1b10e1(0x16c)]);_0x127239++){const _0x4bd1da=_0x54347d[_0x127239];let _0x1aa299;if(_0x46e164[_0x1b10e1(0x146)](_0x4bd1da['status'],'closed')&&_0x46e164[_0x1b10e1(0x1b1)](_0x4bd1da['terminalReason'],'approved'))_0x1aa299='✅';else{if(_0x46e164[_0x1b10e1(0x1b1)](_0x4bd1da[_0x1b10e1(0x18c)],_0x1b10e1(0x1ce)))_0x1aa299='🟢';else{if(_0x46e164[_0x1b10e1(0x146)](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164['iXnvA']))_0x1aa299='🟠';else{if(_0x4bd1da['status']===_0x46e164['uFHDv'])_0x1aa299='🛑';else{if(_0x46e164[_0x1b10e1(0x1b2)](_0x4bd1da['status'],_0x1b10e1(0x1a9)))_0x1aa299='⛔';else _0x4bd1da['status']===_0x46e164[_0x1b10e1(0x126)]?_0x1aa299='⏳':_0x1aa299='⬜';}}}}const _0x2afd10=_0x46e164[_0x1b10e1(0x12c)](_0x4bd1da[_0x1b10e1(0x1c7)],0x1)?'\x20(v'+_0x4bd1da[_0x1b10e1(0x1c7)]+')':'',_0x2fdde4=_0x46e164['nvPlZ'](_0x4bd1da['version'],0x1)&&_0x4bd1da[_0x1b10e1(0x1eb)]&&_0x46e164[_0x1b10e1(0x1f4)](_0x4bd1da['status'],_0x46e164[_0x1b10e1(0x1fa)])&&_0x4bd1da['status']!==_0x46e164[_0x1b10e1(0x13a)]?_0x46e164[_0x1b10e1(0x1ff)]:'';console['log']('\x20\x20\x20'+(_0x127239+0x1)+'.\x20'+_0x1aa299+'\x20'+_0x4bd1da[_0x1b10e1(0x175)]+_0x2afd10+_0x2fdde4);_0x46e164['aSuQa'](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164['uFHDv'])&&_0x4bd1da[_0x1b10e1(0x16d)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4bd1da[_0x1b10e1(0x16d)]);_0x46e164['PYoFy'](_0x4bd1da[_0x1b10e1(0x18c)],_0x46e164[_0x1b10e1(0x1ec)])&&_0x4bd1da[_0x1b10e1(0x1fc)]&&console['log'](_0x1b10e1(0x179)+_0x4bd1da['incompleteReason']);if(_0x4bd1da[_0x1b10e1(0x18c)]===_0x46e164['HUsxt']&&_0x4bd1da['terminalReason']===_0x46e164[_0x1b10e1(0x203)])console['log'](_0x1b10e1(0x1d8));else _0x46e164[_0x1b10e1(0x1f1)](_0x4bd1da['status'],'closed')&&_0x4bd1da['canceledReason']&&console['log'](_0x1b10e1(0x122)+_0x4bd1da['canceledReason']);}}}export async function featureCreate(_0x411374,_0x278fec){const _0x2d274b=_0xfecff9,_0x4b077a={'yAMEB':function(_0x2ddd5b){return _0x2ddd5b();},'riCCi':'\x0aCreating\x20feature\x20review...','aEQex':function(_0x11c3fb,_0x3ce4e0){return _0x11c3fb(_0x3ce4e0);},'vHXIA':function(_0x12f382,_0x2b74aa){return _0x12f382(_0x2b74aa);},'NxcuC':function(_0x307606,_0x4d96e5,_0x4a33c5){return _0x307606(_0x4d96e5,_0x4a33c5);}},{envNames:_0x5de7a3}=await _0x4b077a['yAMEB'](getEnvNames);_0x5de7a3['length']===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x2d466a=>bold(_0x2d466a)));const _0xd3413b=_0x278fec['scenarios']?_0x278fec['scenarios'][_0x2d274b(0x164)](_0x169bd9=>_0x169bd9['trim']()):[],_0x546ea3=_0x4b077a[_0x2d274b(0x12e)](getGitRepoUrl),_0x2d5d78=getGitBranch();console['log'](_0x4b077a[_0x2d274b(0x150)]);const _0x25477d=await _0x4b077a[_0x2d274b(0x1d2)](createFeature,{'name':_0x411374,'description':_0x278fec[_0x2d274b(0x175)],'checklist':_0xd3413b,'gitRepoUrl':_0x546ea3,'gitBranch':_0x2d5d78});await _0x4b077a['vHXIA'](setActiveFeatureId,_0x25477d['id']),await _0x4b077a[_0x2d274b(0x1d2)](tryStartCurrentSession,_0x25477d['id']);const _0x502f4a=process['env']['CLAUDE_SESSION_ID'];_0x502f4a&®isterSession(_0x502f4a,_0x25477d['id']),console['log'](_0x2d274b(0x135)+_0x25477d['id']),_0x4b077a[_0x2d274b(0x1b3)](displayFeature,_0x25477d,_0x25477d['checklistItems']),console['log'](_0x2d274b(0x133));}export async function featureList(_0x55dadb){const _0x53ee21=_0xfecff9,_0xc1fad8={'MXdYc':_0x53ee21(0x197),'XkTTZ':function(_0x247c72,_0x43e137){return _0x247c72>_0x43e137;},'brkgU':'4|2|0|1|3|5','GYrBH':function(_0x22568b,_0x2d1414){return _0x22568b(_0x2d1414);},'mfDvp':function(_0x280cd0,_0x176c8a){return _0x280cd0+_0x176c8a;},'boLEp':function(_0x54cb5c,_0x22a734){return _0x54cb5c<_0x22a734;},'sADkg':'\x20--current-branch','PcFxH':_0x53ee21(0x137)},_0x534727={'limit':_0x55dadb['limit']??0xa,'offset':_0x55dadb[_0x53ee21(0x1df)]??0x0,'includeDeleted':_0x55dadb['includeDeleted']};_0x55dadb['currentBranch']&&(_0x534727['gitRepoUrl']=getGitRepoUrl(),_0x534727['gitBranch']=getGitBranch());const _0x2b9057=await listFeatures(_0x534727);if(_0x2b9057[_0x53ee21(0x1a8)]['length']===0x0){console[_0x53ee21(0x12d)](_0xc1fad8[_0x53ee21(0x1e2)]);return;}const _0x3f4eb7=_0xc1fad8['XkTTZ'](_0x2b9057['totalCount'],_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)])?'Showing\x20'+_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)]+'\x20of\x20'+_0x2b9057[_0x53ee21(0x140)]:_0x2b9057[_0x53ee21(0x140)]+'\x20feature\x20review(s)\x20found';console[_0x53ee21(0x12d)]('\x0a'+_0x3f4eb7+':\x0a');for(const _0x114987 of _0x2b9057[_0x53ee21(0x1a8)]){const _0x2bb81c=_0xc1fad8['brkgU']['split']('|');let _0x166dbc=0x0;while(!![]){switch(_0x2bb81c[_0x166dbc++]){case'0':_0x114987[_0x53ee21(0x16b)]&&console[_0x53ee21(0x12d)](_0x53ee21(0x1fb)+_0xc1fad8[_0x53ee21(0x174)](getProgressDisplay,_0x114987['stats']));continue;case'1':_0x114987['gitBranch']&&console['log'](_0x53ee21(0x205)+_0x114987[_0x53ee21(0x1d9)]);continue;case'2':console['log'](_0x53ee21(0x207)+_0x114987['id']);continue;case'3':console[_0x53ee21(0x12d)](_0x53ee21(0x18b)+new Date(_0x114987[_0x53ee21(0x19c)])['toLocaleDateString']());continue;case'4':console[_0x53ee21(0x12d)](''+_0x114987[_0x53ee21(0x131)]);continue;case'5':console['log']('');continue;}break;}}const _0x27b064=_0x534727[_0x53ee21(0x1e4)]??0xa,_0x21c1cc=_0xc1fad8[_0x53ee21(0x1d0)](_0x534727['offset']??0x0,_0x2b9057[_0x53ee21(0x1a8)][_0x53ee21(0x16c)]);if(_0xc1fad8[_0x53ee21(0x160)](_0x21c1cc,_0x2b9057['totalCount'])){const _0x42b07d=_0x27b064!==0xa?'\x20--limit\x20'+_0x27b064:'',_0x2969d1=_0x55dadb['currentBranch']?_0xc1fad8[_0x53ee21(0x184)]:'',_0x3d21d0=_0x55dadb[_0x53ee21(0x176)]?_0xc1fad8['PcFxH']:'';console[_0x53ee21(0x12d)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x21c1cc+_0x42b07d+_0x2969d1+_0x3d21d0);}}export async function featureShow(_0x165b28){const _0x5aed6c=_0xfecff9,_0x27b55a=_0x165b28||await getActiveFeatureId();if(!_0x27b55a)throw new Error(_0x5aed6c(0x1c5));const _0xf6e43f=await getFeature(_0x27b55a);displayFeature(_0xf6e43f,_0xf6e43f['checklistItems']);}export async function featureResume(_0x5a64cc){const _0xdaeed5=_0xfecff9,_0x197d18={'snlUw':function(_0x4946c1,_0x2ae0d0){return _0x4946c1(_0x2ae0d0);},'AszvJ':function(_0x6dcb90){return _0x6dcb90();},'nIiVZ':function(_0x1b583f,_0x304379){return _0x1b583f!==_0x304379;},'iocnr':function(_0x785596,_0x2ec7c4,_0x777b95){return _0x785596(_0x2ec7c4,_0x777b95);},'qLhxC':function(_0x403f6f,_0x486f06){return _0x403f6f(_0x486f06);},'UMlzO':function(_0x4e2fcf,_0x4fdfb7){return _0x4e2fcf&&_0x4fdfb7;},'ehGEz':_0xdaeed5(0x1d1),'qKTRH':_0xdaeed5(0x154),'dPvXb':_0xdaeed5(0x16f),'WsdkH':'selected','KOyaU':function(_0x16085f,_0x1e5a36){return _0x16085f(_0x1e5a36);},'WyWwW':function(_0x48a1e3,_0xc4eca5){return _0x48a1e3!==_0xc4eca5;},'pQFJR':function(_0xb69e73,_0x328df9,_0x1f88f5){return _0xb69e73(_0x328df9,_0x1f88f5);},'vBwJc':function(_0x3ed818,_0x1a0c6b,_0x2ba47a){return _0x3ed818(_0x1a0c6b,_0x2ba47a);}};if(_0x5a64cc){const _0x235308=await _0x197d18[_0xdaeed5(0x13e)](getFeature,_0x5a64cc);await setActiveFeatureId(_0x235308['id']);const _0x14c311=_0x197d18[_0xdaeed5(0x180)](getGitBranch);_0x14c311&&_0x197d18['nIiVZ'](_0x14c311,_0x235308['gitBranch'])&&(await _0x197d18['iocnr'](updateFeature,_0x235308['id'],{'gitBranch':_0x14c311}),console[_0xdaeed5(0x12d)](_0xdaeed5(0x144)+_0x14c311));console[_0xdaeed5(0x12d)](_0xdaeed5(0x14d)+_0x235308[_0xdaeed5(0x131)]+'\x20('+_0x235308['id']+')'),await _0x197d18[_0xdaeed5(0x194)](tryStartCurrentSession,_0x235308['id']);const _0x58ab9d=process['env']['CLAUDE_SESSION_ID'];_0x58ab9d&&_0x197d18['iocnr'](registerSession,_0x58ab9d,_0x235308['id']);displayFeature(_0x235308,_0x235308['checklistItems']),await _0x197d18[_0xdaeed5(0x194)](printFeedbackNudge,_0x235308['id']);return;}const _0x4deaef=_0x197d18['AszvJ'](getGitRepoUrl),_0x310123=getGitBranch();if(_0x197d18['UMlzO'](!_0x4deaef,!_0x310123))throw new Error(_0x197d18[_0xdaeed5(0x1e8)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x4deaef||_0xdaeed5(0x134))+_0xdaeed5(0x19e)+(_0x310123||_0xdaeed5(0x134))+_0xdaeed5(0x13d));const _0x308281=await _0x197d18[_0xdaeed5(0x194)](listFeatures,{'gitRepoUrl':_0x4deaef,'gitBranch':_0x310123}),_0x46e0b2=_0x308281[_0xdaeed5(0x1a8)][_0xdaeed5(0x13c)](_0x5c3783=>!_0x5c3783[_0xdaeed5(0x147)]);if(_0x46e0b2[_0xdaeed5(0x16c)]===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0xdaeed5(0x1e5));return;}let _0x2ff471;if(_0x46e0b2['length']===0x1)_0x2ff471=_0x46e0b2[0x0];else{const _0x119148=process[_0xdaeed5(0x18f)][_0xdaeed5(0x1ad)]&&process[_0xdaeed5(0x12a)]['isTTY'];if(!_0x119148){console[_0xdaeed5(0x12d)](_0x197d18['qKTRH']);for(const _0x123f71 of _0x46e0b2){console[_0xdaeed5(0x12d)]('\x20\x20'+_0x123f71['name']),console[_0xdaeed5(0x12d)]('\x20\x20\x20\x20\x20ID:\x20'+_0x123f71['id']),_0x123f71['stats']&&console[_0xdaeed5(0x12d)](_0xdaeed5(0x183)+getProgressDisplay(_0x123f71[_0xdaeed5(0x16b)])),_0x123f71['gitBranch']&&console[_0xdaeed5(0x12d)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x123f71['gitBranch']);}throw new Error(_0x197d18[_0xdaeed5(0x1d3)]);}const {selected:_0x5add57}=await _0x48efea[_0xdaeed5(0x141)]([{'type':'list','name':_0x197d18[_0xdaeed5(0x171)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x46e0b2[_0xdaeed5(0x164)](_0x505ffe=>({'name':_0x505ffe[_0xdaeed5(0x131)]+'\x20('+_0x505ffe['id']+')','value':_0x505ffe['id']}))}]);_0x2ff471=_0x46e0b2['find'](_0x33a5e5=>_0x33a5e5['id']===_0x5add57);}await _0x197d18[_0xdaeed5(0x1ac)](setActiveFeatureId,_0x2ff471['id']);_0x310123&&_0x197d18[_0xdaeed5(0x1f0)](_0x310123,_0x2ff471[_0xdaeed5(0x1d9)])&&(await _0x197d18['iocnr'](updateFeature,_0x2ff471['id'],{'gitBranch':_0x310123}),console[_0xdaeed5(0x12d)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x310123));console['log'](_0xdaeed5(0x14d)+_0x2ff471['name']+'\x20('+_0x2ff471['id']+')'),await tryStartCurrentSession(_0x2ff471['id']);const _0x5ebc0f=await _0x197d18[_0xdaeed5(0x194)](getFeature,_0x2ff471['id']),_0x5b3aee=process[_0xdaeed5(0x185)][_0xdaeed5(0x138)];_0x5b3aee&&_0x197d18['pQFJR'](registerSession,_0x5b3aee,_0x5ebc0f['id']),_0x197d18[_0xdaeed5(0x1ee)](displayFeature,_0x5ebc0f,_0x5ebc0f['checklistItems']),await printFeedbackNudge(_0x5ebc0f['id']);}async function printFeedbackNudge(_0x308d95){const _0x4787fb=_0xfecff9,_0x21d88f={'OZSFq':function(_0x2bd101,_0x1f3b97){return _0x2bd101>_0x1f3b97;},'UFpua':_0x4787fb(0x1dc)};try{const {items:_0x40fe1b}=await getActionItems(_0x308d95);let _0x63ea27=0x0,_0x473ce9=0x0;for(const _0x164dcb of _0x40fe1b){const _0x5c898c=await getItemFeedback(_0x308d95,_0x164dcb['id']);_0x21d88f[_0x4787fb(0x17b)](_0x5c898c['unaddressedComments'][_0x4787fb(0x16c)],0x0)&&(_0x63ea27+=_0x5c898c['unaddressedComments']['length'],_0x473ce9++);}_0x21d88f['OZSFq'](_0x63ea27,0x0)&&(console[_0x4787fb(0x12d)]('\x0a⚠️\x20\x20'+_0x63ea27+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x473ce9+_0x4787fb(0x1ed)),console['log'](_0x21d88f['UFpua']));}catch{}}async function tryStartCurrentSession(_0x47a35b){const _0x5873ae=_0xfecff9,_0x4c3a5a={'qIixI':function(_0x132300,_0x560f82){return _0x132300(_0x560f82);}};try{const {sessions:_0x483e06}=await _0x4c3a5a[_0x5873ae(0x195)](listFeatureSessions,_0x47a35b),_0x27fd85=_0x483e06[_0x5873ae(0x148)](_0x103189=>_0x103189[_0x5873ae(0x18c)]===_0x5873ae(0x1bb));_0x27fd85&&(await startSession(_0x47a35b,_0x27fd85['id']),console['log'](_0x5873ae(0x17f)+_0x27fd85[_0x5873ae(0x1da)]));}catch{}}export async function featureReport(_0x19e756,_0x3a8610){const _0x52e0c1=_0xfecff9,_0x5966f9={'OeRTo':function(_0x115571){return _0x115571();},'JFxXF':_0x52e0c1(0x196),'YnULN':function(_0x37ec8d,_0x1afcaa,_0x58305b){return _0x37ec8d(_0x1afcaa,_0x58305b);},'sXEXs':_0x52e0c1(0x129),'QrZtF':function(_0x5c0b47,_0x3399bd,_0x3a5dcc){return _0x5c0b47(_0x3399bd,_0x3a5dcc);},'ZuiJV':function(_0x5b198d,_0x58c672){return _0x5b198d(_0x58c672);},'pTBny':function(_0x412e29,_0x162f6d,_0x26b5e5){return _0x412e29(_0x162f6d,_0x26b5e5);},'YBOQv':function(_0x22fa6a,_0xa71be4,_0x208cd8,_0x25fc4f){return _0x22fa6a(_0xa71be4,_0x208cd8,_0x25fc4f);},'wlxTU':'utf-8'},_0x37a4f1=_0x19e756||await _0x5966f9['OeRTo'](getActiveFeatureId);if(!_0x37a4f1)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x52e0c1(0x12d)](_0x5966f9['JFxXF']);const _0x15569e=await _0x5966f9['YnULN'](getFeatureReportMarkdown,_0x37a4f1,{'style':_0x3a8610['style']}),_0x563dd0=_0x3a8610[_0x52e0c1(0x157)]||join(getRangerDir(),_0x5966f9[_0x52e0c1(0x123)],_0x37a4f1+'.md'),_0x3119ba=_0x5966f9[_0x52e0c1(0x15f)](join,_0x563dd0,'..');!_0x5966f9[_0x52e0c1(0x1f3)](existsSync,_0x3119ba)&&await _0x5966f9['pTBny'](mkdir,_0x3119ba,{'recursive':!![]}),await _0x5966f9[_0x52e0c1(0x15a)](writeFile,_0x563dd0,_0x15569e,_0x5966f9[_0x52e0c1(0x200)]),console['log'](_0x52e0c1(0x156)+_0x563dd0);}function getScenarioResult(_0x4b9877){const _0x58886a=_0xfecff9,_0x410f4a={'zQAtR':function(_0x231298,_0x2c08b5){return _0x231298===_0x2c08b5;},'gMmOC':_0x58886a(0x1a9)};if(_0x410f4a[_0x58886a(0x181)](_0x4b9877[_0x58886a(0x18c)],_0x410f4a['gMmOC']))return _0x4b9877['terminalReason']??_0x410f4a[_0x58886a(0x163)];if(_0x410f4a[_0x58886a(0x181)](_0x4b9877[_0x58886a(0x18c)],'verification_in_progress'))return _0x58886a(0x1ef);return _0x4b9877['status'];}function getScenarioRationale(_0x1fe900,_0x20b367){const _0x103edb=_0xfecff9,_0x426344={'LRvmJ':_0x103edb(0x14f)},_0x4556af=_0x426344[_0x103edb(0x136)]['split']('|');let _0x328467=0x0;while(!![]){switch(_0x4556af[_0x328467++]){case'0':if(_0x1fe900[_0x103edb(0x1fc)])return _0x1fe900['incompleteReason'];continue;case'1':return null;case'2':if(_0x20b367)return _0x20b367;continue;case'3':if(_0x1fe900['notes'])return _0x1fe900[_0x103edb(0x17d)];continue;case'4':if(_0x1fe900[_0x103edb(0x16d)])return _0x1fe900[_0x103edb(0x16d)];continue;case'5':if(_0x1fe900[_0x103edb(0x14c)])return _0x1fe900[_0x103edb(0x14c)];continue;}break;}}export async function featureReportPrDescription(_0x286a05,_0x74478d){const _0x125df3=_0xfecff9,_0x39f540={'qzQug':function(_0x5a79e5){return _0x5a79e5();},'JKwKI':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ivbdi':function(_0x3d33ab,_0x4d4d41){return _0x3d33ab(_0x4d4d41);},'hqHpb':function(_0x3f02d5,_0x562b95,_0xb1da0c){return _0x3f02d5(_0x562b95,_0xb1da0c);},'hnFJb':function(_0x27b219,_0x2d3309){return _0x27b219>_0x2d3309;},'rabnj':function(_0xaab09,_0x3bf1eb){return _0xaab09+_0x3bf1eb;},'epoew':function(_0x380887,_0xdddedd){return _0x380887===_0xdddedd;}},_0x11346c=_0x286a05||await _0x39f540[_0x125df3(0x152)](getActiveFeatureId);if(!_0x11346c)throw new Error(_0x39f540[_0x125df3(0x182)]);const _0x52dcba=await _0x39f540['ivbdi'](getFeature,_0x11346c),_0x13e79c=_0x52dcba['checklistItems']||[],_0x40ef20=_0x39f540[_0x125df3(0x1fe)](getCurrentSessionItems,_0x52dcba,_0x13e79c);_0x40ef20['length']===0x0&&(console[_0x125df3(0x1d4)](_0x125df3(0x14a)),process['exit'](0x1));const _0x3f2e96=_0x74478d['excludeScenarios']??[],_0x42ee21=_0x3f2e96[_0x125df3(0x13c)](_0x2d9114=>!Number[_0x125df3(0x1bf)](_0x2d9114)||_0x2d9114<0x1||_0x2d9114>_0x40ef20[_0x125df3(0x16c)]);if(_0x39f540[_0x125df3(0x1db)](_0x42ee21['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x42ee21[_0x125df3(0x18a)](',\x20')),console[_0x125df3(0x12d)](_0x125df3(0x1f2));for(let _0x5734a4=0x0;_0x5734a4<_0x40ef20['length'];_0x5734a4++){console[_0x125df3(0x12d)]('\x20\x20'+_0x39f540[_0x125df3(0x206)](_0x5734a4,0x1)+'.\x20'+_0x40ef20[_0x5734a4][_0x125df3(0x175)]);}process['exit'](0x1);}const _0x21696f=new Set(_0x3f2e96[_0x125df3(0x164)](_0x26039a=>_0x26039a-0x1)),_0x5893f6=_0x40ef20['filter']((_0x5028cd,_0x1ce7f5)=>!_0x21696f['has'](_0x1ce7f5));_0x39f540[_0x125df3(0x193)](_0x5893f6[_0x125df3(0x16c)],0x0)&&(console[_0x125df3(0x1d4)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x125df3(0x1a7)](0x1));if(_0x74478d['json'])await outputJsonReport(_0x11346c,_0x52dcba,_0x5893f6);else{const _0x4423f2=await getFeatureReportMarkdown(_0x11346c,{'itemIds':_0x5893f6['map'](_0x4c14f9=>_0x4c14f9['id'])});process['stdout'][_0x125df3(0x1ba)](_0x4423f2['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x237c91,_0x356580,_0x105202){const _0x445d87=_0xfecff9,_0x136628={'wrXxH':function(_0x12c3e7,_0x281499){return _0x12c3e7(_0x281499);}},_0x5eba6b=getApiBaseUrl(),_0x5d74d4=await _0x136628[_0x445d87(0x15e)](getFeatureReport,_0x237c91),_0x2cdee0=new Map(_0x5d74d4[_0x445d87(0x1b0)][_0x445d87(0x164)](_0x3b5641=>[_0x3b5641['id'],_0x3b5641])),_0x2ace54=await Promise[_0x445d87(0x1b5)](_0x105202[_0x445d87(0x164)](async _0x452024=>{const _0x564ea2=_0x445d87,_0x223373=_0x2cdee0[_0x564ea2(0x1a4)](_0x452024['id']),_0x556ccc=_0x223373?.[_0x564ea2(0x127)]??null;let _0x5c07ee=[];if(_0x452024[_0x564ea2(0x1c8)])try{const {steps:_0xdf6133}=await _0x136628[_0x564ea2(0x15e)](getBrowserSessionSteps,_0x452024[_0x564ea2(0x1c8)]);_0xdf6133[_0x564ea2(0x16c)]>0x0&&(_0x5c07ee=_0xdf6133['map'](_0x237e16=>{const _0x5ce189=_0x564ea2,_0x541e4e=_0x237e16['assets']['find'](_0x3a773a=>_0x3a773a[_0x5ce189(0x187)]===_0x5ce189(0x15c)&&_0x3a773a['timing']==='after')??_0x237e16['assets']['find'](_0x26066c=>_0x26066c[_0x5ce189(0x187)]===_0x5ce189(0x15c));let _0x2b0d02=null,_0x38a3f4=null;if(_0x541e4e){const _0x51c67e=_0x541e4e[_0x5ce189(0x1f6)][_0x5ce189(0x142)]['split']('/')['pop']();_0x2b0d02=_0x5eba6b+_0x5ce189(0x1e0)+_0x452024[_0x5ce189(0x1c8)]+'/artifacts/'+_0x51c67e,_0x51c67e&&(_0x38a3f4=_0x51c67e[_0x5ce189(0x1cd)](/\.\w+$/,'')[_0x5ce189(0x1cd)](/^(key_)?\d+_/,'')[_0x5ce189(0x1cd)](/[-_]/g,'\x20'));}return{'description':_0x38a3f4||_0x237e16['description']||_0x237e16[_0x5ce189(0x189)]||'Step\x20'+_0x237e16[_0x5ce189(0x1e9)],'screenshot':_0x2b0d02,'is_key_step':_0x237e16[_0x5ce189(0x1f7)]};}));}catch{}return _0x5c07ee[_0x564ea2(0x16c)]===0x0&&_0x556ccc?.[_0x564ea2(0x1d6)]&&(_0x5c07ee=_0x556ccc['screenshotUrls']['map']((_0x55f68f,_0x34eb40)=>({'description':_0x564ea2(0x16e)+(_0x34eb40+0x1),'screenshot':_0x55f68f,'is_key_step':![]}))),{'description':_0x452024['description'],'result':_0x136628[_0x564ea2(0x15e)](getScenarioResult,_0x452024),'rationale':getScenarioRationale(_0x452024,_0x556ccc?.['agentResponse']),'steps':_0x5c07ee};})),_0x48fb09={'url':_0x356580['dashboardUrl'],'scenarios':_0x2ace54};process['stdout']['write'](JSON[_0x445d87(0x1cf)](_0x48fb09,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x22e38f){const _0x3bf2a7=_0xfecff9,_0x599357={'QWlec':function(_0x4b08be){return _0x4b08be();},'CEpqa':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hEdfo':function(_0x537f1b,_0x42bac6){return _0x537f1b(_0x42bac6);},'BQIpE':'completed','wkGDM':_0x3bf2a7(0x1ef)},_0xca83cd=_0x22e38f||await _0x599357['QWlec'](getActiveFeatureId);if(!_0xca83cd)throw new Error(_0x599357[_0x3bf2a7(0x155)]);const _0x16c0a6=await getFeature(_0xca83cd);if(!_0x16c0a6['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x184388}=await _0x599357[_0x3bf2a7(0x17e)](listFeatureSessions,_0xca83cd),_0xda3d36=_0x184388[_0x3bf2a7(0x148)](_0x235dde=>_0x235dde['id']===_0x16c0a6[_0x3bf2a7(0x1b6)]);if(!_0xda3d36)throw new Error('Current\x20session\x20not\x20found.');if(_0xda3d36['status']===_0x599357['BQIpE']){console['log'](_0x3bf2a7(0x1ab));return;}if(_0xda3d36[_0x3bf2a7(0x18c)]!==_0x599357['wkGDM'])throw new Error(_0x3bf2a7(0x1c2)+_0xda3d36[_0x3bf2a7(0x18c)]);console[_0x3bf2a7(0x12d)](_0x3bf2a7(0x168)),await concludeSession(_0xca83cd,_0x16c0a6[_0x3bf2a7(0x1b6)]),console['log'](_0x3bf2a7(0x1f8)+_0xda3d36[_0x3bf2a7(0x1da)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x4e17b1){const _0x567e3a=_0xfecff9,_0x1a4d84={'WlgEB':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','lMPwB':function(_0x856501,_0x2aa9d3){return _0x856501===_0x2aa9d3;},'zHXen':'No\x20sessions\x20found.','VFkgV':'in_progress'},_0x324c8a=_0x4e17b1||await getActiveFeatureId();if(!_0x324c8a)throw new Error(_0x1a4d84['WlgEB']);const _0x3806ce=await getFeature(_0x324c8a);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x3806ce['name']+'\x0a');const {sessions:_0x22d4e5}=await listFeatureSessions(_0x324c8a);if(_0x1a4d84[_0x567e3a(0x1d7)](_0x22d4e5['length'],0x0)){console[_0x567e3a(0x12d)](_0x1a4d84['zHXen']);return;}for(const _0x3830ce of _0x22d4e5){const _0xef79c3=_0x1a4d84['lMPwB'](_0x3830ce[_0x567e3a(0x18c)],'completed')?'✅':_0x1a4d84[_0x567e3a(0x1d7)](_0x3830ce[_0x567e3a(0x18c)],_0x1a4d84[_0x567e3a(0x1c6)])?'🔄':'▶️';console[_0x567e3a(0x12d)](_0xef79c3+'\x20Session\x20'+_0x3830ce[_0x567e3a(0x1da)]+'\x20('+_0x3830ce['id']+')'),console['log'](_0x567e3a(0x1b8)+_0x3830ce['status']),console['log'](_0x567e3a(0x18b)+new Date(_0x3830ce['createdAt'])[_0x567e3a(0x162)]()),_0x3830ce[_0x567e3a(0x147)]&&console[_0x567e3a(0x12d)]('\x20\x20\x20Completed:\x20'+new Date(_0x3830ce['completedAt'])['toLocaleString']()),console[_0x567e3a(0x12d)]('');}}export async function featureAddScenario(_0x33811e,_0x4766f3){const _0x488cf5=_0xfecff9,_0x2247fc={'JjWHQ':function(_0x10b723){return _0x10b723();},'pPAGM':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','FxkvY':function(_0x4d52e8,_0x5e3a18,_0x27b2b9){return _0x4d52e8(_0x5e3a18,_0x27b2b9);},'AQnOw':function(_0xe16e6b,_0x577dc7){return _0xe16e6b(_0x577dc7);}},_0x4542da=_0x4766f3||await _0x2247fc[_0x488cf5(0x15b)](getActiveFeatureId);if(!_0x4542da)throw new Error(_0x2247fc['pPAGM']);const _0x4a43ce=await getFeature(_0x4542da);if(_0x4a43ce['latestReview']&&!_0x4a43ce[_0x488cf5(0x17a)]['submittedAt'])throw new Error(_0x488cf5(0x149)+_0x4a43ce[_0x488cf5(0x1ae)]);await _0x2247fc[_0x488cf5(0x1e7)](createChecklistItem,_0x4542da,_0x33811e);const _0x5285c0=await _0x2247fc['AQnOw'](getFeature,_0x4542da);console[_0x488cf5(0x12d)]('\x0a✅\x20Scenario\x20added'),_0x2247fc['FxkvY'](displayFeature,_0x5285c0,_0x5285c0['checklistItems']);}export async function featureEditScenario(_0x40db1d,_0x2dfff0){const _0x3a3302=_0xfecff9,_0x48134d={'DMTAp':function(_0x364588){return _0x364588();},'Gaqsy':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','eGMeF':_0x3a3302(0x1a6),'TpSGv':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','sOOcs':'Please\x20finish\x20your\x20review\x20first:','GgBlX':function(_0x42d27a,_0x15cfd2){return _0x42d27a===_0x15cfd2;},'jrJLi':function(_0x31f556,_0x113d3c){return _0x31f556===_0x113d3c;},'jESpu':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','tmJAh':function(_0x42ec01,_0x565177){return _0x42ec01+_0x565177;},'zeovD':function(_0xfe3954,_0x4be189){return _0xfe3954<_0x4be189;},'PJfNI':'\x0aAvailable\x20scenarios:','AqUTG':function(_0x539d04,_0x26b8cb){return _0x539d04(_0x26b8cb);},'IZqQo':function(_0x296b02,_0x32b92f,_0x3597a4){return _0x296b02(_0x32b92f,_0x3597a4);}},_0xe936ae=_0x2dfff0['id']||await _0x48134d['DMTAp'](getActiveFeatureId);!_0xe936ae&&(console['error'](_0x48134d['Gaqsy']),console[_0x3a3302(0x1d4)](_0x48134d[_0x3a3302(0x1de)]),process['exit'](0x1));const _0x34ec86=await getFeature(_0xe936ae);_0x34ec86[_0x3a3302(0x17a)]&&!_0x34ec86[_0x3a3302(0x17a)][_0x3a3302(0x1f9)]&&(console['error'](_0x48134d[_0x3a3302(0x208)]),console[_0x3a3302(0x1d4)](_0x48134d['sOOcs']),console[_0x3a3302(0x1d4)]('\x20\x20'+_0x34ec86['dashboardUrl']),process['exit'](0x1));const _0x30d3c0=_0x34ec86[_0x3a3302(0x1b0)]||[];_0x48134d['GgBlX'](_0x30d3c0['length'],0x0)&&(console['error'](_0x3a3302(0x1b4)),process[_0x3a3302(0x1a7)](0x1));if(_0x48134d[_0x3a3302(0x1af)](_0x2dfff0['scenario'],undefined)){console['error'](_0x48134d['jESpu']),console['log'](_0x3a3302(0x1f2));for(let _0x21d8bf=0x0;_0x21d8bf<_0x30d3c0['length'];_0x21d8bf++){console['log']('\x20\x20'+_0x48134d[_0x3a3302(0x19f)](_0x21d8bf,0x1)+'.\x20'+_0x30d3c0[_0x21d8bf][_0x3a3302(0x175)]);}process[_0x3a3302(0x1a7)](0x1);}const _0x130a6b=_0x2dfff0['scenario']-0x1;if(_0x48134d['zeovD'](_0x130a6b,0x0)||_0x130a6b>=_0x30d3c0[_0x3a3302(0x16c)]){console[_0x3a3302(0x1d4)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x2dfff0['scenario']+_0x3a3302(0x161)+_0x30d3c0['length']+_0x3a3302(0x178)),console[_0x3a3302(0x12d)](_0x48134d['PJfNI']);for(let _0x250f09=0x0;_0x48134d[_0x3a3302(0x15d)](_0x250f09,_0x30d3c0[_0x3a3302(0x16c)]);_0x250f09++){console[_0x3a3302(0x12d)]('\x20\x20'+(_0x250f09+0x1)+'.\x20'+_0x30d3c0[_0x250f09]['description']);}process['exit'](0x1);}const _0x2ef868=_0x30d3c0[_0x130a6b];await updateChecklistItem(_0xe936ae,_0x2ef868['id'],{'description':_0x40db1d});const _0x47068b=await _0x48134d['AqUTG'](getFeature,_0xe936ae);console['log']('\x0a✅\x20Scenario\x20updated'),_0x48134d[_0x3a3302(0x145)](displayFeature,_0x47068b,_0x47068b['checklistItems']);}async function downloadFeedbackImage(_0x38e4f6,_0x314f2c){const _0x47ae64=_0xfecff9,_0x199c73={'CqiAJ':function(_0x11ed54){return _0x11ed54();},'NrGpt':function(_0xf7879,_0x213708,_0xe0912){return _0xf7879(_0x213708,_0xe0912);},'eNNmm':function(_0x539168,_0x1b9b24,_0xdb2412){return _0x539168(_0x1b9b24,_0xdb2412);}};try{const _0x26065f=join(_0x199c73[_0x47ae64(0x159)](getRangerDir),_0x47ae64(0x173));await _0x199c73[_0x47ae64(0x1c0)](mkdir,_0x26065f,{'recursive':!![]});const _0x4b38d1=_0x199c73['NrGpt'](join,_0x26065f,_0x47ae64(0x13f)+_0x314f2c+'.png'),_0x440008=await fetch(_0x38e4f6);if(!_0x440008['ok'])return null;const _0x594a5d=Buffer['from'](await _0x440008['arrayBuffer']());return await _0x199c73['eNNmm'](writeFile,_0x4b38d1,_0x594a5d),_0x4b38d1;}catch{return null;}}export async function featureGetReview(_0x5f33cb){const _0x5bec95=_0xfecff9,_0xed7240={'KSBgd':_0x5bec95(0x1c5),'anFyw':function(_0x2a28c4,_0x23119d){return _0x2a28c4(_0x23119d);},'Jkvnk':function(_0x3161c2,_0x4f835f){return _0x3161c2===_0x4f835f;},'NOSTV':_0x5bec95(0x139),'VOfsA':function(_0x5de055,_0x40c419){return _0x5de055<_0x40c419;},'LNbgr':function(_0x19e782,_0x49e385){return _0x19e782>_0x49e385;},'VYTPz':_0x5bec95(0x198),'BbtqF':'short','oludh':'numeric','tDKue':_0x5bec95(0x199),'zVWFZ':_0x5bec95(0x1cc),'ZkqbG':_0x5bec95(0x1c4)},_0x1868d1=_0x5f33cb||await getActiveFeatureId();if(!_0x1868d1)throw new Error(_0xed7240[_0x5bec95(0x188)]);const _0x47d27f=await getFeature(_0x1868d1),{items:_0x470fbd}=await _0xed7240['anFyw'](getActionItems,_0x1868d1);console[_0x5bec95(0x12d)](_0x5bec95(0x124)+_0x47d27f[_0x5bec95(0x131)]+'\x20('+_0x47d27f['id']+')\x0a');if(_0xed7240[_0x5bec95(0x177)](_0x470fbd[_0x5bec95(0x16c)],0x0)){console['log'](_0xed7240[_0x5bec95(0x202)]);return;}for(let _0x585e07=0x0;_0xed7240['VOfsA'](_0x585e07,_0x470fbd[_0x5bec95(0x16c)]);_0x585e07++){const _0x34fa5a=_0x470fbd[_0x585e07],_0x421a8d=_0xed7240['LNbgr'](_0x34fa5a['version'],0x1)?'\x20(v'+_0x34fa5a['version']+')':'',_0x3e64f3=await getItemFeedback(_0x1868d1,_0x34fa5a['id']);if(_0x3e64f3['unaddressedComments']['length']>0x0){console[_0x5bec95(0x12d)]('Scenario\x20'+(_0x585e07+0x1)+':\x20\x22'+_0x34fa5a[_0x5bec95(0x175)]+'\x22'+_0x421a8d+'\x20—\x20'+_0x3e64f3['unaddressedComments'][_0x5bec95(0x16c)]+_0x5bec95(0x201));for(const _0x3fbaaf of _0x3e64f3['unaddressedComments']){const _0x358b9e=new Date(_0x3fbaaf['createdAt'])[_0x5bec95(0x204)](_0xed7240['VYTPz'],{'month':_0xed7240['BbtqF'],'day':_0xed7240['oludh']}),_0x17aefb=_0x3fbaaf['authorName']||_0x3fbaaf[_0x5bec95(0x125)]||_0xed7240['tDKue'];console['log']('\x20\x20💬\x20'+_0x17aefb+'\x20('+_0x358b9e+_0x5bec95(0x167)+_0x3fbaaf[_0x5bec95(0x128)]+'\x22');if(_0x3fbaaf[_0x5bec95(0x1b9)]){const _0x338a2f=await downloadFeedbackImage(_0x3fbaaf['assetUrl'],_0x3fbaaf['id']);_0x338a2f&&console[_0x5bec95(0x12d)](_0x5bec95(0x16a)+_0x338a2f);}if(_0x3fbaaf[_0x5bec95(0x1a2)]){const _0x111f5c=_0x3fbaaf[_0x5bec95(0x1a2)]['selector'][_0x5bec95(0x1f5)](_0xed7240['zVWFZ'])[_0x5bec95(0x1a3)]()?.['split'](':')[0x0]||'element',_0x40cc8e=_0x3fbaaf[_0x5bec95(0x1a2)][_0x5bec95(0x12b)]?'\x20\x22'+_0x3fbaaf['domRef'][_0x5bec95(0x12b)]['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x111f5c+'>'+_0x40cc8e),console[_0x5bec95(0x12d)](_0x5bec95(0x18e)+_0x3fbaaf['domRef']['selector']);}else{if(_0x3fbaaf[_0x5bec95(0x121)]){const _0x4d2c7f=_0x3fbaaf[_0x5bec95(0x121)]['coordinates'];_0x3fbaaf[_0x5bec95(0x121)]['type']===_0xed7240['ZkqbG']&&_0x4d2c7f[_0x5bec95(0x16c)]>=0x2?console[_0x5bec95(0x12d)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x4d2c7f[0x0]['toFixed'](0x2)+',\x20'+_0x4d2c7f[0x1][_0x5bec95(0x13b)](0x2)+')'):console[_0x5bec95(0x12d)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3fbaaf['spatial']['type']+_0x5bec95(0x1d5)+_0x4d2c7f[_0x5bec95(0x164)](_0x412ee5=>_0x412ee5['toFixed'](0x2))[_0x5bec95(0x18a)](',\x20')+']');}}}if(_0x3e64f3['canonicalFlow']){console[_0x5bec95(0x12d)]('\x20\x20Expected\x20flow:');for(const _0x5c0d17 of _0x3e64f3['canonicalFlow'][_0x5bec95(0x1f5)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x5c0d17);}}}else console[_0x5bec95(0x12d)](_0x5bec95(0x191)+(_0x585e07+0x1)+':\x20\x22'+_0x34fa5a[_0x5bec95(0x175)]+'\x22'+_0x421a8d+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x5bec95(0x12d)]('');}}export async function featureDelete(_0x584e10){const _0x55b394=_0xfecff9,_0x39d6c5={'GdkRb':function(_0x3e1f40){return _0x3e1f40();},'DvDub':_0x55b394(0x1c5),'bOaEs':function(_0x23674d,_0x308df7){return _0x23674d(_0x308df7);}},_0x1ec67e=_0x584e10||await _0x39d6c5['GdkRb'](getActiveFeatureId);if(!_0x1ec67e)throw new Error(_0x39d6c5['DvDub']);const _0x9c4022=await _0x39d6c5[_0x55b394(0x1be)](getFeature,_0x1ec67e);await softDeleteFeature(_0x1ec67e),console['log'](_0x55b394(0x1c9)+_0x9c4022[_0x55b394(0x131)]+'\x20('+_0x1ec67e+')'),console[_0x55b394(0x12d)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x1ec67e);}export async function featureRestore(_0x5a439d){const _0x358170=_0xfecff9,_0x280a85={'AvnVT':function(_0x449937,_0x74f9cc,_0x3c702c){return _0x449937(_0x74f9cc,_0x3c702c);}};await restoreFeature(_0x5a439d);const _0x391037=await getFeature(_0x5a439d);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x391037[_0x358170(0x131)]+'\x20('+_0x5a439d+')'),_0x280a85['AvnVT'](displayFeature,_0x391037,_0x391037['checklistItems']);}
|
|
1
|
+
const _0x52aa40=_0x3041;(function(_0x54ee2d,_0x5823a7){const _0x23f623=_0x3041,_0x644b23=_0x54ee2d();while(!![]){try{const _0x4f23ae=-parseInt(_0x23f623(0xb5))/0x1+-parseInt(_0x23f623(0x13b))/0x2+parseInt(_0x23f623(0xd8))/0x3+-parseInt(_0x23f623(0x15a))/0x4*(parseInt(_0x23f623(0x15e))/0x5)+parseInt(_0x23f623(0x146))/0x6*(-parseInt(_0x23f623(0xee))/0x7)+parseInt(_0x23f623(0xb3))/0x8+-parseInt(_0x23f623(0x9f))/0x9*(-parseInt(_0x23f623(0x145))/0xa);if(_0x4f23ae===_0x5823a7)break;else _0x644b23['push'](_0x644b23['shift']());}catch(_0x591fa7){_0x644b23['push'](_0x644b23['shift']());}}}(_0x4801,0x642a3));import{readFile,writeFile,mkdir}from'fs/promises';function _0x3041(_0x18b22f,_0x3aa82d){_0x18b22f=_0x18b22f-0x9b;const _0x48015d=_0x4801();let _0x30414b=_0x48015d[_0x18b22f];return _0x30414b;}import{join}from'path';import{existsSync}from'fs';function _0x4801(){const _0x1be8e4=['\x20\x20\x20Completed:\x20','blockedReason','JdGNE','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','currentBranch','checklistItems','qTAJP','Scenario\x20','pipe','reports','\x20\x20\x20Updated\x20branch\x20to:\x20','2794240pYxgab','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','426760pvEabT','env','/artifacts/','yAEDE','NvyaC','\x20--limit\x20','trim','\x0a✅\x20Restored\x20feature\x20review:\x20','filter','LfudB','repeat','jKpJf','storage','stats','has','nDVhV','uQhiB','Xqhoy','toLocaleDateString','replace','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x0aConcluding\x20session...','stringify','currentSessionId','iteration','map','totalCount','No\x20active\x20session\x20for\x20this\x20feature\x20review.','TAJGH','\x20\x20\x20\x20\x20ID:\x20','find','completedAt','textContent','createdAt','utf-8','258267LaLteQ','RBIpI','gitRepoUrl','any','error','Not\x20in\x20a\x20git\x20repository.','\x20>\x20','sessionId','selector','mPRgR','\x20\x20\x20Description:\x20','exit','\x20verified','PGqEC','Step\x20','iIgwF','gitBranch','log','VGqhj','HZxPF','get','blocked','7LTBsZl','comment_','HHzel','isInteger','JfkpT','ddMLx','\x0a✅\x20Feature\x20review\x20created:\x20','dashboardUrl','canceledReason','submittedAt','\x20\x20\x20\x20\x20\x20Blocked:\x20','isKeyStep','MUBBR','\x0a✅\x20Scenario\x20added','\x20--include-deleted','completed','pop','dbalx','status','wcyBz',':\x20\x22','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','write','lxrWs','oEWum','terminalReason','domRef','ljZXk','\x20\x20\x20ID:\x20','split','in_progress','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','assetUrl','\x20\x20\x20\x20','aIfET','\x20\x20\x20','incompleteReason','offset','Showing\x20','\x20[has\x20reviewer\x20feedback]','\x0a✅\x20Session\x20is\x20already\x20completed.','daHvT','Please\x20finish\x20your\x20review\x20first:','\x20(v','luqFl','FQGOg','PYGAe','\x20--current-branch','KEwKZ','agentResponse','kNiri','nlnGg','oDvJl','\x20\x20\x20Repository:\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','OELSN','CLAUDE_SESSION_ID','\x0a✅\x20Session\x20','notes','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','\x20Session\x20','position','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','TrIgJ','browserSessionId','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','\x1b[1m','stdout','name','length','incompleteItems','nWFDw','fpEgs','active-feature.txt','iSkZF','\x20—\x20no\x20comments','...','1164416LMwTii','ready','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','scenario','push','CzCRW','QWPob','AxsRt','\x20\x20\x20Created:\x20','AAvcw','20YMRGNy','1254906XTjwMO','iOaon','items','gZjCW','arrayBuffer','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20blocked','Current\x20session\x20not\x20found.','verified','yGKmu','screenshot','selected','version','json','1|4|3|0|2|5','\x20feature\x20review(s)\x20found','toLocaleString','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','XBida','GMmTE','4qWAlUD','spatial','assetType','description','478435sGmBBp','aSEwo','\x20\x20\x20\x20\x20\x20Cancelled:\x20','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','latestReview','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','dryVl','dVKVE','stepName','limit','verification_in_progress','.png','unaddressedComments','ODhKH','qOBxk','\x0a⚠️\x20\x20','all','\x20\x20\x20Branch:\x20','5799204EBeCvP','element','toFixed','\x20\x20\x20Progress:\x20','\x20in\x20progress','assets','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','location'];_0x4801=function(){return _0x1be8e4;};return _0x4801();}import{execSync}from'child_process';import _0x351ff2 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=_0x52aa40(0x137),bold=_0x440f9e=>_0x52aa40(0x130)+_0x440f9e+'\x1b[0m';function getGitRepoUrl(){const _0x4a9884=_0x52aa40,_0xcfaa63={'Xqhoy':function(_0x2eded7,_0x3f2d6e,_0x19b4d9){return _0x2eded7(_0x3f2d6e,_0x19b4d9);},'WNzlW':'utf-8','lxrWs':_0x4a9884(0xb0),'dbalx':'github.com/'};try{const _0x58b5da=_0xcfaa63[_0x4a9884(0xc6)](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0xcfaa63['WNzlW'],'stdio':['pipe',_0xcfaa63[_0x4a9884(0x105)],'pipe']})[_0x4a9884(0xbb)]();return _0x58b5da[_0x4a9884(0xc8)](/\.git$/,'')[_0x4a9884(0xc8)](/^git@github\.com:/,_0xcfaa63[_0x4a9884(0xff)])[_0x4a9884(0xc8)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x4184b0=_0x52aa40,_0xaa6e34={'MNNWb':'utf-8','PYGAe':_0x4184b0(0xb0)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0xaa6e34['MNNWb'],'stdio':[_0x4184b0(0xb0),_0xaa6e34[_0x4184b0(0x11c)],_0x4184b0(0xb0)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x2113e6=_0x52aa40,_0x5a1182={'Sxhoz':function(_0x5c6097){return _0x5c6097();},'kNiri':function(_0x40430a,_0x5324c4){return _0x40430a(_0x5324c4);},'URiff':function(_0x19942d,_0x5a0239,_0x15147c){return _0x19942d(_0x5a0239,_0x15147c);}},_0x40999c=join(_0x5a1182['Sxhoz'](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x5a1182[_0x2113e6(0x120)](existsSync,_0x40999c))return null;try{const _0x3a38f9=await _0x5a1182['URiff'](readFile,_0x40999c,_0x2113e6(0xd7));return _0x3a38f9['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x128f55){const _0x53462a=_0x52aa40,_0x118f55={'yAEDE':function(_0x33b05d){return _0x33b05d();},'qZdLj':function(_0x53bbf6,_0x29196f){return _0x53bbf6(_0x29196f);},'zaOxL':function(_0x333b6a,_0x4a89b2,_0x47c169,_0x67d551){return _0x333b6a(_0x4a89b2,_0x47c169,_0x67d551);}},_0x458653=_0x118f55[_0x53462a(0xb8)](getRangerDir),_0x48972f=join(_0x458653,ACTIVE_FEATURE_FILE);!_0x118f55['qZdLj'](existsSync,_0x458653)&&await mkdir(_0x458653,{'recursive':!![]}),await _0x118f55['zaOxL'](writeFile,_0x48972f,_0x128f55,_0x53462a(0xd7));}function getProgressDisplay(_0x261359){const _0x32ed09=_0x52aa40,_0x212fa5={'fpEgs':function(_0x373539,_0x2fe5ae){return _0x373539+_0x2fe5ae;},'pkUVW':function(_0xfe1972,_0x5b0db1){return _0xfe1972-_0x5b0db1;},'aPVOw':function(_0x2271ac,_0x3282ac){return _0x2271ac>_0x3282ac;},'LfudB':function(_0x5947b0,_0x5be3d5){return _0x5947b0>_0x5be3d5;},'BmlKJ':function(_0x521a46,_0x34761e){return _0x521a46>_0x34761e;}},_0x1dd057=_0x261359['verifiedItems']||0x0,_0x112761=_0x261359['verificationInProgressItems']||0x0,_0x5bc553=_0x261359['blockedItems']||0x0,_0x18ce40=_0x261359[_0x32ed09(0x134)]||0x0,_0x57fa17=_0x261359['pendingItems']||0x0,_0x9b3c23=_0x212fa5[_0x32ed09(0x136)](_0x212fa5['fpEgs'](_0x1dd057+_0x112761+_0x5bc553,_0x18ce40),_0x57fa17);if(_0x9b3c23===0x0)return'-';const _0x2d0997=0xa,_0x10ee81=Math['round'](_0x1dd057/_0x9b3c23*_0x2d0997),_0x19b4dc='█'[_0x32ed09(0xbf)](_0x10ee81)+'░'[_0x32ed09(0xbf)](_0x212fa5['pkUVW'](_0x2d0997,_0x10ee81)),_0x230581=[];if(_0x212fa5['aPVOw'](_0x5bc553,0x0))_0x230581[_0x32ed09(0x13f)](_0x5bc553+_0x32ed09(0x14c));if(_0x212fa5[_0x32ed09(0xbe)](_0x18ce40,0x0))_0x230581['push'](_0x18ce40+'\x20incomplete');if(_0x212fa5['BmlKJ'](_0x112761,0x0))_0x230581[_0x32ed09(0x13f)](_0x112761+_0x32ed09(0xa3));const _0x5dc096=_0x230581['length']>0x0?'\x20('+_0x230581['join'](',\x20')+')':'';return _0x19b4dc+'\x20'+_0x1dd057+'/'+_0x9b3c23+_0x32ed09(0xe4)+_0x5dc096;}function getCurrentSessionItems(_0x3859ea,_0x44fe18){const _0x281bb8=_0x52aa40;if(!_0x3859ea['currentSessionId'])return _0x44fe18['filter'](_0x3a4efe=>!_0x3a4efe['sessionId']);return _0x44fe18['filter'](_0x23a44d=>_0x23a44d['sessionId']===_0x3859ea['currentSessionId']||!_0x23a44d[_0x281bb8(0xdf)]);}function displayFeature(_0x1f9891,_0x192135){const _0x116861=_0x52aa40,_0x42c8d6={'Uwvri':function(_0x238436,_0x217a88){return _0x238436(_0x217a88);},'duVkT':function(_0x32abf9,_0x556426){return _0x32abf9<_0x556426;},'NvyaC':_0x116861(0x14e),'qZFRr':function(_0x14bea8,_0x520c83){return _0x14bea8===_0x520c83;},'aIfET':'incomplete','luqFl':function(_0x1851e9,_0x284195){return _0x1851e9===_0x284195;},'aSEwo':'closed','VHhbp':function(_0xb8ade1,_0x3d7f41){return _0xb8ade1>_0x3d7f41;},'AAvcw':function(_0x55dec5,_0x312fdb){return _0x55dec5!==_0x312fdb;},'oEWum':function(_0x42ff87,_0xfd0d72){return _0x42ff87+_0xfd0d72;},'muYVW':function(_0xcc0848,_0x1a4074){return _0xcc0848===_0x1a4074;},'ufWhT':'approved'};console[_0x116861(0xe9)]('\x0a'+_0x1f9891[_0x116861(0x132)]+'\x20('+_0x1f9891['dashboardUrl']+')');_0x1f9891[_0x116861(0xc2)]&&console[_0x116861(0xe9)](_0x116861(0xa2)+_0x42c8d6['Uwvri'](getProgressDisplay,_0x1f9891['stats']));_0x1f9891[_0x116861(0x15d)]&&console[_0x116861(0xe9)](_0x116861(0xe2)+_0x1f9891[_0x116861(0x15d)]);_0x1f9891['gitRepoUrl']&&console[_0x116861(0xe9)](_0x116861(0x123)+_0x1f9891['gitRepoUrl']);_0x1f9891['gitBranch']&&console['log'](_0x116861(0x9e)+_0x1f9891[_0x116861(0xe8)]);console[_0x116861(0xe9)]('\x20\x20\x20Created:\x20'+new Date(_0x1f9891[_0x116861(0xd6)])[_0x116861(0x156)]());_0x1f9891['completedAt']&&console[_0x116861(0xe9)](_0x116861(0xa7)+new Date(_0x1f9891['completedAt'])[_0x116861(0x156)]());if(_0x192135&&_0x192135[_0x116861(0x133)]>0x0){console[_0x116861(0xe9)]('\x0a\x20\x20\x20Scenarios:');for(let _0x4d503d=0x0;_0x42c8d6['duVkT'](_0x4d503d,_0x192135['length']);_0x4d503d++){const _0x449a01=_0x192135[_0x4d503d];let _0x276064;if(_0x449a01[_0x116861(0x100)]==='closed'&&_0x449a01[_0x116861(0x107)]==='approved')_0x276064='✅';else{if(_0x449a01[_0x116861(0x100)]===_0x42c8d6[_0x116861(0xb9)])_0x276064='🟢';else{if(_0x42c8d6['qZFRr'](_0x449a01[_0x116861(0x100)],_0x42c8d6[_0x116861(0x110)]))_0x276064='🟠';else{if(_0x42c8d6[_0x116861(0x11a)](_0x449a01['status'],'blocked'))_0x276064='🛑';else{if(_0x42c8d6[_0x116861(0x11a)](_0x449a01[_0x116861(0x100)],_0x42c8d6[_0x116861(0x15f)]))_0x276064='⛔';else _0x449a01[_0x116861(0x100)]===_0x116861(0x169)?_0x276064='⏳':_0x276064='⬜';}}}}const _0x33f739=_0x42c8d6['VHhbp'](_0x449a01['version'],0x1)?_0x116861(0x119)+_0x449a01[_0x116861(0x152)]+')':'',_0x202674=_0x449a01[_0x116861(0x152)]>0x1&&_0x449a01['parentItemId']&&_0x449a01['status']!==_0x42c8d6['aSEwo']&&_0x42c8d6[_0x116861(0x144)](_0x449a01[_0x116861(0x100)],_0x42c8d6['NvyaC'])?_0x116861(0x115):'';console['log'](_0x116861(0x111)+_0x42c8d6[_0x116861(0x106)](_0x4d503d,0x1)+'.\x20'+_0x276064+'\x20'+_0x449a01[_0x116861(0x15d)]+_0x33f739+_0x202674);_0x449a01['status']===_0x116861(0xed)&&_0x449a01[_0x116861(0xa8)]&&console['log'](_0x116861(0xf8)+_0x449a01[_0x116861(0xa8)]);_0x449a01['status']==='incomplete'&&_0x449a01['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x449a01['incompleteReason']);if(_0x449a01[_0x116861(0x100)]===_0x42c8d6['aSEwo']&&_0x42c8d6['muYVW'](_0x449a01[_0x116861(0x107)],_0x42c8d6['ufWhT']))console[_0x116861(0xe9)]('\x20\x20\x20\x20\x20\x20Approved');else _0x449a01['status']===_0x42c8d6[_0x116861(0x15f)]&&_0x449a01['canceledReason']&&console[_0x116861(0xe9)](_0x116861(0x160)+_0x449a01['canceledReason']);}}}export async function featureCreate(_0x5152b6,_0x24afa8){const _0x513f4f=_0x52aa40,_0x55685f={'TAJGH':function(_0x5131b4,_0x50f11a){return _0x5131b4(_0x50f11a);},'zvOFv':function(_0x4726c7,_0x5b0c2a){return _0x4726c7(_0x5b0c2a);}},{envNames:_0x3f82e1}=await getEnvNames();_0x3f82e1[_0x513f4f(0x133)]===0x0&&console['warn']('\x0a'+_0x55685f[_0x513f4f(0xd1)](formatProfileRequiredMessage,_0x4395ff=>bold(_0x4395ff)));const _0x155fcf=_0x24afa8['scenarios']?_0x24afa8['scenarios'][_0x513f4f(0xce)](_0x72521e=>_0x72521e['trim']()):[],_0x34cb88=getGitRepoUrl(),_0x1b1907=getGitBranch();console[_0x513f4f(0xe9)]('\x0aCreating\x20feature\x20review...');const _0x5a0eb4=await createFeature({'name':_0x5152b6,'description':_0x24afa8['description'],'checklist':_0x155fcf,'gitRepoUrl':_0x34cb88,'gitBranch':_0x1b1907});await _0x55685f['zvOFv'](setActiveFeatureId,_0x5a0eb4['id']),await tryStartCurrentSession(_0x5a0eb4['id']);const _0x50d72e=process[_0x513f4f(0xb6)]['CLAUDE_SESSION_ID'];_0x50d72e&®isterSession(_0x50d72e,_0x5a0eb4['id']),console[_0x513f4f(0xe9)](_0x513f4f(0xf4)+_0x5a0eb4['id']),displayFeature(_0x5a0eb4,_0x5a0eb4[_0x513f4f(0xad)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x3ef56f){const _0x5824ad=_0x52aa40,_0x594d66={'iryiM':function(_0x67314e){return _0x67314e();},'YxrcD':_0x5824ad(0x163),'RBIpI':function(_0x3f5258,_0x5e56d5){return _0x3f5258>_0x5e56d5;},'GMmTE':function(_0x55ac37,_0x1f5b1d){return _0x55ac37(_0x1f5b1d);},'bxjnC':function(_0xadd3c0,_0x3866a0){return _0xadd3c0+_0x3866a0;}},_0x15d6df={'limit':_0x3ef56f[_0x5824ad(0x168)]??0xa,'offset':_0x3ef56f[_0x5824ad(0x113)]??0x0,'includeDeleted':_0x3ef56f['includeDeleted']};_0x3ef56f['currentBranch']&&(_0x15d6df[_0x5824ad(0xda)]=_0x594d66['iryiM'](getGitRepoUrl),_0x15d6df['gitBranch']=_0x594d66['iryiM'](getGitBranch));const _0x4d21a7=await listFeatures(_0x15d6df);if(_0x4d21a7[_0x5824ad(0x148)]['length']===0x0){console[_0x5824ad(0xe9)](_0x594d66['YxrcD']);return;}const _0x28fa03=_0x594d66[_0x5824ad(0xd9)](_0x4d21a7[_0x5824ad(0xcf)],_0x4d21a7[_0x5824ad(0x148)][_0x5824ad(0x133)])?_0x5824ad(0x114)+_0x4d21a7['items']['length']+'\x20of\x20'+_0x4d21a7['totalCount']:_0x4d21a7[_0x5824ad(0xcf)]+_0x5824ad(0x155);console[_0x5824ad(0xe9)]('\x0a'+_0x28fa03+':\x0a');for(const _0x45f609 of _0x4d21a7[_0x5824ad(0x148)]){const _0x3dc6e4=_0x5824ad(0x154)[_0x5824ad(0x10b)]('|');let _0x549b9d=0x0;while(!![]){switch(_0x3dc6e4[_0x549b9d++]){case'0':_0x45f609[_0x5824ad(0xe8)]&&console[_0x5824ad(0xe9)]('\x20\x20\x20Branch:\x20'+_0x45f609[_0x5824ad(0xe8)]);continue;case'1':console[_0x5824ad(0xe9)](''+_0x45f609[_0x5824ad(0x132)]);continue;case'2':console['log'](_0x5824ad(0x143)+new Date(_0x45f609['createdAt'])[_0x5824ad(0xc7)]());continue;case'3':_0x45f609['stats']&&console['log'](_0x5824ad(0xa2)+_0x594d66[_0x5824ad(0x159)](getProgressDisplay,_0x45f609[_0x5824ad(0xc2)]));continue;case'4':console['log'](_0x5824ad(0x10a)+_0x45f609['id']);continue;case'5':console['log']('');continue;}break;}}const _0x4b6a09=_0x15d6df['limit']??0xa,_0x1b9906=_0x594d66['bxjnC'](_0x15d6df['offset']??0x0,_0x4d21a7['items'][_0x5824ad(0x133)]);if(_0x1b9906<_0x4d21a7[_0x5824ad(0xcf)]){const _0x288694=_0x4b6a09!==0xa?_0x5824ad(0xba)+_0x4b6a09:'',_0x39eb71=_0x3ef56f[_0x5824ad(0xac)]?_0x5824ad(0x11d):'',_0x12a1ac=_0x3ef56f['includeDeleted']?_0x5824ad(0xfc):'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x1b9906+_0x288694+_0x39eb71+_0x12a1ac);}}export async function featureShow(_0x1afa5a){const _0xf22a48=_0x52aa40,_0x7d5108={'Foaup':function(_0x4ad436){return _0x4ad436();},'CzCRW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CIvQV':function(_0x5b9b12,_0x4c4f7d,_0x1dd1ba){return _0x5b9b12(_0x4c4f7d,_0x1dd1ba);}},_0x35dc92=_0x1afa5a||await _0x7d5108['Foaup'](getActiveFeatureId);if(!_0x35dc92)throw new Error(_0x7d5108[_0xf22a48(0x140)]);const _0x3be8d1=await getFeature(_0x35dc92);_0x7d5108['CIvQV'](displayFeature,_0x3be8d1,_0x3be8d1['checklistItems']);}export async function featureResume(_0xb20a59){const _0x5a07e2=_0x52aa40,_0x54dc5b={'QWPob':function(_0x58e92e,_0x30c0f3){return _0x58e92e(_0x30c0f3);},'qOBxk':function(_0x410e38){return _0x410e38();},'dVKVE':function(_0x2f9c16,_0x5d7f67){return _0x2f9c16(_0x5d7f67);},'lgcrd':function(_0x391480,_0x59d175){return _0x391480&&_0x59d175;},'KEwKZ':_0x5a07e2(0xdd),'MUBBR':'any','ljZXk':function(_0x567d42,_0x3ad24b){return _0x567d42||_0x3ad24b;},'jhAuL':function(_0x3bb345,_0x3cb330){return _0x3bb345===_0x3cb330;},'ppcOx':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','iOaon':_0x5a07e2(0x161),'IdUiA':'list','QgWBk':_0x5a07e2(0x151),'kkRVI':_0x5a07e2(0x13d),'RyVGx':function(_0xd6f55d,_0x3f8fbc){return _0xd6f55d!==_0x3f8fbc;},'XBida':function(_0x5b97b1,_0x21fe25,_0x5bbf55){return _0x5b97b1(_0x21fe25,_0x5bbf55);},'mPRgR':function(_0x3a8906,_0x45cf6d){return _0x3a8906(_0x45cf6d);},'iIgwF':function(_0x5c62e7,_0x41ae35){return _0x5c62e7(_0x41ae35);}};if(_0xb20a59){const _0x1ad9fe=await _0x54dc5b['QWPob'](getFeature,_0xb20a59);await _0x54dc5b[_0x5a07e2(0x141)](setActiveFeatureId,_0x1ad9fe['id']);const _0x4edb8e=_0x54dc5b[_0x5a07e2(0x9b)](getGitBranch);_0x4edb8e&&_0x4edb8e!==_0x1ad9fe[_0x5a07e2(0xe8)]&&(await updateFeature(_0x1ad9fe['id'],{'gitBranch':_0x4edb8e}),console['log'](_0x5a07e2(0xb2)+_0x4edb8e));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x1ad9fe[_0x5a07e2(0x132)]+'\x20('+_0x1ad9fe['id']+')'),await tryStartCurrentSession(_0x1ad9fe['id']);const _0x2a34d3=process[_0x5a07e2(0xb6)][_0x5a07e2(0x126)];_0x2a34d3&®isterSession(_0x2a34d3,_0x1ad9fe['id']);displayFeature(_0x1ad9fe,_0x1ad9fe[_0x5a07e2(0xad)]),await _0x54dc5b[_0x5a07e2(0x166)](printFeedbackNudge,_0x1ad9fe['id']);return;}const _0x44e5ca=getGitRepoUrl(),_0x280ce4=_0x54dc5b[_0x5a07e2(0x9b)](getGitBranch);if(_0x54dc5b['lgcrd'](!_0x44e5ca,!_0x280ce4))throw new Error(_0x54dc5b[_0x5a07e2(0x11e)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x44e5ca||_0x54dc5b[_0x5a07e2(0xfa)])+'\x20/\x20'+_0x54dc5b[_0x5a07e2(0x109)](_0x280ce4,_0x5a07e2(0xdb))+_0x5a07e2(0x13a));const _0x37580c=await listFeatures({'gitRepoUrl':_0x44e5ca,'gitBranch':_0x280ce4}),_0x24436b=_0x37580c[_0x5a07e2(0x148)][_0x5a07e2(0xbd)](_0x352bd0=>!_0x352bd0['completedAt']);if(_0x24436b['length']===0x0){console['log'](_0x5a07e2(0x14b)),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x3b1194;if(_0x54dc5b['jhAuL'](_0x24436b['length'],0x1))_0x3b1194=_0x24436b[0x0];else{const _0x21ff87=process['stdin']['isTTY']&&process[_0x5a07e2(0x131)]['isTTY'];if(!_0x21ff87){console[_0x5a07e2(0xe9)](_0x54dc5b['ppcOx']);for(const _0x4a3094 of _0x24436b){console[_0x5a07e2(0xe9)]('\x20\x20'+_0x4a3094['name']),console[_0x5a07e2(0xe9)](_0x5a07e2(0xd2)+_0x4a3094['id']),_0x4a3094[_0x5a07e2(0xc2)]&&console[_0x5a07e2(0xe9)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4a3094[_0x5a07e2(0xc2)])),_0x4a3094[_0x5a07e2(0xe8)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x4a3094[_0x5a07e2(0xe8)]);}throw new Error(_0x54dc5b[_0x5a07e2(0x147)]);}const {selected:_0x5abdd2}=await _0x351ff2['prompt']([{'type':_0x54dc5b['IdUiA'],'name':_0x54dc5b['QgWBk'],'message':_0x54dc5b['kkRVI'],'choices':_0x24436b['map'](_0x4c6c90=>({'name':_0x4c6c90['name']+'\x20('+_0x4c6c90['id']+')','value':_0x4c6c90['id']}))}]);_0x3b1194=_0x24436b['find'](_0x6ea0dc=>_0x6ea0dc['id']===_0x5abdd2);}await _0x54dc5b['QWPob'](setActiveFeatureId,_0x3b1194['id']);_0x280ce4&&_0x54dc5b['RyVGx'](_0x280ce4,_0x3b1194[_0x5a07e2(0xe8)])&&(await _0x54dc5b[_0x5a07e2(0x158)](updateFeature,_0x3b1194['id'],{'gitBranch':_0x280ce4}),console[_0x5a07e2(0xe9)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x280ce4));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3b1194[_0x5a07e2(0x132)]+'\x20('+_0x3b1194['id']+')'),await _0x54dc5b['mPRgR'](tryStartCurrentSession,_0x3b1194['id']);const _0x31cda5=await _0x54dc5b[_0x5a07e2(0xe1)](getFeature,_0x3b1194['id']),_0x2bddb0=process['env']['CLAUDE_SESSION_ID'];_0x2bddb0&&_0x54dc5b['XBida'](registerSession,_0x2bddb0,_0x31cda5['id']),displayFeature(_0x31cda5,_0x31cda5[_0x5a07e2(0xad)]),await _0x54dc5b[_0x5a07e2(0xe7)](printFeedbackNudge,_0x31cda5['id']);}async function printFeedbackNudge(_0x4f0d05){const _0x5e3594=_0x52aa40,_0x1749b0={'YmTjI':function(_0x3f2053,_0x2d816c){return _0x3f2053(_0x2d816c);},'OELSN':function(_0x1cc40c,_0x2ad9cd,_0x35beec){return _0x1cc40c(_0x2ad9cd,_0x35beec);},'ngfCg':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x5bb9c0}=await _0x1749b0['YmTjI'](getActionItems,_0x4f0d05);let _0x139311=0x0,_0x1a306c=0x0;for(const _0x391b7a of _0x5bb9c0){const _0xd47551=await _0x1749b0[_0x5e3594(0x125)](getItemFeedback,_0x4f0d05,_0x391b7a['id']);_0xd47551['unaddressedComments'][_0x5e3594(0x133)]>0x0&&(_0x139311+=_0xd47551['unaddressedComments'][_0x5e3594(0x133)],_0x1a306c++);}_0x139311>0x0&&(console[_0x5e3594(0xe9)](_0x5e3594(0x9c)+_0x139311+_0x5e3594(0x12f)+_0x1a306c+'\x20scenario(s).'),console[_0x5e3594(0xe9)](_0x1749b0['ngfCg']));}catch{}}async function tryStartCurrentSession(_0x13b233){const _0x52c015=_0x52aa40,_0x577a23={'uEZSr':function(_0x51ad28,_0x7070f,_0x2cb04d){return _0x51ad28(_0x7070f,_0x2cb04d);}};try{const {sessions:_0x2915bc}=await listFeatureSessions(_0x13b233),_0x467fa7=_0x2915bc['find'](_0x27fab6=>_0x27fab6[_0x52c015(0x100)]===_0x52c015(0x13c));_0x467fa7&&(await _0x577a23['uEZSr'](startSession,_0x13b233,_0x467fa7['id']),console[_0x52c015(0xe9)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x467fa7[_0x52c015(0xcd)]));}catch{}}export async function featureReport(_0x19aa7f,_0x38310a){const _0x4932e8=_0x52aa40,_0x3a8bd8={'vZbMj':function(_0x1af288,_0x547112,_0x62828f){return _0x1af288(_0x547112,_0x62828f);},'xEgXm':_0x4932e8(0xb1),'VGqhj':function(_0x119ef2,_0x16ae1e){return _0x119ef2(_0x16ae1e);}},_0x3813f2=_0x19aa7f||await getActiveFeatureId();if(!_0x3813f2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x4932e8(0xe9)]('\x0aGenerating\x20report...');const _0x7260d0=await _0x3a8bd8['vZbMj'](getFeatureReportMarkdown,_0x3813f2,{'style':_0x38310a['style']}),_0x53cc97=_0x38310a['output']||join(getRangerDir(),_0x3a8bd8['xEgXm'],_0x3813f2+'.md'),_0x49a492=join(_0x53cc97,'..');!_0x3a8bd8[_0x4932e8(0xea)](existsSync,_0x49a492)&&await mkdir(_0x49a492,{'recursive':!![]}),await writeFile(_0x53cc97,_0x7260d0,'utf-8'),console[_0x4932e8(0xe9)]('\x0a✅\x20Report\x20generated:\x20'+_0x53cc97);}function getScenarioResult(_0x383fe1){const _0x3afdb2=_0x52aa40,_0x7407b0={'XClUN':'closed'};if(_0x383fe1[_0x3afdb2(0x100)]===_0x7407b0['XClUN'])return _0x383fe1['terminalReason']??'closed';if(_0x383fe1[_0x3afdb2(0x100)]===_0x3afdb2(0x169))return _0x3afdb2(0x10c);return _0x383fe1['status'];}function getScenarioRationale(_0x3548a6,_0x1bc556){const _0x4a2429=_0x52aa40;if(_0x1bc556)return _0x1bc556;if(_0x3548a6[_0x4a2429(0xa8)])return _0x3548a6['blockedReason'];if(_0x3548a6['incompleteReason'])return _0x3548a6[_0x4a2429(0x112)];if(_0x3548a6['canceledReason'])return _0x3548a6[_0x4a2429(0xf6)];if(_0x3548a6[_0x4a2429(0x128)])return _0x3548a6[_0x4a2429(0x128)];return null;}export async function featureReportPrDescription(_0x2e9e98,_0x112159){const _0x16b806=_0x52aa40,_0x18d2d4={'dkazi':function(_0x190803){return _0x190803();},'AxsRt':_0x16b806(0xab),'TSYZk':function(_0x4afb9e,_0x6e0fb6){return _0x4afb9e(_0x6e0fb6);},'snwhU':function(_0x57eb8e,_0xf4f500,_0x2d03b4){return _0x57eb8e(_0xf4f500,_0x2d03b4);},'yGKmu':function(_0x7a4637,_0x46281a){return _0x7a4637>_0x46281a;},'ddMLx':'\x0aAvailable\x20scenarios:','daHvT':function(_0x12bd96,_0x28ab7e){return _0x12bd96+_0x28ab7e;},'ODhKH':_0x16b806(0x124),'dryVl':function(_0xd01d93,_0xab9b35,_0x167acd){return _0xd01d93(_0xab9b35,_0x167acd);}},_0xa38d0=_0x2e9e98||await _0x18d2d4['dkazi'](getActiveFeatureId);if(!_0xa38d0)throw new Error(_0x18d2d4[_0x16b806(0x142)]);const _0x5e0c04=await _0x18d2d4['TSYZk'](getFeature,_0xa38d0),_0x481783=_0x5e0c04['checklistItems']||[],_0xe0d8fc=_0x18d2d4['snwhU'](getCurrentSessionItems,_0x5e0c04,_0x481783);_0xe0d8fc[_0x16b806(0x133)]===0x0&&(console[_0x16b806(0xdc)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x58027e=_0x112159['excludeScenarios']??[],_0xc92f83=_0x58027e['filter'](_0x16ad39=>!Number[_0x16b806(0xf1)](_0x16ad39)||_0x16ad39<0x1||_0x16ad39>_0xe0d8fc['length']);if(_0x18d2d4[_0x16b806(0x14f)](_0xc92f83[_0x16b806(0x133)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0xc92f83['join'](',\x20')),console[_0x16b806(0xe9)](_0x18d2d4[_0x16b806(0xf3)]);for(let _0x5c19c5=0x0;_0x5c19c5<_0xe0d8fc['length'];_0x5c19c5++){console['log']('\x20\x20'+_0x18d2d4[_0x16b806(0x117)](_0x5c19c5,0x1)+'.\x20'+_0xe0d8fc[_0x5c19c5][_0x16b806(0x15d)]);}process['exit'](0x1);}const _0x5c4a54=new Set(_0x58027e['map'](_0x502db9=>_0x502db9-0x1)),_0x4f2ab3=_0xe0d8fc['filter']((_0x147a07,_0x105594)=>!_0x5c4a54[_0x16b806(0xc3)](_0x105594));_0x4f2ab3['length']===0x0&&(console[_0x16b806(0xdc)](_0x18d2d4[_0x16b806(0x16c)]),process[_0x16b806(0xe3)](0x1));if(_0x112159[_0x16b806(0x153)])await outputJsonReport(_0xa38d0,_0x5e0c04,_0x4f2ab3);else{const _0x10add1=await _0x18d2d4[_0x16b806(0x165)](getFeatureReportMarkdown,_0xa38d0,{'itemIds':_0x4f2ab3[_0x16b806(0xce)](_0xbfeaa0=>_0xbfeaa0['id'])});process['stdout'][_0x16b806(0x104)](_0x10add1['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x193f45,_0x4fc28f,_0x18a9fd){const _0x3a9f1b=_0x52aa40,_0x2db521={'PGqEC':function(_0xeec905,_0x3c3acc){return _0xeec905(_0x3c3acc);},'uQhiB':function(_0x1e66d1,_0x17eb62,_0x90247a){return _0x1e66d1(_0x17eb62,_0x90247a);},'jKpJf':function(_0x53b041){return _0x53b041();}},_0x5d5496=_0x2db521[_0x3a9f1b(0xc0)](getApiBaseUrl),_0x34f140=await getFeatureReport(_0x193f45),_0x533b02=new Map(_0x34f140['checklistItems'][_0x3a9f1b(0xce)](_0x32bfd0=>[_0x32bfd0['id'],_0x32bfd0])),_0x2f1451=await Promise[_0x3a9f1b(0x9d)](_0x18a9fd['map'](async _0x27ebfb=>{const _0x458114=_0x3a9f1b,_0x4add16=_0x533b02[_0x458114(0xec)](_0x27ebfb['id']),_0x287e96=_0x4add16?.['linkedSession']??null;let _0x3885ac=[];if(_0x27ebfb[_0x458114(0x12e)])try{const {steps:_0x4b4b6b}=await _0x2db521['PGqEC'](getBrowserSessionSteps,_0x27ebfb[_0x458114(0x12e)]);_0x4b4b6b[_0x458114(0x133)]>0x0&&(_0x3885ac=_0x4b4b6b[_0x458114(0xce)](_0x18e0b1=>{const _0x46d526=_0x458114,_0x77e83b=_0x18e0b1[_0x46d526(0xa4)]['find'](_0x2ed1e9=>_0x2ed1e9['assetType']==='screenshot'&&_0x2ed1e9['timing']==='after')??_0x18e0b1[_0x46d526(0xa4)][_0x46d526(0xd3)](_0x316acf=>_0x316acf[_0x46d526(0x15c)]===_0x46d526(0x150));let _0x57d96c=null,_0x1cf0d5=null;if(_0x77e83b){const _0x7a7a1d=_0x77e83b[_0x46d526(0xc1)][_0x46d526(0xa6)][_0x46d526(0x10b)]('/')[_0x46d526(0xfe)]();_0x57d96c=_0x5d5496+'/api/v1/mcp/browser-sessions/'+_0x27ebfb[_0x46d526(0x12e)]+_0x46d526(0xb7)+_0x7a7a1d,_0x7a7a1d&&(_0x1cf0d5=_0x7a7a1d['replace'](/\.\w+$/,'')[_0x46d526(0xc8)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x1cf0d5||_0x18e0b1['description']||_0x18e0b1[_0x46d526(0x167)]||_0x46d526(0xe6)+_0x18e0b1[_0x46d526(0x12b)],'screenshot':_0x57d96c,'is_key_step':_0x18e0b1[_0x46d526(0xf9)]};}));}catch{}return _0x3885ac[_0x458114(0x133)]===0x0&&_0x287e96?.['screenshotUrls']&&(_0x3885ac=_0x287e96['screenshotUrls']['map']((_0xd7c94,_0x2a21c4)=>({'description':'Screenshot\x20'+(_0x2a21c4+0x1),'screenshot':_0xd7c94,'is_key_step':![]}))),{'description':_0x27ebfb[_0x458114(0x15d)],'result':_0x2db521[_0x458114(0xe5)](getScenarioResult,_0x27ebfb),'rationale':_0x2db521[_0x458114(0xc5)](getScenarioRationale,_0x27ebfb,_0x287e96?.[_0x458114(0x11f)]),'steps':_0x3885ac};})),_0x2e5c48={'url':_0x4fc28f[_0x3a9f1b(0xf5)],'scenarios':_0x2f1451};process['stdout'][_0x3a9f1b(0x104)](JSON[_0x3a9f1b(0xcb)](_0x2e5c48,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x667649){const _0x711dce=_0x52aa40,_0x5e5845={'pPAme':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','AyIuI':function(_0x202e6,_0x56ec90){return _0x202e6(_0x56ec90);},'qvqVr':function(_0x2b7d4d,_0x501afa){return _0x2b7d4d(_0x501afa);},'PrELt':'completed','VxZkS':_0x711dce(0x116),'nplzl':function(_0x4c45e2,_0x503287){return _0x4c45e2!==_0x503287;},'PvKNj':_0x711dce(0x10c),'vnxjj':_0x711dce(0xca)},_0x3504ca=_0x667649||await getActiveFeatureId();if(!_0x3504ca)throw new Error(_0x5e5845['pPAme']);const _0x511181=await _0x5e5845['AyIuI'](getFeature,_0x3504ca);if(!_0x511181[_0x711dce(0xcc)])throw new Error(_0x711dce(0xd0));const {sessions:_0x5d4532}=await _0x5e5845['qvqVr'](listFeatureSessions,_0x3504ca),_0x506fd3=_0x5d4532['find'](_0x28320e=>_0x28320e['id']===_0x511181[_0x711dce(0xcc)]);if(!_0x506fd3)throw new Error(_0x711dce(0x14d));if(_0x506fd3[_0x711dce(0x100)]===_0x5e5845['PrELt']){console['log'](_0x5e5845['VxZkS']);return;}if(_0x5e5845['nplzl'](_0x506fd3[_0x711dce(0x100)],_0x5e5845['PvKNj']))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x506fd3[_0x711dce(0x100)]);console[_0x711dce(0xe9)](_0x5e5845['vnxjj']),await concludeSession(_0x3504ca,_0x511181[_0x711dce(0xcc)]),console[_0x711dce(0xe9)](_0x711dce(0x127)+_0x506fd3['iteration']+'\x20concluded.'),console['log'](_0x711dce(0xa5));}export async function featureSessions(_0x2f94bb){const _0x5d229a=_0x52aa40,_0x1f472a={'oDvJl':function(_0x20aa06){return _0x20aa06();},'wcyBz':_0x5d229a(0xab),'FNwps':function(_0x228093,_0x2636df){return _0x228093(_0x2636df);},'FQGOg':function(_0x57e35c,_0x56f58f){return _0x57e35c===_0x56f58f;},'nDVhV':'No\x20sessions\x20found.','xbgnj':_0x5d229a(0xfd)},_0x2edf6e=_0x2f94bb||await _0x1f472a[_0x5d229a(0x122)](getActiveFeatureId);if(!_0x2edf6e)throw new Error(_0x1f472a[_0x5d229a(0x101)]);const _0x541a6e=await _0x1f472a['FNwps'](getFeature,_0x2edf6e);console[_0x5d229a(0xe9)](_0x5d229a(0x129)+_0x541a6e[_0x5d229a(0x132)]+'\x0a');const {sessions:_0x926c9c}=await listFeatureSessions(_0x2edf6e);if(_0x1f472a[_0x5d229a(0x11b)](_0x926c9c[_0x5d229a(0x133)],0x0)){console[_0x5d229a(0xe9)](_0x1f472a[_0x5d229a(0xc4)]);return;}for(const _0x5cc236 of _0x926c9c){const _0x5a022a=_0x1f472a[_0x5d229a(0x11b)](_0x5cc236['status'],_0x1f472a['xbgnj'])?'✅':_0x1f472a[_0x5d229a(0x11b)](_0x5cc236[_0x5d229a(0x100)],_0x5d229a(0x10c))?'🔄':'▶️';console[_0x5d229a(0xe9)](_0x5a022a+_0x5d229a(0x12a)+_0x5cc236['iteration']+'\x20('+_0x5cc236['id']+')'),console[_0x5d229a(0xe9)]('\x20\x20\x20Status:\x20'+_0x5cc236[_0x5d229a(0x100)]),console[_0x5d229a(0xe9)](_0x5d229a(0x143)+new Date(_0x5cc236['createdAt'])[_0x5d229a(0x156)]()),_0x5cc236[_0x5d229a(0xd4)]&&console[_0x5d229a(0xe9)]('\x20\x20\x20Completed:\x20'+new Date(_0x5cc236['completedAt'])[_0x5d229a(0x156)]()),console[_0x5d229a(0xe9)]('');}}export async function featureAddScenario(_0x3f9f17,_0x1f0899){const _0x7c43cc=_0x52aa40,_0x179890={'HHzel':function(_0x1f4663,_0xe9e312,_0x34f334){return _0x1f4663(_0xe9e312,_0x34f334);},'NacUS':function(_0x53f3b5,_0x5521b8,_0x550971){return _0x53f3b5(_0x5521b8,_0x550971);}},_0x45ca56=_0x1f0899||await getActiveFeatureId();if(!_0x45ca56)throw new Error(_0x7c43cc(0x12c));const _0x29fbb9=await getFeature(_0x45ca56);if(_0x29fbb9['latestReview']&&!_0x29fbb9[_0x7c43cc(0x162)][_0x7c43cc(0xf7)])throw new Error(_0x7c43cc(0x10d)+_0x29fbb9[_0x7c43cc(0xf5)]);await _0x179890[_0x7c43cc(0xf0)](createChecklistItem,_0x45ca56,_0x3f9f17);const _0x4f22a7=await getFeature(_0x45ca56);console['log'](_0x7c43cc(0xfb)),_0x179890['NacUS'](displayFeature,_0x4f22a7,_0x4f22a7['checklistItems']);}export async function featureEditScenario(_0x3f7682,_0x5bd19c){const _0x709338=_0x52aa40,_0x4e87a3={'CibwD':function(_0x426b2c,_0x28d7cd){return _0x426b2c(_0x28d7cd);},'AKTby':_0x709338(0x157),'gZjCW':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','UprUb':function(_0xe1fb36,_0x422908){return _0xe1fb36+_0x422908;},'dzRde':function(_0x26dd33,_0x569cfb){return _0x26dd33-_0x569cfb;},'HZxPF':function(_0x265234,_0x198dae){return _0x265234>=_0x198dae;},'nlnGg':'\x0aAvailable\x20scenarios:','nWFDw':function(_0x144ad8,_0x20a5fe,_0x6233a4){return _0x144ad8(_0x20a5fe,_0x6233a4);}},_0x24e669=_0x5bd19c['id']||await getActiveFeatureId();!_0x24e669&&(console[_0x709338(0xdc)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x3db6df=await _0x4e87a3['CibwD'](getFeature,_0x24e669);_0x3db6df[_0x709338(0x162)]&&!_0x3db6df['latestReview'][_0x709338(0xf7)]&&(console[_0x709338(0xdc)](_0x4e87a3['AKTby']),console['error'](_0x709338(0x118)),console[_0x709338(0xdc)]('\x20\x20'+_0x3db6df[_0x709338(0xf5)]),process[_0x709338(0xe3)](0x1));const _0x407176=_0x3db6df['checklistItems']||[];_0x407176['length']===0x0&&(console[_0x709338(0xdc)](_0x4e87a3[_0x709338(0x149)]),process[_0x709338(0xe3)](0x1));if(_0x5bd19c[_0x709338(0x13e)]===undefined){console['error'](_0x709338(0xc9)),console[_0x709338(0xe9)]('\x0aAvailable\x20scenarios:');for(let _0x58b2da=0x0;_0x58b2da<_0x407176['length'];_0x58b2da++){console[_0x709338(0xe9)]('\x20\x20'+_0x4e87a3['UprUb'](_0x58b2da,0x1)+'.\x20'+_0x407176[_0x58b2da]['description']);}process['exit'](0x1);}const _0x2aba00=_0x4e87a3['dzRde'](_0x5bd19c['scenario'],0x1);if(_0x2aba00<0x0||_0x4e87a3[_0x709338(0xeb)](_0x2aba00,_0x407176['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5bd19c['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x407176[_0x709338(0x133)]+'\x20scenarios.'),console[_0x709338(0xe9)](_0x4e87a3[_0x709338(0x121)]);for(let _0x3209ad=0x0;_0x3209ad<_0x407176[_0x709338(0x133)];_0x3209ad++){console[_0x709338(0xe9)]('\x20\x20'+(_0x3209ad+0x1)+'.\x20'+_0x407176[_0x3209ad]['description']);}process[_0x709338(0xe3)](0x1);}const _0x38ad9e=_0x407176[_0x2aba00];await updateChecklistItem(_0x24e669,_0x38ad9e['id'],{'description':_0x3f7682});const _0x3a13c1=await getFeature(_0x24e669);console['log']('\x0a✅\x20Scenario\x20updated'),_0x4e87a3[_0x709338(0x135)](displayFeature,_0x3a13c1,_0x3a13c1['checklistItems']);}async function downloadFeedbackImage(_0x166fda,_0x1906b7){const _0x4c3192=_0x52aa40,_0x232ff9={'JdGNE':function(_0x2ff221){return _0x2ff221();},'BBijt':'feedback-images','uECJK':function(_0x4bcf69,_0x50d7be){return _0x4bcf69(_0x50d7be);},'bFeiF':function(_0x130a7a,_0x136002,_0x4beb8f){return _0x130a7a(_0x136002,_0x4beb8f);}};try{const _0x2fd21c=join(_0x232ff9[_0x4c3192(0xa9)](getRangerDir),_0x232ff9['BBijt']);await mkdir(_0x2fd21c,{'recursive':!![]});const _0x5b6f6d=join(_0x2fd21c,_0x4c3192(0xef)+_0x1906b7+_0x4c3192(0x16a)),_0x3fb0fb=await _0x232ff9['uECJK'](fetch,_0x166fda);if(!_0x3fb0fb['ok'])return null;const _0x5c349d=Buffer['from'](await _0x3fb0fb[_0x4c3192(0x14a)]());return await _0x232ff9['bFeiF'](writeFile,_0x5b6f6d,_0x5c349d),_0x5b6f6d;}catch{return null;}}export async function featureGetReview(_0x346aeb){const _0x1057dd=_0x52aa40,_0x2c0c20={'OshcQ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HGfAW':function(_0x8b652d,_0x53519f){return _0x8b652d(_0x53519f);},'JfkpT':function(_0x55bc24,_0x430542){return _0x55bc24<_0x430542;},'iSkZF':function(_0x1c3c66,_0x1fdb8c){return _0x1c3c66>_0x1fdb8c;},'uEtQe':function(_0x393c08,_0x126d3c,_0x528844){return _0x393c08(_0x126d3c,_0x528844);},'PhJDY':'short','gmYXZ':_0x1057dd(0xa0),'oGNuO':function(_0x6ca4c7,_0x124bc6){return _0x6ca4c7+_0x124bc6;}},_0x3b1c65=_0x346aeb||await getActiveFeatureId();if(!_0x3b1c65)throw new Error(_0x2c0c20['OshcQ']);const _0x4b8ae8=await _0x2c0c20['HGfAW'](getFeature,_0x3b1c65),{items:_0x339f30}=await getActionItems(_0x3b1c65);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x4b8ae8[_0x1057dd(0x132)]+'\x20('+_0x4b8ae8['id']+')\x0a');if(_0x339f30['length']===0x0){console[_0x1057dd(0xe9)]('No\x20scenarios\x20found.');return;}for(let _0x49552c=0x0;_0x2c0c20[_0x1057dd(0xf2)](_0x49552c,_0x339f30[_0x1057dd(0x133)]);_0x49552c++){const _0xfd2d7b=_0x339f30[_0x49552c],_0x1cc87a=_0x2c0c20[_0x1057dd(0x138)](_0xfd2d7b[_0x1057dd(0x152)],0x1)?'\x20(v'+_0xfd2d7b['version']+')':'',_0x68420f=await _0x2c0c20['uEtQe'](getItemFeedback,_0x3b1c65,_0xfd2d7b['id']);if(_0x68420f[_0x1057dd(0x16b)]['length']>0x0){console[_0x1057dd(0xe9)](_0x1057dd(0xaf)+(_0x49552c+0x1)+_0x1057dd(0x102)+_0xfd2d7b[_0x1057dd(0x15d)]+'\x22'+_0x1cc87a+'\x20—\x20'+_0x68420f[_0x1057dd(0x16b)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x1f83ae of _0x68420f['unaddressedComments']){const _0x22771a=new Date(_0x1f83ae[_0x1057dd(0xd6)])[_0x1057dd(0xc7)]('en-US',{'month':_0x2c0c20['PhJDY'],'day':'numeric'}),_0xaa8780=_0x1f83ae['authorName']||_0x1f83ae['authorEmail']||'Unknown';console[_0x1057dd(0xe9)]('\x20\x20💬\x20'+_0xaa8780+'\x20('+_0x22771a+'):\x20\x22'+_0x1f83ae['content']+'\x22');if(_0x1f83ae[_0x1057dd(0x10e)]){const _0x29fb6c=await downloadFeedbackImage(_0x1f83ae[_0x1057dd(0x10e)],_0x1f83ae['id']);_0x29fb6c&&console['log'](_0x1057dd(0xaa)+_0x29fb6c);}if(_0x1f83ae['domRef']){const _0x3c98bf=_0x1f83ae['domRef'][_0x1057dd(0xe0)][_0x1057dd(0x10b)](_0x1057dd(0xde))['pop']()?.['split'](':')[0x0]||_0x2c0c20['gmYXZ'],_0x5853dc=_0x1f83ae[_0x1057dd(0x108)][_0x1057dd(0xd5)]?'\x20\x22'+_0x1f83ae[_0x1057dd(0x108)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3c98bf+'>'+_0x5853dc),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x1f83ae['domRef']['selector']);}else{if(_0x1f83ae[_0x1057dd(0x15b)]){const _0x325aee=_0x1f83ae['spatial']['coordinates'];_0x1f83ae[_0x1057dd(0x15b)]['type']==='point'&&_0x325aee['length']>=0x2?console[_0x1057dd(0xe9)](_0x1057dd(0x164)+_0x325aee[0x0]['toFixed'](0x2)+',\x20'+_0x325aee[0x1]['toFixed'](0x2)+')'):console[_0x1057dd(0xe9)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x1f83ae['spatial']['type']+'\x20at\x20['+_0x325aee['map'](_0x4161f0=>_0x4161f0[_0x1057dd(0xa1)](0x2))['join'](',\x20')+']');}}}if(_0x68420f['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x42586a of _0x68420f['canonicalFlow']['split']('\x0a')){console[_0x1057dd(0xe9)](_0x1057dd(0x10f)+_0x42586a);}}}else console[_0x1057dd(0xe9)](_0x1057dd(0xaf)+_0x2c0c20['oGNuO'](_0x49552c,0x1)+':\x20\x22'+_0xfd2d7b['description']+'\x22'+_0x1cc87a+_0x1057dd(0x139)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x1057dd(0xe9)]('');}}export async function featureDelete(_0x1ae1af){const _0x57aab8=_0x52aa40,_0x5b08c7={'TrIgJ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x55e2fc=_0x1ae1af||await getActiveFeatureId();if(!_0x55e2fc)throw new Error(_0x5b08c7[_0x57aab8(0x12d)]);const _0x39ebc8=await getFeature(_0x55e2fc);await softDeleteFeature(_0x55e2fc),console[_0x57aab8(0xe9)](_0x57aab8(0x103)+_0x39ebc8['name']+'\x20('+_0x55e2fc+')'),console[_0x57aab8(0xe9)](_0x57aab8(0xb4)+_0x55e2fc);}export async function featureRestore(_0x12e61a){const _0x178f83=_0x52aa40,_0xff0f6a={'icDZB':function(_0x39784c,_0x32881c){return _0x39784c(_0x32881c);},'qTAJP':function(_0x3ceda2,_0x42c034,_0x43165f){return _0x3ceda2(_0x42c034,_0x43165f);}};await restoreFeature(_0x12e61a);const _0x16e569=await _0xff0f6a['icDZB'](getFeature,_0x12e61a);console['log'](_0x178f83(0xbc)+_0x16e569['name']+'\x20('+_0x12e61a+')'),_0xff0f6a[_0x178f83(0xae)](displayFeature,_0x16e569,_0x16e569[_0x178f83(0xad)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x55fb(){const _0x3c8a27=['once','128SQOmgr','94128VjHuSv','Valid\x20hooks:\x20','22500tJdWhP','4864pJmByI','6651hOvAvF','7062377tXmuhZ','33STLgnX','85480xUfFnz','wVlzs','exit','keys','2385890EBwhFq','355qTjYFh','error','SIGHUP','162762mPcSTo','Unknown\x20hook:\x20','join','SIGTERM'];_0x55fb=function(){return _0x3c8a27;};return _0x55fb();}(function(_0x3e3926,_0x34110e){const _0x5add77=_0xa963,_0x2895d7=_0x3e3926();while(!![]){try{const _0x19fcc1=-parseInt(_0x5add77(0x13a))/0x1+parseInt(_0x5add77(0x12d))/0x2+-parseInt(_0x5add77(0x133))/0x3*(-parseInt(_0x5add77(0x132))/0x4)+parseInt(_0x5add77(0x12a))/0x5*(-parseInt(_0x5add77(0x135))/0x6)+parseInt(_0x5add77(0x138))/0x7+-parseInt(_0x5add77(0x136))/0x8*(parseInt(_0x5add77(0x137))/0x9)+parseInt(_0x5add77(0x129))/0xa*(-parseInt(_0x5add77(0x139))/0xb);if(_0x19fcc1===_0x34110e)break;else _0x2895d7['push'](_0x2895d7['shift']());}catch(_0x5e7044){_0x2895d7['push'](_0x2895d7['shift']());}}}(_0x55fb,0x8cfeb));function _0xa963(_0xc1efab,_0x1cb72b){_0xc1efab=_0xc1efab-0x129;const _0x55fb39=_0x55fb();let _0xa963b8=_0x55fb39[_0xc1efab];return _0xa963b8;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x29863b=_0xa963,_0x1eebd5={'wVlzs':_0x29863b(0x12c)};if(cancellationHandlersInstalled)return;const _0xab80d8=()=>{const _0x48ca2a=_0x29863b;process[_0x48ca2a(0x13c)](0x0);};process['once']('SIGINT',_0xab80d8),process[_0x29863b(0x131)](_0x29863b(0x130),_0xab80d8),process[_0x29863b(0x131)](_0x1eebd5[_0x29863b(0x13b)],_0xab80d8),cancellationHandlersInstalled=!![];}export async function hook(_0x25ae60,_0x19dc80){const _0x1e6029=_0xa963,_0x43f588={'jfEWZ':function(_0x525878,_0x17fed2){return _0x525878(_0x17fed2);}};installCancellationHandlers();const _0x589f0d=HOOKS[_0x25ae60];if(!_0x589f0d){const _0x2acc32=Object[_0x1e6029(0x13d)](HOOKS)[_0x1e6029(0x12f)](',\x20');console[_0x1e6029(0x12b)](_0x1e6029(0x12e)+_0x25ae60),console['error'](_0x1e6029(0x134)+_0x2acc32),process[_0x1e6029(0x13c)](0x1);}await _0x43f588['jfEWZ'](_0x589f0d,_0x19dc80);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x52f93e,_0x407084){const _0x19b6a1=_0x473b,_0x32fb3f=_0x52f93e();while(!![]){try{const _0x113b59=parseInt(_0x19b6a1(0xd6))/0x1+parseInt(_0x19b6a1(0xde))/0x2+-parseInt(_0x19b6a1(0xdc))/0x3+parseInt(_0x19b6a1(0xdb))/0x4*(parseInt(_0x19b6a1(0xd5))/0x5)+-parseInt(_0x19b6a1(0xd7))/0x6+-parseInt(_0x19b6a1(0xda))/0x7*(parseInt(_0x19b6a1(0xdd))/0x8)+parseInt(_0x19b6a1(0xdf))/0x9*(parseInt(_0x19b6a1(0xe0))/0xa);if(_0x113b59===_0x407084)break;else _0x32fb3f['push'](_0x32fb3f['shift']());}catch(_0x207e00){_0x32fb3f['push'](_0x32fb3f['shift']());}}}(_0x597f,0x52cf5));function _0x473b(_0x4eb181,_0x541828){_0x4eb181=_0x4eb181-0xd5;const _0x597f85=_0x597f();let _0x473b92=_0x597f85[_0x4eb181];return _0x473b92;}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 _0x597f(){const _0x2b1458=['3530238LcYfNR','session_id','PhDBh','228529VHAcLa','8SNZUbt','142665LoocFq','152zcBchk','358894hQWBeY','7389918wNPSQu','10fctVjP','341995MrcbCV','458063DxpWli'];_0x597f=function(){return _0x2b1458;};return _0x597f();}export async function autoPrompt(){const _0x4d17be=_0x473b,_0x56881f={'PhDBh':function(_0x251811){return _0x251811();},'RjHwg':function(_0xf926bc,_0x465cee){return _0xf926bc(_0x465cee);}},_0x13189d=await _0x56881f[_0x4d17be(0xd9)](readHookInput),_0x2c607e=_0x13189d?.[_0x4d17be(0xd8)];if(!_0x2c607e)return;if(_0x56881f['RjHwg'](isSessionEnabled,_0x2c607e)||hasSessionBeenPrompted(_0x2c607e))return;markSessionPrompted(_0x2c607e),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2b905e,_0x26b554){const _0x273ab2=_0x5a08,_0x262bce=_0x2b905e();while(!![]){try{const _0xa54200=-parseInt(_0x273ab2(0x200))/0x1*(parseInt(_0x273ab2(0x1f9))/0x2)+parseInt(_0x273ab2(0x1fc))/0x3*(-parseInt(_0x273ab2(0x1f4))/0x4)+parseInt(_0x273ab2(0x1fd))/0x5*(parseInt(_0x273ab2(0x201))/0x6)+-parseInt(_0x273ab2(0x1fa))/0x7*(-parseInt(_0x273ab2(0x1f5))/0x8)+parseInt(_0x273ab2(0x1fb))/0x9+-parseInt(_0x273ab2(0x1f8))/0xa+-parseInt(_0x273ab2(0x1fe))/0xb*(-parseInt(_0x273ab2(0x1f6))/0xc);if(_0xa54200===_0x26b554)break;else _0x262bce['push'](_0x262bce['shift']());}catch(_0x509ccd){_0x262bce['push'](_0x262bce['shift']());}}}(_0x3e90,0x8da9c));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x5a08(_0x63f06a,_0x296aac){_0x63f06a=_0x63f06a-0x1f4;const _0x3e907a=_0x3e90();let _0x5a0856=_0x3e907a[_0x63f06a];return _0x5a0856;}function _0x3e90(){const _0x453c6d=['86212atasTx','3068960koPEhR','192KTlWhX','CLAUDE_SESSION_ID','11137950fWlVqg','385670ONgdjQ','14RRizcN','3848580vhFiOE','57ZhlxgB','1353035iRNJvn','836407sNRNSl','.\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`.','3qREvYH','6dhxoQF','master'];_0x3e90=function(){return _0x453c6d;};return _0x3e90();}import{printBlock}from'./output.js';export async function disable(_0x3cc36c){const _0x58bd4c=_0x5a08,_0x574ec9={'BOilP':function(_0x4e5d37){return _0x4e5d37();}},_0x3a8e17=_0x3cc36c||process['env'][_0x58bd4c(0x1f7)]||'';_0x3a8e17&&disableSession(_0x3a8e17);const _0xb9ab24=_0x574ec9['BOilP'](getCurrentBranch);_0xb9ab24&&_0xb9ab24!=='main'&&_0xb9ab24!==_0x58bd4c(0x202)&&disableBranch(_0xb9ab24),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0xb9ab24&&_0xb9ab24!=='main'&&_0xb9ab24!==_0x58bd4c(0x202)?'\x20and\x20branch\x20\x27'+_0xb9ab24+'\x27':'')+_0x58bd4c(0x1ff));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2b97(_0x1a4935,_0x9a62e2){_0x1a4935=_0x1a4935-0x134;const _0x457694=_0x4576();let _0x2b97f5=_0x457694[_0x1a4935];return _0x2b97f5;}function _0x4576(){const _0x3a965f=['obFWw','bWlzh','ranger\x20setup\x20--opencode','master','795496abWeTL','8625sUiJpu','2143758mGfVnn','#\x20RANGER\x20ENABLED','jeRcx','cjEUJ','YVQsm','\x0a\x0a**Branch\x20\x27','574lhmPTL','10kkGpxG','env','508772ySzMLd','1491237vLmMvX','280500sWajyu','SYBOV','9448tePXuq','46JNYuxB'];_0x4576=function(){return _0x3a965f;};return _0x4576();}(function(_0x3ab716,_0x1b8471){const _0x557e0f=_0x2b97,_0x4187e4=_0x3ab716();while(!![]){try{const _0x2f9697=parseInt(_0x557e0f(0x144))/0x1+-parseInt(_0x557e0f(0x134))/0x2*(-parseInt(_0x557e0f(0x13a))/0x3)+parseInt(_0x557e0f(0x139))/0x4*(parseInt(_0x557e0f(0x142))/0x5)+-parseInt(_0x557e0f(0x13b))/0x6+parseInt(_0x557e0f(0x141))/0x7*(-parseInt(_0x557e0f(0x148))/0x8)+-parseInt(_0x557e0f(0x145))/0x9+parseInt(_0x557e0f(0x146))/0xa;if(_0x2f9697===_0x1b8471)break;else _0x4187e4['push'](_0x4187e4['shift']());}catch(_0x4bf60d){_0x4187e4['push'](_0x4187e4['shift']());}}}(_0x4576,0x5cfc3));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(_0x160b36){const _0x123fb3=_0x2b97,_0x17f621={'wkQCx':_0x123fb3(0x137),'YVQsm':'ranger\x20setup','bWlzh':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','obFWw':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','jWFhB':function(_0x237086,_0x3acae1){return _0x237086(_0x3acae1);},'cjEUJ':function(_0x3dd83b){return _0x3dd83b();},'jeRcx':function(_0x2a030a,_0x4eaffe){return _0x2a030a!==_0x4eaffe;},'SYBOV':function(_0x31da64,_0x3d4621){return _0x31da64!==_0x3d4621;}},_0x15f039=_0x160b36||process[_0x123fb3(0x143)]['CLAUDE_SESSION_ID']||'',_0x4fa058=Boolean(_0x160b36),_0x5c37d9=await getToken();if(!_0x5c37d9){const _0xe9a252=_0x4fa058?_0x17f621['wkQCx']:_0x17f621[_0x123fb3(0x13f)],_0x1b350c=_0x4fa058?_0x17f621[_0x123fb3(0x136)]:_0x17f621[_0x123fb3(0x135)];_0x17f621['jWFhB'](printBlock,'#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0xe9a252+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x1b350c);return;}try{await update();}catch{}_0x15f039&&enableSession(_0x15f039);const _0x2849c8=_0x17f621[_0x123fb3(0x13e)](getCurrentBranch),_0x3c35ef=_0x2849c8&&_0x17f621[_0x123fb3(0x13d)](_0x2849c8,'main')&&_0x17f621[_0x123fb3(0x147)](_0x2849c8,_0x123fb3(0x138))?_0x123fb3(0x140)+_0x2849c8+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x5c42a4=getRangerSkillContent();printBlock(_0x123fb3(0x13c)+_0x3c35ef+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x5c42a4+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2b71(_0x63eb77,_0xd5283c){_0x63eb77=_0x63eb77-0xdf;const _0xdd2a65=_0xdd2a();let _0x2b7152=_0xdd2a65[_0x63eb77];return _0x2b7152;}(function(_0x4edbd4,_0x565d0e){const _0x198c8d=_0x2b71,_0x29b165=_0x4edbd4();while(!![]){try{const _0x47252c=-parseInt(_0x198c8d(0xe0))/0x1+parseInt(_0x198c8d(0xe7))/0x2*(parseInt(_0x198c8d(0xdf))/0x3)+-parseInt(_0x198c8d(0xe5))/0x4+-parseInt(_0x198c8d(0xe3))/0x5+parseInt(_0x198c8d(0xe2))/0x6+parseInt(_0x198c8d(0xe1))/0x7+-parseInt(_0x198c8d(0xe4))/0x8*(parseInt(_0x198c8d(0xe6))/0x9);if(_0x47252c===_0x565d0e)break;else _0x29b165['push'](_0x29b165['shift']());}catch(_0x4f1319){_0x29b165['push'](_0x29b165['shift']());}}}(_0xdd2a,0x9849f));function _0xdd2a(){const _0x177e76=['42116EKXnAS','141oNvndT','400108ldJpIU','1676458NWDfyX','3108582nDnubL','1711005albhHL','162312jkvBDS','551060ImtACy','108ByiSsa'];_0xdd2a=function(){return _0x177e76;};return _0xdd2a();}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x981806){const _0xd8f1b9={'wHXJy':function(_0x10d305,_0xb8bf0c){return _0x10d305(_0xb8bf0c);}},_0xbe93df=await _0xd8f1b9['wHXJy'](getEnabledSessionId,_0x981806);if(!_0xbe93df)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 _0x4a99(){var _0x248e1d=['2251995gIjMls','4234311cnyyaW','111006waVfiz','5317376bCrVDo','3970chgtFi','54626PdYYyK','3692xPoUWv','198TyDnuB','786532fDKPbY','3dhRiTu','192oQIozH'];_0x4a99=function(){return _0x248e1d;};return _0x4a99();}(function(_0x210b20,_0xefca86){var _0x5acba2=_0x655f,_0xddfea=_0x210b20();while(!![]){try{var _0x5c5138=-parseInt(_0x5acba2(0x97))/0x1*(parseInt(_0x5acba2(0x90))/0x2)+parseInt(_0x5acba2(0x8f))/0x3*(-parseInt(_0x5acba2(0x8e))/0x4)+-parseInt(_0x5acba2(0x91))/0x5+-parseInt(_0x5acba2(0x98))/0x6*(-parseInt(_0x5acba2(0x93))/0x7)+-parseInt(_0x5acba2(0x94))/0x8+-parseInt(_0x5acba2(0x92))/0x9+parseInt(_0x5acba2(0x95))/0xa*(parseInt(_0x5acba2(0x96))/0xb);if(_0x5c5138===_0xefca86)break;else _0xddfea['push'](_0xddfea['shift']());}catch(_0x6bd162){_0xddfea['push'](_0xddfea['shift']());}}}(_0x4a99,0x57739));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';function _0x655f(_0x200a29,_0x4503bd){_0x200a29=_0x200a29-0x8e;var _0x4a99a8=_0x4a99();var _0x655f50=_0x4a99a8[_0x200a29];return _0x655f50;}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xb5e5a0,_0x2c0656){const _0x490db1=_0x3dc9,_0x136773=_0xb5e5a0();while(!![]){try{const _0x2816de=parseInt(_0x490db1(0x19d))/0x1+-parseInt(_0x490db1(0x1a2))/0x2+parseInt(_0x490db1(0x1a3))/0x3+-parseInt(_0x490db1(0x19b))/0x4+parseInt(_0x490db1(0x19a))/0x5+-parseInt(_0x490db1(0x199))/0x6*(-parseInt(_0x490db1(0x19f))/0x7)+parseInt(_0x490db1(0x19c))/0x8;if(_0x2816de===_0x2c0656)break;else _0x136773['push'](_0x136773['shift']());}catch(_0x3c23ba){_0x136773['push'](_0x136773['shift']());}}}(_0x300e,0x7989a));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x300e(){const _0x30dc3b=['MAnhG','7gEXjfC','hDdka','trim','1643940PSNPVE','1136235NfMkuY','1246602GCtZxq','967300kYyusI','1784316DsEsXw','419672ZzgCVZ','933436VCucmU'];_0x300e=function(){return _0x30dc3b;};return _0x300e();}function _0x3dc9(_0x1e358e,_0x259160){_0x1e358e=_0x1e358e-0x199;const _0x300e20=_0x300e();let _0x3dc930=_0x300e20[_0x1e358e];return _0x3dc930;}export function printBlock(_0x57d04c){console['log'](_0x57d04c);}export async function readHookInput(){const _0x2580db=_0x3dc9;let _0x3e9906='';try{for await(const _0x3a67b0 of process['stdin']){_0x3e9906+=_0x3a67b0;}}catch{return null;}if(!_0x3e9906[_0x2580db(0x1a1)]())return null;try{return JSON['parse'](_0x3e9906);}catch{return null;}}export async function getEnabledSessionId(_0x3b2f7b){const _0x2be459={'DmBNy':function(_0x55fa2e,_0x3e1160){return _0x55fa2e(_0x3e1160);}};if(_0x3b2f7b)return isSessionEnabled(_0x3b2f7b)?_0x3b2f7b:null;const _0x483f54=await readHookInput(),_0x2dd1e4=_0x483f54?.['session_id'];if(!_0x2dd1e4||!_0x2be459['DmBNy'](isSessionEnabled,_0x2dd1e4))return null;return _0x2dd1e4;}export async function getEnabledHookContext(_0x202b94){const _0x647cbc=_0x3dc9,_0x712d7d={'MAnhG':function(_0x1390ee,_0x2d8249){return _0x1390ee(_0x2d8249);},'hDdka':function(_0x2c8f2b,_0x16fe6a){return _0x2c8f2b(_0x16fe6a);}};if(_0x202b94){if(!_0x712d7d[_0x647cbc(0x19e)](isSessionEnabled,_0x202b94))return null;return{'sessionId':_0x202b94,'input':{'session_id':_0x202b94}};}const _0x142ced=await readHookInput(),_0x1dd25e=_0x142ced?.['session_id'];if(!_0x1dd25e||!_0x712d7d[_0x647cbc(0x1a0)](isSessionEnabled,_0x1dd25e))return null;return{'sessionId':_0x1dd25e,'input':_0x142ced};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x40da30,_0x35e18e){const _0x5edc04=_0x350f,_0x3fda58=_0x40da30();while(!![]){try{const _0x5bd5fa=-parseInt(_0x5edc04(0x72))/0x1*(-parseInt(_0x5edc04(0x6a))/0x2)+-parseInt(_0x5edc04(0x76))/0x3*(-parseInt(_0x5edc04(0x6f))/0x4)+-parseInt(_0x5edc04(0x75))/0x5*(parseInt(_0x5edc04(0x70))/0x6)+-parseInt(_0x5edc04(0x71))/0x7*(-parseInt(_0x5edc04(0x73))/0x8)+parseInt(_0x5edc04(0x6d))/0x9+-parseInt(_0x5edc04(0x69))/0xa+parseInt(_0x5edc04(0x77))/0xb*(parseInt(_0x5edc04(0x78))/0xc);if(_0x5bd5fa===_0x35e18e)break;else _0x3fda58['push'](_0x3fda58['shift']());}catch(_0x162d12){_0x3fda58['push'](_0x3fda58['shift']());}}}(_0x1608,0xe2e19));function _0x350f(_0x192fe3,_0x14ecbd){_0x192fe3=_0x192fe3-0x69;const _0x1608a7=_0x1608();let _0x350ff8=_0x1608a7[_0x192fe3];return _0x350ff8;}import{printBlock,getEnabledHookContext}from'./output.js';function _0x1608(){const _0x3e6113=['1094061RwLStR','143uaJwWY','862044BlxMYm','18502360yxUxYm','2HxRpuI','permission_mode','PRYrl','15337170QqxdYD','===\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===','4HieHVB','59322rEGVdU','7lOAwOK','1168093afqtsO','1288072sbwvAZ','plan','785BDbaMo'];_0x1608=function(){return _0x3e6113;};return _0x1608();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4164ef){const _0x21b963=_0x350f,_0x1aebc4={'PRYrl':_0x21b963(0x74)},_0x59086d=await getEnabledHookContext(_0x4164ef);if(!_0x59086d)return;if(_0x59086d['input'][_0x21b963(0x6b)]!==_0x1aebc4[_0x21b963(0x6c)])return;if(!shouldShowPlanReminder(_0x59086d['sessionId']))return;printBlock(_0x21b963(0x6e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4ae0(){const _0x53435f=['94020mYxKsA','784KIOQLR','483540zhUInd','405GfstKa','32166nsErkf','98488HaUxEt','4670dLfmFv','4lVhOOf','251305kilgVW','1371692DYIDRl','16258EshUCZ'];_0x4ae0=function(){return _0x53435f;};return _0x4ae0();}function _0x4027(_0xf72cc5,_0x509dbb){_0xf72cc5=_0xf72cc5-0x68;const _0x4ae0ea=_0x4ae0();let _0x40279a=_0x4ae0ea[_0xf72cc5];return _0x40279a;}(function(_0xe53049,_0x20a3b3){const _0x4932c1=_0x4027,_0x3e5954=_0xe53049();while(!![]){try{const _0x36e79a=parseInt(_0x4932c1(0x70))/0x1+parseInt(_0x4932c1(0x6e))/0x2+parseInt(_0x4932c1(0x72))/0x3+-parseInt(_0x4932c1(0x6c))/0x4*(-parseInt(_0x4932c1(0x6d))/0x5)+-parseInt(_0x4932c1(0x69))/0x6*(-parseInt(_0x4932c1(0x71))/0x7)+parseInt(_0x4932c1(0x6a))/0x8*(-parseInt(_0x4932c1(0x68))/0x9)+parseInt(_0x4932c1(0x6b))/0xa*(-parseInt(_0x4932c1(0x6f))/0xb);if(_0x36e79a===_0x20a3b3)break;else _0x3e5954['push'](_0x3e5954['shift']());}catch(_0x30ac21){_0x3e5954['push'](_0x3e5954['shift']());}}}(_0x4ae0,0x54d7e));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x8f7631){const _0x4d6e2e=await getEnabledSessionId(_0x8f7631);if(!_0x4d6e2e)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4aa333,_0x34b61c){const _0x8193da=_0x14ba,_0x49c9de=_0x4aa333();while(!![]){try{const _0x1ddf7f=-parseInt(_0x8193da(0xcc))/0x1*(parseInt(_0x8193da(0xc6))/0x2)+-parseInt(_0x8193da(0xd0))/0x3+-parseInt(_0x8193da(0xc8))/0x4*(parseInt(_0x8193da(0xc4))/0x5)+-parseInt(_0x8193da(0xc3))/0x6*(parseInt(_0x8193da(0xcb))/0x7)+parseInt(_0x8193da(0xc9))/0x8*(-parseInt(_0x8193da(0xce))/0x9)+parseInt(_0x8193da(0xca))/0xa+parseInt(_0x8193da(0xcd))/0xb;if(_0x1ddf7f===_0x34b61c)break;else _0x49c9de['push'](_0x49c9de['shift']());}catch(_0x306579){_0x49c9de['push'](_0x49c9de['shift']());}}}(_0x2649,0x91f38));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x14ba(_0x230251,_0x4cc706){_0x230251=_0x230251-0xc0;const _0x2649c0=_0x2649();let _0x14ba1e=_0x2649c0[_0x230251];return _0x14ba1e;}import{getEnabledSessionId}from'./output.js';function _0x2649(){const _0xb265af=['20419zkmFgU','271GkXCZI','33496826aemwTd','8667mYTzRa','Bemvq','2851347iWiwTO','hZWqI','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).','PostToolUse','1878SLylhI','211555ulGYzc','stringify','916COxwUD','KYEpQ','76woHGYa','232dGsbUc','3720740LRcodL'];_0x2649=function(){return _0xb265af;};return _0x2649();}export async function postEdit(_0x4653cc){const _0x5a6f96=_0x14ba,_0x3bc6c2={'KYEpQ':function(_0x143270,_0x42f995){return _0x143270(_0x42f995);},'hZWqI':function(_0x24111c,_0xe9b1d8){return _0x24111c(_0xe9b1d8);},'Bemvq':function(_0x5c2ff1){return _0x5c2ff1();},'SbgbV':'PostToolUse'},_0x27ee56=await _0x3bc6c2[_0x5a6f96(0xc7)](getEnabledSessionId,_0x4653cc);if(!_0x27ee56)return;_0x3bc6c2[_0x5a6f96(0xc0)](updateBranchTracking,_0x27ee56);const _0x30963d=await _0x3bc6c2[_0x5a6f96(0xcf)](getToken);if(!_0x30963d)return;const _0xf5a4d2=_0x3bc6c2['KYEpQ'](getSessionEntry,_0x27ee56);if(_0xf5a4d2){const _0x233fd1={'hookSpecificOutput':{'hookEventName':_0x5a6f96(0xc2),'additionalContext':_0x5a6f96(0xc1)}};console['log'](JSON[_0x5a6f96(0xc5)](_0x233fd1));return;}const _0x1ee4db={'hookSpecificOutput':{'hookEventName':_0x3bc6c2['SbgbV'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x1ee4db));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xf68585,_0x45beab){const _0x400045=_0x5a1a,_0x44cc5b=_0xf68585();while(!![]){try{const _0x1cbf4d=parseInt(_0x400045(0x108))/0x1+-parseInt(_0x400045(0x10c))/0x2*(parseInt(_0x400045(0x109))/0x3)+-parseInt(_0x400045(0x10d))/0x4*(parseInt(_0x400045(0x110))/0x5)+-parseInt(_0x400045(0x10a))/0x6+-parseInt(_0x400045(0x10f))/0x7+-parseInt(_0x400045(0x10e))/0x8*(-parseInt(_0x400045(0x107))/0x9)+parseInt(_0x400045(0x111))/0xa;if(_0x1cbf4d===_0x45beab)break;else _0x44cc5b['push'](_0x44cc5b['shift']());}catch(_0x9cc68c){_0x44cc5b['push'](_0x44cc5b['shift']());}}}(_0x4116,0x43c97));function _0x5a1a(_0x350bf4,_0x1434b4){_0x350bf4=_0x350bf4-0x107;const _0x4116ec=_0x4116();let _0x5a1a21=_0x4116ec[_0x350bf4];return _0x5a1a21;}function _0x4116(){const _0x4f832b=['76OIPfsH','1885272tsQkww','3781736QYUKZZ','136215orkymg','15675030SZRhGt','18kMhfxH','145792RUQWOA','451476dspGoT','2385702DEMVwv','fHFjB','6HNWBBC'];_0x4116=function(){return _0x4f832b;};return _0x4116();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2adb30){const _0x24d692=_0x5a1a,_0x5aa3d4={'fHFjB':function(_0x24c033,_0x6e9dde){return _0x24c033(_0x6e9dde);},'zjLoX':function(_0x1fbbe4){return _0x1fbbe4();},'RKZuh':function(_0x16d38a,_0x294397){return _0x16d38a(_0x294397);}},_0x4621b7=await _0x5aa3d4[_0x24d692(0x10b)](getEnabledSessionId,_0x2adb30);if(!_0x4621b7)return;try{const _0x267924=await _0x5aa3d4['zjLoX'](getToken);if(!_0x267924)return;_0x5aa3d4['RKZuh'](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xe8a1(_0x5d20d9,_0xb82698){_0x5d20d9=_0x5d20d9-0xeb;const _0x3282d1=_0x3282();let _0xe8a132=_0x3282d1[_0x5d20d9];return _0xe8a132;}(function(_0x1ecede,_0x3e1e7c){const _0x3c5227=_0xe8a1,_0x36e9d5=_0x1ecede();while(!![]){try{const _0x2812c2=parseInt(_0x3c5227(0xef))/0x1+-parseInt(_0x3c5227(0xeb))/0x2+-parseInt(_0x3c5227(0xec))/0x3+parseInt(_0x3c5227(0xf2))/0x4+-parseInt(_0x3c5227(0xf3))/0x5+parseInt(_0x3c5227(0xf4))/0x6*(parseInt(_0x3c5227(0xf5))/0x7)+parseInt(_0x3c5227(0xed))/0x8;if(_0x2812c2===_0x3e1e7c)break;else _0x36e9d5['push'](_0x36e9d5['shift']());}catch(_0x233679){_0x36e9d5['push'](_0x36e9d5['shift']());}}}(_0x3282,0x8b4ef));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x3282(){const _0x18dccd=['1886385nXrtFB','1001820OjDFtR','35DOwtZE','session_id','1916112GAKyIs','1468101lyEawq','10435768ufTMdQ','env','105948kTrgOu','HWMAu','reason','600152fgzOQY'];_0x3282=function(){return _0x18dccd;};return _0x3282();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x942e73){const _0x4e4494=_0xe8a1,_0x380c58={'ApvZn':function(_0x44da2c){return _0x44da2c();},'HWMAu':'clear'},_0x36de91=process[_0x4e4494(0xee)]['CLAUDE_SESSION_ID'];let _0x370b08=_0x942e73,_0x448639;if(!_0x942e73){if(_0x36de91&&!isSessionEnabled(_0x36de91))return;const _0x2b6466=await _0x380c58['ApvZn'](readHookInput);_0x370b08=_0x2b6466?.[_0x4e4494(0xf6)]||_0x36de91,_0x448639=_0x2b6466?.[_0x4e4494(0xf1)];}if(!_0x370b08)return;_0x448639===_0x380c58[_0x4e4494(0xf0)]&&recordEnabledSessionCleared(_0x370b08);}
|