@ranger-testing/ranger-cli 2.5.4-alpha.36a12ca-10 → 2.5.4-alpha.5f9facb-17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -14
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +24 -8
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +35 -10
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x48552e=_0x94bc;(function(_0x499508,_0x1e5a2b){const _0x3d9048=_0x94bc,_0x516fa7=_0x499508();while(!![]){try{const _0x2250de=parseInt(_0x3d9048(0x150))/0x1+-parseInt(_0x3d9048(0x19d))/0x2*(-parseInt(_0x3d9048(0x113))/0x3)+-parseInt(_0x3d9048(0x126))/0x4*(parseInt(_0x3d9048(0x187))/0x5)+parseInt(_0x3d9048(0x101))/0x6*(parseInt(_0x3d9048(0xe5))/0x7)+-parseInt(_0x3d9048(0x142))/0x8*(parseInt(_0x3d9048(0x13a))/0x9)+parseInt(_0x3d9048(0xcf))/0xa*(parseInt(_0x3d9048(0xd7))/0xb)+-parseInt(_0x3d9048(0xf5))/0xc;if(_0x2250de===_0x1e5a2b)break;else _0x516fa7['push'](_0x516fa7['shift']());}catch(_0x5e8ff3){_0x516fa7['push'](_0x516fa7['shift']());}}}(_0x1bb3,0xbb244));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x8c3609 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x48552e(0x16f),bold=_0x32db3a=>_0x48552e(0xf8)+_0x32db3a+'\x1b[0m';function getGitRepoUrl(){const _0x20183a=_0x48552e,_0x5cb2c5={'YfNkv':function(_0xe8e4ec,_0x5d8d70,_0x8da28c){return _0xe8e4ec(_0x5d8d70,_0x8da28c);},'aIiEh':'git\x20remote\x20get-url\x20origin','QKkyi':'pipe'};try{const _0x45c6d1=_0x5cb2c5[_0x20183a(0x186)](execSync,_0x5cb2c5[_0x20183a(0x11b)],{'encoding':'utf-8','stdio':['pipe',_0x5cb2c5['QKkyi'],_0x20183a(0xf6)]})[_0x20183a(0x10e)]();return _0x45c6d1[_0x20183a(0x122)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x20183a(0x102))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x109bb2=_0x48552e,_0x50f301={'wlvno':function(_0x196acb,_0x33f7b5,_0x127641){return _0x196acb(_0x33f7b5,_0x127641);},'VBSMv':'utf-8'};try{return _0x50f301['wlvno'](execSync,_0x109bb2(0xc9),{'encoding':_0x50f301[_0x109bb2(0x137)],'stdio':['pipe',_0x109bb2(0xf6),_0x109bb2(0xf6)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1c4603=_0x48552e,_0x50dbd9={'gsQsA':function(_0x3f4cfb){return _0x3f4cfb();},'kxRfi':_0x1c4603(0xfa)},_0x55df1e=join(_0x50dbd9[_0x1c4603(0x1a5)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x55df1e))return null;try{const _0x101682=await readFile(_0x55df1e,_0x50dbd9['kxRfi']);return _0x101682[_0x1c4603(0x10e)]()||null;}catch{return null;}}function _0x94bc(_0x17baea,_0x1c4fae){_0x17baea=_0x17baea-0xc3;const _0x1bb3a9=_0x1bb3();let _0x94bc7f=_0x1bb3a9[_0x17baea];return _0x94bc7f;}async function setActiveFeatureId(_0x1a2da1){const _0x2520d2=_0x48552e,_0x2726a0={'loiWD':function(_0x2b87b5){return _0x2b87b5();},'sqMPq':function(_0x8b550c,_0x528eb0){return _0x8b550c(_0x528eb0);},'QdvgH':function(_0x57a93a,_0x408521,_0x5c5618){return _0x57a93a(_0x408521,_0x5c5618);},'rulIh':_0x2520d2(0xfa)},_0xaf371b=_0x2726a0['loiWD'](getRangerDir),_0x2c192b=join(_0xaf371b,ACTIVE_FEATURE_FILE);!_0x2726a0['sqMPq'](existsSync,_0xaf371b)&&await _0x2726a0['QdvgH'](mkdir,_0xaf371b,{'recursive':!![]}),await writeFile(_0x2c192b,_0x1a2da1,_0x2726a0[_0x2520d2(0x18c)]);}function getProgressDisplay(_0x1a0c13){const _0xf5e535=_0x48552e,_0x404ac8={'bMWJb':function(_0xc49e3f,_0x1e3d93){return _0xc49e3f+_0x1e3d93;},'JkKlE':function(_0x2271e0,_0x31b77f){return _0x2271e0/_0x31b77f;},'kQRpx':function(_0x2026c2,_0x1b10cf){return _0x2026c2>_0x1b10cf;}},_0x4d2101=_0x1a0c13['verifiedItems']||0x0,_0x552fa7=_0x1a0c13['verificationInProgressItems']||0x0,_0x4aeb15=_0x1a0c13[_0xf5e535(0xec)]||0x0,_0x2a77f9=_0x1a0c13[_0xf5e535(0x193)]||0x0,_0x1b43a0=_0x1a0c13[_0xf5e535(0x11a)]||0x0,_0x3ee44c=_0x404ac8['bMWJb'](_0x404ac8[_0xf5e535(0x183)](_0x4d2101+_0x552fa7,_0x4aeb15)+_0x2a77f9,_0x1b43a0);if(_0x3ee44c===0x0)return'-';const _0x2c90df=0xa,_0x186e98=Math[_0xf5e535(0x123)](_0x404ac8[_0xf5e535(0x19b)](_0x4d2101,_0x3ee44c)*_0x2c90df),_0x13fcdd=_0x404ac8['bMWJb']('█'['repeat'](_0x186e98),'░'['repeat'](_0x2c90df-_0x186e98)),_0x7ac38f=[];if(_0x404ac8['kQRpx'](_0x4aeb15,0x0))_0x7ac38f['push'](_0x4aeb15+_0xf5e535(0x130));if(_0x404ac8[_0xf5e535(0xdd)](_0x2a77f9,0x0))_0x7ac38f['push'](_0x2a77f9+_0xf5e535(0x121));if(_0x404ac8[_0xf5e535(0xdd)](_0x552fa7,0x0))_0x7ac38f[_0xf5e535(0xe9)](_0x552fa7+_0xf5e535(0x19e));const _0x51fbec=_0x7ac38f[_0xf5e535(0x188)]>0x0?'\x20('+_0x7ac38f['join'](',\x20')+')':'';return _0x13fcdd+'\x20'+_0x4d2101+'/'+_0x3ee44c+'\x20verified'+_0x51fbec;}function getCurrentSessionItems(_0x29c170,_0xdc078b){const _0x4b29c2=_0x48552e;if(!_0x29c170['currentSessionId'])return _0xdc078b['filter'](_0x58cb9f=>!_0x58cb9f['sessionId']);return _0xdc078b['filter'](_0x3f8f99=>_0x3f8f99[_0x4b29c2(0x181)]===_0x29c170['currentSessionId']||!_0x3f8f99[_0x4b29c2(0x181)]);}function displayFeature(_0x446f0c,_0x15a04a){const _0x34fdb4=_0x48552e,_0x17a1b1={'wbcOy':'\x0a\x20\x20\x20Scenarios:','jCvTb':function(_0x22478b,_0xde2f4e){return _0x22478b<_0xde2f4e;},'LrGHH':_0x34fdb4(0x192),'OSTmj':function(_0x49e4df,_0x1d4146){return _0x49e4df===_0x1d4146;},'fdqgb':function(_0x1900bb,_0x128197){return _0x1900bb===_0x128197;},'fjUaj':'verified','pwefr':function(_0x484988,_0x2628b8){return _0x484988===_0x2628b8;},'pfypM':'incomplete','PULiq':_0x34fdb4(0xe8),'fwGls':function(_0x19f785,_0x33fba2){return _0x19f785>_0x33fba2;},'EVhZY':function(_0x216bcb,_0x385b9b){return _0x216bcb!==_0x385b9b;},'tWkGg':'\x20[has\x20reviewer\x20feedback]','SBZRG':function(_0x1d8aec,_0x1887cd){return _0x1d8aec===_0x1887cd;},'DudCu':_0x34fdb4(0x160),'bZAEY':function(_0x4fbd14,_0x2b8f2a){return _0x4fbd14===_0x2b8f2a;},'ORNBU':function(_0x2a71da,_0x58cda3){return _0x2a71da===_0x58cda3;},'IjVbJ':'approved','rchcY':function(_0x466416,_0x51376d){return _0x466416===_0x51376d;}};console[_0x34fdb4(0xff)]('\x0a'+_0x446f0c[_0x34fdb4(0x11e)]+'\x20('+_0x446f0c[_0x34fdb4(0x195)]+')');_0x446f0c['stats']&&console[_0x34fdb4(0xff)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x446f0c[_0x34fdb4(0xfb)]));_0x446f0c[_0x34fdb4(0xe3)]&&console['log']('\x20\x20\x20Description:\x20'+_0x446f0c[_0x34fdb4(0xe3)]);_0x446f0c[_0x34fdb4(0xef)]&&console['log'](_0x34fdb4(0x133)+_0x446f0c[_0x34fdb4(0xef)]);_0x446f0c[_0x34fdb4(0x176)]&&console['log'](_0x34fdb4(0x109)+_0x446f0c['gitBranch']);console[_0x34fdb4(0xff)](_0x34fdb4(0xf7)+new Date(_0x446f0c['createdAt'])[_0x34fdb4(0xe1)]());_0x446f0c[_0x34fdb4(0x19c)]&&console[_0x34fdb4(0xff)](_0x34fdb4(0x170)+new Date(_0x446f0c['completedAt'])[_0x34fdb4(0xe1)]());if(_0x15a04a&&_0x15a04a['length']>0x0){console['log'](_0x17a1b1['wbcOy']);for(let _0x252186=0x0;_0x17a1b1['jCvTb'](_0x252186,_0x15a04a['length']);_0x252186++){const _0x19c758=_0x15a04a[_0x252186];let _0x20c06d;if(_0x19c758['status']===_0x17a1b1[_0x34fdb4(0x107)]&&_0x17a1b1['OSTmj'](_0x19c758['terminalReason'],'approved'))_0x20c06d='✅';else{if(_0x17a1b1[_0x34fdb4(0x14c)](_0x19c758['status'],_0x17a1b1['fjUaj']))_0x20c06d='🟢';else{if(_0x17a1b1[_0x34fdb4(0xeb)](_0x19c758[_0x34fdb4(0xcc)],_0x17a1b1['pfypM']))_0x20c06d='🟠';else{if(_0x19c758[_0x34fdb4(0xcc)]==='blocked')_0x20c06d='🛑';else{if(_0x19c758['status']===_0x17a1b1['LrGHH'])_0x20c06d='⛔';else _0x19c758['status']===_0x17a1b1['PULiq']?_0x20c06d='⏳':_0x20c06d='⬜';}}}}const _0x3af39f=_0x19c758[_0x34fdb4(0xc3)]>0x1?_0x34fdb4(0xf3)+_0x19c758['version']+')':'',_0x2ddeb1=_0x17a1b1[_0x34fdb4(0xd9)](_0x19c758[_0x34fdb4(0xc3)],0x1)&&_0x19c758[_0x34fdb4(0x16c)]&&_0x17a1b1[_0x34fdb4(0xea)](_0x19c758[_0x34fdb4(0xcc)],_0x34fdb4(0x192))&&_0x17a1b1[_0x34fdb4(0xea)](_0x19c758[_0x34fdb4(0xcc)],'verified')?_0x17a1b1[_0x34fdb4(0x108)]:'';console['log'](_0x34fdb4(0xf0)+(_0x252186+0x1)+'.\x20'+_0x20c06d+'\x20'+_0x19c758[_0x34fdb4(0xe3)]+_0x3af39f+_0x2ddeb1);_0x17a1b1['SBZRG'](_0x19c758[_0x34fdb4(0xcc)],_0x17a1b1[_0x34fdb4(0xe6)])&&_0x19c758[_0x34fdb4(0x196)]&&console['log'](_0x34fdb4(0x18e)+_0x19c758['blockedReason']);_0x19c758[_0x34fdb4(0xcc)]===_0x34fdb4(0x13b)&&_0x19c758['incompleteReason']&&console['log'](_0x34fdb4(0x171)+_0x19c758[_0x34fdb4(0xca)]);if(_0x17a1b1[_0x34fdb4(0x103)](_0x19c758['status'],_0x17a1b1[_0x34fdb4(0x107)])&&_0x17a1b1[_0x34fdb4(0x15c)](_0x19c758[_0x34fdb4(0x191)],_0x17a1b1[_0x34fdb4(0x10c)]))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x17a1b1[_0x34fdb4(0x18a)](_0x19c758['status'],_0x17a1b1[_0x34fdb4(0x107)])&&_0x19c758[_0x34fdb4(0x17e)]&&console[_0x34fdb4(0xff)](_0x34fdb4(0x10b)+_0x19c758[_0x34fdb4(0x17e)]);}}}export async function featureCreate(_0x55449c,_0x4c7a04){const _0x85715f=_0x48552e,_0x541c2a={'GaOur':function(_0x8f349f){return _0x8f349f();},'YLfCu':function(_0x1c57f5,_0x2cf434){return _0x1c57f5===_0x2cf434;},'MvhqS':function(_0x322841,_0x257fb1){return _0x322841(_0x257fb1);},'duvdR':function(_0x2e2266){return _0x2e2266();}},{envNames:_0x354db9}=await getEnvNames();if(_0x354db9['length']===0x0&&!process[_0x85715f(0x1a7)]['RANGER_TEST_USERNAME']){let _0x1217c8=0x0;try{_0x1217c8=(await _0x541c2a[_0x85715f(0x120)](listCloudProfiles))[_0x85715f(0x188)];}catch{_0x1217c8=0x1;}_0x541c2a[_0x85715f(0x173)](_0x1217c8,0x0)&&console[_0x85715f(0x168)]('\x0a'+_0x541c2a['MvhqS'](formatProfileRequiredMessage,_0x6dbdb0=>bold(_0x6dbdb0)));}const _0x4855bb=_0x4c7a04[_0x85715f(0x194)]?_0x4c7a04[_0x85715f(0x194)]['map'](_0x5cadaf=>_0x5cadaf['trim']()):[],_0x3a7231=_0x541c2a['duvdR'](getGitRepoUrl),_0x2fe4ba=_0x541c2a['GaOur'](getGitBranch);console[_0x85715f(0xff)](_0x85715f(0xc6));const _0x2142d8=await createFeature({'name':_0x55449c,'description':_0x4c7a04['description'],'checklist':_0x4855bb,'gitRepoUrl':_0x3a7231,'gitBranch':_0x2fe4ba});await setActiveFeatureId(_0x2142d8['id']),await tryStartCurrentSession(_0x2142d8['id']);const _0x5cd665=process[_0x85715f(0x1a7)]['CLAUDE_SESSION_ID'];_0x5cd665&®isterSession(_0x5cd665,_0x2142d8['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x2142d8['id']),displayFeature(_0x2142d8,_0x2142d8[_0x85715f(0x156)]),console[_0x85715f(0xff)](_0x85715f(0x12c));}export async function featureList(_0x228064){const _0x2ab1fc=_0x48552e,_0x37b134={'bsQET':function(_0x340518){return _0x340518();},'xYOPD':function(_0x21b6dd,_0x137264){return _0x21b6dd(_0x137264);},'NZXDs':'\x0aNo\x20feature\x20reviews\x20found.','Xenqx':function(_0x57b0aa,_0x9afd81){return _0x57b0aa>_0x9afd81;},'HMeJo':_0x2ab1fc(0xc5),'qSIiG':function(_0xd59613,_0x53c553){return _0xd59613(_0x53c553);},'InEYT':function(_0x44fa9a,_0x5cc8d4){return _0x44fa9a<_0x5cc8d4;},'HznDy':function(_0x330447,_0xb7d8af){return _0x330447!==_0xb7d8af;},'noJuJ':'\x20--current-branch','EphBC':_0x2ab1fc(0x174)},_0x1760e8={'limit':_0x228064[_0x2ab1fc(0x179)]??0xa,'offset':_0x228064['offset']??0x0,'includeDeleted':_0x228064['includeDeleted']};_0x228064[_0x2ab1fc(0x12f)]&&(_0x1760e8[_0x2ab1fc(0xef)]=_0x37b134[_0x2ab1fc(0x13e)](getGitRepoUrl),_0x1760e8[_0x2ab1fc(0x176)]=getGitBranch());const _0x2c7e64=await _0x37b134['xYOPD'](listFeatures,_0x1760e8);if(_0x2c7e64[_0x2ab1fc(0x105)][_0x2ab1fc(0x188)]===0x0){console['log'](_0x37b134['NZXDs']);return;}const _0x23cc1e=_0x37b134[_0x2ab1fc(0xdb)](_0x2c7e64[_0x2ab1fc(0x116)],_0x2c7e64['items']['length'])?'Showing\x20'+_0x2c7e64['items']['length']+_0x2ab1fc(0x14f)+_0x2c7e64[_0x2ab1fc(0x116)]:_0x2c7e64['totalCount']+_0x2ab1fc(0xd8);console[_0x2ab1fc(0xff)]('\x0a'+_0x23cc1e+':\x0a');for(const _0x56204c of _0x2c7e64[_0x2ab1fc(0x105)]){const _0xae4066=_0x37b134['HMeJo']['split']('|');let _0x4a0b72=0x0;while(!![]){switch(_0xae4066[_0x4a0b72++]){case'0':console[_0x2ab1fc(0xff)]('\x20\x20\x20Created:\x20'+new Date(_0x56204c[_0x2ab1fc(0x148)])[_0x2ab1fc(0x165)]());continue;case'1':console['log'](''+_0x56204c['name']);continue;case'2':console[_0x2ab1fc(0xff)]('');continue;case'3':console['log'](_0x2ab1fc(0xfe)+_0x56204c['id']);continue;case'4':_0x56204c[_0x2ab1fc(0x176)]&&console[_0x2ab1fc(0xff)]('\x20\x20\x20Branch:\x20'+_0x56204c['gitBranch']);continue;case'5':_0x56204c[_0x2ab1fc(0xfb)]&&console[_0x2ab1fc(0xff)]('\x20\x20\x20Progress:\x20'+_0x37b134[_0x2ab1fc(0x10a)](getProgressDisplay,_0x56204c[_0x2ab1fc(0xfb)]));continue;}break;}}const _0x46d353=_0x1760e8['limit']??0xa,_0x419695=(_0x1760e8[_0x2ab1fc(0x139)]??0x0)+_0x2c7e64['items'][_0x2ab1fc(0x188)];if(_0x37b134[_0x2ab1fc(0x177)](_0x419695,_0x2c7e64[_0x2ab1fc(0x116)])){const _0x11e817=_0x37b134['HznDy'](_0x46d353,0xa)?_0x2ab1fc(0x166)+_0x46d353:'',_0x1f2fa9=_0x228064[_0x2ab1fc(0x12f)]?_0x37b134['noJuJ']:'',_0x19142c=_0x228064[_0x2ab1fc(0x182)]?_0x37b134[_0x2ab1fc(0x198)]:'';console[_0x2ab1fc(0xff)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x419695+_0x11e817+_0x1f2fa9+_0x19142c);}}export async function featureShow(_0x3381ae){const _0x421219=_0x48552e,_0xaf30ad={'GlEKC':_0x421219(0xd4),'VKzSr':function(_0x4d6585,_0x292e9c){return _0x4d6585(_0x292e9c);},'CsjRy':function(_0x411eac,_0x43eb33,_0x26d1b7){return _0x411eac(_0x43eb33,_0x26d1b7);}},_0x4dcbbc=_0x3381ae||await getActiveFeatureId();if(!_0x4dcbbc)throw new Error(_0xaf30ad[_0x421219(0xe4)]);const _0x4db2cd=await _0xaf30ad['VKzSr'](getFeature,_0x4dcbbc);_0xaf30ad[_0x421219(0xf4)](displayFeature,_0x4db2cd,_0x4db2cd[_0x421219(0x156)]);}export async function featureResume(_0x3f35e0){const _0x551edd=_0x48552e,_0x206bb5={'TMoZz':function(_0xf9aa8a,_0x477159){return _0xf9aa8a(_0x477159);},'tflCZ':function(_0x2f68b5,_0x2b0d64,_0x20ae26){return _0x2f68b5(_0x2b0d64,_0x20ae26);},'ELUyK':function(_0x4ecf0c){return _0x4ecf0c();},'TfgNf':'any','XqKLa':function(_0x321a81,_0x1bffa9){return _0x321a81===_0x1bffa9;},'ucJCW':_0x551edd(0x19a),'satnn':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','EakHB':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','mkPRu':_0x551edd(0xe7),'TQgdx':_0x551edd(0x17b)};if(_0x3f35e0){const _0x35711e=await _0x206bb5['TMoZz'](getFeature,_0x3f35e0);await setActiveFeatureId(_0x35711e['id']);const _0x46747f=getGitBranch();_0x46747f&&_0x46747f!==_0x35711e['gitBranch']&&(await _0x206bb5[_0x551edd(0x1a8)](updateFeature,_0x35711e['id'],{'gitBranch':_0x46747f}),console['log'](_0x551edd(0x131)+_0x46747f));console[_0x551edd(0xff)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x35711e[_0x551edd(0x11e)]+'\x20('+_0x35711e['id']+')'),await tryStartCurrentSession(_0x35711e['id']);const _0x4be47e=process[_0x551edd(0x1a7)]['CLAUDE_SESSION_ID'];_0x4be47e&&_0x206bb5[_0x551edd(0x1a8)](registerSession,_0x4be47e,_0x35711e['id']);displayFeature(_0x35711e,_0x35711e['checklistItems']),await _0x206bb5[_0x551edd(0x180)](printFeedbackNudge,_0x35711e['id']);return;}const _0x21e39f=_0x206bb5['ELUyK'](getGitRepoUrl),_0x5b6858=getGitBranch();if(!_0x21e39f&&!_0x5b6858)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x21e39f||_0x551edd(0x152))+'\x20/\x20'+(_0x5b6858||_0x206bb5[_0x551edd(0xfc)])+'...');const _0x367dfd=await listFeatures({'gitRepoUrl':_0x21e39f,'gitBranch':_0x5b6858}),_0xc50b6c=_0x367dfd[_0x551edd(0x105)]['filter'](_0x3b47ab=>_0x3b47ab[_0x551edd(0xcc)]?_0x3b47ab['status']!=='verified':!_0x3b47ab[_0x551edd(0x19c)]);if(_0x206bb5['XqKLa'](_0xc50b6c['length'],0x0)){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x551edd(0xff)](_0x206bb5[_0x551edd(0x157)]);return;}let _0x3a89cc;if(_0xc50b6c['length']===0x1)_0x3a89cc=_0xc50b6c[0x0];else{const _0x3e8552=process[_0x551edd(0x12b)]['isTTY']&&process['stdout']['isTTY'];if(!_0x3e8552){console['log'](_0x206bb5['satnn']);for(const _0xea23e6 of _0xc50b6c){console['log']('\x20\x20'+_0xea23e6[_0x551edd(0x11e)]),console[_0x551edd(0xff)]('\x20\x20\x20\x20\x20ID:\x20'+_0xea23e6['id']),_0xea23e6['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0xea23e6[_0x551edd(0xfb)])),_0xea23e6[_0x551edd(0x176)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0xea23e6['gitBranch']);}throw new Error(_0x206bb5['EakHB']);}const {selected:_0x92477b}=await _0x8c3609[_0x551edd(0xf9)]([{'type':_0x206bb5[_0x551edd(0xe0)],'name':_0x551edd(0xfd),'message':_0x206bb5['TQgdx'],'choices':_0xc50b6c[_0x551edd(0x124)](_0x57788f=>({'name':_0x57788f[_0x551edd(0x11e)]+'\x20('+_0x57788f['id']+')','value':_0x57788f['id']}))}]);_0x3a89cc=_0xc50b6c[_0x551edd(0x16d)](_0x51d05b=>_0x51d05b['id']===_0x92477b);}await setActiveFeatureId(_0x3a89cc['id']);_0x5b6858&&_0x5b6858!==_0x3a89cc[_0x551edd(0x176)]&&(await updateFeature(_0x3a89cc['id'],{'gitBranch':_0x5b6858}),console['log'](_0x551edd(0x131)+_0x5b6858));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3a89cc['name']+'\x20('+_0x3a89cc['id']+')'),await _0x206bb5[_0x551edd(0x180)](tryStartCurrentSession,_0x3a89cc['id']);const _0x137396=await getFeature(_0x3a89cc['id']),_0xe51ab9=process['env']['CLAUDE_SESSION_ID'];_0xe51ab9&®isterSession(_0xe51ab9,_0x137396['id']),displayFeature(_0x137396,_0x137396['checklistItems']),await _0x206bb5['TMoZz'](printFeedbackNudge,_0x137396['id']);}async function printFeedbackNudge(_0x3f5a9b){const _0x16220c=_0x48552e,_0x22177b={'EkdcM':function(_0x3b6b62,_0x5989f0,_0x3c06d7){return _0x3b6b62(_0x5989f0,_0x3c06d7);},'rRIFw':function(_0x386c5b,_0x35d3e5){return _0x386c5b>_0x35d3e5;},'dMydk':_0x16220c(0x153)};try{const {items:_0x2f024c}=await getActionItems(_0x3f5a9b);let _0x475fb8=0x0,_0x78892b=0x0;for(const _0x18ac4e of _0x2f024c){const _0x2d61ef=await _0x22177b['EkdcM'](getItemFeedback,_0x3f5a9b,_0x18ac4e['id']);_0x2d61ef[_0x16220c(0x114)]['length']>0x0&&(_0x475fb8+=_0x2d61ef[_0x16220c(0x114)]['length'],_0x78892b++);}_0x22177b[_0x16220c(0x12e)](_0x475fb8,0x0)&&(console['log']('\x0a⚠️\x20\x20'+_0x475fb8+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x78892b+_0x16220c(0xd5)),console['log'](_0x22177b[_0x16220c(0x149)]));}catch{}}async function tryStartCurrentSession(_0x47f0c1){const _0x54ed18=_0x48552e,_0x341618={'Qhley':function(_0x3c8acd,_0xa24ec1){return _0x3c8acd(_0xa24ec1);}};try{const {sessions:_0x576f0f}=await _0x341618['Qhley'](listFeatureSessions,_0x47f0c1),_0x127af0=_0x576f0f['find'](_0x4967e8=>_0x4967e8['status']===_0x54ed18(0x1a4));_0x127af0&&(await startSession(_0x47f0c1,_0x127af0['id']),console['log'](_0x54ed18(0x127)+_0x127af0['iteration']));}catch{}}export async function featureReport(_0x3119d9,_0x1a9980){const _0x1f39bb=_0x48552e,_0x4604e3={'IKeOf':function(_0x241c2d){return _0x241c2d();},'OGDrP':_0x1f39bb(0x115),'iBYDE':function(_0x473cba,_0x3189b3,_0x759f7,_0x4c594c){return _0x473cba(_0x3189b3,_0x759f7,_0x4c594c);},'DXFHn':function(_0x5f4856){return _0x5f4856();},'oVdUp':function(_0x511e89,_0x11f0d5,_0x2d94bc){return _0x511e89(_0x11f0d5,_0x2d94bc);},'qARiO':_0x1f39bb(0xfa)},_0x2515dc=_0x3119d9||await _0x4604e3['IKeOf'](getActiveFeatureId);if(!_0x2515dc)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x1f39bb(0xff)](_0x4604e3[_0x1f39bb(0xf2)]);const _0x2f6a0f=await getFeatureReportMarkdown(_0x2515dc,{'style':_0x1a9980[_0x1f39bb(0x110)]}),_0x29201d=_0x1a9980[_0x1f39bb(0x19f)]||_0x4604e3[_0x1f39bb(0x118)](join,_0x4604e3[_0x1f39bb(0x10f)](getRangerDir),_0x1f39bb(0x18f),_0x2515dc+_0x1f39bb(0x159)),_0x1bc85e=join(_0x29201d,'..');!existsSync(_0x1bc85e)&&await _0x4604e3['oVdUp'](mkdir,_0x1bc85e,{'recursive':!![]}),await writeFile(_0x29201d,_0x2f6a0f,_0x4604e3[_0x1f39bb(0x1a3)]),console[_0x1f39bb(0xff)]('\x0a✅\x20Report\x20generated:\x20'+_0x29201d);}function getScenarioResult(_0xffbe8a){const _0x2f7f0d=_0x48552e,_0x81a4d5={'lXpQI':'closed','EzNOI':function(_0x4a075e,_0x366ab2){return _0x4a075e===_0x366ab2;},'ZBvkH':'verification_in_progress','ROoit':'in_progress'};if(_0xffbe8a[_0x2f7f0d(0xcc)]===_0x2f7f0d(0x192))return _0xffbe8a[_0x2f7f0d(0x191)]??_0x81a4d5[_0x2f7f0d(0xd1)];if(_0x81a4d5[_0x2f7f0d(0x190)](_0xffbe8a[_0x2f7f0d(0xcc)],_0x81a4d5[_0x2f7f0d(0x155)]))return _0x81a4d5['ROoit'];return _0xffbe8a[_0x2f7f0d(0xcc)];}function getScenarioRationale(_0x5d2624,_0x478ed9){const _0x13ac13=_0x48552e;if(_0x478ed9)return _0x478ed9;if(_0x5d2624[_0x13ac13(0x196)])return _0x5d2624[_0x13ac13(0x196)];if(_0x5d2624[_0x13ac13(0xca)])return _0x5d2624[_0x13ac13(0xca)];if(_0x5d2624['canceledReason'])return _0x5d2624['canceledReason'];if(_0x5d2624[_0x13ac13(0xc4)])return _0x5d2624[_0x13ac13(0xc4)];return null;}export async function featureReportPrDescription(_0x3baf03,_0x5ae788){const _0x27e890=_0x48552e,_0x532b5d={'eSZzV':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','OjAoU':function(_0x47d0f2,_0x26f09f){return _0x47d0f2(_0x26f09f);},'ORVly':_0x27e890(0x1a6),'hCjGL':function(_0x4cef7e,_0x118242){return _0x4cef7e>_0x118242;},'QCKxZ':_0x27e890(0x14b),'orIrO':function(_0x58b9f8,_0x104e82){return _0x58b9f8<_0x104e82;},'bEAQv':function(_0x21190e,_0x11df28){return _0x21190e===_0x11df28;},'QEpDi':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x4d2ea1=_0x3baf03||await getActiveFeatureId();if(!_0x4d2ea1)throw new Error(_0x532b5d[_0x27e890(0xd6)]);const _0x2ba4cd=await _0x532b5d[_0x27e890(0x18b)](getFeature,_0x4d2ea1),_0x145c72=_0x2ba4cd[_0x27e890(0x156)]||[],_0x54363e=getCurrentSessionItems(_0x2ba4cd,_0x145c72);_0x54363e['length']===0x0&&(console[_0x27e890(0xe2)](_0x532b5d[_0x27e890(0x10d)]),process[_0x27e890(0x136)](0x1));const _0x2606b7=_0x5ae788[_0x27e890(0x138)]??[],_0x5dadff=_0x2606b7['filter'](_0x509915=>!Number['isInteger'](_0x509915)||_0x509915<0x1||_0x509915>_0x54363e['length']);if(_0x532b5d[_0x27e890(0x16b)](_0x5dadff[_0x27e890(0x188)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x5dadff[_0x27e890(0x172)](',\x20')),console['log'](_0x532b5d['QCKxZ']);for(let _0x59845a=0x0;_0x532b5d['orIrO'](_0x59845a,_0x54363e['length']);_0x59845a++){console[_0x27e890(0xff)]('\x20\x20'+(_0x59845a+0x1)+'.\x20'+_0x54363e[_0x59845a]['description']);}process['exit'](0x1);}const _0xe8d0df=new Set(_0x2606b7['map'](_0x1c09ae=>_0x1c09ae-0x1)),_0x515732=_0x54363e[_0x27e890(0xd3)]((_0x554e1e,_0x5d698c)=>!_0xe8d0df[_0x27e890(0x151)](_0x5d698c));_0x532b5d['bEAQv'](_0x515732['length'],0x0)&&(console[_0x27e890(0xe2)](_0x532b5d['QEpDi']),process['exit'](0x1));if(_0x5ae788['json'])await outputJsonReport(_0x4d2ea1,_0x2ba4cd,_0x515732);else{const _0x63d83f=await getFeatureReportMarkdown(_0x4d2ea1,{'itemIds':_0x515732['map'](_0x41703f=>_0x41703f['id'])});process['stdout']['write'](_0x63d83f[_0x27e890(0x1a1)]()+'\x0a');}}async function outputJsonReport(_0x374fa2,_0x28d09f,_0xac2d1){const _0xc2a81f=_0x48552e,_0x449032={'pABjf':function(_0x154cd5,_0x1c0a6){return _0x154cd5>_0x1c0a6;},'GqVMO':function(_0x4f51b5,_0x22096a){return _0x4f51b5(_0x22096a);}},_0x2f9660=getApiBaseUrl(),_0x5d049e=await _0x449032['GqVMO'](getFeatureReport,_0x374fa2),_0x49bd56=new Map(_0x5d049e['checklistItems'][_0xc2a81f(0x124)](_0x2cf423=>[_0x2cf423['id'],_0x2cf423])),_0x295bd3=await Promise['all'](_0xac2d1[_0xc2a81f(0x124)](async _0x4a210e=>{const _0x4b02d2=_0xc2a81f,_0x3e5fa3=_0x49bd56['get'](_0x4a210e['id']),_0x6242ea=_0x3e5fa3?.['linkedSession']??null;let _0x569ea3=[];if(_0x4a210e['browserSessionId'])try{const {steps:_0x3414a7}=await getBrowserSessionSteps(_0x4a210e[_0x4b02d2(0x117)]);_0x449032['pABjf'](_0x3414a7[_0x4b02d2(0x188)],0x0)&&(_0x569ea3=_0x3414a7['map'](_0x21b717=>{const _0x185369=_0x4b02d2,_0x4885e0=_0x21b717['assets']['find'](_0x11faf6=>_0x11faf6['assetType']===_0x185369(0x100)&&_0x11faf6['timing']==='after')??_0x21b717[_0x185369(0x17c)]['find'](_0x128ebe=>_0x128ebe['assetType']==='screenshot');let _0x137355=null,_0x47ef07=null;if(_0x4885e0){const _0x2eeff2=_0x4885e0[_0x185369(0x15a)][_0x185369(0x154)][_0x185369(0x167)]('/')['pop']();_0x137355=_0x2f9660+_0x185369(0x162)+_0x4a210e['browserSessionId']+'/artifacts/'+_0x2eeff2,_0x2eeff2&&(_0x47ef07=_0x2eeff2['replace'](/\.\w+$/,'')[_0x185369(0x122)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x47ef07||_0x21b717['description']||_0x21b717['stepName']||_0x185369(0xce)+_0x21b717[_0x185369(0x132)],'screenshot':_0x137355,'is_key_step':_0x21b717['isKeyStep']};}));}catch{}return _0x569ea3[_0x4b02d2(0x188)]===0x0&&_0x6242ea?.['screenshotUrls']&&(_0x569ea3=_0x6242ea['screenshotUrls']['map']((_0x38828b,_0x5a3fdc)=>({'description':'Screenshot\x20'+(_0x5a3fdc+0x1),'screenshot':_0x38828b,'is_key_step':![]}))),{'description':_0x4a210e['description'],'result':getScenarioResult(_0x4a210e),'rationale':getScenarioRationale(_0x4a210e,_0x6242ea?.[_0x4b02d2(0x197)]),'steps':_0x569ea3};})),_0x565961={'url':_0x28d09f['dashboardUrl'],'scenarios':_0x295bd3};process[_0xc2a81f(0x112)][_0xc2a81f(0x189)](JSON['stringify'](_0x565961,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x28bc96){const _0x50eac1=_0x48552e,_0x1db7b3={'AsorW':function(_0x2dcf16){return _0x2dcf16();},'GQqUY':function(_0x26d9b7,_0x958e69){return _0x26d9b7(_0x958e69);},'wfYEi':function(_0x196920,_0x1fba79){return _0x196920===_0x1fba79;},'PpOsO':_0x50eac1(0x17a),'BIoJX':function(_0x236e0b,_0x1ec0a6){return _0x236e0b!==_0x1ec0a6;},'BLeAP':_0x50eac1(0x1a0),'GoGqf':'\x0aConcluding\x20session...'},_0x228a2=_0x28bc96||await _0x1db7b3['AsorW'](getActiveFeatureId);if(!_0x228a2)throw new Error(_0x50eac1(0xd4));const _0x169f4a=await getFeature(_0x228a2);if(!_0x169f4a['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x24ea6}=await _0x1db7b3['GQqUY'](listFeatureSessions,_0x228a2),_0x3bdd91=_0x24ea6[_0x50eac1(0x16d)](_0x54d3ee=>_0x54d3ee['id']===_0x169f4a['currentSessionId']);if(!_0x3bdd91)throw new Error('Current\x20session\x20not\x20found.');if(_0x1db7b3[_0x50eac1(0x119)](_0x3bdd91[_0x50eac1(0xcc)],'completed')){console['log'](_0x1db7b3['PpOsO']);return;}if(_0x1db7b3[_0x50eac1(0x13f)](_0x3bdd91[_0x50eac1(0xcc)],_0x1db7b3['BLeAP']))throw new Error(_0x50eac1(0x125)+_0x3bdd91['status']);console['log'](_0x1db7b3['GoGqf']),await concludeSession(_0x228a2,_0x169f4a[_0x50eac1(0xdf)]),console['log']('\x0a✅\x20Session\x20'+_0x3bdd91['iteration']+_0x50eac1(0xcb)),console['log'](_0x50eac1(0x13d));}export async function featureSessions(_0x5ba7ae){const _0x4b2127=_0x48552e,_0x1a4501={'ChYkZ':function(_0x5a8907,_0x10324c){return _0x5a8907(_0x10324c);},'FzTqz':'completed'},_0x2f26fa=_0x5ba7ae||await getActiveFeatureId();if(!_0x2f26fa)throw new Error(_0x4b2127(0x15d));const _0x254fcc=await getFeature(_0x2f26fa);console['log'](_0x4b2127(0x17d)+_0x254fcc['name']+'\x0a');const {sessions:_0x181586}=await _0x1a4501[_0x4b2127(0x175)](listFeatureSessions,_0x2f26fa);if(_0x181586['length']===0x0){console['log'](_0x4b2127(0x1a2));return;}for(const _0x48ca02 of _0x181586){const _0x8ce256=_0x48ca02[_0x4b2127(0xcc)]===_0x1a4501['FzTqz']?'✅':_0x48ca02[_0x4b2127(0xcc)]==='in_progress'?'🔄':'▶️';console[_0x4b2127(0xff)](_0x8ce256+'\x20Session\x20'+_0x48ca02[_0x4b2127(0x147)]+'\x20('+_0x48ca02['id']+')'),console[_0x4b2127(0xff)](_0x4b2127(0x12d)+_0x48ca02[_0x4b2127(0xcc)]),console['log'](_0x4b2127(0xf7)+new Date(_0x48ca02[_0x4b2127(0x148)])['toLocaleString']()),_0x48ca02[_0x4b2127(0x19c)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x48ca02['completedAt'])[_0x4b2127(0xe1)]()),console[_0x4b2127(0xff)]('');}}export async function featureAddScenario(_0x365860,_0x27fce7){const _0x13a381=_0x48552e,_0x229828={'hANBS':function(_0x31412c,_0x10121d,_0x3f6e29){return _0x31412c(_0x10121d,_0x3f6e29);},'CMxJk':function(_0x7dceaa,_0x3df64f){return _0x7dceaa(_0x3df64f);}},_0xe05fd3=_0x27fce7||await getActiveFeatureId();if(!_0xe05fd3)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x587dea=await getFeature(_0xe05fd3);if(_0x587dea['latestReview']&&!_0x587dea[_0x13a381(0x14d)][_0x13a381(0x128)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x587dea[_0x13a381(0x195)]);await _0x229828['hANBS'](createChecklistItem,_0xe05fd3,_0x365860);const _0x236b33=await _0x229828[_0x13a381(0x143)](getFeature,_0xe05fd3);console[_0x13a381(0xff)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x236b33,_0x236b33['checklistItems']);}export async function featureEditScenario(_0x9039b,_0x53549f){const _0xedc241=_0x48552e,_0x3bb430={'tDyet':_0xedc241(0x15e),'Aqles':function(_0x169bad,_0x5820e4){return _0x169bad(_0x5820e4);},'nkzja':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','bKlip':_0xedc241(0x18d),'uwfGZ':_0xedc241(0xee),'FJYuu':function(_0x268403,_0x7c171e){return _0x268403<_0x7c171e;},'umzwt':function(_0x4bd814,_0x261008){return _0x4bd814-_0x261008;},'qcQVA':function(_0x187c4b,_0x4b0c26){return _0x187c4b>=_0x4b0c26;},'ByhOG':function(_0x31b8e2,_0x3a093d){return _0x31b8e2+_0x3a093d;},'dSxZB':function(_0x160b62,_0x39e62a,_0x3c942a){return _0x160b62(_0x39e62a,_0x3c942a);}},_0x5f0fab=_0x53549f['id']||await getActiveFeatureId();!_0x5f0fab&&(console[_0xedc241(0xe2)](_0xedc241(0x15b)),console[_0xedc241(0xe2)](_0x3bb430['tDyet']),process[_0xedc241(0x136)](0x1));const _0xfc5693=await _0x3bb430['Aqles'](getFeature,_0x5f0fab);_0xfc5693[_0xedc241(0x14d)]&&!_0xfc5693[_0xedc241(0x14d)]['submittedAt']&&(console['error'](_0x3bb430[_0xedc241(0x144)]),console[_0xedc241(0xe2)]('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0xfc5693['dashboardUrl']),process[_0xedc241(0x136)](0x1));const _0x1cc31d=_0xfc5693[_0xedc241(0x156)]||[];_0x1cc31d[_0xedc241(0x188)]===0x0&&(console['error'](_0x3bb430['bKlip']),process[_0xedc241(0x136)](0x1));if(_0x53549f[_0xedc241(0x134)]===undefined){console[_0xedc241(0xe2)](_0x3bb430[_0xedc241(0x145)]),console[_0xedc241(0xff)]('\x0aAvailable\x20scenarios:');for(let _0x79ba26=0x0;_0x3bb430['FJYuu'](_0x79ba26,_0x1cc31d[_0xedc241(0x188)]);_0x79ba26++){console[_0xedc241(0xff)]('\x20\x20'+(_0x79ba26+0x1)+'.\x20'+_0x1cc31d[_0x79ba26][_0xedc241(0xe3)]);}process[_0xedc241(0x136)](0x1);}const _0x27fb25=_0x3bb430[_0xedc241(0xc8)](_0x53549f[_0xedc241(0x134)],0x1);if(_0x3bb430['FJYuu'](_0x27fb25,0x0)||_0x3bb430[_0xedc241(0x16a)](_0x27fb25,_0x1cc31d[_0xedc241(0x188)])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x53549f['scenario']+_0xedc241(0xde)+_0x1cc31d['length']+_0xedc241(0x164)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x4888b5=0x0;_0x3bb430[_0xedc241(0xd2)](_0x4888b5,_0x1cc31d['length']);_0x4888b5++){console['log']('\x20\x20'+_0x3bb430[_0xedc241(0xc7)](_0x4888b5,0x1)+'.\x20'+_0x1cc31d[_0x4888b5]['description']);}process[_0xedc241(0x136)](0x1);}const _0x3368d8=_0x1cc31d[_0x27fb25];await updateChecklistItem(_0x5f0fab,_0x3368d8['id'],{'description':_0x9039b});const _0x569e21=await getFeature(_0x5f0fab);console['log'](_0xedc241(0x184)),_0x3bb430[_0xedc241(0x158)](displayFeature,_0x569e21,_0x569e21[_0xedc241(0x156)]);}async function downloadFeedbackImage(_0x4c6414,_0x551731){const _0x4401fa=_0x48552e,_0x1909c0={'NozQw':function(_0x465a30){return _0x465a30();},'JZicb':_0x4401fa(0x15f),'dGxaH':function(_0x1bcefb,_0x57afd3,_0x1bee3a){return _0x1bcefb(_0x57afd3,_0x1bee3a);}};try{const _0x3e5949=join(_0x1909c0[_0x4401fa(0x11c)](getRangerDir),_0x1909c0['JZicb']);await mkdir(_0x3e5949,{'recursive':!![]});const _0x78eed3=_0x1909c0[_0x4401fa(0x16e)](join,_0x3e5949,_0x4401fa(0x106)+_0x551731+'.png'),_0x2e300f=await fetch(_0x4c6414);if(!_0x2e300f['ok'])return null;const _0x388cec=Buffer['from'](await _0x2e300f['arrayBuffer']());return await writeFile(_0x78eed3,_0x388cec),_0x78eed3;}catch{return null;}}export async function featureGetReview(_0x1ae7b2){const _0x12332b=_0x48552e,_0x4f484a={'GQYVK':function(_0x4d77ad,_0x5d5701){return _0x4d77ad(_0x5d5701);},'QCQoc':function(_0x43bbf6,_0x1d6e75){return _0x43bbf6(_0x1d6e75);},'npelk':function(_0x5f4338,_0x492bac){return _0x5f4338<_0x492bac;},'tpaTq':function(_0x759352,_0x39f6c2,_0x281046){return _0x759352(_0x39f6c2,_0x281046);},'yyVjM':function(_0x371a50,_0x1b2b1f){return _0x371a50+_0x1b2b1f;},'bnpmL':_0x12332b(0x141),'XbQML':_0x12332b(0x163)},_0x4ef99e=_0x1ae7b2||await getActiveFeatureId();if(!_0x4ef99e)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x4ac40e=await _0x4f484a['GQYVK'](getFeature,_0x4ef99e),{items:_0xd7cdc5}=await _0x4f484a['QCQoc'](getActionItems,_0x4ef99e);console['log'](_0x12332b(0x199)+_0x4ac40e[_0x12332b(0x11e)]+'\x20('+_0x4ac40e['id']+')\x0a');if(_0xd7cdc5['length']===0x0){console[_0x12332b(0xff)](_0x12332b(0x169));return;}for(let _0x2b1964=0x0;_0x4f484a['npelk'](_0x2b1964,_0xd7cdc5[_0x12332b(0x188)]);_0x2b1964++){const _0x5a195d=_0xd7cdc5[_0x2b1964],_0x2dabe3=_0x5a195d['version']>0x1?_0x12332b(0xf3)+_0x5a195d['version']+')':'',_0x47e1e9=await _0x4f484a['tpaTq'](getItemFeedback,_0x4ef99e,_0x5a195d['id']);if(_0x47e1e9['unaddressedComments']['length']>0x0){console[_0x12332b(0xff)]('Scenario\x20'+_0x4f484a[_0x12332b(0x14e)](_0x2b1964,0x1)+_0x12332b(0xcd)+_0x5a195d['description']+'\x22'+_0x2dabe3+'\x20—\x20'+_0x47e1e9['unaddressedComments'][_0x12332b(0x188)]+_0x12332b(0x146));for(const _0x476172 of _0x47e1e9[_0x12332b(0x114)]){const _0x33906f=new Date(_0x476172['createdAt'])[_0x12332b(0x165)](_0x4f484a[_0x12332b(0x178)],{'month':'short','day':'numeric'}),_0x2e245c=_0x476172['authorName']||_0x476172['authorEmail']||_0x4f484a[_0x12332b(0x13c)];console['log']('\x20\x20💬\x20'+_0x2e245c+'\x20('+_0x33906f+_0x12332b(0xf1)+_0x476172['content']+'\x22');if(_0x476172[_0x12332b(0xda)]){const _0x145bd8=await downloadFeedbackImage(_0x476172[_0x12332b(0xda)],_0x476172['id']);_0x145bd8&&console[_0x12332b(0xff)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x145bd8);}if(_0x476172['domRef']){const _0x3e0c33=_0x476172['domRef']['selector'][_0x12332b(0x167)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x12332b(0x14a),_0x580e6e=_0x476172['domRef']['textContent']?'\x20\x22'+_0x476172[_0x12332b(0x11d)]['textContent'][_0x12332b(0x111)](0x0,0x3c)+'\x22':'';console[_0x12332b(0xff)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3e0c33+'>'+_0x580e6e),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x476172['domRef'][_0x12332b(0x17f)]);}else{if(_0x476172['spatial']){const _0x3947be=_0x476172['spatial']['coordinates'];_0x476172[_0x12332b(0x11f)][_0x12332b(0x185)]===_0x12332b(0x12a)&&_0x3947be['length']>=0x2?console['log'](_0x12332b(0xdc)+_0x3947be[0x0]['toFixed'](0x2)+',\x20'+_0x3947be[0x1][_0x12332b(0x129)](0x2)+')'):console[_0x12332b(0xff)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x476172['spatial'][_0x12332b(0x185)]+_0x12332b(0x161)+_0x3947be[_0x12332b(0x124)](_0x14e697=>_0x14e697['toFixed'](0x2))[_0x12332b(0x172)](',\x20')+']');}}}if(_0x47e1e9['canonicalFlow']){console[_0x12332b(0xff)](_0x12332b(0xd0));for(const _0x3909f9 of _0x47e1e9[_0x12332b(0x135)][_0x12332b(0x167)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x3909f9);}}}else console['log']('Scenario\x20'+(_0x2b1964+0x1)+_0x12332b(0xcd)+_0x5a195d[_0x12332b(0xe3)]+'\x22'+_0x2dabe3+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x5bbb58){const _0x37bc61=_0x48552e,_0x399b94={'gwILx':function(_0x389e90){return _0x389e90();},'mXLeL':_0x37bc61(0xd4),'ZKRnc':_0x37bc61(0x140)},_0x4a43de=_0x5bbb58||await _0x399b94['gwILx'](getActiveFeatureId);if(!_0x4a43de)throw new Error(_0x399b94['mXLeL']);const _0x642097=await getFeature(_0x4a43de);await softDeleteFeature(_0x4a43de),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x642097[_0x37bc61(0x11e)]+'\x20('+_0x4a43de+')'),console[_0x37bc61(0xff)](_0x399b94['ZKRnc']+_0x4a43de);}function _0x1bb3(){const _0x3359fb=['Step\x20','178850GUWVgm','\x20\x20Expected\x20flow:','lXpQI','FJYuu','filter','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20scenario(s).','eSZzV','770BtRLKa','\x20feature\x20review(s)\x20found','fwGls','assetUrl','Xenqx','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','kQRpx','.\x20Feature\x20review\x20has\x20','currentSessionId','mkPRu','toLocaleString','error','description','GlEKC','119189GnikRJ','DudCu','list','verification_in_progress','push','EVhZY','pwefr','blockedItems','WvESO','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','gitRepoUrl','\x20\x20\x20','):\x20\x22','OGDrP','\x20(v','CsjRy','33991620ZltRyW','pipe','\x20\x20\x20Created:\x20','\x1b[1m','prompt','utf-8','stats','TfgNf','selected','\x20\x20\x20ID:\x20','log','screenshot','186pMklPE','github.com/','bZAEY','\x0a✅\x20Restored\x20feature\x20review:\x20','items','comment_','LrGHH','tWkGg','\x20\x20\x20Branch:\x20','qSIiG','\x20\x20\x20\x20\x20\x20Cancelled:\x20','IjVbJ','ORVly','trim','DXFHn','style','slice','stdout','320523UHHxUU','unaddressedComments','\x0aGenerating\x20report...','totalCount','browserSessionId','iBYDE','wfYEi','pendingItems','aIiEh','NozQw','domRef','name','spatial','GaOur','\x20incomplete','replace','round','map','Cannot\x20conclude\x20session\x20with\x20status:\x20','5096cdBiYI','\x20\x20\x20▶️\x20Started\x20session\x20','submittedAt','toFixed','point','stdin','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20Status:\x20','rRIFw','currentBranch','\x20blocked','\x20\x20\x20Updated\x20branch\x20to:\x20','position','\x20\x20\x20Repository:\x20','scenario','canonicalFlow','exit','VBSMv','excludeScenarios','offset','7539165uawIaP','incomplete','XbQML','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','bsQET','BIoJX','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','en-US','8dogHHP','CMxJk','nkzja','uwfGZ','\x20unaddressed\x20comment(s)','iteration','createdAt','dMydk','element','\x0aAvailable\x20scenarios:','fdqgb','latestReview','yyVjM','\x20of\x20','1285968HxbKhk','has','any','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','location','ZBvkH','checklistItems','ucJCW','dSxZB','.md','storage','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ORNBU','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','feedback-images','blocked','\x20at\x20[','/api/v1/mcp/browser-sessions/','Unknown','\x20scenarios.','toLocaleDateString','\x20--limit\x20','split','warn','No\x20scenarios\x20found.','qcQVA','hCjGL','parentItemId','find','dGxaH','active-feature.txt','\x20\x20\x20Completed:\x20','\x20\x20\x20\x20\x20\x20Incomplete:\x20','join','YLfCu','\x20--include-deleted','ChYkZ','gitBranch','InEYT','bnpmL','limit','\x0a✅\x20Session\x20is\x20already\x20completed.','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','assets','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','canceledReason','selector','TMoZz','sessionId','includeDeleted','bMWJb','\x0a✅\x20Scenario\x20updated','type','YfNkv','70tbOCfo','length','write','rchcY','OjAoU','rulIh','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x20\x20\x20\x20\x20\x20Blocked:\x20','reports','EzNOI','terminalReason','closed','incompleteItems','scenarios','dashboardUrl','blockedReason','agentResponse','EphBC','\x0a📋\x20Feedback\x20for:\x20','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','JkKlE','completedAt','26HGjOUb','\x20in\x20progress','output','in_progress','trimEnd','No\x20sessions\x20found.','qARiO','ready','gsQsA','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','env','tflCZ','version','notes','1|3|5|4|0|2','\x0aCreating\x20feature\x20review...','ByhOG','umzwt','git\x20rev-parse\x20--abbrev-ref\x20HEAD','incompleteReason','\x20concluded.','status',':\x20\x22'];_0x1bb3=function(){return _0x3359fb;};return _0x1bb3();}export async function featureRestore(_0x2011fb){const _0x3613c7=_0x48552e,_0x1649de={'WvESO':function(_0x4bc2eb,_0x2df1f0,_0x4623fa){return _0x4bc2eb(_0x2df1f0,_0x4623fa);}};await restoreFeature(_0x2011fb);const _0x1f4117=await getFeature(_0x2011fb);console['log'](_0x3613c7(0x104)+_0x1f4117[_0x3613c7(0x11e)]+'\x20('+_0x2011fb+')'),_0x1649de[_0x3613c7(0xed)](displayFeature,_0x1f4117,_0x1f4117['checklistItems']);}
|
|
1
|
+
const _0x5145ea=_0x198d;(function(_0x26b27b,_0xb91930){const _0x32bb20=_0x198d,_0x5f7321=_0x26b27b();while(!![]){try{const _0x248704=parseInt(_0x32bb20(0x17a))/0x1+-parseInt(_0x32bb20(0x14a))/0x2*(parseInt(_0x32bb20(0x127))/0x3)+-parseInt(_0x32bb20(0xec))/0x4*(parseInt(_0x32bb20(0xa9))/0x5)+-parseInt(_0x32bb20(0x164))/0x6*(-parseInt(_0x32bb20(0x10b))/0x7)+-parseInt(_0x32bb20(0x167))/0x8+-parseInt(_0x32bb20(0xf4))/0x9+parseInt(_0x32bb20(0x124))/0xa;if(_0x248704===_0xb91930)break;else _0x5f7321['push'](_0x5f7321['shift']());}catch(_0xc3aed5){_0x5f7321['push'](_0x5f7321['shift']());}}}(_0x3d36,0x3e295));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x354d65 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x5145ea(0x11b),bold=_0x5d52f0=>'\x1b[1m'+_0x5d52f0+_0x5145ea(0xc8);function getGitRepoUrl(){const _0x2796b5=_0x5145ea,_0x4ae9ae={'Wukdh':_0x2796b5(0x14e),'gyVEY':_0x2796b5(0xa5)};try{const _0x5e5743=execSync(_0x4ae9ae[_0x2796b5(0xc5)],{'encoding':_0x2796b5(0x105),'stdio':['pipe','pipe','pipe']})['trim']();return _0x5e5743['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x4ae9ae[_0x2796b5(0x158)])[_0x2796b5(0x14d)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5b81e6=_0x5145ea,_0x37cac2={'zpmlq':function(_0x5cd200,_0x31c024,_0x15eac7){return _0x5cd200(_0x31c024,_0x15eac7);},'vxjkl':'utf-8','GxxmP':'pipe'};try{return _0x37cac2[_0x5b81e6(0xaf)](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x37cac2['vxjkl'],'stdio':[_0x37cac2[_0x5b81e6(0x134)],_0x37cac2[_0x5b81e6(0x134)],_0x5b81e6(0xf3)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3ee141=_0x5145ea,_0x5dfba2={'rVIad':function(_0x13ef98,_0x3c793d,_0x90e803){return _0x13ef98(_0x3c793d,_0x90e803);},'DFZEJ':'utf-8'},_0x3e0244=_0x5dfba2[_0x3ee141(0xf5)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x3e0244))return null;try{const _0x12c517=await readFile(_0x3e0244,_0x5dfba2[_0x3ee141(0xc1)]);return _0x12c517[_0x3ee141(0xb7)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x5ca44e){const _0x24d4dd=_0x5145ea,_0x11134e={'yIIxY':function(_0x182806){return _0x182806();},'CSENz':function(_0x5cee9f,_0x58b1ff,_0x225735){return _0x5cee9f(_0x58b1ff,_0x225735);},'AJmpQ':function(_0x46ffc5,_0x301774){return _0x46ffc5(_0x301774);},'TAfcW':'utf-8'},_0x539e0c=_0x11134e['yIIxY'](getRangerDir),_0x4f8dbd=_0x11134e[_0x24d4dd(0x110)](join,_0x539e0c,ACTIVE_FEATURE_FILE);!_0x11134e[_0x24d4dd(0xfb)](existsSync,_0x539e0c)&&await _0x11134e['CSENz'](mkdir,_0x539e0c,{'recursive':!![]}),await writeFile(_0x4f8dbd,_0x5ca44e,_0x11134e[_0x24d4dd(0x15f)]);}function getProgressDisplay(_0x101ac1){const _0x33f78d=_0x5145ea,_0x1e30a1={'MNuUj':function(_0x4ab128,_0x24fe6a){return _0x4ab128+_0x24fe6a;},'qjqgp':function(_0x27ecdf,_0x46eca9){return _0x27ecdf===_0x46eca9;},'AXZlz':function(_0x31dbe6,_0x4ecb54){return _0x31dbe6*_0x4ecb54;},'mJFfs':function(_0x1591e7,_0x2d6adf){return _0x1591e7/_0x2d6adf;},'FHUID':function(_0x4b7f07,_0x4ed1e8){return _0x4b7f07+_0x4ed1e8;},'JpXIL':function(_0x16e20a,_0x38eb1d){return _0x16e20a-_0x38eb1d;},'xkwNw':function(_0x3d58cf,_0x528183){return _0x3d58cf>_0x528183;},'CghmU':function(_0x404ea7,_0x54a2e2){return _0x404ea7>_0x54a2e2;},'xByvb':function(_0xbebeec,_0x17b627){return _0xbebeec>_0x17b627;}},_0x2a06a1=_0x101ac1['verifiedItems']||0x0,_0x1a2652=_0x101ac1['verificationInProgressItems']||0x0,_0x3b1a5a=_0x101ac1[_0x33f78d(0x15c)]||0x0,_0xf35295=_0x101ac1[_0x33f78d(0x12c)]||0x0,_0x1500a6=_0x101ac1['pendingItems']||0x0,_0x561a55=_0x1e30a1['MNuUj'](_0x1e30a1['MNuUj'](_0x2a06a1,_0x1a2652)+_0x3b1a5a+_0xf35295,_0x1500a6);if(_0x1e30a1[_0x33f78d(0x145)](_0x561a55,0x0))return'-';const _0x4fc7de=0xa,_0x101726=Math[_0x33f78d(0x121)](_0x1e30a1[_0x33f78d(0xcf)](_0x1e30a1['mJFfs'](_0x2a06a1,_0x561a55),_0x4fc7de)),_0x36a8e0=_0x1e30a1[_0x33f78d(0x12b)]('█'[_0x33f78d(0x125)](_0x101726),'░'['repeat'](_0x1e30a1['JpXIL'](_0x4fc7de,_0x101726))),_0x45af66=[];if(_0x1e30a1['xkwNw'](_0x3b1a5a,0x0))_0x45af66[_0x33f78d(0xc3)](_0x3b1a5a+_0x33f78d(0xf9));if(_0x1e30a1[_0x33f78d(0xd4)](_0xf35295,0x0))_0x45af66[_0x33f78d(0xc3)](_0xf35295+'\x20incomplete');if(_0x1a2652>0x0)_0x45af66['push'](_0x1a2652+'\x20in\x20progress');const _0x14ee76=_0x1e30a1[_0x33f78d(0xba)](_0x45af66[_0x33f78d(0x14c)],0x0)?'\x20('+_0x45af66['join'](',\x20')+')':'';return _0x36a8e0+'\x20'+_0x2a06a1+'/'+_0x561a55+_0x33f78d(0x10f)+_0x14ee76;}function getCurrentSessionItems(_0x12715c,_0x632398){const _0x39084d=_0x5145ea;if(!_0x12715c['currentSessionId'])return _0x632398['filter'](_0x1a0fa3=>!_0x1a0fa3['sessionId']);return _0x632398[_0x39084d(0xd3)](_0x26358b=>_0x26358b['sessionId']===_0x12715c[_0x39084d(0xbb)]||!_0x26358b[_0x39084d(0x101)]);}function displayFeature(_0x25e419,_0x3f96b4){const _0x53196f=_0x5145ea,_0x42b6fc={'eZbso':'\x0a\x20\x20\x20Scenarios:','PDUQJ':function(_0x1d67c8,_0x199e98){return _0x1d67c8===_0x199e98;},'kmqjZ':_0x53196f(0x131),'qXwwX':_0x53196f(0xa7),'arRML':function(_0x23d45d,_0x54b24c){return _0x23d45d===_0x54b24c;},'ujhBo':_0x53196f(0x10e),'fjboJ':'closed','QmEuW':function(_0x4f4f63,_0x1c154b){return _0x4f4f63===_0x1c154b;},'EFLZj':_0x53196f(0xd2),'DolUE':function(_0xcecf06,_0x36e295){return _0xcecf06!==_0x36e295;},'NnCLZ':'\x20[has\x20reviewer\x20feedback]','awrob':function(_0x12a25f,_0x1a5a0b){return _0x12a25f===_0x1a5a0b;},'tuvPn':_0x53196f(0xce),'xqIOg':function(_0x24ff92,_0x3b1125){return _0x24ff92===_0x3b1125;},'IOCdj':function(_0x52d165,_0x53efb6){return _0x52d165===_0x53efb6;}};console[_0x53196f(0x15b)]('\x0a'+_0x25e419['name']+'\x20('+_0x25e419['dashboardUrl']+')');_0x25e419[_0x53196f(0xd5)]&&console[_0x53196f(0x15b)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x25e419['stats']));_0x25e419['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x25e419[_0x53196f(0xc2)]);_0x25e419['gitRepoUrl']&&console[_0x53196f(0x15b)]('\x20\x20\x20Repository:\x20'+_0x25e419['gitRepoUrl']);_0x25e419['gitBranch']&&console[_0x53196f(0x15b)](_0x53196f(0x126)+_0x25e419[_0x53196f(0x12d)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x25e419['createdAt'])[_0x53196f(0xe5)]());_0x25e419[_0x53196f(0xc0)]&&console[_0x53196f(0x15b)](_0x53196f(0x106)+new Date(_0x25e419['completedAt'])[_0x53196f(0xe5)]());if(_0x3f96b4&&_0x3f96b4[_0x53196f(0x14c)]>0x0){console[_0x53196f(0x15b)](_0x42b6fc['eZbso']);for(let _0x3cf432=0x0;_0x3cf432<_0x3f96b4[_0x53196f(0x14c)];_0x3cf432++){const _0x495343=_0x3f96b4[_0x3cf432];let _0x49002d;if(_0x495343['status']===_0x53196f(0x130)&&_0x42b6fc['PDUQJ'](_0x495343['terminalReason'],_0x42b6fc[_0x53196f(0x11c)]))_0x49002d='✅';else{if(_0x495343[_0x53196f(0x157)]===_0x42b6fc['qXwwX'])_0x49002d='🟢';else{if(_0x42b6fc[_0x53196f(0x15e)](_0x495343['status'],_0x42b6fc[_0x53196f(0xe1)]))_0x49002d='🟠';else{if(_0x495343[_0x53196f(0x157)]==='blocked')_0x49002d='🛑';else{if(_0x495343['status']===_0x42b6fc['fjboJ'])_0x49002d='⛔';else _0x42b6fc[_0x53196f(0x104)](_0x495343[_0x53196f(0x157)],_0x42b6fc['EFLZj'])?_0x49002d='⏳':_0x49002d='⬜';}}}}const _0x42e635=_0x495343['version']>0x1?_0x53196f(0x14f)+_0x495343['version']+')':'',_0x3b3c0f=_0x495343[_0x53196f(0x100)]>0x1&&_0x495343['parentItemId']&&_0x495343['status']!==_0x42b6fc['fjboJ']&&_0x42b6fc['DolUE'](_0x495343[_0x53196f(0x157)],_0x53196f(0xa7))?_0x42b6fc['NnCLZ']:'';console['log'](_0x53196f(0xa3)+(_0x3cf432+0x1)+'.\x20'+_0x49002d+'\x20'+_0x495343[_0x53196f(0xc2)]+_0x42e635+_0x3b3c0f);_0x42b6fc[_0x53196f(0xf2)](_0x495343['status'],_0x42b6fc[_0x53196f(0x185)])&&_0x495343[_0x53196f(0x175)]&&console['log'](_0x53196f(0x114)+_0x495343['blockedReason']);_0x495343[_0x53196f(0x157)]===_0x53196f(0x10e)&&_0x495343['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x495343[_0x53196f(0xbf)]);if(_0x42b6fc['xqIOg'](_0x495343['status'],_0x42b6fc['fjboJ'])&&_0x495343[_0x53196f(0x119)]===_0x53196f(0x131))console[_0x53196f(0x15b)](_0x53196f(0xea));else _0x42b6fc['IOCdj'](_0x495343[_0x53196f(0x157)],_0x42b6fc[_0x53196f(0x10a)])&&_0x495343[_0x53196f(0x128)]&&console[_0x53196f(0x15b)](_0x53196f(0xeb)+_0x495343['canceledReason']);}}}export async function featureCreate(_0x22abd8,_0x5ca191){const _0xe71f78=_0x5145ea,_0x454560={'tlWmC':function(_0x45e89b,_0x43842a){return _0x45e89b===_0x43842a;},'PhpcE':function(_0x835462){return _0x835462();},'YzBGV':function(_0x466bd7){return _0x466bd7();},'eVsSD':'\x0aCreating\x20feature\x20review...','cAGIk':function(_0x4e65cf,_0x30734a){return _0x4e65cf(_0x30734a);}},{envNames:_0x105542}=await getEnvNames();if(_0x454560[_0xe71f78(0xb6)](_0x105542['length'],0x0)&&!process[_0xe71f78(0x172)]['RANGER_TEST_USERNAME']){let _0x2461c9=0x0;try{_0x2461c9=(await listCloudProfiles())['length'];}catch{_0x2461c9=0x1;}_0x2461c9===0x0&&console[_0xe71f78(0xa8)]('\x0a'+formatProfileRequiredMessage(_0xa5bb3a=>bold(_0xa5bb3a)));}const _0x26c963=_0x5ca191['scenarios']?_0x5ca191['scenarios']['map'](_0x4174c9=>_0x4174c9['trim']()):[],_0x74f365=_0x454560[_0xe71f78(0x11a)](getGitRepoUrl),_0x508fd4=_0x454560[_0xe71f78(0xb3)](getGitBranch);console['log'](_0x454560[_0xe71f78(0xca)]);const _0x433875=await createFeature({'name':_0x22abd8,'description':_0x5ca191[_0xe71f78(0xc2)],'checklist':_0x26c963,'gitRepoUrl':_0x74f365,'gitBranch':_0x508fd4});await _0x454560['cAGIk'](setActiveFeatureId,_0x433875['id']),await tryStartCurrentSession(_0x433875['id']);const _0x1bceef=process[_0xe71f78(0x172)]['CLAUDE_SESSION_ID'];_0x1bceef&®isterSession(_0x1bceef,_0x433875['id']),console[_0xe71f78(0x15b)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x433875['id']),displayFeature(_0x433875,_0x433875['checklistItems']),console[_0xe71f78(0x15b)](_0xe71f78(0xfc));}export async function featureList(_0x1e52c9){const _0x2c0698=_0x5145ea,_0x12dcdf={'HvGjr':function(_0x3ec7a9){return _0x3ec7a9();},'tdKNJ':'\x20--current-branch'},_0x4d36b8={'limit':_0x1e52c9[_0x2c0698(0x147)]??0xa,'offset':_0x1e52c9['offset']??0x0,'includeDeleted':_0x1e52c9[_0x2c0698(0x188)]};_0x1e52c9[_0x2c0698(0x117)]&&(_0x4d36b8['gitRepoUrl']=_0x12dcdf[_0x2c0698(0x183)](getGitRepoUrl),_0x4d36b8[_0x2c0698(0x12d)]=getGitBranch());const _0x5106dc=await listFeatures(_0x4d36b8);if(_0x5106dc['items'][_0x2c0698(0x14c)]===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x384a94=_0x5106dc[_0x2c0698(0x146)]>_0x5106dc['items'][_0x2c0698(0x14c)]?_0x2c0698(0xad)+_0x5106dc['items']['length']+'\x20of\x20'+_0x5106dc[_0x2c0698(0x146)]:_0x5106dc[_0x2c0698(0x146)]+_0x2c0698(0x184);console['log']('\x0a'+_0x384a94+':\x0a');for(const _0x5e56f4 of _0x5106dc['items']){console[_0x2c0698(0x15b)](''+_0x5e56f4[_0x2c0698(0xe8)]),console[_0x2c0698(0x15b)](_0x2c0698(0x118)+_0x5e56f4['id']),_0x5e56f4[_0x2c0698(0xd5)]&&console[_0x2c0698(0x15b)](_0x2c0698(0x187)+getProgressDisplay(_0x5e56f4['stats'])),_0x5e56f4['gitBranch']&&console[_0x2c0698(0x15b)]('\x20\x20\x20Branch:\x20'+_0x5e56f4['gitBranch']),console[_0x2c0698(0x15b)]('\x20\x20\x20Created:\x20'+new Date(_0x5e56f4[_0x2c0698(0xaa)])[_0x2c0698(0xb4)]()),console['log']('');}const _0x1c18d2=_0x4d36b8['limit']??0xa,_0x18ecf6=(_0x4d36b8['offset']??0x0)+_0x5106dc[_0x2c0698(0xb2)]['length'];if(_0x18ecf6<_0x5106dc[_0x2c0698(0x146)]){const _0x1e24ad=_0x1c18d2!==0xa?'\x20--limit\x20'+_0x1c18d2:'',_0xe2f470=_0x1e52c9['currentBranch']?_0x12dcdf['tdKNJ']:'',_0x487db2=_0x1e52c9[_0x2c0698(0x188)]?'\x20--include-deleted':'';console[_0x2c0698(0x15b)](_0x2c0698(0x132)+_0x18ecf6+_0x1e24ad+_0xe2f470+_0x487db2);}}export async function featureShow(_0x24239e){const _0x3b2ae9=_0x5145ea,_0xaecedb={'mEPRe':function(_0x54e09f){return _0x54e09f();},'RwTLI':_0x3b2ae9(0x173),'SIbpC':function(_0x663fd2,_0x5c8bce,_0x2dbd46){return _0x663fd2(_0x5c8bce,_0x2dbd46);}},_0x29241c=_0x24239e||await _0xaecedb[_0x3b2ae9(0x142)](getActiveFeatureId);if(!_0x29241c)throw new Error(_0xaecedb[_0x3b2ae9(0x16b)]);const _0x32b16c=await getFeature(_0x29241c);_0xaecedb['SIbpC'](displayFeature,_0x32b16c,_0x32b16c['checklistItems']);}export async function featureResume(_0x221c25){const _0x596527=_0x5145ea,_0x341fab={'UTKMk':function(_0x34ee3d,_0x4618d7){return _0x34ee3d(_0x4618d7);},'sIkjj':function(_0x2071eb,_0x17b9ee){return _0x2071eb(_0x17b9ee);},'KCLYm':function(_0x54dc46,_0x5e28d1){return _0x54dc46!==_0x5e28d1;},'eyAjE':function(_0x2a18cd,_0x3c32d3,_0x4d03e2){return _0x2a18cd(_0x3c32d3,_0x4d03e2);},'dkRMD':function(_0x3ea023,_0x372110){return _0x3ea023(_0x372110);},'krJtV':function(_0x5a275f){return _0x5a275f();},'Bgrfg':function(_0x5240a,_0x40cc01){return _0x5240a&&_0x40cc01;},'Pvjqf':_0x596527(0xdf),'NNTsZ':function(_0x2812be,_0x25a85e){return _0x2812be||_0x25a85e;},'ddgKr':_0x596527(0x11e),'tmrTR':function(_0x4124a8,_0x125555){return _0x4124a8===_0x125555;},'XDitX':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','BbRAY':_0x596527(0x107),'tjoXx':_0x596527(0x150),'erGnA':function(_0x1c80ae,_0x35242f,_0x1a84a2){return _0x1c80ae(_0x35242f,_0x1a84a2);}};if(_0x221c25){const _0x69853f=await _0x341fab[_0x596527(0x152)](getFeature,_0x221c25);await _0x341fab[_0x596527(0xd7)](setActiveFeatureId,_0x69853f['id']);const _0x3ebc5f=getGitBranch();_0x3ebc5f&&_0x341fab['KCLYm'](_0x3ebc5f,_0x69853f[_0x596527(0x12d)])&&(await _0x341fab['eyAjE'](updateFeature,_0x69853f['id'],{'gitBranch':_0x3ebc5f}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3ebc5f));console[_0x596527(0x15b)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x69853f['name']+'\x20('+_0x69853f['id']+')'),await _0x341fab['dkRMD'](tryStartCurrentSession,_0x69853f['id']);const _0x4c9218=process[_0x596527(0x172)]['CLAUDE_SESSION_ID'];_0x4c9218&®isterSession(_0x4c9218,_0x69853f['id']);displayFeature(_0x69853f,_0x69853f['checklistItems']),await printFeedbackNudge(_0x69853f['id']);return;}const _0x331854=getGitRepoUrl(),_0x52a253=_0x341fab[_0x596527(0xe3)](getGitBranch);if(_0x341fab[_0x596527(0x17f)](!_0x331854,!_0x52a253))throw new Error(_0x341fab[_0x596527(0x103)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x341fab[_0x596527(0xf1)](_0x331854,_0x341fab[_0x596527(0x12e)])+_0x596527(0x137)+_0x341fab['NNTsZ'](_0x52a253,_0x341fab['ddgKr'])+'...');const _0x3e510c=await listFeatures({'gitRepoUrl':_0x331854,'gitBranch':_0x52a253}),_0x1a54b7=_0x3e510c[_0x596527(0xb2)][_0x596527(0xd3)](_0x2da5b2=>_0x2da5b2['status']?_0x2da5b2['status']!==_0x596527(0xa7):!_0x2da5b2[_0x596527(0xc0)]);if(_0x341fab[_0x596527(0x10d)](_0x1a54b7['length'],0x0)){console[_0x596527(0x15b)](_0x341fab['XDitX']),console[_0x596527(0x15b)]('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x475148;if(_0x1a54b7['length']===0x1)_0x475148=_0x1a54b7[0x0];else{const _0x4fa89f=process[_0x596527(0xcb)][_0x596527(0xb9)]&&process[_0x596527(0xab)][_0x596527(0xb9)];if(!_0x4fa89f){console[_0x596527(0x15b)](_0x341fab[_0x596527(0xde)]);for(const _0x4a3352 of _0x1a54b7){console[_0x596527(0x15b)]('\x20\x20'+_0x4a3352['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0x4a3352['id']),_0x4a3352[_0x596527(0xd5)]&&console[_0x596527(0x15b)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x341fab['dkRMD'](getProgressDisplay,_0x4a3352['stats'])),_0x4a3352['gitBranch']&&console[_0x596527(0x15b)](_0x596527(0x181)+_0x4a3352['gitBranch']);}throw new Error(_0x596527(0xef));}const {selected:_0x5e99ad}=await _0x354d65[_0x596527(0x16e)]([{'type':_0x341fab[_0x596527(0x12a)],'name':'selected','message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x1a54b7['map'](_0xe87d69=>({'name':_0xe87d69[_0x596527(0xe8)]+'\x20('+_0xe87d69['id']+')','value':_0xe87d69['id']}))}]);_0x475148=_0x1a54b7['find'](_0x389dab=>_0x389dab['id']===_0x5e99ad);}await setActiveFeatureId(_0x475148['id']);_0x52a253&&_0x52a253!==_0x475148[_0x596527(0x12d)]&&(await updateFeature(_0x475148['id'],{'gitBranch':_0x52a253}),console['log'](_0x596527(0x16f)+_0x52a253));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x475148['name']+'\x20('+_0x475148['id']+')'),await _0x341fab['UTKMk'](tryStartCurrentSession,_0x475148['id']);const _0x4f56e7=await getFeature(_0x475148['id']),_0x1d14a8=process['env'][_0x596527(0x162)];_0x1d14a8&&_0x341fab['erGnA'](registerSession,_0x1d14a8,_0x4f56e7['id']),displayFeature(_0x4f56e7,_0x4f56e7[_0x596527(0xc4)]),await printFeedbackNudge(_0x4f56e7['id']);}async function printFeedbackNudge(_0x40519c){const _0x5a308a=_0x5145ea,_0x44a82d={'HvXJA':function(_0x410821,_0xb1b270){return _0x410821(_0xb1b270);},'DMgJe':function(_0xaa5cd3,_0x5abba5,_0x3468ee){return _0xaa5cd3(_0x5abba5,_0x3468ee);},'xcyLA':function(_0x31320c,_0x2531a5){return _0x31320c>_0x2531a5;},'tzHmT':_0x5a308a(0xfa)};try{const {items:_0x3af307}=await _0x44a82d['HvXJA'](getActionItems,_0x40519c);let _0x5d789d=0x0,_0x1b65e9=0x0;for(const _0x41e305 of _0x3af307){const _0xdc5d8=await _0x44a82d['DMgJe'](getItemFeedback,_0x40519c,_0x41e305['id']);_0x44a82d['xcyLA'](_0xdc5d8['unaddressedComments'][_0x5a308a(0x14c)],0x0)&&(_0x5d789d+=_0xdc5d8['unaddressedComments'][_0x5a308a(0x14c)],_0x1b65e9++);}_0x44a82d['xcyLA'](_0x5d789d,0x0)&&(console[_0x5a308a(0x15b)]('\x0a⚠️\x20\x20'+_0x5d789d+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x1b65e9+_0x5a308a(0x156)),console['log'](_0x44a82d[_0x5a308a(0x163)]));}catch{}}async function tryStartCurrentSession(_0x2565eb){const _0x465914=_0x5145ea,_0x2fa321={'KtRHq':function(_0x44b3c5,_0x47532f,_0x20be17){return _0x44b3c5(_0x47532f,_0x20be17);}};try{const {sessions:_0x5e1ee9}=await listFeatureSessions(_0x2565eb),_0x3f2298=_0x5e1ee9[_0x465914(0xb8)](_0x8e8598=>_0x8e8598['status']===_0x465914(0xdb));_0x3f2298&&(await _0x2fa321[_0x465914(0xe6)](startSession,_0x2565eb,_0x3f2298['id']),console[_0x465914(0x15b)](_0x465914(0x186)+_0x3f2298['iteration']));}catch{}}export async function featureReport(_0x61427e,_0x3be782){const _0x112df9=_0x5145ea,_0x50db86={'wNQcG':_0x112df9(0x14b),'pxtPJ':'\x0aGenerating\x20report...','YflUz':function(_0x450054,_0x391f80,_0x2399a5){return _0x450054(_0x391f80,_0x2399a5);},'apODI':'reports','RhQir':function(_0x301e32,_0x5035a3,_0xaf7e94){return _0x301e32(_0x5035a3,_0xaf7e94);},'HxzWH':function(_0x3707df,_0x4136ab){return _0x3707df(_0x4136ab);}},_0x3127a7=_0x61427e||await getActiveFeatureId();if(!_0x3127a7)throw new Error(_0x50db86[_0x112df9(0x143)]);console['log'](_0x50db86[_0x112df9(0x13f)]);const _0x1df030=await _0x50db86['YflUz'](getFeatureReportMarkdown,_0x3127a7,{'style':_0x3be782['style']}),_0x1f5c38=_0x3be782['output']||join(getRangerDir(),_0x50db86['apODI'],_0x3127a7+_0x112df9(0xae)),_0x6866f5=_0x50db86['RhQir'](join,_0x1f5c38,'..');!_0x50db86['HxzWH'](existsSync,_0x6866f5)&&await _0x50db86['YflUz'](mkdir,_0x6866f5,{'recursive':!![]}),await writeFile(_0x1f5c38,_0x1df030,_0x112df9(0x105)),console['log'](_0x112df9(0xac)+_0x1f5c38);}function getScenarioResult(_0x22a558){const _0x2362c8=_0x5145ea,_0x30d2cf={'wiwzv':'closed','mFcqZ':_0x2362c8(0xd2)};if(_0x22a558['status']===_0x30d2cf[_0x2362c8(0x160)])return _0x22a558[_0x2362c8(0x119)]??_0x30d2cf[_0x2362c8(0x160)];if(_0x22a558['status']===_0x30d2cf['mFcqZ'])return'in_progress';return _0x22a558[_0x2362c8(0x157)];}function getScenarioRationale(_0x512e8a,_0x31db41){const _0x1889af=_0x5145ea,_0xcac41e={'RrQsl':_0x1889af(0x149)},_0x13dc15=_0xcac41e['RrQsl']['split']('|');let _0x47ce6b=0x0;while(!![]){switch(_0x13dc15[_0x47ce6b++]){case'0':if(_0x31db41)return _0x31db41;continue;case'1':if(_0x512e8a[_0x1889af(0x128)])return _0x512e8a['canceledReason'];continue;case'2':if(_0x512e8a[_0x1889af(0xe0)])return _0x512e8a['notes'];continue;case'3':if(_0x512e8a['incompleteReason'])return _0x512e8a['incompleteReason'];continue;case'4':if(_0x512e8a['blockedReason'])return _0x512e8a['blockedReason'];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0xdd62c5,_0x45ca51){const _0x526781=_0x5145ea,_0x1791f6={'XVGul':function(_0x15476d,_0x31caa5){return _0x15476d===_0x31caa5;},'AGfsI':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','bTAqz':function(_0x49cd8b,_0x12cee3){return _0x49cd8b>_0x12cee3;},'gNFXB':function(_0x1da888,_0x4241e7){return _0x1da888+_0x4241e7;},'bwNBg':_0x526781(0xee),'OhQEJ':function(_0x4d2014,_0xb45cfc,_0x3b8608){return _0x4d2014(_0xb45cfc,_0x3b8608);}},_0x2f4e47=_0xdd62c5||await getActiveFeatureId();if(!_0x2f4e47)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x13be04=await getFeature(_0x2f4e47),_0x3302d9=_0x13be04['checklistItems']||[],_0x3c0d8e=getCurrentSessionItems(_0x13be04,_0x3302d9);_0x1791f6[_0x526781(0x177)](_0x3c0d8e['length'],0x0)&&(console['error'](_0x1791f6[_0x526781(0x154)]),process[_0x526781(0xa4)](0x1));const _0xacb61d=_0x45ca51['excludeScenarios']??[],_0x3f4643=_0xacb61d['filter'](_0x24b93e=>!Number[_0x526781(0x11d)](_0x24b93e)||_0x24b93e<0x1||_0x24b93e>_0x3c0d8e['length']);if(_0x1791f6['bTAqz'](_0x3f4643['length'],0x0)){console['error'](_0x526781(0xd6)+_0x3f4643[_0x526781(0xdc)](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x761378=0x0;_0x761378<_0x3c0d8e['length'];_0x761378++){console[_0x526781(0x15b)]('\x20\x20'+_0x1791f6[_0x526781(0xe2)](_0x761378,0x1)+'.\x20'+_0x3c0d8e[_0x761378]['description']);}process['exit'](0x1);}const _0x585f6e=new Set(_0xacb61d[_0x526781(0x139)](_0x27562e=>_0x27562e-0x1)),_0x2bec38=_0x3c0d8e[_0x526781(0xd3)]((_0x963d06,_0x368125)=>!_0x585f6e['has'](_0x368125));_0x2bec38[_0x526781(0x14c)]===0x0&&(console['error'](_0x1791f6[_0x526781(0x16a)]),process['exit'](0x1));if(_0x45ca51[_0x526781(0x166)])await outputJsonReport(_0x2f4e47,_0x13be04,_0x2bec38);else{const _0x572f23=await _0x1791f6['OhQEJ'](getFeatureReportMarkdown,_0x2f4e47,{'itemIds':_0x2bec38['map'](_0x20841a=>_0x20841a['id'])});process['stdout']['write'](_0x572f23['trimEnd']()+'\x0a');}}async function outputJsonReport(_0xeb1a6f,_0x521f69,_0x20706e){const _0x4f7119=_0x5145ea,_0x3658ca={'WmdiW':function(_0x44bbf8,_0x3c32c7){return _0x44bbf8(_0x3c32c7);},'aeGgd':function(_0x415b72,_0x52a121){return _0x415b72===_0x52a121;},'EGJKt':function(_0x1af6bc,_0x898e6b,_0x406149){return _0x1af6bc(_0x898e6b,_0x406149);},'RewLS':function(_0x3b97bb){return _0x3b97bb();}},_0x42b690=_0x3658ca[_0x4f7119(0x178)](getApiBaseUrl),_0x4141d3=await _0x3658ca[_0x4f7119(0x15d)](getFeatureReport,_0xeb1a6f),_0x554f85=new Map(_0x4141d3[_0x4f7119(0xc4)]['map'](_0x148ec9=>[_0x148ec9['id'],_0x148ec9])),_0x390e1b=await Promise['all'](_0x20706e[_0x4f7119(0x139)](async _0x3d8fb1=>{const _0x471e50=_0x4f7119,_0x1c7aa3=_0x554f85[_0x471e50(0xa1)](_0x3d8fb1['id']),_0x52a265=_0x1c7aa3?.['linkedSession']??null;let _0x2424e7=[];if(_0x3d8fb1[_0x471e50(0xb0)])try{const {steps:_0x6070d5}=await _0x3658ca['WmdiW'](getBrowserSessionSteps,_0x3d8fb1['browserSessionId']);_0x6070d5[_0x471e50(0x14c)]>0x0&&(_0x2424e7=_0x6070d5[_0x471e50(0x139)](_0x4f43e4=>{const _0xec2641=_0x471e50,_0x24f63f=_0x4f43e4['assets'][_0xec2641(0xb8)](_0x1f1c81=>_0x1f1c81['assetType']===_0xec2641(0xda)&&_0x1f1c81['timing']===_0xec2641(0xd9))??_0x4f43e4['assets']['find'](_0x2f4420=>_0x2f4420['assetType']==='screenshot');let _0x1ab085=null,_0x3123c7=null;if(_0x24f63f){const _0x1687cf=_0x24f63f['storage']['location'][_0xec2641(0x140)]('/')[_0xec2641(0x15a)]();_0x1ab085=_0x42b690+'/api/v1/mcp/browser-sessions/'+_0x3d8fb1['browserSessionId']+'/artifacts/'+_0x1687cf,_0x1687cf&&(_0x3123c7=_0x1687cf[_0xec2641(0x14d)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0xec2641(0x14d)](/[-_]/g,'\x20'));}return{'description':_0x3123c7||_0x4f43e4['description']||_0x4f43e4[_0xec2641(0x129)]||_0xec2641(0x174)+_0x4f43e4['position'],'screenshot':_0x1ab085,'is_key_step':_0x4f43e4['isKeyStep']};}));}catch{}return _0x3658ca['aeGgd'](_0x2424e7['length'],0x0)&&_0x52a265?.['screenshotUrls']&&(_0x2424e7=_0x52a265['screenshotUrls']['map']((_0x1916e7,_0x205f9e)=>({'description':'Screenshot\x20'+(_0x205f9e+0x1),'screenshot':_0x1916e7,'is_key_step':![]}))),{'description':_0x3d8fb1['description'],'result':getScenarioResult(_0x3d8fb1),'rationale':_0x3658ca['EGJKt'](getScenarioRationale,_0x3d8fb1,_0x52a265?.[_0x471e50(0xd8)]),'steps':_0x2424e7};})),_0x3e2d6e={'url':_0x521f69['dashboardUrl'],'scenarios':_0x390e1b};process[_0x4f7119(0xab)]['write'](JSON['stringify'](_0x3e2d6e,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x1459d7){const _0xfcd3fb=_0x5145ea,_0x33bb36={'dYLzq':function(_0x43fd54){return _0x43fd54();},'iViDg':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','VzlZi':'Current\x20session\x20not\x20found.','nLcdZ':_0xfcd3fb(0x123),'BsEtb':'in_progress','scnFu':function(_0x34b5b4,_0x2c6c7f,_0x142d3a){return _0x34b5b4(_0x2c6c7f,_0x142d3a);}},_0x28e012=_0x1459d7||await _0x33bb36['dYLzq'](getActiveFeatureId);if(!_0x28e012)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x50c2fe=await getFeature(_0x28e012);if(!_0x50c2fe[_0xfcd3fb(0xbb)])throw new Error(_0x33bb36['iViDg']);const {sessions:_0x5b3e6f}=await listFeatureSessions(_0x28e012),_0xae9ed5=_0x5b3e6f[_0xfcd3fb(0xb8)](_0x7af8ab=>_0x7af8ab['id']===_0x50c2fe[_0xfcd3fb(0xbb)]);if(!_0xae9ed5)throw new Error(_0x33bb36[_0xfcd3fb(0xf8)]);if(_0xae9ed5[_0xfcd3fb(0x157)]===_0x33bb36[_0xfcd3fb(0x116)]){console[_0xfcd3fb(0x15b)](_0xfcd3fb(0xb5));return;}if(_0xae9ed5[_0xfcd3fb(0x157)]!==_0x33bb36['BsEtb'])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0xae9ed5[_0xfcd3fb(0x157)]);console['log']('\x0aConcluding\x20session...'),await _0x33bb36[_0xfcd3fb(0x17b)](concludeSession,_0x28e012,_0x50c2fe[_0xfcd3fb(0xbb)]),console[_0xfcd3fb(0x15b)]('\x0a✅\x20Session\x20'+_0xae9ed5['iteration']+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x14f7cb){const _0x32fe5f=_0x5145ea,_0x3666b4={'FZJFx':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','IsOic':'completed','edqah':function(_0x57e0ad,_0x39a682){return _0x57e0ad===_0x39a682;},'CvTge':_0x32fe5f(0x112)},_0x41872b=_0x14f7cb||await getActiveFeatureId();if(!_0x41872b)throw new Error(_0x3666b4[_0x32fe5f(0xd0)]);const _0x281a36=await getFeature(_0x41872b);console[_0x32fe5f(0x15b)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x281a36[_0x32fe5f(0xe8)]+'\x0a');const {sessions:_0x39ac78}=await listFeatureSessions(_0x41872b);if(_0x39ac78['length']===0x0){console[_0x32fe5f(0x15b)]('No\x20sessions\x20found.');return;}for(const _0x2e96d4 of _0x39ac78){const _0x5e5c2d=_0x2e96d4['status']===_0x3666b4['IsOic']?'✅':_0x3666b4[_0x32fe5f(0xbe)](_0x2e96d4['status'],_0x3666b4['CvTge'])?'🔄':'▶️';console['log'](_0x5e5c2d+_0x32fe5f(0x159)+_0x2e96d4['iteration']+'\x20('+_0x2e96d4['id']+')'),console[_0x32fe5f(0x15b)](_0x32fe5f(0x182)+_0x2e96d4[_0x32fe5f(0x157)]),console['log'](_0x32fe5f(0x102)+new Date(_0x2e96d4[_0x32fe5f(0xaa)])['toLocaleString']()),_0x2e96d4['completedAt']&&console['log'](_0x32fe5f(0x106)+new Date(_0x2e96d4['completedAt'])['toLocaleString']()),console[_0x32fe5f(0x15b)]('');}}export async function featureAddScenario(_0x3933f4,_0xceb91d){const _0x54d90e=_0x5145ea,_0x1dacd1={'UaZTc':function(_0x1c1056){return _0x1c1056();},'hefUv':_0x54d90e(0x173),'vBZUF':function(_0x2dc797,_0x3716dd){return _0x2dc797(_0x3716dd);},'lQjXR':function(_0x20e9d9,_0x1320d1){return _0x20e9d9(_0x1320d1);}},_0x38e19e=_0xceb91d||await _0x1dacd1['UaZTc'](getActiveFeatureId);if(!_0x38e19e)throw new Error(_0x1dacd1['hefUv']);const _0x2831af=await _0x1dacd1[_0x54d90e(0x17e)](getFeature,_0x38e19e);if(_0x2831af['latestReview']&&!_0x2831af[_0x54d90e(0x153)][_0x54d90e(0xa6)])throw new Error(_0x54d90e(0x170)+_0x2831af['dashboardUrl']);await createChecklistItem(_0x38e19e,_0x3933f4);const _0xb00211=await _0x1dacd1[_0x54d90e(0x141)](getFeature,_0x38e19e);console['log'](_0x54d90e(0xbd)),displayFeature(_0xb00211,_0xb00211[_0x54d90e(0xc4)]);}export async function featureEditScenario(_0x464382,_0x3bd50a){const _0x639add=_0x5145ea,_0x88c0ab={'ItqWN':function(_0x1250e8){return _0x1250e8();},'iioby':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','VrEAe':function(_0x17850b,_0x1128f3){return _0x17850b(_0x1128f3);},'cbqaK':function(_0x2bf1d3,_0x9c24fc){return _0x2bf1d3===_0x9c24fc;},'eYeWT':_0x639add(0x148),'ihEdd':function(_0x5a183c,_0x3ec61b){return _0x5a183c-_0x3ec61b;},'EXfgi':function(_0x83ca07,_0x2349e8){return _0x83ca07<_0x2349e8;},'qkVBA':function(_0x279b4d,_0xcde292){return _0x279b4d>=_0xcde292;},'kRBAL':'\x0aAvailable\x20scenarios:','MFrJj':function(_0x5d5c0a,_0x18548c){return _0x5d5c0a+_0x18548c;},'JDmOF':function(_0x3f21a7,_0x19c722,_0x698bdc,_0x65d2c4){return _0x3f21a7(_0x19c722,_0x698bdc,_0x65d2c4);}},_0x5008e8=_0x3bd50a['id']||await _0x88c0ab['ItqWN'](getActiveFeatureId);!_0x5008e8&&(console[_0x639add(0xd1)](_0x639add(0xdd)),console['error'](_0x88c0ab['iioby']),process[_0x639add(0xa4)](0x1));const _0x2cc79b=await _0x88c0ab['VrEAe'](getFeature,_0x5008e8);_0x2cc79b[_0x639add(0x153)]&&!_0x2cc79b[_0x639add(0x153)]['submittedAt']&&(console['error'](_0x639add(0x111)),console['error'](_0x639add(0xff)),console['error']('\x20\x20'+_0x2cc79b[_0x639add(0x13e)]),process[_0x639add(0xa4)](0x1));const _0x4b0815=_0x2cc79b[_0x639add(0xc4)]||[];_0x88c0ab[_0x639add(0x16d)](_0x4b0815['length'],0x0)&&(console['error'](_0x639add(0x13c)),process[_0x639add(0xa4)](0x1));if(_0x88c0ab['cbqaK'](_0x3bd50a['scenario'],undefined)){console[_0x639add(0xd1)](_0x88c0ab['eYeWT']),console['log'](_0x639add(0x13a));for(let _0x284116=0x0;_0x284116<_0x4b0815['length'];_0x284116++){console[_0x639add(0x15b)]('\x20\x20'+(_0x284116+0x1)+'.\x20'+_0x4b0815[_0x284116][_0x639add(0xc2)]);}process['exit'](0x1);}const _0x57ee6e=_0x88c0ab[_0x639add(0xe4)](_0x3bd50a['scenario'],0x1);if(_0x88c0ab['EXfgi'](_0x57ee6e,0x0)||_0x88c0ab[_0x639add(0x13b)](_0x57ee6e,_0x4b0815[_0x639add(0x14c)])){console['error'](_0x639add(0x13d)+_0x3bd50a['scenario']+_0x639add(0x17c)+_0x4b0815[_0x639add(0x14c)]+_0x639add(0xcc)),console['log'](_0x88c0ab['kRBAL']);for(let _0x3245f2=0x0;_0x3245f2<_0x4b0815[_0x639add(0x14c)];_0x3245f2++){console[_0x639add(0x15b)]('\x20\x20'+_0x88c0ab[_0x639add(0xc7)](_0x3245f2,0x1)+'.\x20'+_0x4b0815[_0x3245f2]['description']);}process['exit'](0x1);}const _0x39eb77=_0x4b0815[_0x57ee6e];await _0x88c0ab[_0x639add(0x179)](updateChecklistItem,_0x5008e8,_0x39eb77['id'],{'description':_0x464382});const _0x4d0e00=await getFeature(_0x5008e8);console[_0x639add(0x15b)]('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x4d0e00,_0x4d0e00[_0x639add(0xc4)]);}function _0x198d(_0x5bc642,_0x431540){_0x5bc642=_0x5bc642-0xa1;const _0x3d36ad=_0x3d36();let _0x198d0c=_0x3d36ad[_0x5bc642];return _0x198d0c;}async function downloadFeedbackImage(_0x34c9a9,_0x4b8a81){const _0x4457be=_0x5145ea,_0x1955d1={'HTqtu':_0x4457be(0x120),'ZntSC':function(_0x591b16,_0x4c9af8,_0x49c218){return _0x591b16(_0x4c9af8,_0x49c218);},'bRksP':function(_0x3089f4,_0x489fda,_0x5ae334){return _0x3089f4(_0x489fda,_0x5ae334);},'YIGYH':function(_0x6ba5c1,_0x1464dd,_0x2aec08){return _0x6ba5c1(_0x1464dd,_0x2aec08);}};try{const _0x20bc94=join(getRangerDir(),_0x1955d1['HTqtu']);await _0x1955d1[_0x4457be(0x176)](mkdir,_0x20bc94,{'recursive':!![]});const _0x272ddd=_0x1955d1[_0x4457be(0xfe)](join,_0x20bc94,'comment_'+_0x4b8a81+_0x4457be(0xbc)),_0x5f24a1=await fetch(_0x34c9a9);if(!_0x5f24a1['ok'])return null;const _0x5564c8=Buffer['from'](await _0x5f24a1[_0x4457be(0x169)]());return await _0x1955d1['YIGYH'](writeFile,_0x272ddd,_0x5564c8),_0x272ddd;}catch{return null;}}export async function featureGetReview(_0x2f9ea4){const _0x2c8bad=_0x5145ea,_0x411f58={'JHNdC':function(_0x16639b){return _0x16639b();},'Cvnpe':function(_0x550984,_0x18db2c){return _0x550984(_0x18db2c);},'PbeNQ':function(_0x26b3f9,_0x2a93be){return _0x26b3f9(_0x2a93be);},'loXtu':function(_0x4b3b96,_0x5305f2){return _0x4b3b96===_0x5305f2;},'qvyLp':'No\x20scenarios\x20found.','YKrWI':function(_0x41caab,_0x47fa28){return _0x41caab>_0x47fa28;},'zfePb':function(_0x2b36d7,_0x128086){return _0x2b36d7+_0x128086;},'VJDzC':_0x2c8bad(0x115),'uMJWI':_0x2c8bad(0xe7),'qbNPM':_0x2c8bad(0x161)},_0x1f5d21=_0x2f9ea4||await _0x411f58[_0x2c8bad(0xb1)](getActiveFeatureId);if(!_0x1f5d21)throw new Error(_0x2c8bad(0x173));const _0xb91e2f=await _0x411f58[_0x2c8bad(0x10c)](getFeature,_0x1f5d21),{items:_0x4cbe87}=await _0x411f58['PbeNQ'](getActionItems,_0x1f5d21);console[_0x2c8bad(0x15b)]('\x0a📋\x20Feedback\x20for:\x20'+_0xb91e2f['name']+'\x20('+_0xb91e2f['id']+')\x0a');if(_0x411f58['loXtu'](_0x4cbe87[_0x2c8bad(0x14c)],0x0)){console['log'](_0x411f58['qvyLp']);return;}for(let _0x5e662a=0x0;_0x5e662a<_0x4cbe87[_0x2c8bad(0x14c)];_0x5e662a++){const _0x1296d6=_0x4cbe87[_0x5e662a],_0x4183d8=_0x411f58[_0x2c8bad(0xed)](_0x1296d6['version'],0x1)?_0x2c8bad(0x14f)+_0x1296d6['version']+')':'',_0x243237=await getItemFeedback(_0x1f5d21,_0x1296d6['id']);if(_0x411f58[_0x2c8bad(0xed)](_0x243237['unaddressedComments'][_0x2c8bad(0x14c)],0x0)){console[_0x2c8bad(0x15b)](_0x2c8bad(0x11f)+_0x411f58[_0x2c8bad(0x171)](_0x5e662a,0x1)+_0x2c8bad(0xe9)+_0x1296d6['description']+'\x22'+_0x4183d8+'\x20—\x20'+_0x243237['unaddressedComments'][_0x2c8bad(0x14c)]+'\x20unaddressed\x20comment(s)');for(const _0x424e08 of _0x243237[_0x2c8bad(0x180)]){const _0x5de012=new Date(_0x424e08[_0x2c8bad(0xaa)])[_0x2c8bad(0xb4)](_0x411f58['VJDzC'],{'month':_0x411f58[_0x2c8bad(0x138)],'day':_0x2c8bad(0x108)}),_0x2667cd=_0x424e08['authorName']||_0x424e08['authorEmail']||'Unknown';console[_0x2c8bad(0x15b)](_0x2c8bad(0x136)+_0x2667cd+'\x20('+_0x5de012+_0x2c8bad(0xf0)+_0x424e08[_0x2c8bad(0x113)]+'\x22');if(_0x424e08[_0x2c8bad(0xf7)]){const _0x5e4714=await downloadFeedbackImage(_0x424e08[_0x2c8bad(0xf7)],_0x424e08['id']);_0x5e4714&&console[_0x2c8bad(0x15b)](_0x2c8bad(0x16c)+_0x5e4714);}if(_0x424e08['domRef']){const _0x8ad98c=_0x424e08[_0x2c8bad(0x168)]['selector']['split'](_0x411f58['qbNPM'])[_0x2c8bad(0x15a)]()?.['split'](':')[0x0]||_0x2c8bad(0x12f),_0x18d4e4=_0x424e08['domRef']['textContent']?'\x20\x22'+_0x424e08[_0x2c8bad(0x168)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x2c8bad(0xcd)+_0x8ad98c+'>'+_0x18d4e4),console['log'](_0x2c8bad(0xa2)+_0x424e08['domRef'][_0x2c8bad(0x135)]);}else{if(_0x424e08[_0x2c8bad(0x109)]){const _0x3d3e0a=_0x424e08['spatial'][_0x2c8bad(0xfd)];_0x411f58['loXtu'](_0x424e08['spatial'][_0x2c8bad(0x133)],'point')&&_0x3d3e0a[_0x2c8bad(0x14c)]>=0x2?console[_0x2c8bad(0x15b)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x3d3e0a[0x0][_0x2c8bad(0x155)](0x2)+',\x20'+_0x3d3e0a[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x424e08['spatial']['type']+'\x20at\x20['+_0x3d3e0a['map'](_0x340aec=>_0x340aec['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x243237[_0x2c8bad(0x17d)]){console['log'](_0x2c8bad(0xc9));for(const _0x4fef6e of _0x243237[_0x2c8bad(0x17d)][_0x2c8bad(0x140)]('\x0a')){console[_0x2c8bad(0x15b)](_0x2c8bad(0xc6)+_0x4fef6e);}}}else console[_0x2c8bad(0x15b)](_0x2c8bad(0x11f)+(_0x5e662a+0x1)+_0x2c8bad(0xe9)+_0x1296d6[_0x2c8bad(0xc2)]+'\x22'+_0x4183d8+'\x20—\x20no\x20comments'),console['log'](_0x2c8bad(0xf6));console[_0x2c8bad(0x15b)]('');}}export async function featureDelete(_0x143a7e){const _0x3ad009=_0x5145ea,_0x28fa07={'LlZOy':function(_0x4209de){return _0x4209de();},'qbSlD':_0x3ad009(0x173),'iFbzN':function(_0x1e5f2f,_0x4d096e){return _0x1e5f2f(_0x4d096e);}},_0x1b39fb=_0x143a7e||await _0x28fa07['LlZOy'](getActiveFeatureId);if(!_0x1b39fb)throw new Error(_0x28fa07['qbSlD']);const _0x3bef9c=await getFeature(_0x1b39fb);await _0x28fa07[_0x3ad009(0x122)](softDeleteFeature,_0x1b39fb),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x3bef9c['name']+'\x20('+_0x1b39fb+')'),console['log']('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x1b39fb);}function _0x3d36(){const _0x32953a=['active-feature.txt','kmqjZ','isInteger','any','Scenario\x20','feedback-images','round','iFbzN','completed','7471890oVJDCY','repeat','\x20\x20\x20Branch:\x20','28878dtGoTG','canceledReason','stepName','tjoXx','FHUID','incompleteItems','gitBranch','ddgKr','element','closed','approved','Next\x20page:\x20ranger\x20list\x20--offset\x20','type','GxxmP','selector','\x20\x20💬\x20','\x20/\x20','uMJWI','map','\x0aAvailable\x20scenarios:','qkVBA','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x0a❌\x20Invalid\x20scenario\x20index:\x20','dashboardUrl','pxtPJ','split','lQjXR','mEPRe','wNQcG','jugQV','qjqgp','totalCount','limit','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','0|4|3|1|2|5','70pQyEtQ','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','length','replace','git\x20remote\x20get-url\x20origin','\x20(v','list','lsOHm','UTKMk','latestReview','AGfsI','toFixed','\x20scenario(s).','status','gyVEY','\x20Session\x20','pop','log','blockedItems','WmdiW','arRML','TAfcW','wiwzv','\x20>\x20','CLAUDE_SESSION_ID','tzHmT','6UugUzs','\x0a✅\x20Restored\x20feature\x20review:\x20','json','1839400KeZnLe','domRef','arrayBuffer','bwNBg','RwTLI','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','cbqaK','prompt','\x20\x20\x20Updated\x20branch\x20to:\x20','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','zfePb','env','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','Step\x20','blockedReason','ZntSC','XVGul','RewLS','JDmOF','411005tAgGmL','scnFu','.\x20Feature\x20review\x20has\x20','canonicalFlow','vBZUF','Bgrfg','unaddressedComments','\x20\x20\x20\x20\x20Branch:\x20','\x20\x20\x20Status:\x20','HvGjr','\x20feature\x20review(s)\x20found','tuvPn','\x20\x20\x20▶️\x20Started\x20session\x20','\x20\x20\x20Progress:\x20','includeDeleted','get','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20\x20\x20','exit','github.com/','submittedAt','verified','warn','70NNsuWT','createdAt','stdout','\x0a✅\x20Report\x20generated:\x20','Showing\x20','.md','zpmlq','browserSessionId','JHNdC','items','YzBGV','toLocaleDateString','\x0a✅\x20Session\x20is\x20already\x20completed.','tlWmC','trim','find','isTTY','xByvb','currentSessionId','.png','\x0a✅\x20Scenario\x20added','edqah','incompleteReason','completedAt','DFZEJ','description','push','checklistItems','Wukdh','\x20\x20\x20\x20','MFrJj','\x1b[0m','\x20\x20Expected\x20flow:','eVsSD','stdin','\x20scenarios.','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','blocked','AXZlz','FZJFx','error','verification_in_progress','filter','CghmU','stats','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','sIkjj','agentResponse','after','screenshot','ready','join','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','BbRAY','Not\x20in\x20a\x20git\x20repository.','notes','ujhBo','gNFXB','krJtV','ihEdd','toLocaleString','KtRHq','short','name',':\x20\x22','\x20\x20\x20\x20\x20\x20Approved','\x20\x20\x20\x20\x20\x20Cancelled:\x20','100420kReZfp','YKrWI','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','):\x20\x22','NNTsZ','awrob','pipe','1784475puLIdQ','rVIad','\x20\x20✅\x20No\x20feedback\x20to\x20address','assetUrl','VzlZi','\x20blocked','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','AJmpQ','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','coordinates','bRksP','Please\x20finish\x20your\x20review\x20first:','version','sessionId','\x20\x20\x20Created:\x20','Pvjqf','QmEuW','utf-8','\x20\x20\x20Completed:\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','numeric','spatial','fjboJ','1490993QriVOX','Cvnpe','tmrTR','incomplete','\x20verified','CSENz','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','in_progress','content','\x20\x20\x20\x20\x20\x20Blocked:\x20','en-US','nLcdZ','currentBranch','\x20\x20\x20ID:\x20','terminalReason','PhpcE'];_0x3d36=function(){return _0x32953a;};return _0x3d36();}export async function featureRestore(_0x12b494){const _0x1846f3=_0x5145ea,_0x4ad957={'lsOHm':function(_0x4bff77,_0x5df129){return _0x4bff77(_0x5df129);},'jugQV':function(_0x59312b,_0x151dd7,_0x1abaaf){return _0x59312b(_0x151dd7,_0x1abaaf);}};await _0x4ad957[_0x1846f3(0x151)](restoreFeature,_0x12b494);const _0x1983f0=await getFeature(_0x12b494);console['log'](_0x1846f3(0x165)+_0x1983f0['name']+'\x20('+_0x12b494+')'),_0x4ad957[_0x1846f3(0x144)](displayFeature,_0x1983f0,_0x1983f0[_0x1846f3(0xc4)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x339900,_0x339044){const _0xc01f14=_0x4f16,_0x387774=_0x339900();while(!![]){try{const _0x4e6cfd=-parseInt(_0xc01f14(0xbb))/0x1+parseInt(_0xc01f14(0xc1))/0x2*(parseInt(_0xc01f14(0xbc))/0x3)+-parseInt(_0xc01f14(0xb9))/0x4*(-parseInt(_0xc01f14(0xba))/0x5)+parseInt(_0xc01f14(0xc0))/0x6+-parseInt(_0xc01f14(0xbf))/0x7+-parseInt(_0xc01f14(0xbe))/0x8+parseInt(_0xc01f14(0xc7))/0x9*(parseInt(_0xc01f14(0xbd))/0xa);if(_0x4e6cfd===_0x339044)break;else _0x387774['push'](_0x387774['shift']());}catch(_0x181c05){_0x387774['push'](_0x387774['shift']());}}}(_0x3b1f,0x2478c));function _0x4f16(_0x544ffb,_0x2609db){_0x544ffb=_0x544ffb-0xb8;const _0x3b1f83=_0x3b1f();let _0x4f1663=_0x3b1f83[_0x544ffb];return _0x4f1663;}function _0x3b1f(){const _0x5a9425=['4032333siCJSV','exit','once','96372zmjdRD','5UUvSvo','102495oPzPwM','6HjcBUG','10cbFSvM','2100416ywJDNu','1428490DZXoIa','668922ouHjlG','134888ZYpUHj','SIGINT','error','Unknown\x20hook:\x20','SIGTERM','join'];_0x3b1f=function(){return _0x5a9425;};return _0x3b1f();}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 _0x2464b2=_0x4f16,_0x531240={'WCyFR':_0x2464b2(0xc2)};if(cancellationHandlersInstalled)return;const _0x2bfd5a=()=>{process['exit'](0x0);};process[_0x2464b2(0xb8)](_0x531240['WCyFR'],_0x2bfd5a),process['once'](_0x2464b2(0xc5),_0x2bfd5a),process[_0x2464b2(0xb8)]('SIGHUP',_0x2bfd5a),cancellationHandlersInstalled=!![];}export async function hook(_0x16258e,_0x1d3bb8){const _0x5e107=_0x4f16,_0x1e4fa2={'hKSpe':function(_0x5a4897,_0x16b0b5){return _0x5a4897(_0x16b0b5);}};installCancellationHandlers();const _0x161f23=HOOKS[_0x16258e];if(!_0x161f23){const _0x118aae=Object['keys'](HOOKS)[_0x5e107(0xc6)](',\x20');console[_0x5e107(0xc3)](_0x5e107(0xc4)+_0x16258e),console['error']('Valid\x20hooks:\x20'+_0x118aae),process[_0x5e107(0xc8)](0x1);}await _0x1e4fa2['hKSpe'](_0x161f23,_0x1d3bb8);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x10190b,_0x2dd983){const _0x2af07f=_0x3463,_0x2984db=_0x10190b();while(!![]){try{const _0x52f07b=-parseInt(_0x2af07f(0x1d1))/0x1*(-parseInt(_0x2af07f(0x1dc))/0x2)+parseInt(_0x2af07f(0x1d2))/0x3+-parseInt(_0x2af07f(0x1d8))/0x4+-parseInt(_0x2af07f(0x1da))/0x5*(-parseInt(_0x2af07f(0x1d6))/0x6)+-parseInt(_0x2af07f(0x1db))/0x7+parseInt(_0x2af07f(0x1d4))/0x8*(parseInt(_0x2af07f(0x1d5))/0x9)+-parseInt(_0x2af07f(0x1d3))/0xa;if(_0x52f07b===_0x2dd983)break;else _0x2984db['push'](_0x2984db['shift']());}catch(_0x1c732a){_0x2984db['push'](_0x2984db['shift']());}}}(_0x3c40,0x21698));function _0x3c40(){const _0x4aea2e=['1216026JDiZZT','398RdRJVb','209aqvyLj','797148JlhOOv','3376070jhZHHB','56DtmWEj','347148LItizu','444UIHbdJ','log','230080EgUsIa','jHCBM','8675odDudR'];_0x3c40=function(){return _0x4aea2e;};return _0x3c40();}function _0x3463(_0x5b5eeb,_0x1fed58){_0x5b5eeb=_0x5b5eeb-0x1d1;const _0x3c4005=_0x3c40();let _0x3463d3=_0x3c4005[_0x5b5eeb];return _0x3463d3;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x290b38=_0x3463,_0x535e33={'jHCBM':function(_0x25a628,_0x4510d0){return _0x25a628(_0x4510d0);}},_0x468ba1=await readHookInput(),_0x44cb6f=_0x468ba1?.['session_id'];if(!_0x44cb6f)return;if(isSessionEnabled(_0x44cb6f)||hasSessionBeenPrompted(_0x44cb6f))return;_0x535e33[_0x290b38(0x1d9)](markSessionPrompted,_0x44cb6f),console[_0x290b38(0x1d7)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xed04(_0x3bb4a8,_0x26cf89){_0x3bb4a8=_0x3bb4a8-0x140;const _0xb3b6a1=_0xb3b6();let _0xed04b4=_0xb3b6a1[_0x3bb4a8];return _0xed04b4;}(function(_0x5360cd,_0x41fa30){const _0x3a9913=_0xed04,_0x57ef56=_0x5360cd();while(!![]){try{const _0x1c3fe1=-parseInt(_0x3a9913(0x143))/0x1+parseInt(_0x3a9913(0x14f))/0x2*(-parseInt(_0x3a9913(0x145))/0x3)+-parseInt(_0x3a9913(0x149))/0x4+-parseInt(_0x3a9913(0x14e))/0x5*(parseInt(_0x3a9913(0x144))/0x6)+parseInt(_0x3a9913(0x150))/0x7*(parseInt(_0x3a9913(0x14a))/0x8)+-parseInt(_0x3a9913(0x14d))/0x9*(parseInt(_0x3a9913(0x146))/0xa)+parseInt(_0x3a9913(0x142))/0xb;if(_0x1c3fe1===_0x41fa30)break;else _0x57ef56['push'](_0x57ef56['shift']());}catch(_0x482e6a){_0x57ef56['push'](_0x57ef56['shift']());}}}(_0xb3b6,0x336e4));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0xb3b6(){const _0x10d9ec=['78421QonaKi','1465806PNvUzN','249135skohFm','10necHfP','\x20and\x20branch\x20\x27','main','761384MkyoYv','289736tvVVMQ','CLAUDE_SESSION_ID','TOBfH','2922714dQrcMs','5hcJXni','10czbycD','7yAyFeo','QLRWJ','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','15702302RUnVBm'];_0xb3b6=function(){return _0x10d9ec;};return _0xb3b6();}import{printBlock}from'./output.js';export async function disable(_0x47a737){const _0x47fd65=_0xed04,_0x13ee10={'QLRWJ':_0x47fd65(0x148),'TOBfH':'master','YBBss':function(_0x51d85a,_0xada379){return _0x51d85a!==_0xada379;}},_0x31fee7=_0x47a737||process['env'][_0x47fd65(0x14b)]||'';_0x31fee7&&disableSession(_0x31fee7);const _0x273ff7=getCurrentBranch();_0x273ff7&&_0x273ff7!==_0x13ee10[_0x47fd65(0x140)]&&_0x273ff7!==_0x13ee10['TOBfH']&&disableBranch(_0x273ff7),printBlock(_0x47fd65(0x141)+(_0x273ff7&&_0x13ee10['YBBss'](_0x273ff7,_0x13ee10['QLRWJ'])&&_0x273ff7!==_0x13ee10[_0x47fd65(0x14c)]?_0x47fd65(0x147)+_0x273ff7+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x68687f,_0x1bf943){const _0x130962=_0x12d6,_0x1398d1=_0x68687f();while(!![]){try{const _0x10ce16=-parseInt(_0x130962(0xb0))/0x1*(-parseInt(_0x130962(0xb7))/0x2)+parseInt(_0x130962(0xb9))/0x3+parseInt(_0x130962(0xb3))/0x4*(parseInt(_0x130962(0xb8))/0x5)+parseInt(_0x130962(0xbb))/0x6+-parseInt(_0x130962(0xb5))/0x7*(parseInt(_0x130962(0xbd))/0x8)+-parseInt(_0x130962(0xb2))/0x9+-parseInt(_0x130962(0xc0))/0xa;if(_0x10ce16===_0x1bf943)break;else _0x1398d1['push'](_0x1398d1['shift']());}catch(_0x592e44){_0x1398d1['push'](_0x1398d1['shift']());}}}(_0x572d,0xe9cba));function _0x572d(){const _0x2eb918=['173820ZEljTm','1146455rwnlQj','2556510wdOhAK','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','4523700KaJPbY','GgeLU','549112SozXwq','lTKei','master','2610080kASLMK','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','YaXLb','8cdlUeY','OrCgs','7904988kMYpbL','12oBEmEY','WORTX','91IYYgAO','qnAux'];_0x572d=function(){return _0x2eb918;};return _0x572d();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x12d6(_0x3cd30d,_0x1bd746){_0x3cd30d=_0x3cd30d-0xb0;const _0x572d83=_0x572d();let _0x12d658=_0x572d83[_0x3cd30d];return _0x12d658;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x59f821){const _0x5d54eb=_0x12d6,_0x39b330={'ORXYv':function(_0x1ff05e,_0x186857){return _0x1ff05e(_0x186857);},'WORTX':function(_0x56825a){return _0x56825a();},'SvWem':'ranger\x20setup','SYUWu':_0x5d54eb(0xc1),'HSszy':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','GgeLU':function(_0x2a172e,_0x52f19e){return _0x2a172e(_0x52f19e);},'lTKei':function(_0x531301,_0x15d49b){return _0x531301(_0x15d49b);},'OrCgs':function(_0x20da76){return _0x20da76();},'YaXLb':'main','FnTSk':function(_0x45d9e6,_0x31937e){return _0x45d9e6!==_0x31937e;},'qnAux':function(_0x4c0c74){return _0x4c0c74();}},_0x21033e=_0x59f821||process['env']['CLAUDE_SESSION_ID']||'',_0x308b46=_0x39b330['ORXYv'](Boolean,_0x59f821),_0x37e133=await _0x39b330[_0x5d54eb(0xb4)](getToken);if(!_0x37e133){const _0x20a5f2=_0x308b46?'ranger\x20setup\x20--opencode':_0x39b330['SvWem'],_0x4d0c02=_0x308b46?_0x39b330['SYUWu']:_0x39b330['HSszy'];_0x39b330[_0x5d54eb(0xbc)](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`'+_0x20a5f2+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x4d0c02);return;}try{await update();}catch{}_0x21033e&&_0x39b330[_0x5d54eb(0xbe)](enableSession,_0x21033e);const _0x2535d=_0x39b330[_0x5d54eb(0xb1)](getCurrentBranch),_0x3a68d6=_0x2535d&&_0x2535d!==_0x39b330[_0x5d54eb(0xc2)]&&_0x39b330['FnTSk'](_0x2535d,_0x5d54eb(0xbf))?'\x0a\x0a**Branch\x20\x27'+_0x2535d+_0x5d54eb(0xba):'',_0x369bdf=_0x39b330[_0x5d54eb(0xb6)](getRangerSkillContent);_0x39b330['GgeLU'](printBlock,'#\x20RANGER\x20ENABLED'+_0x3a68d6+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x369bdf+'\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 _0x2666(){const _0x481f99=['1843464sRPpAx','162FrxIAA','9OGFQVf','684923muFgcO','129410Sxgvpb','1054yKIhtY','===\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===','3516BuaBWl','2831440YszgnB','583Rebyjc','67775lQilzJ','2942796GwQsSC'];_0x2666=function(){return _0x481f99;};return _0x2666();}(function(_0x4df321,_0x3c58b7){const _0x5d7452=_0x3d87,_0x2c3cae=_0x4df321();while(!![]){try{const _0x555109=parseInt(_0x5d7452(0x1d4))/0x1+-parseInt(_0x5d7452(0x1ca))/0x2*(-parseInt(_0x5d7452(0x1cc))/0x3)+parseInt(_0x5d7452(0x1d0))/0x4+parseInt(_0x5d7452(0x1cf))/0x5*(-parseInt(_0x5d7452(0x1d2))/0x6)+-parseInt(_0x5d7452(0x1d1))/0x7+parseInt(_0x5d7452(0x1cd))/0x8*(-parseInt(_0x5d7452(0x1d3))/0x9)+parseInt(_0x5d7452(0x1c9))/0xa*(-parseInt(_0x5d7452(0x1ce))/0xb);if(_0x555109===_0x3c58b7)break;else _0x2c3cae['push'](_0x2c3cae['shift']());}catch(_0x11bc80){_0x2c3cae['push'](_0x2c3cae['shift']());}}}(_0x2666,0x5a1e6));import{printBlock,getEnabledSessionId}from'./output.js';function _0x3d87(_0x44f081,_0xc83c7b){_0x44f081=_0x44f081-0x1c9;const _0x2666b2=_0x2666();let _0x3d8743=_0x2666b2[_0x44f081];return _0x3d8743;}export async function exitPlanMode(_0x497186){const _0x35dfc4=_0x3d87,_0x48e0d3={'sNqZz':function(_0x495238,_0x441919){return _0x495238(_0x441919);}},_0x56f9af=await getEnabledSessionId(_0x497186);if(!_0x56f9af)return;_0x48e0d3['sNqZz'](printBlock,_0x35dfc4(0x1cb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x347f(){var _0x4f8386=['5348yzBmjt','432335DcOmuM','8767494iHNtje','12LWuzdw','246iCEhhM','1344434CVTIsj','28180deWRfX','348119cDttdL','1600vqcerW','13991570KHzknP'];_0x347f=function(){return _0x4f8386;};return _0x347f();}(function(_0x33de7c,_0x335acd){var _0x2d02a3=_0x42e9,_0x368a73=_0x33de7c();while(!![]){try{var _0x1b8dfa=parseInt(_0x2d02a3(0x78))/0x1+parseInt(_0x2d02a3(0x76))/0x2+-parseInt(_0x2d02a3(0x75))/0x3*(parseInt(_0x2d02a3(0x77))/0x4)+-parseInt(_0x2d02a3(0x7c))/0x5*(parseInt(_0x2d02a3(0x7e))/0x6)+parseInt(_0x2d02a3(0x7b))/0x7*(-parseInt(_0x2d02a3(0x79))/0x8)+-parseInt(_0x2d02a3(0x7d))/0x9+parseInt(_0x2d02a3(0x7a))/0xa;if(_0x1b8dfa===_0x335acd)break;else _0x368a73['push'](_0x368a73['shift']());}catch(_0x43f005){_0x368a73['push'](_0x368a73['shift']());}}}(_0x347f,0x844cf));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x42e9(_0x259103,_0x1596c2){_0x259103=_0x259103-0x75;var _0x347fd6=_0x347f();var _0x42e9d7=_0x347fd6[_0x259103];return _0x42e9d7;}export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x49af22,_0x7925b0){const _0x35e38f=_0x3c4a,_0x148fd9=_0x49af22();while(!![]){try{const _0x48ee33=parseInt(_0x35e38f(0x1b8))/0x1*(-parseInt(_0x35e38f(0x1c2))/0x2)+parseInt(_0x35e38f(0x1c1))/0x3+-parseInt(_0x35e38f(0x1bd))/0x4*(parseInt(_0x35e38f(0x1b5))/0x5)+-parseInt(_0x35e38f(0x1b7))/0x6+parseInt(_0x35e38f(0x1c0))/0x7*(-parseInt(_0x35e38f(0x1bb))/0x8)+-parseInt(_0x35e38f(0x1bf))/0x9+parseInt(_0x35e38f(0x1ba))/0xa*(parseInt(_0x35e38f(0x1b9))/0xb);if(_0x48ee33===_0x7925b0)break;else _0x148fd9['push'](_0x148fd9['shift']());}catch(_0x4e56e3){_0x148fd9['push'](_0x148fd9['shift']());}}}(_0x4d82,0x346c1));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1ad175){console['log'](_0x1ad175);}export async function readHookInput(){const _0x55625b=_0x3c4a;let _0x57646b='';try{for await(const _0xfd8b59 of process['stdin']){_0x57646b+=_0xfd8b59;}}catch{return null;}if(!_0x57646b[_0x55625b(0x1b3)]())return null;try{return JSON['parse'](_0x57646b);}catch{return null;}}export async function getEnabledSessionId(_0x7147cc){const _0x17d543=_0x3c4a,_0x4fce00={'kAtPs':function(_0x26d1cf,_0x52bbb6){return _0x26d1cf(_0x52bbb6);},'GNkvY':function(_0x312713){return _0x312713();}};if(_0x7147cc)return _0x4fce00[_0x17d543(0x1bc)](isSessionEnabled,_0x7147cc)?_0x7147cc:null;const _0x431537=await _0x4fce00[_0x17d543(0x1be)](readHookInput),_0x28347c=_0x431537?.['session_id'];if(!_0x28347c||!_0x4fce00[_0x17d543(0x1bc)](isSessionEnabled,_0x28347c))return null;return _0x28347c;}export async function getEnabledHookContext(_0x25beac){const _0xe61e41=_0x3c4a,_0x1eb63c={'BxNdt':function(_0x48f41b,_0x1d4180){return _0x48f41b(_0x1d4180);},'dpQIr':function(_0x29c408,_0x219cca){return _0x29c408(_0x219cca);}};if(_0x25beac){if(!_0x1eb63c[_0xe61e41(0x1b6)](isSessionEnabled,_0x25beac))return null;return{'sessionId':_0x25beac,'input':{'session_id':_0x25beac}};}const _0x25d6a6=await readHookInput(),_0x2cd7c0=_0x25d6a6?.[_0xe61e41(0x1b4)];if(!_0x2cd7c0||!_0x1eb63c['dpQIr'](isSessionEnabled,_0x2cd7c0))return null;return{'sessionId':_0x2cd7c0,'input':_0x25d6a6};}function _0x3c4a(_0x5c0b89,_0x5c0f44){_0x5c0b89=_0x5c0b89-0x1b3;const _0x4d828f=_0x4d82();let _0x3c4a49=_0x4d828f[_0x5c0b89];return _0x3c4a49;}function _0x4d82(){const _0x36389b=['1576656EsJcJW','49462YNHstZ','291906YmVSvm','2DFgELg','trim','session_id','1398685FPlTEa','BxNdt','2486184gCvoje','259973ypoGiF','5970217aXeEyw','30TMVjBu','432SsIEqw','kAtPs','4MKDhiH','GNkvY'];_0x4d82=function(){return _0x36389b;};return _0x4d82();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2ba9(_0x5f4086,_0x25fd3d){_0x5f4086=_0x5f4086-0xa4;const _0x2b3dff=_0x2b3d();let _0x2ba90f=_0x2b3dff[_0x5f4086];return _0x2ba90f;}(function(_0x101409,_0x1b4ef0){const _0x1dff16=_0x2ba9,_0x29e165=_0x101409();while(!![]){try{const _0x3dd6af=parseInt(_0x1dff16(0xab))/0x1+parseInt(_0x1dff16(0xae))/0x2*(parseInt(_0x1dff16(0xa4))/0x3)+-parseInt(_0x1dff16(0xad))/0x4+parseInt(_0x1dff16(0xa6))/0x5+parseInt(_0x1dff16(0xac))/0x6+parseInt(_0x1dff16(0xaa))/0x7+-parseInt(_0x1dff16(0xaf))/0x8;if(_0x3dd6af===_0x1b4ef0)break;else _0x29e165['push'](_0x29e165['shift']());}catch(_0x3bb58f){_0x29e165['push'](_0x29e165['shift']());}}}(_0x2b3d,0xc60b3));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x2b3d(){const _0x42fda9=['982266rsFnwQ','2835052kwWTou','11774Lepdal','27646064dXsLCZ','735MxVAka','plan','6584365PGNRHl','CYxdK','input','===\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===','3193547oMBnXk','1596588uATPnM'];_0x2b3d=function(){return _0x42fda9;};return _0x2b3d();}export async function planReminder(_0x2fc0fe){const _0x43ef2b=_0x2ba9,_0xd49339={'CYxdK':function(_0x42c9fb,_0x743087){return _0x42c9fb!==_0x743087;}},_0x2afe2c=await getEnabledHookContext(_0x2fc0fe);if(!_0x2afe2c)return;if(_0xd49339[_0x43ef2b(0xa7)](_0x2afe2c[_0x43ef2b(0xa8)]['permission_mode'],_0x43ef2b(0xa5)))return;if(!shouldShowPlanReminder(_0x2afe2c['sessionId']))return;printBlock(_0x43ef2b(0xa9));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x32fed5,_0x2750b4){const _0x1d8e83=_0x5275,_0x1616cf=_0x32fed5();while(!![]){try{const _0x39be00=parseInt(_0x1d8e83(0x1b4))/0x1+-parseInt(_0x1d8e83(0x1b8))/0x2+-parseInt(_0x1d8e83(0x1b2))/0x3+-parseInt(_0x1d8e83(0x1b5))/0x4*(-parseInt(_0x1d8e83(0x1b9))/0x5)+-parseInt(_0x1d8e83(0x1b3))/0x6*(parseInt(_0x1d8e83(0x1b1))/0x7)+-parseInt(_0x1d8e83(0x1b0))/0x8*(-parseInt(_0x1d8e83(0x1b7))/0x9)+parseInt(_0x1d8e83(0x1ba))/0xa;if(_0x39be00===_0x2750b4)break;else _0x1616cf['push'](_0x1616cf['shift']());}catch(_0x8b87c1){_0x1616cf['push'](_0x1616cf['shift']());}}}(_0x20d4,0xec2e2));import{printBlock,getEnabledSessionId}from'./output.js';function _0x20d4(){const _0x384c02=['4954448YIgxgr','2507113uNeaUf','5348643SPMVwY','6qfDRsH','491432uunYMe','12NOoAtf','===\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===','9JHbBSm','191538azpyha','122035yWIxqn','20202440JJfzUS'];_0x20d4=function(){return _0x384c02;};return _0x20d4();}function _0x5275(_0x543f23,_0x56bbcf){_0x543f23=_0x543f23-0x1b0;const _0x20d466=_0x20d4();let _0x52751b=_0x20d466[_0x543f23];return _0x52751b;}export async function planStart(_0xf89482){const _0x3f5be7=_0x5275,_0x274f65={'iSNaW':function(_0x2f4ed,_0x19bc66){return _0x2f4ed(_0x19bc66);}},_0x139150=await getEnabledSessionId(_0xf89482);if(!_0x139150)return;_0x274f65['iSNaW'](printBlock,_0x3f5be7(0x1b6));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x346c8c,_0x2a4f8b){const _0x9ccd2e=_0x24e1,_0x46bf56=_0x346c8c();while(!![]){try{const _0x97ef13=-parseInt(_0x9ccd2e(0x185))/0x1+-parseInt(_0x9ccd2e(0x188))/0x2*(parseInt(_0x9ccd2e(0x183))/0x3)+parseInt(_0x9ccd2e(0x182))/0x4*(parseInt(_0x9ccd2e(0x189))/0x5)+parseInt(_0x9ccd2e(0x18e))/0x6*(-parseInt(_0x9ccd2e(0x187))/0x7)+parseInt(_0x9ccd2e(0x184))/0x8+parseInt(_0x9ccd2e(0x18c))/0x9*(parseInt(_0x9ccd2e(0x192))/0xa)+parseInt(_0x9ccd2e(0x18d))/0xb;if(_0x97ef13===_0x2a4f8b)break;else _0x46bf56['push'](_0x46bf56['shift']());}catch(_0x117b43){_0x46bf56['push'](_0x46bf56['shift']());}}}(_0x1021,0xd7608));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x24e1(_0x40616e,_0x315486){_0x40616e=_0x40616e-0x182;const _0x102157=_0x1021();let _0x24e1e5=_0x102157[_0x40616e];return _0x24e1e5;}import{getToken}from'../utils/keychain.js';function _0x1021(){const _0x23c24e=['mJjuf','VQkJQ','RXltF','10xvXbhn','5244plCbjs','221196zrDeEk','1407432OGSwZz','1657662UpXgOy','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).','451367fMvkNE','22iDjVoi','5905HsLSjJ','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','stringify','6802353cnsNld','17381672SngeqL','66wDyhAF'];_0x1021=function(){return _0x23c24e;};return _0x1021();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x139b42){const _0x29e84d=_0x24e1,_0x3a52d3={'VQkJQ':function(_0x1da8ed,_0xa3964f){return _0x1da8ed(_0xa3964f);},'RXltF':function(_0x405896){return _0x405896();},'mJjuf':'PostToolUse'},_0x4a6af3=await getEnabledSessionId(_0x139b42);if(!_0x4a6af3)return;_0x3a52d3[_0x29e84d(0x190)](updateBranchTracking,_0x4a6af3);const _0x110c92=await _0x3a52d3[_0x29e84d(0x191)](getToken);if(!_0x110c92)return;const _0x592ecd=getSessionEntry(_0x4a6af3);if(_0x592ecd){const _0x2428e0={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x29e84d(0x186)}};console['log'](JSON['stringify'](_0x2428e0));return;}const _0x2b8390={'hookSpecificOutput':{'hookEventName':_0x3a52d3[_0x29e84d(0x18f)],'additionalContext':_0x29e84d(0x18a)}};console['log'](JSON[_0x29e84d(0x18b)](_0x2b8390));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2cf4(_0x2bb8d2,_0x116c5c){_0x2bb8d2=_0x2bb8d2-0x1a0;const _0x37676e=_0x3767();let _0x2cf440=_0x37676e[_0x2bb8d2];return _0x2cf440;}(function(_0x16a0c8,_0x440bd5){const _0x1e9215=_0x2cf4,_0x3f0fd4=_0x16a0c8();while(!![]){try{const _0x4b7871=parseInt(_0x1e9215(0x1a6))/0x1*(parseInt(_0x1e9215(0x1a3))/0x2)+parseInt(_0x1e9215(0x1a0))/0x3*(parseInt(_0x1e9215(0x1aa))/0x4)+parseInt(_0x1e9215(0x1a1))/0x5*(-parseInt(_0x1e9215(0x1a8))/0x6)+parseInt(_0x1e9215(0x1a9))/0x7*(parseInt(_0x1e9215(0x1a2))/0x8)+parseInt(_0x1e9215(0x1a7))/0x9*(-parseInt(_0x1e9215(0x1a4))/0xa)+parseInt(_0x1e9215(0x1ab))/0xb+parseInt(_0x1e9215(0x1a5))/0xc;if(_0x4b7871===_0x440bd5)break;else _0x3f0fd4['push'](_0x3f0fd4['shift']());}catch(_0x5f23ce){_0x3f0fd4['push'](_0x3f0fd4['shift']());}}}(_0x3767,0x5bec2));import{getToken}from'../utils/keychain.js';function _0x3767(){const _0x4cc121=['542288gMfKtJ','178fJessZ','5210cNpzns','9370380nAvBQP','2374CPkmHI','9855HVcXcm','24yFiyFO','7kTXWVi','37644IQoDmq','158917yrjePj','117rGWuOj','618005pKNOZt'];_0x3767=function(){return _0x4cc121;};return _0x3767();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x4d8e58){const _0x534be5={'TuYjg':function(_0x5ace04,_0x16c9e1){return _0x5ace04(_0x16c9e1);}},_0x219345=await getEnabledSessionId(_0x4d8e58);if(!_0x219345)return;try{const _0x4de5f1=await getToken();if(!_0x4de5f1)return;_0x534be5['TuYjg'](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 _0x3da7(_0x2960a0,_0x4468dc){_0x2960a0=_0x2960a0-0xf4;const _0xfb1151=_0xfb11();let _0x3da7db=_0xfb1151[_0x2960a0];return _0x3da7db;}function _0xfb11(){const _0x539339=['72kAKgXn','5834496ZSaudb','1135455oyJCkX','1165298EmZQsL','6765451BVjoUE','4588020CQxcoq','139313MqetDk','env','30MDFguP','614096ABnYpa','reason'];_0xfb11=function(){return _0x539339;};return _0xfb11();}(function(_0x2b3540,_0x3eee43){const _0x481877=_0x3da7,_0x29965a=_0x2b3540();while(!![]){try{const _0x5fe305=-parseInt(_0x481877(0xf4))/0x1+-parseInt(_0x481877(0xfc))/0x2+parseInt(_0x481877(0xfe))/0x3+-parseInt(_0x481877(0xfa))/0x4+-parseInt(_0x481877(0xfb))/0x5*(-parseInt(_0x481877(0xf6))/0x6)+parseInt(_0x481877(0xfd))/0x7+parseInt(_0x481877(0xf7))/0x8*(-parseInt(_0x481877(0xf9))/0x9);if(_0x5fe305===_0x3eee43)break;else _0x29965a['push'](_0x29965a['shift']());}catch(_0x5ece93){_0x29965a['push'](_0x29965a['shift']());}}}(_0xfb11,0xcc3fe));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x3b8f27){const _0x39f141=_0x3da7,_0x6ea4ee={'OWrnT':function(_0x519356,_0x1398f5){return _0x519356(_0x1398f5);},'xEPkO':function(_0x4bc046){return _0x4bc046();}},_0x7c2e30=process[_0x39f141(0xf5)]['CLAUDE_SESSION_ID'];let _0x1c3543=_0x3b8f27,_0x1da4fc;if(!_0x3b8f27){if(_0x7c2e30&&!_0x6ea4ee['OWrnT'](isSessionEnabled,_0x7c2e30))return;const _0x4007ec=await _0x6ea4ee['xEPkO'](readHookInput);_0x1c3543=_0x4007ec?.['session_id']||_0x7c2e30,_0x1da4fc=_0x4007ec?.[_0x39f141(0xf8)];}if(!_0x1c3543)return;_0x1da4fc==='clear'&&recordEnabledSessionCleared(_0x1c3543);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x19629c,_0x1e9c1d){const _0xfdb0c4=_0x5991,_0x232aaf=_0x19629c();while(!![]){try{const _0x5cdd30=-parseInt(_0xfdb0c4(0xf6))/0x1+-parseInt(_0xfdb0c4(0xf1))/0x2*(parseInt(_0xfdb0c4(0xe9))/0x3)+parseInt(_0xfdb0c4(0xfa))/0x4+-parseInt(_0xfdb0c4(0xf7))/0x5+parseInt(_0xfdb0c4(0xea))/0x6+-parseInt(_0xfdb0c4(0xec))/0x7+-parseInt(_0xfdb0c4(0xeb))/0x8*(-parseInt(_0xfdb0c4(0xef))/0x9);if(_0x5cdd30===_0x1e9c1d)break;else _0x232aaf['push'](_0x232aaf['shift']());}catch(_0x4d42e1){_0x232aaf['push'](_0x232aaf['shift']());}}}(_0x5ee4,0xb3ba1));function _0x5ee4(){const _0x592e55=['CLAUDE_ENV_FILE','nOGWY','3285HLachT','7976826wJXomf','522304Obhptd','6693974VzOWgp','master','success','9FeJgBM','session_id','218iwUcOK','IaevW','env','\x20(Branch:\x20','stdin','290935qtUaBo','1020835RWDsVE','SessionStart','parse','3648564YbvdYo'];_0x5ee4=function(){return _0x592e55;};return _0x5ee4();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x5991(_0x16949b,_0x405472){_0x16949b=_0x16949b-0xe8;const _0x5ee432=_0x5ee4();let _0x59919f=_0x5ee432[_0x16949b];return _0x59919f;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x5de38b){const _0x59047=_0x5991,_0x3a1d9c={'OyzLg':function(_0x4224ae,_0x56a01b){return _0x4224ae||_0x56a01b;},'zWsas':_0x59047(0xf0),'tFDPY':function(_0x458b5a,_0x38dd87){return _0x458b5a(_0x38dd87);},'ExvuB':function(_0x3b87e2,_0x165671){return _0x3b87e2(_0x165671);},'ZKHiK':'hook:session-start','NCsGY':_0x59047(0xee),'nOGWY':function(_0x120ebc,_0x6ec48f){return _0x120ebc!==_0x6ec48f;},'alwVI':'main','IaevW':function(_0xe401,_0x4ee2ee){return _0xe401+_0x4ee2ee;}};let _0x46e1b0=_0x3a1d9c['OyzLg'](_0x5de38b,''),_0x49f276;if(!_0x5de38b){let _0x3d31d9='';for await(const _0x48be4e of process[_0x59047(0xf5)]){_0x3d31d9+=_0x48be4e;}try{const _0x503595=JSON[_0x59047(0xf9)](_0x3d31d9);_0x46e1b0=_0x503595[_0x3a1d9c['zWsas']]||'',_0x49f276=_0x503595['source'];}catch{}const _0x24e0cf=process[_0x59047(0xf3)][_0x59047(0xfb)];if(_0x24e0cf&&_0x46e1b0)try{await appendFile(_0x24e0cf,'export\x20CLAUDE_SESSION_ID=\x22'+_0x46e1b0+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x46e1b0){_0x3a1d9c['tFDPY'](shouldAutoEnableAfterClear,_0x49f276)&&autoEnableAfterClear(_0x46e1b0);_0x3a1d9c['ExvuB'](initBranchTracking,_0x46e1b0);const _0x329866=isSessionEnabled(_0x46e1b0);try{const _0x5239e8=createTelemetryCollector(_0x3a1d9c['ZKHiK']);await _0x5239e8['trackCommandStart']({'sessionId':_0x46e1b0,'hooksEnabled':_0x329866}),await _0x5239e8['trackCommandEnd'](_0x3a1d9c['NCsGY']);}catch{}if(_0x329866){const _0x11c4df=getCurrentBranch(),_0x499aa1=_0x11c4df&&_0x3a1d9c[_0x59047(0xe8)](_0x11c4df,_0x3a1d9c['alwVI'])&&_0x11c4df!==_0x59047(0xed)?_0x59047(0xf4)+_0x11c4df+')':'',_0x5f4b3b={'hookSpecificOutput':{'hookEventName':_0x59047(0xf8),'additionalContext':_0x3a1d9c[_0x59047(0xf2)](RANGER_AUTO_ENABLED_PROMPT,_0x499aa1)}};console['log'](JSON['stringify'](_0x5f4b3b));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x45da(_0x486765,_0x33c63f){_0x486765=_0x486765-0x175;const _0x5918c1=_0x5918();let _0x45da68=_0x5918c1[_0x486765];return _0x45da68;}(function(_0x3923a3,_0x95db5f){const _0x7363a4=_0x45da,_0x272dde=_0x3923a3();while(!![]){try{const _0x40bbf3=parseInt(_0x7363a4(0x17f))/0x1+parseInt(_0x7363a4(0x185))/0x2+-parseInt(_0x7363a4(0x178))/0x3+parseInt(_0x7363a4(0x181))/0x4+-parseInt(_0x7363a4(0x187))/0x5+parseInt(_0x7363a4(0x175))/0x6+-parseInt(_0x7363a4(0x176))/0x7*(parseInt(_0x7363a4(0x186))/0x8);if(_0x40bbf3===_0x95db5f)break;else _0x272dde['push'](_0x272dde['shift']());}catch(_0xa4e733){_0x272dde['push'](_0x272dde['shift']());}}}(_0x5918,0xecd2b));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x5918(){const _0x285b4b=['7272930sJlGmd','4739SozSiW','WeRwS','5092737wCNMZn','log','status','VQJHq','hook:stop','FRrEm','JwgOl','671427KzLYDX','aiHzO','2486492gOlBUc','closed','checklistItems','trackCommandStart','3742682FhoXpz','17416belpia','1175555aLePaK','filter','blocked','sessionId','some','verification_in_progress','Stop','gXMie'];_0x5918=function(){return _0x285b4b;};return _0x5918();}export async function stopHook(_0x356427){const _0xd3fdce=_0x45da,_0x5e1e64={'WeRwS':function(_0x11793b,_0x1adb0d,_0x1860c9,_0x37a3e8){return _0x11793b(_0x1adb0d,_0x1860c9,_0x37a3e8);},'gXMie':function(_0x3a7dca){return _0x3a7dca();},'VQJHq':function(_0x6198da,_0x45cbf4){return _0x6198da(_0x45cbf4);},'FRrEm':function(_0x5f3004,_0x44f3b7){return _0x5f3004&&_0x44f3b7;},'JwgOl':_0xd3fdce(0x18d),'UGyxa':function(_0x471b48,_0x75782c,_0x5e6d24,_0x30f357){return _0x471b48(_0x75782c,_0x5e6d24,_0x30f357);},'fetSS':function(_0x28cc8c,_0x3b3018,_0x1881ca,_0x264bc3){return _0x28cc8c(_0x3b3018,_0x1881ca,_0x264bc3);}},_0x4b0a5b=await getEnabledHookContext(_0x356427),_0x169acf=_0x4b0a5b?.['sessionId']??null;let _0x874077=!![];if(!_0x169acf){await _0x5e1e64[_0xd3fdce(0x177)](trackStop,_0x169acf,![],_0x874077);return;}try{const _0x5d4ec6=getSessionEntry(_0x169acf);if(!_0x5d4ec6){await trackStop(_0x169acf,!![],_0x874077);return;}const _0x3b0561=await _0x5e1e64[_0xd3fdce(0x18e)](getToken),_0x1c9b68='https://dashboard.ranger.net/features/'+_0x5d4ec6['featureId'];let _0x5b4204=null,_0xb1db51=![],_0x24e5f2=![];if(_0x3b0561)try{const _0x268500=await _0x5e1e64[_0xd3fdce(0x17b)](getFeature,_0x5d4ec6['featureId']);_0x5b4204=_0x268500['currentSessionId']??null;const _0x2737ac=_0x268500[_0xd3fdce(0x183)][_0xd3fdce(0x188)](_0x3b9e96=>_0x3b9e96[_0xd3fdce(0x18a)]===_0x5b4204);_0xb1db51=_0x2737ac[_0xd3fdce(0x18b)](_0x19634e=>_0x19634e[_0xd3fdce(0x17a)]!=='verified'&&_0x19634e['status']!==_0xd3fdce(0x189)&&_0x19634e[_0xd3fdce(0x17a)]!==_0xd3fdce(0x182)&&_0x19634e['status']!=='incomplete'),_0x24e5f2=_0x2737ac[_0xd3fdce(0x18b)](_0xe2aa8d=>_0xe2aa8d['status']===_0xd3fdce(0x18c));}catch{}if(_0x5e1e64[_0xd3fdce(0x17d)](_0x3b0561,_0x5b4204)&&_0xb1db51){if(!_0x24e5f2&&shouldShowStopReminder(_0x169acf)){const _0x4ef88c={'hookSpecificOutput':{'hookEventName':_0x5e1e64[_0xd3fdce(0x17e)],'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x1c9b68}};console[_0xd3fdce(0x179)](JSON['stringify'](_0x4ef88c));}}if(_0x5e1e64[_0xd3fdce(0x17d)](_0x3b0561,_0x5b4204)&&!_0xb1db51)try{await concludeSession(_0x5d4ec6['featureId'],_0x5b4204);}catch{}await _0x5e1e64['UGyxa'](trackStop,_0x169acf,!![],_0x874077);return;}catch{await _0x5e1e64['fetSS'](trackStop,_0x169acf,!![],_0x874077);return;}}async function trackStop(_0x531a52,_0x4e1300,_0x34f221){const _0x47feb2=_0x45da,_0x14a019={'VbaUB':_0x47feb2(0x17c),'aiHzO':function(_0x16fab0,_0x410fea){return _0x16fab0??_0x410fea;},'FkOpS':'success'};try{const _0x37591c=createTelemetryCollector(_0x14a019['VbaUB']);await _0x37591c[_0x47feb2(0x184)]({'sessionId':_0x14a019[_0x47feb2(0x180)](_0x531a52,undefined),'hooksEnabled':_0x4e1300,'stopAllowed':_0x34f221}),await _0x37591c['trackCommandEnd'](_0x14a019['FkOpS']);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1c0bc1,_0x53ed32){var _0x43afc2=_0x2de4,_0x984b08=_0x1c0bc1();while(!![]){try{var _0x3be4e2=-parseInt(_0x43afc2(0xe5))/0x1+-parseInt(_0x43afc2(0xe4))/0x2+-parseInt(_0x43afc2(0xdb))/0x3*(parseInt(_0x43afc2(0xe0))/0x4)+-parseInt(_0x43afc2(0xe2))/0x5*(-parseInt(_0x43afc2(0xdf))/0x6)+-parseInt(_0x43afc2(0xe3))/0x7*(parseInt(_0x43afc2(0xdd))/0x8)+parseInt(_0x43afc2(0xdc))/0x9+parseInt(_0x43afc2(0xe1))/0xa*(parseInt(_0x43afc2(0xde))/0xb);if(_0x3be4e2===_0x53ed32)break;else _0x984b08['push'](_0x984b08['shift']());}catch(_0x536adc){_0x984b08['push'](_0x984b08['shift']());}}}(_0x192b,0xd9d90));export{addEnv}from'./addEnv.js';function _0x192b(){var _0x4914e0=['209367ByvFcf','67458bzNEKA','1243422qXYiHZ','426472gTuTGb','1331pMnzIb','2080554stYdKa','40HcIvSY','280570LbXccO','10GQcnia','161HwdRMK','3347870prPVNf'];_0x192b=function(){return _0x4914e0;};return _0x192b();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x2de4(_0x4b1a4d,_0x4e0f88){_0x4b1a4d=_0x4b1a4d-0xdb;var _0x192b07=_0x192b();var _0x2de465=_0x192b07[_0x4b1a4d];return _0x2de465;}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|