@ranger-testing/ranger-cli 3.1.3-alpha.e1ca941-42 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.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 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.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/rangerwrightCli.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/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x22ecc5=_0x50fb;(function(_0x19fe15,_0x5ee127){const _0x29971c=_0x50fb,_0x476119=_0x19fe15();while(!![]){try{const _0x459dda=parseInt(_0x29971c(0x152))/0x1*(-parseInt(_0x29971c(0x185))/0x2)+parseInt(_0x29971c(0x168))/0x3*(parseInt(_0x29971c(0x1ca))/0x4)+parseInt(_0x29971c(0x15d))/0x5*(-parseInt(_0x29971c(0x149))/0x6)+-parseInt(_0x29971c(0x18f))/0x7*(-parseInt(_0x29971c(0x1de))/0x8)+-parseInt(_0x29971c(0x1c1))/0x9*(-parseInt(_0x29971c(0x1a4))/0xa)+-parseInt(_0x29971c(0x1fb))/0xb*(-parseInt(_0x29971c(0x159))/0xc)+parseInt(_0x29971c(0x1fa))/0xd;if(_0x459dda===_0x5ee127)break;else _0x476119['push'](_0x476119['shift']());}catch(_0x59d085){_0x476119['push'](_0x476119['shift']());}}}(_0x53c8,0x6f619));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x35c7f2 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='active-feature.txt',bold=_0x5f1062=>_0x22ecc5(0x151)+_0x5f1062+_0x22ecc5(0x219);function getGitRepoUrl(){const _0x49c028=_0x22ecc5,_0x3aadae={'nCCtO':'git\x20remote\x20get-url\x20origin','MHhLF':_0x49c028(0x1af),'DScYl':_0x49c028(0x187)};try{const _0xebc794=execSync(_0x3aadae['nCCtO'],{'encoding':_0x49c028(0x1ae),'stdio':[_0x3aadae['MHhLF'],'pipe',_0x3aadae['MHhLF']]})[_0x49c028(0x1fc)]();return _0xebc794[_0x49c028(0x155)](/\.git$/,'')[_0x49c028(0x155)](/^git@github\.com:/,_0x3aadae['DScYl'])[_0x49c028(0x155)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x4fca3c=_0x22ecc5,_0x294545={'AXPCh':function(_0x11085c,_0x2527fb,_0x15287b){return _0x11085c(_0x2527fb,_0x15287b);}};try{return _0x294545[_0x4fca3c(0x189)](execSync,_0x4fca3c(0x181),{'encoding':_0x4fca3c(0x1ae),'stdio':['pipe',_0x4fca3c(0x1af),_0x4fca3c(0x1af)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x5a29e5=_0x22ecc5,_0x106f03={'bflMT':_0x5a29e5(0x1ae)},_0x41168f=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x41168f))return null;try{const _0x56fa12=await readFile(_0x41168f,_0x106f03[_0x5a29e5(0x171)]);return _0x56fa12['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x2bc3ed){const _0xb4bce=_0x22ecc5,_0x3a2153={'cGOdC':function(_0x49a1b9,_0x3fb443){return _0x49a1b9(_0x3fb443);},'fqvTZ':function(_0x953245,_0x593eb2,_0x2ea1d6,_0x2bc968){return _0x953245(_0x593eb2,_0x2ea1d6,_0x2bc968);},'CzUgA':_0xb4bce(0x1ae)},_0x2c006d=getRangerDir(),_0x4abf10=join(_0x2c006d,ACTIVE_FEATURE_FILE);!_0x3a2153[_0xb4bce(0x210)](existsSync,_0x2c006d)&&await mkdir(_0x2c006d,{'recursive':!![]}),await _0x3a2153[_0xb4bce(0x19c)](writeFile,_0x4abf10,_0x2bc3ed,_0x3a2153[_0xb4bce(0x20c)]);}function getProgressDisplay(_0x1639c4){const _0x5cc961=_0x22ecc5,_0x4d434f={'vkyyD':function(_0x299fa9,_0x43f0c2){return _0x299fa9+_0x43f0c2;},'GNsUl':function(_0x1506be,_0x4a4f6b){return _0x1506be+_0x4a4f6b;},'mbaQy':function(_0x5ad826,_0x46f1a9){return _0x5ad826*_0x46f1a9;},'lJzXg':function(_0x3cf4d0,_0x279825){return _0x3cf4d0-_0x279825;},'GUjlF':function(_0x541d13,_0x46ec77){return _0x541d13>_0x46ec77;}},_0x5370f9=_0x1639c4[_0x5cc961(0x180)]||0x0,_0x56d52b=_0x1639c4['verificationInProgressItems']||0x0,_0x27cb7e=_0x1639c4['blockedItems']||0x0,_0x2d5491=_0x1639c4[_0x5cc961(0x19e)]||0x0,_0x54a5c8=_0x1639c4[_0x5cc961(0x1d0)]||0x0,_0x564101=_0x4d434f[_0x5cc961(0x14c)](_0x4d434f[_0x5cc961(0x1f3)](_0x5370f9+_0x56d52b,_0x27cb7e),_0x2d5491)+_0x54a5c8;if(_0x564101===0x0)return'-';const _0x2623f6=0xa,_0x273721=Math['round'](_0x4d434f[_0x5cc961(0x186)](_0x5370f9/_0x564101,_0x2623f6)),_0x5df48a='█'['repeat'](_0x273721)+'░'[_0x5cc961(0x15b)](_0x4d434f[_0x5cc961(0x1db)](_0x2623f6,_0x273721)),_0x2e12b1=[];if(_0x27cb7e>0x0)_0x2e12b1['push'](_0x27cb7e+'\x20blocked');if(_0x4d434f[_0x5cc961(0x18b)](_0x2d5491,0x0))_0x2e12b1[_0x5cc961(0x192)](_0x2d5491+'\x20incomplete');if(_0x56d52b>0x0)_0x2e12b1[_0x5cc961(0x192)](_0x56d52b+_0x5cc961(0x214));const _0x135eb6=_0x2e12b1['length']>0x0?'\x20('+_0x2e12b1['join'](',\x20')+')':'';return _0x5df48a+'\x20'+_0x5370f9+'/'+_0x564101+'\x20verified'+_0x135eb6;}function getCurrentSessionItems(_0x5775f4,_0xf54093){const _0x1681d5=_0x22ecc5;if(!_0x5775f4['currentSessionId'])return _0xf54093[_0x1681d5(0x1b3)](_0x4ad683=>!_0x4ad683[_0x1681d5(0x222)]);return _0xf54093['filter'](_0x39e01d=>_0x39e01d[_0x1681d5(0x222)]===_0x5775f4['currentSessionId']||!_0x39e01d[_0x1681d5(0x222)]);}function displayFeature(_0x362181,_0x5194fd){const _0x545f37=_0x22ecc5,_0x10893c={'eebEI':function(_0x2e0f93,_0x1794f8){return _0x2e0f93(_0x1794f8);},'NvpCF':_0x545f37(0x1ab),'VDvol':function(_0x30f65e,_0x1326ce){return _0x30f65e<_0x1326ce;},'CwWbp':function(_0x91f4e8,_0x4f9b94){return _0x91f4e8===_0x4f9b94;},'KSIkQ':'approved','XvvtL':_0x545f37(0x21d),'mRjwR':_0x545f37(0x1b9),'RRZmK':function(_0x4da9f8,_0x1b6a7a){return _0x4da9f8===_0x1b6a7a;},'dTZCZ':'closed','CZJsF':function(_0x3ab3cc,_0xf94f35){return _0x3ab3cc===_0xf94f35;},'SkhCL':_0x545f37(0x200),'bRVKJ':function(_0x4f0dee,_0x4423ca){return _0x4f0dee>_0x4423ca;},'jlPre':_0x545f37(0x163),'BmLFE':function(_0x296720,_0x9466f4){return _0x296720+_0x9466f4;},'oxcFx':'blocked','oHOFR':function(_0x497160,_0x4d053d){return _0x497160===_0x4d053d;}};console['log']('\x0a'+_0x362181['name']+'\x20('+_0x362181[_0x545f37(0x21e)]+')');_0x362181[_0x545f37(0x1ea)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x10893c[_0x545f37(0x182)](getProgressDisplay,_0x362181[_0x545f37(0x1ea)]));_0x362181['description']&&console[_0x545f37(0x14e)](_0x545f37(0x16e)+_0x362181['description']);_0x362181['gitRepoUrl']&&console['log'](_0x545f37(0x141)+_0x362181[_0x545f37(0x20b)]);_0x362181['gitBranch']&&console['log'](_0x545f37(0x218)+_0x362181[_0x545f37(0x211)]);console['log'](_0x545f37(0x1ba)+new Date(_0x362181[_0x545f37(0x15e)])['toLocaleString']());_0x362181['completedAt']&&console['log'](_0x545f37(0x195)+new Date(_0x362181[_0x545f37(0x1ed)])[_0x545f37(0x1fe)]());if(_0x5194fd&&_0x5194fd['length']>0x0){console[_0x545f37(0x14e)](_0x10893c[_0x545f37(0x220)]);for(let _0x2ad1dd=0x0;_0x10893c[_0x545f37(0x1b1)](_0x2ad1dd,_0x5194fd[_0x545f37(0x1ff)]);_0x2ad1dd++){const _0x21d3a9=_0x5194fd[_0x2ad1dd];let _0x4f4d13;if(_0x21d3a9[_0x545f37(0x19d)]==='closed'&&_0x10893c['CwWbp'](_0x21d3a9[_0x545f37(0x224)],_0x10893c['KSIkQ']))_0x4f4d13='✅';else{if(_0x21d3a9['status']===_0x10893c[_0x545f37(0x197)])_0x4f4d13='🟢';else{if(_0x21d3a9[_0x545f37(0x19d)]===_0x10893c['mRjwR'])_0x4f4d13='🟠';else{if(_0x10893c['CwWbp'](_0x21d3a9['status'],'blocked'))_0x4f4d13='🛑';else{if(_0x10893c[_0x545f37(0x20e)](_0x21d3a9['status'],_0x10893c['dTZCZ']))_0x4f4d13='⛔';else _0x10893c[_0x545f37(0x20a)](_0x21d3a9[_0x545f37(0x19d)],_0x10893c['SkhCL'])?_0x4f4d13='⏳':_0x4f4d13='⬜';}}}}const _0x589260=_0x10893c[_0x545f37(0x1c9)](_0x21d3a9['version'],0x1)?'\x20(v'+_0x21d3a9[_0x545f37(0x1e9)]+')':'',_0x822cc8=_0x21d3a9['version']>0x1&&_0x21d3a9['parentItemId']&&_0x21d3a9[_0x545f37(0x19d)]!=='closed'&&_0x21d3a9['status']!==_0x545f37(0x21d)?_0x10893c[_0x545f37(0x1bc)]:'';console[_0x545f37(0x14e)]('\x20\x20\x20'+_0x10893c['BmLFE'](_0x2ad1dd,0x1)+'.\x20'+_0x4f4d13+'\x20'+_0x21d3a9['description']+_0x589260+_0x822cc8);_0x21d3a9[_0x545f37(0x19d)]===_0x10893c['oxcFx']&&_0x21d3a9[_0x545f37(0x1ac)]&&console[_0x545f37(0x14e)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x21d3a9[_0x545f37(0x1ac)]);_0x10893c['RRZmK'](_0x21d3a9[_0x545f37(0x19d)],_0x10893c['mRjwR'])&&_0x21d3a9['incompleteReason']&&console['log'](_0x545f37(0x1f6)+_0x21d3a9[_0x545f37(0x1c3)]);if(_0x21d3a9['status']===_0x10893c['dTZCZ']&&_0x10893c['oHOFR'](_0x21d3a9[_0x545f37(0x224)],_0x10893c[_0x545f37(0x1c8)]))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x21d3a9['status']==='closed'&&_0x21d3a9[_0x545f37(0x142)]&&console[_0x545f37(0x14e)](_0x545f37(0x223)+_0x21d3a9[_0x545f37(0x142)]);}}}export async function featureCreate(_0x5e48e6,_0x5c43fc){const _0x5463f7=_0x22ecc5,_0x29e83f={'xzyGj':function(_0x325515,_0x417ac3){return _0x325515===_0x417ac3;},'EwEqv':function(_0x31f029,_0x1b8ce7){return _0x31f029(_0x1b8ce7);},'zsbmw':function(_0x28e392,_0x22be5f,_0x176d4f){return _0x28e392(_0x22be5f,_0x176d4f);}},{envNames:_0x20f361}=await getEnvNames();if(_0x29e83f[_0x5463f7(0x18d)](_0x20f361['length'],0x0)&&!process[_0x5463f7(0x156)]['RANGER_TEST_USERNAME']){let _0x43a355=0x0;try{_0x43a355=(await listCloudProfiles())[_0x5463f7(0x1ff)];}catch{_0x43a355=0x1;}_0x43a355===0x0&&console[_0x5463f7(0x1d8)]('\x0a'+_0x29e83f['EwEqv'](formatProfileRequiredMessage,_0x47e877=>bold(_0x47e877)));}const _0x18b6a7=_0x5c43fc['scenarios']?_0x5c43fc[_0x5463f7(0x193)]['map'](_0x430533=>_0x430533['trim']()):[],_0x4633f2=getGitRepoUrl(),_0xbe22a1=getGitBranch();console[_0x5463f7(0x14e)](_0x5463f7(0x19f));const _0x230bd4=await createFeature({'name':_0x5e48e6,'description':_0x5c43fc['description'],'checklist':_0x18b6a7,'gitRepoUrl':_0x4633f2,'gitBranch':_0xbe22a1});await setActiveFeatureId(_0x230bd4['id']),await tryStartCurrentSession(_0x230bd4['id']);const _0xd12c6c=process[_0x5463f7(0x156)]['CLAUDE_SESSION_ID'];_0xd12c6c&&_0x29e83f['zsbmw'](registerSession,_0xd12c6c,_0x230bd4['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x230bd4['id']),displayFeature(_0x230bd4,_0x230bd4[_0x5463f7(0x1b7)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}function _0x50fb(_0x58e25e,_0x40f580){_0x58e25e=_0x58e25e-0x13d;const _0x53c8d0=_0x53c8();let _0x50fbc2=_0x53c8d0[_0x58e25e];return _0x50fbc2;}export async function featureList(_0x15a4fb){const _0x168544=_0x22ecc5,_0xe81a7d={'DDeTZ':function(_0x403209){return _0x403209();},'JXTsg':function(_0xa9215b,_0x3201b9){return _0xa9215b(_0x3201b9);},'XITJa':function(_0x3af398,_0x2f9285){return _0x3af398>_0x2f9285;},'wkRyH':function(_0x34b79b,_0x5664e2){return _0x34b79b<_0x5664e2;},'BnRWE':function(_0x106943,_0x3c52d6){return _0x106943!==_0x3c52d6;}},_0x43d3eb={'limit':_0x15a4fb[_0x168544(0x1c0)]??0xa,'offset':_0x15a4fb['offset']??0x0,'includeDeleted':_0x15a4fb['includeDeleted']};_0x15a4fb[_0x168544(0x1cd)]&&(_0x43d3eb[_0x168544(0x20b)]=_0xe81a7d[_0x168544(0x205)](getGitRepoUrl),_0x43d3eb['gitBranch']=_0xe81a7d['DDeTZ'](getGitBranch));const _0xc3ddf1=await _0xe81a7d[_0x168544(0x1fd)](listFeatures,_0x43d3eb);if(_0xc3ddf1[_0x168544(0x16d)][_0x168544(0x1ff)]===0x0){console['log'](_0x168544(0x18e));return;}const _0x1382ce=_0xe81a7d['XITJa'](_0xc3ddf1['totalCount'],_0xc3ddf1['items'][_0x168544(0x1ff)])?'Showing\x20'+_0xc3ddf1[_0x168544(0x16d)]['length']+_0x168544(0x1aa)+_0xc3ddf1['totalCount']:_0xc3ddf1[_0x168544(0x1a0)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1382ce+':\x0a');for(const _0x2ddf39 of _0xc3ddf1[_0x168544(0x16d)]){console['log'](''+_0x2ddf39[_0x168544(0x21f)]),console['log'](_0x168544(0x16a)+_0x2ddf39['id']),_0x2ddf39['stats']&&console['log'](_0x168544(0x179)+getProgressDisplay(_0x2ddf39[_0x168544(0x1ea)])),_0x2ddf39[_0x168544(0x211)]&&console['log'](_0x168544(0x218)+_0x2ddf39[_0x168544(0x211)]),console['log'](_0x168544(0x1ba)+new Date(_0x2ddf39[_0x168544(0x15e)])['toLocaleDateString']()),console[_0x168544(0x14e)]('');}const _0x46dcd8=_0x43d3eb[_0x168544(0x1c0)]??0xa,_0x322f2b=(_0x43d3eb['offset']??0x0)+_0xc3ddf1[_0x168544(0x16d)]['length'];if(_0xe81a7d[_0x168544(0x196)](_0x322f2b,_0xc3ddf1['totalCount'])){const _0x483534=_0xe81a7d[_0x168544(0x216)](_0x46dcd8,0xa)?'\x20--limit\x20'+_0x46dcd8:'',_0x46fdf1=_0x15a4fb['currentBranch']?'\x20--current-branch':'',_0x22e676=_0x15a4fb['includeDeleted']?_0x168544(0x1d5):'';console['log'](_0x168544(0x19b)+_0x322f2b+_0x483534+_0x46fdf1+_0x22e676);}}export async function featureShow(_0x332e7c){const _0x3a6d0d=_0x22ecc5,_0x175bba=_0x332e7c||await getActiveFeatureId();if(!_0x175bba)throw new Error(_0x3a6d0d(0x1d7));const _0x5bfb9f=await getFeature(_0x175bba);displayFeature(_0x5bfb9f,_0x5bfb9f['checklistItems']);}export async function featureResume(_0x268fb4){const _0x1cce4c=_0x22ecc5,_0x2fde87={'Ijrbo':function(_0x5457c1){return _0x5457c1();},'NLeVV':function(_0x59f92a,_0x51df46){return _0x59f92a!==_0x51df46;},'YCXXw':function(_0x533096,_0x467e9d,_0x22fb25){return _0x533096(_0x467e9d,_0x22fb25);},'tUmct':function(_0x4bf799,_0x245590){return _0x4bf799(_0x245590);},'pfPGL':function(_0x4436eb,_0x3e8d1f){return _0x4436eb&&_0x3e8d1f;},'ZHrJL':_0x1cce4c(0x217),'KuYBv':function(_0x5e0d6b,_0x582fb7){return _0x5e0d6b||_0x582fb7;},'kpAUA':function(_0x4210f0,_0x276ab2){return _0x4210f0===_0x276ab2;},'bgRPL':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','pcWvE':_0x1cce4c(0x1cc),'qzlbL':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','mGBkx':_0x1cce4c(0x191),'Anazq':_0x1cce4c(0x173),'sZoPO':_0x1cce4c(0x1f5),'evIxt':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','kupMP':function(_0x539a1a,_0x109306){return _0x539a1a(_0x109306);}};if(_0x268fb4){const _0x3dc272=await getFeature(_0x268fb4);await setActiveFeatureId(_0x3dc272['id']);const _0x574e3f=_0x2fde87['Ijrbo'](getGitBranch);_0x574e3f&&_0x2fde87['NLeVV'](_0x574e3f,_0x3dc272['gitBranch'])&&(await _0x2fde87[_0x1cce4c(0x175)](updateFeature,_0x3dc272['id'],{'gitBranch':_0x574e3f}),console[_0x1cce4c(0x14e)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x574e3f));console[_0x1cce4c(0x14e)](_0x1cce4c(0x164)+_0x3dc272['name']+'\x20('+_0x3dc272['id']+')'),await _0x2fde87['tUmct'](tryStartCurrentSession,_0x3dc272['id']);const _0x5d8440=process['env']['CLAUDE_SESSION_ID'];_0x5d8440&&_0x2fde87['YCXXw'](registerSession,_0x5d8440,_0x3dc272['id']);displayFeature(_0x3dc272,_0x3dc272['checklistItems']),await printFeedbackNudge(_0x3dc272['id']);return;}const _0x1ee4f7=_0x2fde87[_0x1cce4c(0x153)](getGitRepoUrl),_0x5b0654=_0x2fde87['Ijrbo'](getGitBranch);if(_0x2fde87['pfPGL'](!_0x1ee4f7,!_0x5b0654))throw new Error(_0x1cce4c(0x1e1));console[_0x1cce4c(0x14e)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x1ee4f7||_0x2fde87['ZHrJL'])+'\x20/\x20'+_0x2fde87[_0x1cce4c(0x1bd)](_0x5b0654,_0x1cce4c(0x217))+'...');const _0xb1d2a9=await listFeatures({'gitRepoUrl':_0x1ee4f7,'gitBranch':_0x5b0654}),_0x357372=_0xb1d2a9[_0x1cce4c(0x16d)]['filter'](_0x396caf=>_0x396caf[_0x1cce4c(0x19d)]?_0x396caf[_0x1cce4c(0x19d)]!==_0x1cce4c(0x21d):!_0x396caf['completedAt']);if(_0x2fde87[_0x1cce4c(0x1a7)](_0x357372[_0x1cce4c(0x1ff)],0x0)){console['log'](_0x2fde87[_0x1cce4c(0x1d6)]),console['log'](_0x2fde87[_0x1cce4c(0x21a)]);return;}let _0x32939b;if(_0x2fde87[_0x1cce4c(0x1a7)](_0x357372[_0x1cce4c(0x1ff)],0x1))_0x32939b=_0x357372[0x0];else{const _0x2769f7=process['stdin'][_0x1cce4c(0x1da)]&&process['stdout'][_0x1cce4c(0x1da)];if(!_0x2769f7){console[_0x1cce4c(0x14e)](_0x2fde87[_0x1cce4c(0x162)]);for(const _0x1c35d5 of _0x357372){console[_0x1cce4c(0x14e)]('\x20\x20'+_0x1c35d5['name']),console['log'](_0x1cce4c(0x20d)+_0x1c35d5['id']),_0x1c35d5['stats']&&console[_0x1cce4c(0x14e)](_0x1cce4c(0x1df)+getProgressDisplay(_0x1c35d5['stats'])),_0x1c35d5['gitBranch']&&console[_0x1cce4c(0x14e)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x1c35d5[_0x1cce4c(0x211)]);}throw new Error(_0x2fde87['mGBkx']);}const {selected:_0x554841}=await _0x35c7f2['prompt']([{'type':_0x2fde87[_0x1cce4c(0x165)],'name':_0x2fde87[_0x1cce4c(0x21b)],'message':_0x2fde87[_0x1cce4c(0x17a)],'choices':_0x357372[_0x1cce4c(0x1b6)](_0xf69623=>({'name':_0xf69623[_0x1cce4c(0x21f)]+'\x20('+_0xf69623['id']+')','value':_0xf69623['id']}))}]);_0x32939b=_0x357372[_0x1cce4c(0x1b4)](_0xa3b0d5=>_0xa3b0d5['id']===_0x554841);}await setActiveFeatureId(_0x32939b['id']);_0x5b0654&&_0x5b0654!==_0x32939b['gitBranch']&&(await _0x2fde87[_0x1cce4c(0x175)](updateFeature,_0x32939b['id'],{'gitBranch':_0x5b0654}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x5b0654));console[_0x1cce4c(0x14e)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x32939b['name']+'\x20('+_0x32939b['id']+')'),await _0x2fde87['tUmct'](tryStartCurrentSession,_0x32939b['id']);const _0x3980d3=await _0x2fde87['kupMP'](getFeature,_0x32939b['id']),_0x3c140e=process[_0x1cce4c(0x156)][_0x1cce4c(0x1a3)];_0x3c140e&®isterSession(_0x3c140e,_0x3980d3['id']),displayFeature(_0x3980d3,_0x3980d3[_0x1cce4c(0x1b7)]),await _0x2fde87['kupMP'](printFeedbackNudge,_0x3980d3['id']);}async function printFeedbackNudge(_0x26f6dd){const _0x393964=_0x22ecc5,_0x4aec27={'yFmod':function(_0x3dd4ce,_0x1d0585){return _0x3dd4ce(_0x1d0585);},'xsBwu':function(_0x37458f,_0x2f1da5,_0x16e05c){return _0x37458f(_0x2f1da5,_0x16e05c);},'yPKdM':function(_0x1efbe3,_0x349766){return _0x1efbe3>_0x349766;},'VtSJx':function(_0xac567a,_0x168bfa){return _0xac567a>_0x168bfa;}};try{const {items:_0x298800}=await _0x4aec27[_0x393964(0x1f4)](getActionItems,_0x26f6dd);let _0x1172ea=0x0,_0x48251d=0x0;for(const _0x1b6c9a of _0x298800){const _0x5d1e28=await _0x4aec27['xsBwu'](getItemFeedback,_0x26f6dd,_0x1b6c9a['id']);_0x4aec27[_0x393964(0x178)](_0x5d1e28['unaddressedComments'][_0x393964(0x1ff)],0x0)&&(_0x1172ea+=_0x5d1e28[_0x393964(0x14b)][_0x393964(0x1ff)],_0x48251d++);}_0x4aec27[_0x393964(0x17e)](_0x1172ea,0x0)&&(console['log'](_0x393964(0x14d)+_0x1172ea+_0x393964(0x1f0)+_0x48251d+_0x393964(0x207)),console['log'](_0x393964(0x1ef)));}catch{}}async function tryStartCurrentSession(_0x5a1547){const _0x2b0e23=_0x22ecc5;try{const {sessions:_0x51f919}=await listFeatureSessions(_0x5a1547),_0x40f595=_0x51f919[_0x2b0e23(0x1b4)](_0x175ae3=>_0x175ae3[_0x2b0e23(0x19d)]===_0x2b0e23(0x1a8));_0x40f595&&(await startSession(_0x5a1547,_0x40f595['id']),console['log'](_0x2b0e23(0x17f)+_0x40f595[_0x2b0e23(0x145)]));}catch{}}export async function featureReport(_0x35581f,_0x5d73c2){const _0x22281a=_0x22ecc5,_0x3b8756={'OiPVI':function(_0x25fdca,_0x5e67c2,_0x492764){return _0x25fdca(_0x5e67c2,_0x492764);},'ZMUrl':function(_0x8286cc,_0x4337c6){return _0x8286cc(_0x4337c6);},'cYWSa':_0x22281a(0x1ae)},_0x8ac292=_0x35581f||await getActiveFeatureId();if(!_0x8ac292)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log']('\x0aGenerating\x20report...');const _0x34f97e=await _0x3b8756[_0x22281a(0x20f)](getFeatureReportMarkdown,_0x8ac292,{'style':_0x5d73c2[_0x22281a(0x169)]}),_0x4a82f0=_0x5d73c2[_0x22281a(0x19a)]||join(getRangerDir(),_0x22281a(0x1f7),_0x8ac292+'.md'),_0x1abc0e=join(_0x4a82f0,'..');!_0x3b8756[_0x22281a(0x202)](existsSync,_0x1abc0e)&&await mkdir(_0x1abc0e,{'recursive':!![]}),await writeFile(_0x4a82f0,_0x34f97e,_0x3b8756[_0x22281a(0x1a5)]),console['log'](_0x22281a(0x1a9)+_0x4a82f0);}function getScenarioResult(_0x1d0eee){const _0x546bff=_0x22ecc5,_0x3f6ce8={'snALa':_0x546bff(0x1ad),'SrKqu':'verification_in_progress','poQSy':_0x546bff(0x160)};if(_0x1d0eee['status']==='closed')return _0x1d0eee[_0x546bff(0x224)]??_0x3f6ce8[_0x546bff(0x1e7)];if(_0x1d0eee['status']===_0x3f6ce8['SrKqu'])return _0x3f6ce8[_0x546bff(0x16b)];return _0x1d0eee[_0x546bff(0x19d)];}function getScenarioRationale(_0xfcee19,_0x1f7b95){const _0x3f4c16=_0x22ecc5;if(_0x1f7b95)return _0x1f7b95;if(_0xfcee19[_0x3f4c16(0x1ac)])return _0xfcee19['blockedReason'];if(_0xfcee19['incompleteReason'])return _0xfcee19[_0x3f4c16(0x1c3)];if(_0xfcee19['canceledReason'])return _0xfcee19[_0x3f4c16(0x142)];if(_0xfcee19['notes'])return _0xfcee19['notes'];return null;}export async function featureReportPrDescription(_0x2f69c1,_0x2f005d){const _0x4f694a=_0x22ecc5,_0x50b6cf={'LQIKN':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','eNHEc':function(_0x46ae0a,_0x15cf64){return _0x46ae0a(_0x15cf64);},'kQXIX':function(_0x38eb85,_0x3ae6fe,_0x49cbf0){return _0x38eb85(_0x3ae6fe,_0x49cbf0);},'HJPmB':function(_0x10c1a5,_0x2441f2){return _0x10c1a5===_0x2441f2;},'cNbiu':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','ComES':function(_0x1ef846,_0x29f878){return _0x1ef846>_0x29f878;},'UXCYW':function(_0x2904bc,_0x242380){return _0x2904bc+_0x242380;}},_0x4ff124=_0x2f69c1||await getActiveFeatureId();if(!_0x4ff124)throw new Error(_0x50b6cf[_0x4f694a(0x13f)]);const _0x162cb6=await _0x50b6cf['eNHEc'](getFeature,_0x4ff124),_0x453aba=_0x162cb6['checklistItems']||[],_0x5cd585=_0x50b6cf[_0x4f694a(0x1a2)](getCurrentSessionItems,_0x162cb6,_0x453aba);_0x50b6cf['HJPmB'](_0x5cd585['length'],0x0)&&(console['error'](_0x50b6cf[_0x4f694a(0x176)]),process[_0x4f694a(0x1c2)](0x1));const _0x4ae8e3=_0x2f005d[_0x4f694a(0x1ec)]??[],_0x4e8195=_0x4ae8e3[_0x4f694a(0x1b3)](_0x4e55af=>!Number[_0x4f694a(0x1f9)](_0x4e55af)||_0x4e55af<0x1||_0x4e55af>_0x5cd585['length']);if(_0x50b6cf['ComES'](_0x4e8195['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4e8195[_0x4f694a(0x157)](',\x20')),console['log'](_0x4f694a(0x184));for(let _0xe6da58=0x0;_0xe6da58<_0x5cd585[_0x4f694a(0x1ff)];_0xe6da58++){console['log']('\x20\x20'+_0x50b6cf['UXCYW'](_0xe6da58,0x1)+'.\x20'+_0x5cd585[_0xe6da58]['description']);}process['exit'](0x1);}const _0x51f930=new Set(_0x4ae8e3[_0x4f694a(0x1b6)](_0x28e6fb=>_0x28e6fb-0x1)),_0x2fa60c=_0x5cd585[_0x4f694a(0x1b3)]((_0x2829cf,_0x1a6c54)=>!_0x51f930['has'](_0x1a6c54));_0x2fa60c['length']===0x0&&(console['error'](_0x4f694a(0x1c6)),process[_0x4f694a(0x1c2)](0x1));if(_0x2f005d[_0x4f694a(0x183)])await outputJsonReport(_0x4ff124,_0x162cb6,_0x2fa60c);else{const _0x1b21f1=await getFeatureReportMarkdown(_0x4ff124,{'itemIds':_0x2fa60c[_0x4f694a(0x1b6)](_0x53c10f=>_0x53c10f['id'])});process['stdout'][_0x4f694a(0x1b0)](_0x1b21f1[_0x4f694a(0x194)]()+'\x0a');}}async function outputJsonReport(_0x319abb,_0x49624d,_0x10707b){const _0x38e648=_0x22ecc5,_0x1cf630={'OOWke':function(_0x590016,_0x3b3edd){return _0x590016>_0x3b3edd;},'gLIgB':function(_0x7e8324,_0x1af73e){return _0x7e8324(_0x1af73e);},'baeFR':function(_0x2a5c8f,_0x23c8de,_0x2e3937){return _0x2a5c8f(_0x23c8de,_0x2e3937);},'wkTkV':function(_0x401d75){return _0x401d75();},'SlHzb':function(_0x516461,_0x5401c9){return _0x516461+_0x5401c9;}},_0x5b350f=_0x1cf630[_0x38e648(0x1c7)](getApiBaseUrl),_0x2bfc83=await getFeatureReport(_0x319abb),_0x186ecf=new Map(_0x2bfc83['checklistItems']['map'](_0x310edf=>[_0x310edf['id'],_0x310edf])),_0x3a4d35=await Promise['all'](_0x10707b['map'](async _0x1910ba=>{const _0x407491=_0x38e648,_0x4afdb4=_0x186ecf[_0x407491(0x1f8)](_0x1910ba['id']),_0xc30d1b=_0x4afdb4?.[_0x407491(0x208)]??null;let _0x2cf825=[];if(_0x1910ba['browserSessionId'])try{const {steps:_0x2ebaf8}=await getBrowserSessionSteps(_0x1910ba[_0x407491(0x150)]);_0x1cf630[_0x407491(0x17b)](_0x2ebaf8[_0x407491(0x1ff)],0x0)&&(_0x2cf825=_0x2ebaf8[_0x407491(0x1b6)](_0x26eee9=>{const _0x170ed9=_0x407491,_0x1b774f=_0x26eee9[_0x170ed9(0x1d9)][_0x170ed9(0x1b4)](_0xab53c9=>_0xab53c9[_0x170ed9(0x1dd)]===_0x170ed9(0x1d4)&&_0xab53c9['timing']==='after')??_0x26eee9['assets']['find'](_0x349d0c=>_0x349d0c['assetType']==='screenshot');let _0x376e88=null,_0x4289b9=null;if(_0x1b774f){const _0x1f98ad=_0x1b774f['storage']['location']['split']('/')['pop']();_0x376e88=_0x5b350f+'/api/v1/mcp/browser-sessions/'+_0x1910ba[_0x170ed9(0x150)]+_0x170ed9(0x1cb)+_0x1f98ad,_0x1f98ad&&(_0x4289b9=_0x1f98ad['replace'](/\.\w+$/,'')[_0x170ed9(0x155)](/^(key_)?\d+_/,'')[_0x170ed9(0x155)](/[-_]/g,'\x20'));}return{'description':_0x4289b9||_0x26eee9[_0x170ed9(0x1eb)]||_0x26eee9[_0x170ed9(0x15c)]||_0x170ed9(0x143)+_0x26eee9['position'],'screenshot':_0x376e88,'is_key_step':_0x26eee9[_0x170ed9(0x1dc)]};}));}catch{}return _0x2cf825['length']===0x0&&_0xc30d1b?.['screenshotUrls']&&(_0x2cf825=_0xc30d1b[_0x407491(0x1ce)][_0x407491(0x1b6)]((_0x33e118,_0x43bd99)=>({'description':_0x407491(0x1c5)+(_0x43bd99+0x1),'screenshot':_0x33e118,'is_key_step':![]}))),{'description':_0x1910ba['description'],'result':_0x1cf630[_0x407491(0x212)](getScenarioResult,_0x1910ba),'rationale':_0x1cf630[_0x407491(0x1d1)](getScenarioRationale,_0x1910ba,_0xc30d1b?.['agentResponse']),'steps':_0x2cf825};})),_0x264548={'url':_0x49624d[_0x38e648(0x21e)],'scenarios':_0x3a4d35};process['stdout'][_0x38e648(0x1b0)](_0x1cf630['SlHzb'](JSON[_0x38e648(0x1ee)](_0x264548,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x20c873){const _0x50c215=_0x22ecc5,_0x56a4ff={'qrSkX':_0x50c215(0x1d7),'OgBfO':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','QFfAv':'\x0a✅\x20Session\x20is\x20already\x20completed.','GYNUX':function(_0xdcde9c,_0x2d2f86){return _0xdcde9c!==_0x2d2f86;},'eVzWE':'\x0aConcluding\x20session...','SsVHz':function(_0x55ed17,_0x1ea000,_0x788e71){return _0x55ed17(_0x1ea000,_0x788e71);}},_0x3f41f4=_0x20c873||await getActiveFeatureId();if(!_0x3f41f4)throw new Error(_0x56a4ff[_0x50c215(0x1f2)]);const _0x2ff03c=await getFeature(_0x3f41f4);if(!_0x2ff03c[_0x50c215(0x158)])throw new Error(_0x56a4ff['OgBfO']);const {sessions:_0x451ab8}=await listFeatureSessions(_0x3f41f4),_0x130547=_0x451ab8['find'](_0x2d36a4=>_0x2d36a4['id']===_0x2ff03c[_0x50c215(0x158)]);if(!_0x130547)throw new Error('Current\x20session\x20not\x20found.');if(_0x130547['status']==='completed'){console[_0x50c215(0x14e)](_0x56a4ff[_0x50c215(0x1e6)]);return;}if(_0x56a4ff['GYNUX'](_0x130547[_0x50c215(0x19d)],'in_progress'))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x130547['status']);console['log'](_0x56a4ff[_0x50c215(0x15a)]),await _0x56a4ff['SsVHz'](concludeSession,_0x3f41f4,_0x2ff03c['currentSessionId']),console[_0x50c215(0x14e)]('\x0a✅\x20Session\x20'+_0x130547[_0x50c215(0x145)]+'\x20concluded.'),console['log'](_0x50c215(0x166));}export async function featureSessions(_0x242295){const _0x25a20b=_0x22ecc5,_0x1f9a64={'SzxSH':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','AkOOr':function(_0x59d5f2,_0x26a018){return _0x59d5f2(_0x26a018);},'oAXBT':function(_0x31e4fa,_0xe9001b){return _0x31e4fa===_0xe9001b;},'bZYpy':_0x25a20b(0x201),'kxojV':_0x25a20b(0x160)},_0x3b0b42=_0x242295||await getActiveFeatureId();if(!_0x3b0b42)throw new Error(_0x1f9a64[_0x25a20b(0x16f)]);const _0xa1bcf7=await _0x1f9a64[_0x25a20b(0x16c)](getFeature,_0x3b0b42);console[_0x25a20b(0x14e)](_0x25a20b(0x1b8)+_0xa1bcf7[_0x25a20b(0x21f)]+'\x0a');const {sessions:_0x5f4337}=await _0x1f9a64[_0x25a20b(0x16c)](listFeatureSessions,_0x3b0b42);if(_0x1f9a64[_0x25a20b(0x1d2)](_0x5f4337['length'],0x0)){console[_0x25a20b(0x14e)](_0x1f9a64[_0x25a20b(0x215)]);return;}for(const _0x3388a9 of _0x5f4337){const _0x1adce8=_0x3388a9[_0x25a20b(0x19d)]===_0x25a20b(0x1c4)?'✅':_0x3388a9[_0x25a20b(0x19d)]===_0x1f9a64['kxojV']?'🔄':'▶️';console['log'](_0x1adce8+_0x25a20b(0x1be)+_0x3388a9[_0x25a20b(0x145)]+'\x20('+_0x3388a9['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x3388a9['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3388a9[_0x25a20b(0x15e)])['toLocaleString']()),_0x3388a9['completedAt']&&console[_0x25a20b(0x14e)]('\x20\x20\x20Completed:\x20'+new Date(_0x3388a9[_0x25a20b(0x1ed)])['toLocaleString']()),console[_0x25a20b(0x14e)]('');}}export async function featureAddScenario(_0x172931,_0x5555ae){const _0x39d99a=_0x22ecc5,_0x3bde87={'ZQTmr':function(_0x35f8e3){return _0x35f8e3();},'KpXeR':_0x39d99a(0x1d7),'VZrMJ':function(_0x27ad44,_0x5ae007){return _0x27ad44(_0x5ae007);},'djHrU':function(_0x5e6a06,_0x22f9dc,_0xdd5916){return _0x5e6a06(_0x22f9dc,_0xdd5916);}},_0x290f15=_0x5555ae||await _0x3bde87['ZQTmr'](getActiveFeatureId);if(!_0x290f15)throw new Error(_0x3bde87['KpXeR']);const _0x1b0638=await _0x3bde87[_0x39d99a(0x1e5)](getFeature,_0x290f15);if(_0x1b0638['latestReview']&&!_0x1b0638['latestReview'][_0x39d99a(0x1a1)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1b0638[_0x39d99a(0x21e)]);await _0x3bde87[_0x39d99a(0x170)](createChecklistItem,_0x290f15,_0x172931);const _0x347131=await getFeature(_0x290f15);console['log'](_0x39d99a(0x1b2)),displayFeature(_0x347131,_0x347131[_0x39d99a(0x1b7)]);}export async function featureEditScenario(_0x1bbe84,_0x5ef8f6){const _0x4e9623=_0x22ecc5,_0x3f2ad2={'Tiugx':_0x4e9623(0x1e3),'vHoLJ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IUvWb':function(_0xdb1804,_0x678292){return _0xdb1804(_0x678292);},'CzCYE':function(_0x512afa,_0x49764f){return _0x512afa===_0x49764f;},'ygSJo':_0x4e9623(0x13e),'IGmdF':function(_0x488cc9,_0x2e45ae){return _0x488cc9+_0x2e45ae;},'kbxkD':function(_0x28f73f,_0x527901){return _0x28f73f-_0x527901;},'yCHNR':function(_0x2b23af,_0x3bb09f){return _0x2b23af<_0x3bb09f;},'Xdqpl':'\x0aAvailable\x20scenarios:','ecFdl':function(_0x37480b,_0x2c7ce5){return _0x37480b<_0x2c7ce5;}},_0x41f43e=_0x5ef8f6['id']||await getActiveFeatureId();!_0x41f43e&&(console['error'](_0x3f2ad2['Tiugx']),console['error'](_0x3f2ad2['vHoLJ']),process[_0x4e9623(0x1c2)](0x1));const _0x2f0907=await _0x3f2ad2[_0x4e9623(0x1e8)](getFeature,_0x41f43e);_0x2f0907[_0x4e9623(0x18c)]&&!_0x2f0907[_0x4e9623(0x18c)][_0x4e9623(0x1a1)]&&(console['error']('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x4e9623(0x15f)](_0x4e9623(0x172)),console[_0x4e9623(0x15f)]('\x20\x20'+_0x2f0907['dashboardUrl']),process['exit'](0x1));const _0x5216db=_0x2f0907[_0x4e9623(0x1b7)]||[];_0x3f2ad2['CzCYE'](_0x5216db['length'],0x0)&&(console[_0x4e9623(0x15f)](_0x3f2ad2['ygSJo']),process[_0x4e9623(0x1c2)](0x1));if(_0x5ef8f6['scenario']===undefined){console[_0x4e9623(0x15f)](_0x4e9623(0x148)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x49782d=0x0;_0x49782d<_0x5216db['length'];_0x49782d++){console[_0x4e9623(0x14e)]('\x20\x20'+_0x3f2ad2[_0x4e9623(0x188)](_0x49782d,0x1)+'.\x20'+_0x5216db[_0x49782d][_0x4e9623(0x1eb)]);}process['exit'](0x1);}const _0x549b28=_0x3f2ad2['kbxkD'](_0x5ef8f6['scenario'],0x1);if(_0x3f2ad2[_0x4e9623(0x147)](_0x549b28,0x0)||_0x549b28>=_0x5216db['length']){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5ef8f6[_0x4e9623(0x1cf)]+_0x4e9623(0x13d)+_0x5216db[_0x4e9623(0x1ff)]+'\x20scenarios.'),console[_0x4e9623(0x14e)](_0x3f2ad2[_0x4e9623(0x203)]);for(let _0x50b17f=0x0;_0x3f2ad2[_0x4e9623(0x199)](_0x50b17f,_0x5216db[_0x4e9623(0x1ff)]);_0x50b17f++){console[_0x4e9623(0x14e)]('\x20\x20'+(_0x50b17f+0x1)+'.\x20'+_0x5216db[_0x50b17f]['description']);}process['exit'](0x1);}const _0x1bc8a1=_0x5216db[_0x549b28];await updateChecklistItem(_0x41f43e,_0x1bc8a1['id'],{'description':_0x1bbe84});const _0x4528cc=await _0x3f2ad2['IUvWb'](getFeature,_0x41f43e);console[_0x4e9623(0x14e)](_0x4e9623(0x1e2)),displayFeature(_0x4528cc,_0x4528cc['checklistItems']);}async function downloadFeedbackImage(_0x55a81f,_0x5896c9){const _0x3abfbc=_0x22ecc5,_0xe8ba62={'ptZdJ':function(_0x5d2818){return _0x5d2818();}};try{const _0x44b4d6=join(_0xe8ba62['ptZdJ'](getRangerDir),'feedback-images');await mkdir(_0x44b4d6,{'recursive':!![]});const _0x234534=join(_0x44b4d6,'comment_'+_0x5896c9+_0x3abfbc(0x204)),_0x15af49=await fetch(_0x55a81f);if(!_0x15af49['ok'])return null;const _0xcaff36=Buffer[_0x3abfbc(0x144)](await _0x15af49['arrayBuffer']());return await writeFile(_0x234534,_0xcaff36),_0x234534;}catch{return null;}}export async function featureGetReview(_0x367816){const _0x55aae0=_0x22ecc5,_0x3b1039={'XYvcO':function(_0x300990,_0x2af6b2){return _0x300990===_0x2af6b2;},'WzUfr':_0x55aae0(0x146),'OrpNe':function(_0x5ed7f3,_0x3c1b96){return _0x5ed7f3<_0x3c1b96;},'EbvEm':function(_0x2ff7b3,_0x37d482){return _0x2ff7b3+_0x37d482;},'aPAbF':'numeric','zGElq':'Unknown','sdSJs':'element','YUlcL':function(_0x2f38e9,_0x29eba8){return _0x2f38e9>=_0x29eba8;}},_0x2d1395=_0x367816||await getActiveFeatureId();if(!_0x2d1395)throw new Error(_0x55aae0(0x1d7));const _0xdc2743=await getFeature(_0x2d1395),{items:_0x1b3126}=await getActionItems(_0x2d1395);console['log'](_0x55aae0(0x177)+_0xdc2743['name']+'\x20('+_0xdc2743['id']+')\x0a');if(_0x3b1039['XYvcO'](_0x1b3126[_0x55aae0(0x1ff)],0x0)){console[_0x55aae0(0x14e)](_0x3b1039[_0x55aae0(0x206)]);return;}for(let _0x3fdb38=0x0;_0x3b1039[_0x55aae0(0x1f1)](_0x3fdb38,_0x1b3126[_0x55aae0(0x1ff)]);_0x3fdb38++){const _0x2ad2ae=_0x1b3126[_0x3fdb38],_0x445263=_0x2ad2ae['version']>0x1?'\x20(v'+_0x2ad2ae[_0x55aae0(0x1e9)]+')':'',_0x176eea=await getItemFeedback(_0x2d1395,_0x2ad2ae['id']);if(_0x176eea['unaddressedComments']['length']>0x0){console[_0x55aae0(0x14e)]('Scenario\x20'+_0x3b1039['EbvEm'](_0x3fdb38,0x1)+':\x20\x22'+_0x2ad2ae[_0x55aae0(0x1eb)]+'\x22'+_0x445263+'\x20—\x20'+_0x176eea['unaddressedComments'][_0x55aae0(0x1ff)]+'\x20unaddressed\x20comment(s)');for(const _0x151a1c of _0x176eea[_0x55aae0(0x14b)]){const _0x5410c1=new Date(_0x151a1c['createdAt'])[_0x55aae0(0x1bb)]('en-US',{'month':_0x55aae0(0x154),'day':_0x3b1039[_0x55aae0(0x213)]}),_0x2da83a=_0x151a1c[_0x55aae0(0x1d3)]||_0x151a1c['authorEmail']||_0x3b1039['zGElq'];console[_0x55aae0(0x14e)](_0x55aae0(0x1bf)+_0x2da83a+'\x20('+_0x5410c1+'):\x20\x22'+_0x151a1c['content']+'\x22');if(_0x151a1c['assetUrl']){const _0x106d7e=await downloadFeedbackImage(_0x151a1c['assetUrl'],_0x151a1c['id']);_0x106d7e&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x106d7e);}if(_0x151a1c['domRef']){const _0x3ada38=_0x151a1c['domRef'][_0x55aae0(0x14a)][_0x55aae0(0x17c)](_0x55aae0(0x1e0))[_0x55aae0(0x161)]()?.[_0x55aae0(0x17c)](':')[0x0]||_0x3b1039[_0x55aae0(0x209)],_0xcd652a=_0x151a1c['domRef'][_0x55aae0(0x1a6)]?'\x20\x22'+_0x151a1c['domRef']['textContent'][_0x55aae0(0x1b5)](0x0,0x3c)+'\x22':'';console[_0x55aae0(0x14e)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3ada38+'>'+_0xcd652a),console[_0x55aae0(0x14e)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x151a1c[_0x55aae0(0x190)][_0x55aae0(0x14a)]);}else{if(_0x151a1c['spatial']){const _0x28028f=_0x151a1c['spatial']['coordinates'];_0x3b1039['XYvcO'](_0x151a1c[_0x55aae0(0x167)][_0x55aae0(0x17d)],'point')&&_0x3b1039['YUlcL'](_0x28028f['length'],0x2)?console[_0x55aae0(0x14e)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x28028f[0x0][_0x55aae0(0x14f)](0x2)+',\x20'+_0x28028f[0x1][_0x55aae0(0x14f)](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x151a1c['spatial'][_0x55aae0(0x17d)]+'\x20at\x20['+_0x28028f[_0x55aae0(0x1b6)](_0x3b7fdf=>_0x3b7fdf[_0x55aae0(0x14f)](0x2))[_0x55aae0(0x157)](',\x20')+']');}}}if(_0x176eea['canonicalFlow']){console[_0x55aae0(0x14e)]('\x20\x20Expected\x20flow:');for(const _0x381d26 of _0x176eea['canonicalFlow'][_0x55aae0(0x17c)]('\x0a')){console['log'](_0x55aae0(0x174)+_0x381d26);}}}else console['log'](_0x55aae0(0x21c)+(_0x3fdb38+0x1)+':\x20\x22'+_0x2ad2ae['description']+'\x22'+_0x445263+'\x20—\x20no\x20comments'),console['log'](_0x55aae0(0x18a));console[_0x55aae0(0x14e)]('');}}function _0x53c8(){const _0x2aa6f8=['VtSJx','\x20\x20\x20▶️\x20Started\x20session\x20','verifiedItems','git\x20rev-parse\x20--abbrev-ref\x20HEAD','eebEI','json','\x0aAvailable\x20scenarios:','14566SdzeLf','mbaQy','github.com/','IGmdF','AXPCh','\x20\x20✅\x20No\x20feedback\x20to\x20address','GUjlF','latestReview','xzyGj','\x0aNo\x20feature\x20reviews\x20found.','21jyxQNm','domRef','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','push','scenarios','trimEnd','\x20\x20\x20Completed:\x20','wkRyH','XvvtL','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','ecFdl','output','Next\x20page:\x20ranger\x20list\x20--offset\x20','fqvTZ','status','incompleteItems','\x0aCreating\x20feature\x20review...','totalCount','submittedAt','kQXIX','CLAUDE_SESSION_ID','20nLKePj','cYWSa','textContent','kpAUA','ready','\x0a✅\x20Report\x20generated:\x20','\x20of\x20','\x0a\x20\x20\x20Scenarios:','blockedReason','closed','utf-8','pipe','write','VDvol','\x0a✅\x20Scenario\x20added','filter','find','slice','map','checklistItems','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','incomplete','\x20\x20\x20Created:\x20','toLocaleDateString','jlPre','KuYBv','\x20Session\x20','\x20\x20💬\x20','limit','850077yjMuzo','exit','incompleteReason','completed','Screenshot\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','wkTkV','KSIkQ','bRVKJ','4zJdvht','/artifacts/','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','currentBranch','screenshotUrls','scenario','pendingItems','baeFR','oAXBT','authorName','screenshot','\x20--include-deleted','bgRPL','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','warn','assets','isTTY','lJzXg','isKeyStep','assetType','1089616pLbGBR','\x20\x20\x20\x20\x20Progress:\x20','\x20>\x20','Not\x20in\x20a\x20git\x20repository.','\x0a✅\x20Scenario\x20updated','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','VZrMJ','QFfAv','snALa','IUvWb','version','stats','description','excludeScenarios','completedAt','stringify','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','OrpNe','qrSkX','GNsUl','yFmod','selected','\x20\x20\x20\x20\x20\x20Incomplete:\x20','reports','get','isInteger','989768qxvqJY','22NCXOSA','trim','JXTsg','toLocaleString','length','verification_in_progress','No\x20sessions\x20found.','ZMUrl','Xdqpl','.png','DDeTZ','WzUfr','\x20scenario(s).','linkedSession','sdSJs','CZJsF','gitRepoUrl','CzUgA','\x20\x20\x20\x20\x20ID:\x20','RRZmK','OiPVI','cGOdC','gitBranch','gLIgB','aPAbF','\x20in\x20progress','bZYpy','BnRWE','any','\x20\x20\x20Branch:\x20','\x1b[0m','pcWvE','sZoPO','Scenario\x20','verified','dashboardUrl','name','NvpCF','dHiEr','sessionId','\x20\x20\x20\x20\x20\x20Cancelled:\x20','terminalReason','.\x20Feature\x20review\x20has\x20','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','LQIKN','SsIkY','\x20\x20\x20Repository:\x20','canceledReason','Step\x20','from','iteration','No\x20scenarios\x20found.','yCHNR','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','170718DEZxDm','selector','unaddressedComments','vkyyD','\x0a⚠️\x20\x20','log','toFixed','browserSessionId','\x1b[1m','79RRRvOX','Ijrbo','short','replace','env','join','currentSessionId','2978772VzIFGZ','eVzWE','repeat','stepName','45vRtIKw','createdAt','error','in_progress','pop','qzlbL','\x20[has\x20reviewer\x20feedback]','\x0a✅\x20Resumed\x20feature\x20review:\x20','Anazq','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','spatial','352623YxrERK','style','\x20\x20\x20ID:\x20','poQSy','AkOOr','items','\x20\x20\x20Description:\x20','SzxSH','djHrU','bflMT','Please\x20finish\x20your\x20review\x20first:','list','\x20\x20\x20\x20','YCXXw','cNbiu','\x0a📋\x20Feedback\x20for:\x20','yPKdM','\x20\x20\x20Progress:\x20','evIxt','OOWke','split','type'];_0x53c8=function(){return _0x2aa6f8;};return _0x53c8();}export async function featureDelete(_0x5ebee3){const _0x8caf44=_0x22ecc5,_0x115c4b={'dHiEr':function(_0x7efd32){return _0x7efd32();},'bqGAr':_0x8caf44(0x1e4)},_0x5db89e=_0x5ebee3||await _0x115c4b[_0x8caf44(0x221)](getActiveFeatureId);if(!_0x5db89e)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 _0x14f99e=await getFeature(_0x5db89e);await softDeleteFeature(_0x5db89e),console['log'](_0x8caf44(0x198)+_0x14f99e['name']+'\x20('+_0x5db89e+')'),console['log'](_0x115c4b['bqGAr']+_0x5db89e);}export async function featureRestore(_0x29ee89){const _0x547efc=_0x22ecc5,_0x505d4b={'SsIkY':function(_0x4f6155,_0x17c057){return _0x4f6155(_0x17c057);}};await _0x505d4b[_0x547efc(0x140)](restoreFeature,_0x29ee89);const _0x423266=await _0x505d4b['SsIkY'](getFeature,_0x29ee89);console[_0x547efc(0x14e)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x423266['name']+'\x20('+_0x29ee89+')'),displayFeature(_0x423266,_0x423266['checklistItems']);}
|
|
1
|
+
const _0x84055e=_0x3407;(function(_0x3d6527,_0x5718e2){const _0x1d70c2=_0x3407,_0x4521b9=_0x3d6527();while(!![]){try{const _0x3e2745=-parseInt(_0x1d70c2(0xda))/0x1*(parseInt(_0x1d70c2(0xf4))/0x2)+parseInt(_0x1d70c2(0x145))/0x3*(parseInt(_0x1d70c2(0x139))/0x4)+-parseInt(_0x1d70c2(0x17b))/0x5*(-parseInt(_0x1d70c2(0x13d))/0x6)+parseInt(_0x1d70c2(0x175))/0x7*(-parseInt(_0x1d70c2(0x191))/0x8)+-parseInt(_0x1d70c2(0x162))/0x9*(parseInt(_0x1d70c2(0x178))/0xa)+parseInt(_0x1d70c2(0x187))/0xb*(-parseInt(_0x1d70c2(0x11a))/0xc)+parseInt(_0x1d70c2(0x106))/0xd*(parseInt(_0x1d70c2(0x125))/0xe);if(_0x3e2745===_0x5718e2)break;else _0x4521b9['push'](_0x4521b9['shift']());}catch(_0xb0296e){_0x4521b9['push'](_0x4521b9['shift']());}}}(_0x5f08,0xd2c07));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x165e94 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=_0x84055e(0x164),bold=_0x51c7e9=>_0x84055e(0x18b)+_0x51c7e9+_0x84055e(0x196);function getGitRepoUrl(){const _0x8f03da=_0x84055e,_0x2a737a={'xYmKb':function(_0x55fcb4,_0x5192d1,_0x36406b){return _0x55fcb4(_0x5192d1,_0x36406b);},'RNdBB':_0x8f03da(0x19f),'LswJR':'pipe'};try{const _0x557865=_0x2a737a['xYmKb'](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x2a737a[_0x8f03da(0x182)],'stdio':[_0x2a737a['LswJR'],_0x2a737a['LswJR'],_0x2a737a['LswJR']]})['trim']();return _0x557865[_0x8f03da(0x15c)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x8f03da(0x170))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x158054=_0x84055e,_0x2a342f={'FqWzD':function(_0x9f02ad,_0x5998f9,_0x46bb83){return _0x9f02ad(_0x5998f9,_0x46bb83);},'ucynq':_0x158054(0x135)};try{return _0x2a342f['FqWzD'](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':'utf-8','stdio':[_0x2a342f[_0x158054(0x129)],'pipe',_0x2a342f[_0x158054(0x129)]]})[_0x158054(0x18a)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x7ce994=_0x84055e,_0x3cbfd2={'CttOo':function(_0x17b59d){return _0x17b59d();}},_0x460574=join(_0x3cbfd2[_0x7ce994(0x18f)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x460574))return null;try{const _0xc5b840=await readFile(_0x460574,'utf-8');return _0xc5b840['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x4433d9){const _0x5919c9=_0x84055e,_0xf51c52={'VVTlT':function(_0x31c06a){return _0x31c06a();}},_0x20a1fd=_0xf51c52[_0x5919c9(0x122)](getRangerDir),_0x368b14=join(_0x20a1fd,ACTIVE_FEATURE_FILE);!existsSync(_0x20a1fd)&&await mkdir(_0x20a1fd,{'recursive':!![]}),await writeFile(_0x368b14,_0x4433d9,_0x5919c9(0x19f));}function getProgressDisplay(_0x1bed51){const _0x1e0dd5=_0x84055e,_0x2e1243={'zJzUI':function(_0x3b738a,_0x3cc9ac){return _0x3b738a+_0x3cc9ac;},'ymBKy':function(_0x32beac,_0x2f09d1){return _0x32beac+_0x2f09d1;},'UGkyU':function(_0x4ed282,_0x283a2b){return _0x4ed282===_0x283a2b;},'MlLCV':function(_0x10e2a6,_0x4721e6){return _0x10e2a6/_0x4721e6;},'BGJAc':function(_0x1f8b1e,_0x33eb9d){return _0x1f8b1e>_0x33eb9d;},'yRhlO':function(_0x3edee4,_0x48ac6e){return _0x3edee4>_0x48ac6e;},'uLWyR':function(_0x4f84e1,_0x4af83e){return _0x4f84e1>_0x4af83e;}},_0x32c230=_0x1bed51[_0x1e0dd5(0x1af)]||0x0,_0x12d608=_0x1bed51['verificationInProgressItems']||0x0,_0x331395=_0x1bed51[_0x1e0dd5(0x195)]||0x0,_0x241de9=_0x1bed51['incompleteItems']||0x0,_0x3444c1=_0x1bed51[_0x1e0dd5(0x1a3)]||0x0,_0x37d2fb=_0x2e1243[_0x1e0dd5(0x104)](_0x2e1243['ymBKy'](_0x32c230+_0x12d608+_0x331395,_0x241de9),_0x3444c1);if(_0x2e1243[_0x1e0dd5(0x14b)](_0x37d2fb,0x0))return'-';const _0x531e02=0xa,_0x46b989=Math[_0x1e0dd5(0xff)](_0x2e1243[_0x1e0dd5(0x128)](_0x32c230,_0x37d2fb)*_0x531e02),_0x268ab2='█'['repeat'](_0x46b989)+'░'[_0x1e0dd5(0x100)](_0x531e02-_0x46b989),_0x2b1cfa=[];if(_0x2e1243[_0x1e0dd5(0x140)](_0x331395,0x0))_0x2b1cfa[_0x1e0dd5(0x13f)](_0x331395+'\x20blocked');if(_0x2e1243['yRhlO'](_0x241de9,0x0))_0x2b1cfa['push'](_0x241de9+'\x20incomplete');if(_0x2e1243['uLWyR'](_0x12d608,0x0))_0x2b1cfa['push'](_0x12d608+_0x1e0dd5(0x149));const _0x2ab9cd=_0x2e1243[_0x1e0dd5(0x180)](_0x2b1cfa['length'],0x0)?'\x20('+_0x2b1cfa[_0x1e0dd5(0xea)](',\x20')+')':'';return _0x268ab2+'\x20'+_0x32c230+'/'+_0x37d2fb+_0x1e0dd5(0x147)+_0x2ab9cd;}function getCurrentSessionItems(_0x422ad5,_0x166cb2){const _0x2d16fc=_0x84055e;if(!_0x422ad5[_0x2d16fc(0x19e)])return _0x166cb2[_0x2d16fc(0xe0)](_0x182f64=>!_0x182f64[_0x2d16fc(0x12b)]);return _0x166cb2[_0x2d16fc(0xe0)](_0x5219f3=>_0x5219f3[_0x2d16fc(0x12b)]===_0x422ad5['currentSessionId']||!_0x5219f3['sessionId']);}function displayFeature(_0x1db2e9,_0xe93a9a){const _0x47f343=_0x84055e,_0x180623={'QJqCt':'\x0a\x20\x20\x20Scenarios:','fscRU':function(_0x13f9cc,_0x4f4373){return _0x13f9cc===_0x4f4373;},'tEwtT':function(_0x2ad262,_0x14bd61){return _0x2ad262===_0x14bd61;},'cqWXk':_0x47f343(0x11b),'sajGR':_0x47f343(0xe8),'DNfJM':_0x47f343(0x163),'ZNMiN':function(_0xbb3809,_0x173238){return _0xbb3809!==_0x173238;},'DzsaX':_0x47f343(0xbe),'OrKQy':_0x47f343(0x12e),'IMjqH':function(_0x20ccff,_0x202c41){return _0x20ccff+_0x202c41;},'HMcSa':'blocked','RbjEY':function(_0x45bee4,_0x5bec37){return _0x45bee4===_0x5bec37;},'gYfpt':'approved'};console[_0x47f343(0x127)]('\x0a'+_0x1db2e9[_0x47f343(0xd5)]+'\x20('+_0x1db2e9['dashboardUrl']+')');_0x1db2e9[_0x47f343(0xfd)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1db2e9['stats']));_0x1db2e9['description']&&console[_0x47f343(0x127)](_0x47f343(0x142)+_0x1db2e9[_0x47f343(0x124)]);_0x1db2e9['gitRepoUrl']&&console[_0x47f343(0x127)](_0x47f343(0x113)+_0x1db2e9[_0x47f343(0x119)]);_0x1db2e9['gitBranch']&&console[_0x47f343(0x127)](_0x47f343(0xc3)+_0x1db2e9['gitBranch']);console['log'](_0x47f343(0xbf)+new Date(_0x1db2e9[_0x47f343(0x14e)])[_0x47f343(0xef)]());_0x1db2e9['completedAt']&&console['log'](_0x47f343(0x120)+new Date(_0x1db2e9[_0x47f343(0x193)])['toLocaleString']());if(_0xe93a9a&&_0xe93a9a[_0x47f343(0xfa)]>0x0){console[_0x47f343(0x127)](_0x180623['QJqCt']);for(let _0x28305a=0x0;_0x28305a<_0xe93a9a[_0x47f343(0xfa)];_0x28305a++){const _0x4897d2=_0xe93a9a[_0x28305a];let _0x4f9bcd;if(_0x4897d2['status']===_0x47f343(0xe8)&&_0x180623[_0x47f343(0xe6)](_0x4897d2['terminalReason'],'approved'))_0x4f9bcd='✅';else{if(_0x180623['tEwtT'](_0x4897d2['status'],_0x47f343(0xbe)))_0x4f9bcd='🟢';else{if(_0x4897d2[_0x47f343(0x137)]===_0x180623['cqWXk'])_0x4f9bcd='🟠';else{if(_0x4897d2['status']==='blocked')_0x4f9bcd='🛑';else{if(_0x4897d2['status']===_0x180623[_0x47f343(0x123)])_0x4f9bcd='⛔';else _0x4897d2[_0x47f343(0x137)]===_0x180623[_0x47f343(0x19d)]?_0x4f9bcd='⏳':_0x4f9bcd='⬜';}}}}const _0x9da433=_0x4897d2[_0x47f343(0xba)]>0x1?_0x47f343(0x151)+_0x4897d2['version']+')':'',_0x3c1403=_0x4897d2['version']>0x1&&_0x4897d2['parentItemId']&&_0x4897d2['status']!==_0x180623['sajGR']&&_0x180623[_0x47f343(0x158)](_0x4897d2[_0x47f343(0x137)],_0x180623['DzsaX'])?_0x180623[_0x47f343(0x132)]:'';console[_0x47f343(0x127)](_0x47f343(0x17c)+_0x180623[_0x47f343(0x169)](_0x28305a,0x1)+'.\x20'+_0x4f9bcd+'\x20'+_0x4897d2[_0x47f343(0x124)]+_0x9da433+_0x3c1403);_0x180623[_0x47f343(0x194)](_0x4897d2[_0x47f343(0x137)],_0x180623[_0x47f343(0xc1)])&&_0x4897d2['blockedReason']&&console[_0x47f343(0x127)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4897d2['blockedReason']);_0x4897d2[_0x47f343(0x137)]==='incomplete'&&_0x4897d2['incompleteReason']&&console['log'](_0x47f343(0x188)+_0x4897d2[_0x47f343(0xde)]);if(_0x4897d2[_0x47f343(0x137)]===_0x180623[_0x47f343(0x123)]&&_0x180623['RbjEY'](_0x4897d2[_0x47f343(0x1a9)],_0x180623['gYfpt']))console['log'](_0x47f343(0xcc));else _0x4897d2['status']===_0x180623['sajGR']&&_0x4897d2['canceledReason']&&console[_0x47f343(0x127)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4897d2['canceledReason']);}}}export async function featureCreate(_0x7ef1b4,_0x992fa0){const _0x21f0b9=_0x84055e,_0x6bebe={'UvVPD':function(_0x32bdaa,_0x3f1926){return _0x32bdaa===_0x3f1926;},'banlN':function(_0xe47d40){return _0xe47d40();},'ZGpdp':function(_0x566521,_0x45648f){return _0x566521(_0x45648f);},'kiMuF':function(_0x5c5396,_0x28e799){return _0x5c5396(_0x28e799);},'OqKBb':function(_0x470b3b,_0x1847b4){return _0x470b3b(_0x1847b4);},'EsMmW':function(_0x3da4d9,_0x32ffa2,_0x5dc7e1){return _0x3da4d9(_0x32ffa2,_0x5dc7e1);}},{envNames:_0x20f3cb}=await getEnvNames();if(_0x6bebe['UvVPD'](_0x20f3cb[_0x21f0b9(0xfa)],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x4b04ad=0x0;try{_0x4b04ad=(await _0x6bebe[_0x21f0b9(0x10f)](listCloudProfiles))['length'];}catch{_0x4b04ad=0x1;}_0x4b04ad===0x0&&console[_0x21f0b9(0xca)]('\x0a'+formatProfileRequiredMessage(_0x2a2f6f=>bold(_0x2a2f6f)));}const _0x3e7484=_0x992fa0['scenarios']?_0x992fa0['scenarios']['map'](_0x2c1e65=>_0x2c1e65['trim']()):[],_0x3b47a5=_0x6bebe['banlN'](getGitRepoUrl),_0x281508=getGitBranch();console['log'](_0x21f0b9(0xd8));const _0x2645b9=await _0x6bebe[_0x21f0b9(0xf7)](createFeature,{'name':_0x7ef1b4,'description':_0x992fa0[_0x21f0b9(0x124)],'checklist':_0x3e7484,'gitRepoUrl':_0x3b47a5,'gitBranch':_0x281508});await _0x6bebe['kiMuF'](setActiveFeatureId,_0x2645b9['id']),await _0x6bebe[_0x21f0b9(0x15a)](tryStartCurrentSession,_0x2645b9['id']);const _0x2e37c5=process[_0x21f0b9(0x111)]['CLAUDE_SESSION_ID'];_0x2e37c5&&_0x6bebe['EsMmW'](registerSession,_0x2e37c5,_0x2645b9['id']),console['log'](_0x21f0b9(0x16f)+_0x2645b9['id']),displayFeature(_0x2645b9,_0x2645b9[_0x21f0b9(0x17f)]),console['log'](_0x21f0b9(0xb9));}export async function featureList(_0x3792e8){const _0x5cd902=_0x84055e,_0x31ec68={'XEaUz':function(_0x405929){return _0x405929();},'vnWbp':function(_0x2da83d){return _0x2da83d();},'WbPlM':function(_0x52563b,_0x2c331d){return _0x52563b(_0x2c331d);},'JXXDR':function(_0x40d429,_0x5a9293){return _0x40d429===_0x5a9293;},'klUmZ':function(_0x5cd417,_0x5ca09a){return _0x5cd417+_0x5ca09a;},'yoKXe':function(_0x5622df,_0x4ccfc){return _0x5622df!==_0x4ccfc;},'UqGxw':'\x20--current-branch'},_0x1a456b={'limit':_0x3792e8[_0x5cd902(0x184)]??0xa,'offset':_0x3792e8['offset']??0x0,'includeDeleted':_0x3792e8[_0x5cd902(0xf9)]};_0x3792e8[_0x5cd902(0x10a)]&&(_0x1a456b[_0x5cd902(0x119)]=_0x31ec68['XEaUz'](getGitRepoUrl),_0x1a456b[_0x5cd902(0xe2)]=_0x31ec68[_0x5cd902(0xf5)](getGitBranch));const _0x235ac9=await _0x31ec68['WbPlM'](listFeatures,_0x1a456b);if(_0x31ec68[_0x5cd902(0xec)](_0x235ac9[_0x5cd902(0x19c)]['length'],0x0)){console['log'](_0x5cd902(0xed));return;}const _0x488cdd=_0x235ac9[_0x5cd902(0x148)]>_0x235ac9[_0x5cd902(0x19c)][_0x5cd902(0xfa)]?'Showing\x20'+_0x235ac9['items'][_0x5cd902(0xfa)]+_0x5cd902(0x12f)+_0x235ac9['totalCount']:_0x235ac9['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x5cd902(0x127)]('\x0a'+_0x488cdd+':\x0a');for(const _0x89483b of _0x235ac9['items']){console['log'](''+_0x89483b['name']),console[_0x5cd902(0x127)](_0x5cd902(0x177)+_0x89483b['id']),_0x89483b[_0x5cd902(0xfd)]&&console[_0x5cd902(0x127)](_0x5cd902(0xc4)+getProgressDisplay(_0x89483b[_0x5cd902(0xfd)])),_0x89483b[_0x5cd902(0xe2)]&&console[_0x5cd902(0x127)](_0x5cd902(0xc3)+_0x89483b[_0x5cd902(0xe2)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x89483b['createdAt'])['toLocaleDateString']()),console['log']('');}const _0x320cbb=_0x1a456b[_0x5cd902(0x184)]??0xa,_0x1f8425=_0x31ec68[_0x5cd902(0x1a4)](_0x1a456b['offset']??0x0,_0x235ac9[_0x5cd902(0x19c)][_0x5cd902(0xfa)]);if(_0x1f8425<_0x235ac9['totalCount']){const _0x23fccd=_0x31ec68['yoKXe'](_0x320cbb,0xa)?_0x5cd902(0x18c)+_0x320cbb:'',_0x116f2a=_0x3792e8['currentBranch']?_0x31ec68[_0x5cd902(0x17e)]:'',_0x29bfc2=_0x3792e8[_0x5cd902(0xf9)]?'\x20--include-deleted':'';console['log'](_0x5cd902(0x11e)+_0x1f8425+_0x23fccd+_0x116f2a+_0x29bfc2);}}export async function featureShow(_0x365541){const _0x551fd5=_0x84055e,_0x3b2d37={'ZWCdL':_0x551fd5(0x13e),'fbjbv':function(_0x4f05ac,_0x22fd76,_0x3b4f77){return _0x4f05ac(_0x22fd76,_0x3b4f77);}},_0x5c0e79=_0x365541||await getActiveFeatureId();if(!_0x5c0e79)throw new Error(_0x3b2d37[_0x551fd5(0x167)]);const _0x50455b=await getFeature(_0x5c0e79);_0x3b2d37[_0x551fd5(0x146)](displayFeature,_0x50455b,_0x50455b['checklistItems']);}export async function featureResume(_0x34deab){const _0x33ca9e=_0x84055e,_0x220238={'vNdBB':function(_0x45d5fa,_0x58398a){return _0x45d5fa(_0x58398a);},'SNoea':function(_0x2b9019,_0x3c78fc){return _0x2b9019!==_0x3c78fc;},'KFbnA':function(_0x469417,_0x432ea0){return _0x469417(_0x432ea0);},'fTVdF':function(_0x424e0c,_0x2c25a3,_0x521d3b){return _0x424e0c(_0x2c25a3,_0x521d3b);},'vbIez':function(_0x4c6d6a){return _0x4c6d6a();},'wQPWC':function(_0x12f87c,_0x459eca){return _0x12f87c&&_0x459eca;},'pvzzx':'Not\x20in\x20a\x20git\x20repository.','qYgem':function(_0x1cff35,_0x8588fb){return _0x1cff35||_0x8588fb;},'ZVnji':_0x33ca9e(0x199),'hIMCy':function(_0x1e835e,_0x43cd81){return _0x1e835e===_0x43cd81;},'HhJGd':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','FmSYP':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','wQXTC':'selected','HMcWb':_0x33ca9e(0x14c),'qRDBo':function(_0x501e50,_0x2359ea){return _0x501e50(_0x2359ea);},'GUbKi':function(_0x1c7c19,_0x13355c,_0x43fa17){return _0x1c7c19(_0x13355c,_0x43fa17);},'WTlHn':function(_0x8bcbe4,_0x14eaea){return _0x8bcbe4(_0x14eaea);},'aCzln':function(_0x4dc564,_0x564346,_0x275f89){return _0x4dc564(_0x564346,_0x275f89);}};if(_0x34deab){const _0x30ad04=await _0x220238['vNdBB'](getFeature,_0x34deab);await _0x220238['vNdBB'](setActiveFeatureId,_0x30ad04['id']);const _0x28c90a=getGitBranch();_0x28c90a&&_0x220238[_0x33ca9e(0x181)](_0x28c90a,_0x30ad04[_0x33ca9e(0xe2)])&&(await updateFeature(_0x30ad04['id'],{'gitBranch':_0x28c90a}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x28c90a));console[_0x33ca9e(0x127)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x30ad04[_0x33ca9e(0xd5)]+'\x20('+_0x30ad04['id']+')'),await _0x220238['KFbnA'](tryStartCurrentSession,_0x30ad04['id']);const _0x4a1c53=process['env'][_0x33ca9e(0xd2)];_0x4a1c53&®isterSession(_0x4a1c53,_0x30ad04['id']);_0x220238[_0x33ca9e(0xce)](displayFeature,_0x30ad04,_0x30ad04[_0x33ca9e(0x17f)]),await printFeedbackNudge(_0x30ad04['id']);return;}const _0x4d812a=_0x220238[_0x33ca9e(0x156)](getGitRepoUrl),_0x4fc7f7=getGitBranch();if(_0x220238['wQPWC'](!_0x4d812a,!_0x4fc7f7))throw new Error(_0x220238['pvzzx']);console[_0x33ca9e(0x127)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x220238[_0x33ca9e(0xc9)](_0x4d812a,_0x220238[_0x33ca9e(0x1a5)])+_0x33ca9e(0x1a1)+(_0x4fc7f7||'any')+'...');const _0x2d8274=await listFeatures({'gitRepoUrl':_0x4d812a,'gitBranch':_0x4fc7f7}),_0x14a276=_0x2d8274[_0x33ca9e(0x19c)][_0x33ca9e(0xe0)](_0x15a716=>_0x15a716['status']?_0x15a716['status']!=='verified':!_0x15a716[_0x33ca9e(0x193)]);if(_0x220238['hIMCy'](_0x14a276['length'],0x0)){console['log'](_0x33ca9e(0x1ad)),console['log'](_0x220238[_0x33ca9e(0x189)]);return;}let _0x26e557;if(_0x220238[_0x33ca9e(0xb8)](_0x14a276['length'],0x1))_0x26e557=_0x14a276[0x0];else{const _0x44e53a=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x44e53a){console['log'](_0x220238['FmSYP']);for(const _0x572404 of _0x14a276){console[_0x33ca9e(0x127)]('\x20\x20'+_0x572404['name']),console[_0x33ca9e(0x127)]('\x20\x20\x20\x20\x20ID:\x20'+_0x572404['id']),_0x572404['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x572404[_0x33ca9e(0xfd)])),_0x572404['gitBranch']&&console[_0x33ca9e(0x127)](_0x33ca9e(0xe5)+_0x572404['gitBranch']);}throw new Error(_0x33ca9e(0x1ae));}const {selected:_0x530b53}=await _0x165e94[_0x33ca9e(0xbd)]([{'type':'list','name':_0x220238['wQXTC'],'message':_0x220238[_0x33ca9e(0xcd)],'choices':_0x14a276['map'](_0x31279a=>({'name':_0x31279a[_0x33ca9e(0xd5)]+'\x20('+_0x31279a['id']+')','value':_0x31279a['id']}))}]);_0x26e557=_0x14a276[_0x33ca9e(0x15e)](_0x3769d5=>_0x3769d5['id']===_0x530b53);}await _0x220238['qRDBo'](setActiveFeatureId,_0x26e557['id']);_0x4fc7f7&&_0x4fc7f7!==_0x26e557[_0x33ca9e(0xe2)]&&(await _0x220238[_0x33ca9e(0x108)](updateFeature,_0x26e557['id'],{'gitBranch':_0x4fc7f7}),console[_0x33ca9e(0x127)](_0x33ca9e(0x1a0)+_0x4fc7f7));console[_0x33ca9e(0x127)](_0x33ca9e(0x17d)+_0x26e557['name']+'\x20('+_0x26e557['id']+')'),await tryStartCurrentSession(_0x26e557['id']);const _0x1f1ff7=await _0x220238[_0x33ca9e(0x12c)](getFeature,_0x26e557['id']),_0x4e27e9=process['env'][_0x33ca9e(0xd2)];_0x4e27e9&&_0x220238[_0x33ca9e(0x108)](registerSession,_0x4e27e9,_0x1f1ff7['id']),_0x220238['aCzln'](displayFeature,_0x1f1ff7,_0x1f1ff7[_0x33ca9e(0x17f)]),await printFeedbackNudge(_0x1f1ff7['id']);}async function printFeedbackNudge(_0x2e2697){const _0xba5b45=_0x84055e,_0xfe1013={'CoASM':function(_0x2e07ef,_0x309265){return _0x2e07ef(_0x309265);},'PZwVg':function(_0x5bc39a,_0x5865c3){return _0x5bc39a>_0x5865c3;}};try{const {items:_0x114eae}=await _0xfe1013[_0xba5b45(0x14d)](getActionItems,_0x2e2697);let _0x29e96=0x0,_0xe122f9=0x0;for(const _0x563ba9 of _0x114eae){const _0x38ebd4=await getItemFeedback(_0x2e2697,_0x563ba9['id']);_0x38ebd4['unaddressedComments'][_0xba5b45(0xfa)]>0x0&&(_0x29e96+=_0x38ebd4['unaddressedComments']['length'],_0xe122f9++);}_0xfe1013[_0xba5b45(0x15f)](_0x29e96,0x0)&&(console[_0xba5b45(0x127)]('\x0a⚠️\x20\x20'+_0x29e96+_0xba5b45(0xdc)+_0xe122f9+_0xba5b45(0x10c)),console['log'](_0xba5b45(0x166)));}catch{}}async function tryStartCurrentSession(_0x16c49b){const _0x51d0b7=_0x84055e,_0x468f09={'RlbqE':function(_0x10ec94,_0x2d59e7){return _0x10ec94(_0x2d59e7);}};try{const {sessions:_0x1ff6cb}=await _0x468f09[_0x51d0b7(0x16c)](listFeatureSessions,_0x16c49b),_0x38f8a3=_0x1ff6cb['find'](_0x4829ce=>_0x4829ce['status']==='ready');_0x38f8a3&&(await startSession(_0x16c49b,_0x38f8a3['id']),console[_0x51d0b7(0x127)](_0x51d0b7(0x15b)+_0x38f8a3[_0x51d0b7(0x13c)]));}catch{}}export async function featureReport(_0xbef450,_0x3ef63c){const _0x3a4356=_0x84055e,_0x3bad42={'KgduT':_0x3a4356(0x159),'leXqF':_0x3a4356(0xd4),'VwgdC':function(_0x29247d,_0x56b67d,_0xf69c6d,_0x2b281c){return _0x29247d(_0x56b67d,_0xf69c6d,_0x2b281c);},'uhaQj':function(_0x1eb3ee){return _0x1eb3ee();},'OHnVv':function(_0x13c831,_0x230ec7){return _0x13c831(_0x230ec7);}},_0xcd0381=_0xbef450||await getActiveFeatureId();if(!_0xcd0381)throw new Error(_0x3bad42[_0x3a4356(0xd1)]);console[_0x3a4356(0x127)](_0x3bad42['leXqF']);const _0x634b3a=await getFeatureReportMarkdown(_0xcd0381,{'style':_0x3ef63c['style']}),_0x4d8981=_0x3ef63c[_0x3a4356(0xe1)]||_0x3bad42['VwgdC'](join,_0x3bad42[_0x3a4356(0x15d)](getRangerDir),'reports',_0xcd0381+'.md'),_0x514ad2=join(_0x4d8981,'..');!_0x3bad42['OHnVv'](existsSync,_0x514ad2)&&await mkdir(_0x514ad2,{'recursive':!![]}),await writeFile(_0x4d8981,_0x634b3a,_0x3a4356(0x19f)),console[_0x3a4356(0x127)](_0x3a4356(0x197)+_0x4d8981);}function getScenarioResult(_0xbd7169){const _0xea5296=_0x84055e,_0x14de3e={'MRFFC':'closed','VyNBd':'in_progress'};if(_0xbd7169[_0xea5296(0x137)]===_0x14de3e['MRFFC'])return _0xbd7169['terminalReason']??'closed';if(_0xbd7169['status']===_0xea5296(0x163))return _0x14de3e[_0xea5296(0x121)];return _0xbd7169['status'];}function getScenarioRationale(_0x450c18,_0x173dba){const _0x2f506a=_0x84055e,_0x46b7c6='2|4|0|1|5|3'[_0x2f506a(0x130)]('|');let _0x3f70f7=0x0;while(!![]){switch(_0x46b7c6[_0x3f70f7++]){case'0':if(_0x450c18['incompleteReason'])return _0x450c18['incompleteReason'];continue;case'1':if(_0x450c18['canceledReason'])return _0x450c18[_0x2f506a(0x19a)];continue;case'2':if(_0x173dba)return _0x173dba;continue;case'3':return null;case'4':if(_0x450c18['blockedReason'])return _0x450c18['blockedReason'];continue;case'5':if(_0x450c18['notes'])return _0x450c18['notes'];continue;}break;}}export async function featureReportPrDescription(_0x37c871,_0x3affca){const _0x15385e=_0x84055e,_0x569ecd={'YLFWq':_0x15385e(0x159),'PynIE':function(_0x51ed01,_0x1f7639){return _0x51ed01(_0x1f7639);},'kMCcg':function(_0xdfe6e5,_0x5710da,_0x17db77){return _0xdfe6e5(_0x5710da,_0x17db77);},'aEWaJ':function(_0x366483,_0x204448){return _0x366483===_0x204448;},'SbgmF':_0x15385e(0x10d),'tVzpa':function(_0x4a731f,_0x4f27fe){return _0x4a731f>_0x4f27fe;},'hrVMu':function(_0x5450ea,_0x3d8a0f){return _0x5450ea<_0x3d8a0f;},'iNAjJ':function(_0x4ea880,_0x7e32e8){return _0x4ea880+_0x7e32e8;}},_0x19a7db=_0x37c871||await getActiveFeatureId();if(!_0x19a7db)throw new Error(_0x569ecd[_0x15385e(0x168)]);const _0x47854d=await _0x569ecd[_0x15385e(0x103)](getFeature,_0x19a7db),_0x177a1f=_0x47854d['checklistItems']||[],_0xf8dca1=_0x569ecd['kMCcg'](getCurrentSessionItems,_0x47854d,_0x177a1f);_0x569ecd['aEWaJ'](_0xf8dca1[_0x15385e(0xfa)],0x0)&&(console['error'](_0x569ecd['SbgmF']),process['exit'](0x1));const _0x105a69=_0x3affca['excludeScenarios']??[],_0x3e06de=_0x105a69[_0x15385e(0xe0)](_0x576edd=>!Number['isInteger'](_0x576edd)||_0x576edd<0x1||_0x576edd>_0xf8dca1[_0x15385e(0xfa)]);if(_0x569ecd[_0x15385e(0xe9)](_0x3e06de[_0x15385e(0xfa)],0x0)){console[_0x15385e(0x165)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x3e06de['join'](',\x20')),console['log'](_0x15385e(0x134));for(let _0x15fa63=0x0;_0x569ecd[_0x15385e(0x11f)](_0x15fa63,_0xf8dca1[_0x15385e(0xfa)]);_0x15fa63++){console['log']('\x20\x20'+_0x569ecd['iNAjJ'](_0x15fa63,0x1)+'.\x20'+_0xf8dca1[_0x15fa63][_0x15385e(0x124)]);}process[_0x15385e(0x19b)](0x1);}const _0x473555=new Set(_0x105a69[_0x15385e(0x126)](_0x2b337f=>_0x2b337f-0x1)),_0xbecfa3=_0xf8dca1[_0x15385e(0xe0)]((_0x2c5cd4,_0x33b180)=>!_0x473555[_0x15385e(0xc6)](_0x33b180));_0xbecfa3[_0x15385e(0xfa)]===0x0&&(console['error'](_0x15385e(0xe7)),process['exit'](0x1));if(_0x3affca[_0x15385e(0xfe)])await outputJsonReport(_0x19a7db,_0x47854d,_0xbecfa3);else{const _0x2a2d3c=await _0x569ecd[_0x15385e(0x174)](getFeatureReportMarkdown,_0x19a7db,{'itemIds':_0xbecfa3['map'](_0x4cdfba=>_0x4cdfba['id'])});process[_0x15385e(0x18d)][_0x15385e(0xcf)](_0x2a2d3c[_0x15385e(0x114)]()+'\x0a');}}async function outputJsonReport(_0x5c4e19,_0x28183c,_0x5b404d){const _0x2149fa=_0x84055e,_0x181a2c={'xGmoM':function(_0x56e05a,_0x56f779){return _0x56e05a>_0x56f779;},'BqsGI':function(_0x2b4a86,_0x405000){return _0x2b4a86===_0x405000;},'rHwMY':function(_0x4b2efc,_0x35f52b){return _0x4b2efc(_0x35f52b);},'Uyvoi':function(_0x37d41c){return _0x37d41c();},'KOIIy':function(_0x187ee7,_0x2d0b4d){return _0x187ee7+_0x2d0b4d;}},_0x5251eb=_0x181a2c[_0x2149fa(0x136)](getApiBaseUrl),_0x72fc82=await getFeatureReport(_0x5c4e19),_0x3e79ec=new Map(_0x72fc82[_0x2149fa(0x17f)]['map'](_0x283539=>[_0x283539['id'],_0x283539])),_0x2dd792=await Promise[_0x2149fa(0x152)](_0x5b404d['map'](async _0x24416c=>{const _0x4cb51d=_0x2149fa,_0x1755ba=_0x3e79ec['get'](_0x24416c['id']),_0x5ca832=_0x1755ba?.[_0x4cb51d(0x105)]??null;let _0x1c1f18=[];if(_0x24416c['browserSessionId'])try{const {steps:_0x8360ef}=await getBrowserSessionSteps(_0x24416c[_0x4cb51d(0xfb)]);_0x181a2c['xGmoM'](_0x8360ef['length'],0x0)&&(_0x1c1f18=_0x8360ef[_0x4cb51d(0x126)](_0x254231=>{const _0x2b9333=_0x4cb51d,_0x10cdbd=_0x254231['assets']['find'](_0x1ddf93=>_0x1ddf93['assetType']==='screenshot'&&_0x1ddf93[_0x2b9333(0x176)]==='after')??_0x254231[_0x2b9333(0x16b)]['find'](_0x3ce377=>_0x3ce377['assetType']==='screenshot');let _0x57eb8d=null,_0x3888ef=null;if(_0x10cdbd){const _0x45b607=_0x10cdbd['storage'][_0x2b9333(0x101)]['split']('/')[_0x2b9333(0x16e)]();_0x57eb8d=_0x5251eb+_0x2b9333(0x160)+_0x24416c['browserSessionId']+'/artifacts/'+_0x45b607,_0x45b607&&(_0x3888ef=_0x45b607[_0x2b9333(0x15c)](/\.\w+$/,'')[_0x2b9333(0x15c)](/^(key_)?\d+_/,'')[_0x2b9333(0x15c)](/[-_]/g,'\x20'));}return{'description':_0x3888ef||_0x254231['description']||_0x254231[_0x2b9333(0x10e)]||_0x2b9333(0x12a)+_0x254231[_0x2b9333(0xbb)],'screenshot':_0x57eb8d,'is_key_step':_0x254231[_0x2b9333(0x190)]};}));}catch{}return _0x181a2c[_0x4cb51d(0x150)](_0x1c1f18['length'],0x0)&&_0x5ca832?.[_0x4cb51d(0x185)]&&(_0x1c1f18=_0x5ca832['screenshotUrls'][_0x4cb51d(0x126)]((_0x6710b1,_0x5e1abd)=>({'description':_0x4cb51d(0xe3)+(_0x5e1abd+0x1),'screenshot':_0x6710b1,'is_key_step':![]}))),{'description':_0x24416c[_0x4cb51d(0x124)],'result':_0x181a2c['rHwMY'](getScenarioResult,_0x24416c),'rationale':getScenarioRationale(_0x24416c,_0x5ca832?.[_0x4cb51d(0x155)]),'steps':_0x1c1f18};})),_0x2cb22d={'url':_0x28183c[_0x2149fa(0xc7)],'scenarios':_0x2dd792};process[_0x2149fa(0x18d)][_0x2149fa(0xcf)](_0x181a2c['KOIIy'](JSON['stringify'](_0x2cb22d,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x335ca9){const _0x342e8c=_0x84055e,_0x5701e4={'pOJFy':function(_0x164be3){return _0x164be3();},'qIOhn':_0x342e8c(0x110),'kqfUu':function(_0x5e5595,_0x301400){return _0x5e5595===_0x301400;},'lTSsq':_0x342e8c(0x144),'vCNVu':function(_0x167dea,_0x22c118){return _0x167dea!==_0x22c118;},'YAQcW':'\x0aConcluding\x20session...'},_0x50763c=_0x335ca9||await _0x5701e4['pOJFy'](getActiveFeatureId);if(!_0x50763c)throw new Error(_0x342e8c(0x13e));const _0x526ebb=await getFeature(_0x50763c);if(!_0x526ebb['currentSessionId'])throw new Error(_0x342e8c(0xc2));const {sessions:_0x5df104}=await listFeatureSessions(_0x50763c),_0x11e5e3=_0x5df104['find'](_0x40243e=>_0x40243e['id']===_0x526ebb['currentSessionId']);if(!_0x11e5e3)throw new Error(_0x5701e4['qIOhn']);if(_0x5701e4[_0x342e8c(0x13b)](_0x11e5e3['status'],_0x342e8c(0x18e))){console['log'](_0x5701e4[_0x342e8c(0xdd)]);return;}if(_0x5701e4['vCNVu'](_0x11e5e3['status'],_0x342e8c(0x1ab)))throw new Error(_0x342e8c(0x157)+_0x11e5e3[_0x342e8c(0x137)]);console[_0x342e8c(0x127)](_0x5701e4['YAQcW']),await concludeSession(_0x50763c,_0x526ebb[_0x342e8c(0x19e)]),console[_0x342e8c(0x127)](_0x342e8c(0xc8)+_0x11e5e3['iteration']+'\x20concluded.'),console[_0x342e8c(0x127)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}function _0x5f08(){const _0x1d20a7=['includeDeleted','length','browserSessionId','toFixed','stats','json','round','repeat','location','JsKQf','PynIE','zJzUI','linkedSession','78kwlMTz','YHPoD','GUbKi','vtxCN','currentBranch','submittedAt','\x20scenario(s).','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','stepName','banlN','Current\x20session\x20not\x20found.','env','Please\x20finish\x20your\x20review\x20first:','\x20\x20\x20Repository:\x20','trimEnd','domRef','sqpJp','XyAjT','canonicalFlow','gitRepoUrl','12HfHAiO','incomplete','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','Zxizs','Next\x20page:\x20ranger\x20list\x20--offset\x20','hrVMu','\x20\x20\x20Completed:\x20','VyNBd','VVTlT','sajGR','description','10345804VkKWAR','map','log','MlLCV','ucynq','Step\x20','sessionId','WTlHn','selector','\x20[has\x20reviewer\x20feedback]','\x20of\x20','split','aMFKI','OrKQy','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0aAvailable\x20scenarios:','pipe','Uyvoi','status','\x20unaddressed\x20comment(s)','4WFNSuo','type','kqfUu','iteration','66rhbSyR','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','push','BGJAc','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x20\x20\x20Description:\x20','\x20\x20\x20Status:\x20','\x0a✅\x20Session\x20is\x20already\x20completed.','1160535fwwyCd','fbjbv','\x20verified','totalCount','\x20in\x20progress','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','UGkyU','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','CoASM','createdAt','.\x20Feature\x20review\x20has\x20','BqsGI','\x20(v','all','.png','mhFkj','agentResponse','vbIez','Cannot\x20conclude\x20session\x20with\x20status:\x20','ZNMiN','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','OqKBb','\x20\x20\x20▶️\x20Started\x20session\x20','replace','uhaQj','find','PZwVg','/api/v1/mcp/browser-sessions/',':\x20\x22','5067FUdLxJ','verification_in_progress','active-feature.txt','error','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','ZWCdL','YLFWq','IMjqH','scenario','assets','RlbqE','\x0a✅\x20Scenario\x20added','pop','\x0a✅\x20Feature\x20review\x20created:\x20','github.com/','Scenario\x20','spatial','eULaj','kMCcg','8287160WNSYbD','timing','\x20\x20\x20ID:\x20','29770lFnZbi','\x20—\x20','Cwdib','514985xsjtzr','\x20\x20\x20','\x0a✅\x20Resumed\x20feature\x20review:\x20','UqGxw','checklistItems','uLWyR','SNoea','RNdBB','IvzJk','limit','screenshotUrls','YGGZP','5575966PBoxiL','\x20\x20\x20\x20\x20\x20Incomplete:\x20','HhJGd','trim','\x1b[1m','\x20--limit\x20','stdout','completed','CttOo','isKeyStep','8vZHkrR','latestReview','completedAt','tEwtT','blockedItems','\x1b[0m','\x0a✅\x20Report\x20generated:\x20','feedback-images','any','canceledReason','exit','items','DNfJM','currentSessionId','utf-8','\x20\x20\x20Updated\x20branch\x20to:\x20','\x20/\x20','rKjAC','pendingItems','klUmZ','ZVnji','content','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','MMMkh','terminalReason','Mpndg','in_progress','short','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','verifiedItems','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','hIMCy','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','version','position','fqQZn','prompt','verified','\x20\x20\x20Created:\x20','ILzpX','HMcSa','No\x20active\x20session\x20for\x20this\x20feature\x20review.','\x20\x20\x20Branch:\x20','\x20\x20\x20Progress:\x20','EXZHj','has','dashboardUrl','\x0a✅\x20Session\x20','qYgem','warn','lNTNZ','\x20\x20\x20\x20\x20\x20Approved','HMcWb','fTVdF','write','nVZaR','KgduT','CLAUDE_SESSION_ID','DTuml','\x0aGenerating\x20report...','name','assetUrl','Unknown','\x0aCreating\x20feature\x20review...','slice','7WQdZUt','cLAMU','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','lTSsq','incompleteReason','cxxSs','filter','output','gitBranch','Screenshot\x20','unaddressedComments','\x20\x20\x20\x20\x20Branch:\x20','fscRU','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','closed','tVzpa','join','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','JXXDR','\x0aNo\x20feature\x20reviews\x20found.','No\x20scenarios\x20found.','toLocaleString','authorName','uNMbV','\x20\x20💬\x20','toLocaleDateString','492472UoJEQA','vnWbp','Kcsvf','ZGpdp','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'];_0x5f08=function(){return _0x1d20a7;};return _0x5f08();}export async function featureSessions(_0x3f32b6){const _0x46d7a3=_0x84055e,_0x494baf={'UQInV':function(_0x497f44){return _0x497f44();},'aMFKI':'No\x20sessions\x20found.','Kcsvf':function(_0x3b93da,_0x135747){return _0x3b93da===_0x135747;},'YGGZP':'in_progress'},_0x2d2e0b=_0x3f32b6||await _0x494baf['UQInV'](getActiveFeatureId);if(!_0x2d2e0b)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x3d6ba5=await getFeature(_0x2d2e0b);console[_0x46d7a3(0x127)](_0x46d7a3(0xf8)+_0x3d6ba5['name']+'\x0a');const {sessions:_0x14f31d}=await listFeatureSessions(_0x2d2e0b);if(_0x14f31d[_0x46d7a3(0xfa)]===0x0){console['log'](_0x494baf[_0x46d7a3(0x131)]);return;}for(const _0x18ca0a of _0x14f31d){const _0x51832d=_0x494baf[_0x46d7a3(0xf6)](_0x18ca0a[_0x46d7a3(0x137)],'completed')?'✅':_0x494baf[_0x46d7a3(0xf6)](_0x18ca0a[_0x46d7a3(0x137)],_0x494baf[_0x46d7a3(0x186)])?'🔄':'▶️';console['log'](_0x51832d+'\x20Session\x20'+_0x18ca0a['iteration']+'\x20('+_0x18ca0a['id']+')'),console[_0x46d7a3(0x127)](_0x46d7a3(0x143)+_0x18ca0a[_0x46d7a3(0x137)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x18ca0a[_0x46d7a3(0x14e)])['toLocaleString']()),_0x18ca0a[_0x46d7a3(0x193)]&&console[_0x46d7a3(0x127)]('\x20\x20\x20Completed:\x20'+new Date(_0x18ca0a['completedAt'])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x509f08,_0x158e81){const _0x599c35=_0x84055e,_0x154236={'aWacg':function(_0x1cde60){return _0x1cde60();},'LzamQ':_0x599c35(0x13e),'JsKQf':function(_0x5d9c2f,_0x3e72ba){return _0x5d9c2f(_0x3e72ba);},'IJroz':function(_0xa05712,_0x55bbaf,_0x5933b6){return _0xa05712(_0x55bbaf,_0x5933b6);}},_0x54416b=_0x158e81||await _0x154236['aWacg'](getActiveFeatureId);if(!_0x54416b)throw new Error(_0x154236['LzamQ']);const _0x5a90b4=await _0x154236[_0x599c35(0x102)](getFeature,_0x54416b);if(_0x5a90b4['latestReview']&&!_0x5a90b4[_0x599c35(0x192)][_0x599c35(0x10b)])throw new Error(_0x599c35(0x1a7)+_0x5a90b4['dashboardUrl']);await createChecklistItem(_0x54416b,_0x509f08);const _0x93fb53=await getFeature(_0x54416b);console[_0x599c35(0x127)](_0x599c35(0x16d)),_0x154236['IJroz'](displayFeature,_0x93fb53,_0x93fb53['checklistItems']);}export async function featureEditScenario(_0x343d44,_0x5799c6){const _0x337f0d=_0x84055e,_0x2be5d5={'vtxCN':function(_0x29c286){return _0x29c286();},'cXViF':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','sqpJp':function(_0x128092,_0x41fed9){return _0x128092(_0x41fed9);},'IvzJk':_0x337f0d(0x14a),'lNTNZ':function(_0x32c440,_0x1dabd1){return _0x32c440===_0x1dabd1;},'vbfNT':_0x337f0d(0x134),'PKzCV':function(_0x44ad7a,_0x22b4ad){return _0x44ad7a<_0x22b4ad;},'nVZaR':function(_0x127abf,_0x2f0c46){return _0x127abf+_0x2f0c46;},'PjyAV':function(_0x45f4b2,_0x591a93){return _0x45f4b2-_0x591a93;},'TkEhk':function(_0x5a8ead,_0xe8a309){return _0x5a8ead<_0xe8a309;},'ILzpX':function(_0x4f71fd,_0x23e50b,_0x19a05f,_0x953309){return _0x4f71fd(_0x23e50b,_0x19a05f,_0x953309);},'YHPoD':function(_0x588887,_0x4e1f03){return _0x588887(_0x4e1f03);}},_0x51eaf9=_0x5799c6['id']||await _0x2be5d5[_0x337f0d(0x109)](getActiveFeatureId);!_0x51eaf9&&(console[_0x337f0d(0x165)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x337f0d(0x165)](_0x2be5d5['cXViF']),process[_0x337f0d(0x19b)](0x1));const _0x3931f7=await _0x2be5d5[_0x337f0d(0x116)](getFeature,_0x51eaf9);_0x3931f7[_0x337f0d(0x192)]&&!_0x3931f7['latestReview']['submittedAt']&&(console[_0x337f0d(0x165)](_0x2be5d5[_0x337f0d(0x183)]),console['error'](_0x337f0d(0x112)),console['error']('\x20\x20'+_0x3931f7[_0x337f0d(0xc7)]),process['exit'](0x1));const _0x3fdf6c=_0x3931f7['checklistItems']||[];_0x3fdf6c[_0x337f0d(0xfa)]===0x0&&(console[_0x337f0d(0x165)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x337f0d(0x19b)](0x1));if(_0x2be5d5[_0x337f0d(0xcb)](_0x5799c6[_0x337f0d(0x16a)],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x2be5d5['vbfNT']);for(let _0x5b7b11=0x0;_0x2be5d5['PKzCV'](_0x5b7b11,_0x3fdf6c[_0x337f0d(0xfa)]);_0x5b7b11++){console[_0x337f0d(0x127)]('\x20\x20'+_0x2be5d5[_0x337f0d(0xd0)](_0x5b7b11,0x1)+'.\x20'+_0x3fdf6c[_0x5b7b11]['description']);}process['exit'](0x1);}const _0x3a616b=_0x2be5d5['PjyAV'](_0x5799c6['scenario'],0x1);if(_0x3a616b<0x0||_0x3a616b>=_0x3fdf6c['length']){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x5799c6['scenario']+_0x337f0d(0x14f)+_0x3fdf6c['length']+'\x20scenarios.'),console['log'](_0x337f0d(0x134));for(let _0x7b882e=0x0;_0x2be5d5['TkEhk'](_0x7b882e,_0x3fdf6c[_0x337f0d(0xfa)]);_0x7b882e++){console['log']('\x20\x20'+(_0x7b882e+0x1)+'.\x20'+_0x3fdf6c[_0x7b882e]['description']);}process[_0x337f0d(0x19b)](0x1);}const _0x594998=_0x3fdf6c[_0x3a616b];await _0x2be5d5[_0x337f0d(0xc0)](updateChecklistItem,_0x51eaf9,_0x594998['id'],{'description':_0x343d44});const _0x382ba1=await _0x2be5d5[_0x337f0d(0x107)](getFeature,_0x51eaf9);console['log']('\x0a✅\x20Scenario\x20updated'),displayFeature(_0x382ba1,_0x382ba1['checklistItems']);}async function downloadFeedbackImage(_0x178c09,_0x4b48a8){const _0x592ea3=_0x84055e,_0x5f1d34={'Mpndg':_0x592ea3(0x198),'EXZHj':function(_0x1e7081,_0xdfa821,_0x1b326b){return _0x1e7081(_0xdfa821,_0x1b326b);}};try{const _0x18ad5d=join(getRangerDir(),_0x5f1d34[_0x592ea3(0x1aa)]);await _0x5f1d34['EXZHj'](mkdir,_0x18ad5d,{'recursive':!![]});const _0x112125=_0x5f1d34[_0x592ea3(0xc5)](join,_0x18ad5d,'comment_'+_0x4b48a8+_0x592ea3(0x153)),_0x2c19ca=await fetch(_0x178c09);if(!_0x2c19ca['ok'])return null;const _0x1d5341=Buffer['from'](await _0x2c19ca['arrayBuffer']());return await writeFile(_0x112125,_0x1d5341),_0x112125;}catch{return null;}}function _0x3407(_0x20ecbb,_0x453bec){_0x20ecbb=_0x20ecbb-0xb7;const _0x5f08d4=_0x5f08();let _0x34070d=_0x5f08d4[_0x20ecbb];return _0x34070d;}export async function featureGetReview(_0x27ea03){const _0x279b3b=_0x84055e,_0x5aa918={'MMMkh':_0x279b3b(0x13e),'uNMbV':function(_0x59aa8f,_0xf26b50){return _0x59aa8f(_0xf26b50);},'pFXHD':function(_0x4728bc,_0x4a0186){return _0x4728bc===_0x4a0186;},'cLAMU':_0x279b3b(0xee),'soGLw':function(_0x240f74,_0x2f9ee2){return _0x240f74+_0x2f9ee2;},'mhFkj':'en-US','aEncn':_0x279b3b(0x1ac),'wIgpQ':'numeric','DTuml':_0x279b3b(0xd7),'cxxSs':function(_0x3551ae,_0x33af2b,_0x5837a8){return _0x3551ae(_0x33af2b,_0x5837a8);},'eULaj':'\x20>\x20','fcczG':'element','rKjAC':'point'},_0x20e04d=_0x27ea03||await getActiveFeatureId();if(!_0x20e04d)throw new Error(_0x5aa918[_0x279b3b(0x1a8)]);const _0x5de50a=await getFeature(_0x20e04d),{items:_0x4aebdc}=await _0x5aa918[_0x279b3b(0xf1)](getActionItems,_0x20e04d);console[_0x279b3b(0x127)]('\x0a📋\x20Feedback\x20for:\x20'+_0x5de50a[_0x279b3b(0xd5)]+'\x20('+_0x5de50a['id']+')\x0a');if(_0x5aa918['pFXHD'](_0x4aebdc[_0x279b3b(0xfa)],0x0)){console[_0x279b3b(0x127)](_0x5aa918[_0x279b3b(0xdb)]);return;}for(let _0x1e7ad6=0x0;_0x1e7ad6<_0x4aebdc[_0x279b3b(0xfa)];_0x1e7ad6++){const _0x187fe5=_0x4aebdc[_0x1e7ad6],_0xed4ecb=_0x187fe5[_0x279b3b(0xba)]>0x1?_0x279b3b(0x151)+_0x187fe5[_0x279b3b(0xba)]+')':'',_0x2aac9e=await getItemFeedback(_0x20e04d,_0x187fe5['id']);if(_0x2aac9e[_0x279b3b(0xe4)]['length']>0x0){console['log'](_0x279b3b(0x171)+_0x5aa918['soGLw'](_0x1e7ad6,0x1)+':\x20\x22'+_0x187fe5[_0x279b3b(0x124)]+'\x22'+_0xed4ecb+_0x279b3b(0x179)+_0x2aac9e['unaddressedComments'][_0x279b3b(0xfa)]+_0x279b3b(0x138));for(const _0x25a6b8 of _0x2aac9e[_0x279b3b(0xe4)]){const _0xf70ea9=new Date(_0x25a6b8['createdAt'])[_0x279b3b(0xf3)](_0x5aa918[_0x279b3b(0x154)],{'month':_0x5aa918['aEncn'],'day':_0x5aa918['wIgpQ']}),_0x20482c=_0x25a6b8[_0x279b3b(0xf0)]||_0x25a6b8['authorEmail']||_0x5aa918[_0x279b3b(0xd3)];console[_0x279b3b(0x127)](_0x279b3b(0xf2)+_0x20482c+'\x20('+_0xf70ea9+'):\x20\x22'+_0x25a6b8[_0x279b3b(0x1a6)]+'\x22');if(_0x25a6b8[_0x279b3b(0xd6)]){const _0x459e75=await _0x5aa918[_0x279b3b(0xdf)](downloadFeedbackImage,_0x25a6b8['assetUrl'],_0x25a6b8['id']);_0x459e75&&console['log'](_0x279b3b(0x141)+_0x459e75);}if(_0x25a6b8[_0x279b3b(0x115)]){const _0x5df2c8=_0x25a6b8['domRef']['selector']['split'](_0x5aa918[_0x279b3b(0x173)])['pop']()?.[_0x279b3b(0x130)](':')[0x0]||_0x5aa918['fcczG'],_0xe61086=_0x25a6b8[_0x279b3b(0x115)]['textContent']?'\x20\x22'+_0x25a6b8[_0x279b3b(0x115)]['textContent'][_0x279b3b(0xd9)](0x0,0x3c)+'\x22':'';console['log'](_0x279b3b(0xeb)+_0x5df2c8+'>'+_0xe61086),console[_0x279b3b(0x127)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x25a6b8['domRef'][_0x279b3b(0x12d)]);}else{if(_0x25a6b8[_0x279b3b(0x172)]){const _0x2392df=_0x25a6b8['spatial']['coordinates'];_0x25a6b8[_0x279b3b(0x172)]['type']===_0x5aa918[_0x279b3b(0x1a2)]&&_0x2392df['length']>=0x2?console['log'](_0x279b3b(0x11c)+_0x2392df[0x0][_0x279b3b(0xfc)](0x2)+',\x20'+_0x2392df[0x1]['toFixed'](0x2)+')'):console[_0x279b3b(0x127)](_0x279b3b(0x133)+_0x25a6b8['spatial'][_0x279b3b(0x13a)]+'\x20at\x20['+_0x2392df[_0x279b3b(0x126)](_0x234c3b=>_0x234c3b['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x2aac9e['canonicalFlow']){console[_0x279b3b(0x127)]('\x20\x20Expected\x20flow:');for(const _0x403039 of _0x2aac9e[_0x279b3b(0x118)][_0x279b3b(0x130)]('\x0a')){console[_0x279b3b(0x127)]('\x20\x20\x20\x20'+_0x403039);}}}else console[_0x279b3b(0x127)](_0x279b3b(0x171)+(_0x1e7ad6+0x1)+_0x279b3b(0x161)+_0x187fe5[_0x279b3b(0x124)]+'\x22'+_0xed4ecb+'\x20—\x20no\x20comments'),console[_0x279b3b(0x127)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x279b3b(0x127)]('');}}export async function featureDelete(_0x50f730){const _0x5f47d0=_0x84055e,_0x4778ae={'fqQZn':_0x5f47d0(0x13e),'XyAjT':function(_0x20ac5a,_0xe210b2){return _0x20ac5a+_0xe210b2;}},_0x2b9e68=_0x50f730||await getActiveFeatureId();if(!_0x2b9e68)throw new Error(_0x4778ae[_0x5f47d0(0xbc)]);const _0x5e170b=await getFeature(_0x2b9e68);await softDeleteFeature(_0x2b9e68),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5e170b[_0x5f47d0(0xd5)]+'\x20('+_0x2b9e68+')'),console['log'](_0x4778ae[_0x5f47d0(0x117)](_0x5f47d0(0xb7),_0x2b9e68));}export async function featureRestore(_0x2ae10a){const _0x1a4f8a=_0x84055e,_0x206136={'Zxizs':function(_0x11c69a,_0x3de889){return _0x11c69a(_0x3de889);},'Cwdib':function(_0x1e0db5,_0xb037e6,_0x56a9c7){return _0x1e0db5(_0xb037e6,_0x56a9c7);}};await _0x206136[_0x1a4f8a(0x11d)](restoreFeature,_0x2ae10a);const _0x17dcdc=await _0x206136[_0x1a4f8a(0x11d)](getFeature,_0x2ae10a);console[_0x1a4f8a(0x127)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x17dcdc[_0x1a4f8a(0xd5)]+'\x20('+_0x2ae10a+')'),_0x206136[_0x1a4f8a(0x17a)](displayFeature,_0x17dcdc,_0x17dcdc[_0x1a4f8a(0x17f)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x43d5f5,_0x14924e){const _0x22e7ba=_0x3f4a,_0x35bfd6=_0x43d5f5();while(!![]){try{const _0x2c360a=parseInt(_0x22e7ba(0xcf))/0x1*(-parseInt(_0x22e7ba(0xd5))/0x2)+parseInt(_0x22e7ba(0xd3))/0x3*(-parseInt(_0x22e7ba(0xd8))/0x4)+parseInt(_0x22e7ba(0xd7))/0x5*(parseInt(_0x22e7ba(0xcb))/0x6)+parseInt(_0x22e7ba(0xd6))/0x7+parseInt(_0x22e7ba(0xd2))/0x8*(parseInt(_0x22e7ba(0xd1))/0x9)+-parseInt(_0x22e7ba(0xcc))/0xa+-parseInt(_0x22e7ba(0xc7))/0xb;if(_0x2c360a===_0x14924e)break;else _0x35bfd6['push'](_0x35bfd6['shift']());}catch(_0x4f44d9){_0x35bfd6['push'](_0x35bfd6['shift']());}}}(_0x8112,0xacecd));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x8112(){const _0x3e3444=['800aMMIQF','417732ReRObT','1606022gGkkyJ','Unknown\x20hook:\x20','nNoyf','exit','20448AKjWWn','1840000oeNmTb','hNcki','aBAIk','134471jyvxkd','join','7405389toWVRY','8UTOSLn','3yUyVvP','once','8UjHVsB','2187633jiREBS'];_0x8112=function(){return _0x3e3444;};return _0x8112();}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 _0x3f7183=_0x3f4a,_0x56050c={'nNoyf':'SIGINT','aBAIk':'SIGTERM','MDWSR':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x5d95de=()=>{process['exit'](0x0);};process['once'](_0x56050c[_0x3f7183(0xc9)],_0x5d95de),process[_0x3f7183(0xd4)](_0x56050c[_0x3f7183(0xce)],_0x5d95de),process['once'](_0x56050c['MDWSR'],_0x5d95de),cancellationHandlersInstalled=!![];}function _0x3f4a(_0x486aa9,_0x91bc34){_0x486aa9=_0x486aa9-0xc7;const _0x811276=_0x8112();let _0x3f4a84=_0x811276[_0x486aa9];return _0x3f4a84;}export async function hook(_0x1a7f93,_0x18a8ad){const _0x28705a=_0x3f4a,_0x4c0c21={'hNcki':function(_0x1db3d0,_0x30fb6d){return _0x1db3d0(_0x30fb6d);}};installCancellationHandlers();const _0x230640=HOOKS[_0x1a7f93];if(!_0x230640){const _0x27bd88=Object['keys'](HOOKS)[_0x28705a(0xd0)](',\x20');console['error'](_0x28705a(0xc8)+_0x1a7f93),console['error']('Valid\x20hooks:\x20'+_0x27bd88),process[_0x28705a(0xca)](0x1);}await _0x4c0c21[_0x28705a(0xcd)](_0x230640,_0x18a8ad);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x342e34,_0x29d2eb){const _0x2d5ac2=_0x4faa,_0x227987=_0x342e34();while(!![]){try{const _0x2d5922=parseInt(_0x2d5ac2(0x143))/0x1*(parseInt(_0x2d5ac2(0x13c))/0x2)+parseInt(_0x2d5ac2(0x145))/0x3*(parseInt(_0x2d5ac2(0x13b))/0x4)+-parseInt(_0x2d5ac2(0x138))/0x5*(parseInt(_0x2d5ac2(0x142))/0x6)+-parseInt(_0x2d5ac2(0x144))/0x7*(-parseInt(_0x2d5ac2(0x139))/0x8)+-parseInt(_0x2d5ac2(0x140))/0x9*(-parseInt(_0x2d5ac2(0x13d))/0xa)+parseInt(_0x2d5ac2(0x141))/0xb+-parseInt(_0x2d5ac2(0x13e))/0xc;if(_0x2d5922===_0x29d2eb)break;else _0x227987['push'](_0x227987['shift']());}catch(_0x24c2ae){_0x227987['push'](_0x227987['shift']());}}}(_0x4737,0xe9573));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT='\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.';export async function autoPrompt(){const _0x30dc74=_0x4faa,_0x357d94={'zbZUy':function(_0x50f367,_0x11cfaf){return _0x50f367(_0x11cfaf);}};if(resolveHookMode()==='off')return;const _0x38bdcf=await readHookInput(),_0x31edaf=_0x38bdcf?.['session_id'];if(!_0x31edaf)return;if(isSessionEnabled(_0x31edaf)||_0x357d94[_0x30dc74(0x13a)](hasSessionBeenPrompted,_0x31edaf))return;markSessionPrompted(_0x31edaf),console[_0x30dc74(0x13f)](AUTO_PROMPT_TEXT);}function _0x4faa(_0x30752e,_0x53b6d6){_0x30752e=_0x30752e-0x138;const _0x47376b=_0x4737();let _0x4faa00=_0x47376b[_0x30752e];return _0x4faa00;}function _0x4737(){const _0x3c81bd=['3zsOhIV','1935rIzZkt','2354344fAXNoO','zbZUy','5320388ZBzYPi','2zAkLgF','110IKqSGo','53826588YYLQGc','log','880731jlVdaz','20264596dTdQuq','15030EPsJOZ','1279086hTbRRW','21uqfxtS'];_0x4737=function(){return _0x3c81bd;};return _0x4737();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x24be32,_0x42bf9a){const _0x4b4766=_0x9074,_0x430f39=_0x24be32();while(!![]){try{const _0x1eeb7f=-parseInt(_0x4b4766(0xa8))/0x1*(parseInt(_0x4b4766(0xa9))/0x2)+-parseInt(_0x4b4766(0xa0))/0x3*(-parseInt(_0x4b4766(0x9d))/0x4)+-parseInt(_0x4b4766(0xa6))/0x5*(-parseInt(_0x4b4766(0x9f))/0x6)+-parseInt(_0x4b4766(0x99))/0x7*(parseInt(_0x4b4766(0x9b))/0x8)+parseInt(_0x4b4766(0xa3))/0x9+-parseInt(_0x4b4766(0xa7))/0xa*(-parseInt(_0x4b4766(0x9e))/0xb)+parseInt(_0x4b4766(0xa1))/0xc*(-parseInt(_0x4b4766(0x98))/0xd);if(_0x1eeb7f===_0x42bf9a)break;else _0x430f39['push'](_0x430f39['shift']());}catch(_0x1edd6b){_0x430f39['push'](_0x430f39['shift']());}}}(_0x4970,0x70add));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x284763){const _0x13ab07=_0x9074,_0x3a3478={'tZrsD':function(_0x48fb2a,_0x2c9ae7){return _0x48fb2a(_0x2c9ae7);},'QFZgJ':_0x13ab07(0x9a)},_0x15d900=_0x284763||process[_0x13ab07(0xa5)]['CLAUDE_SESSION_ID']||'';_0x15d900&&_0x3a3478[_0x13ab07(0xa4)](disableSession,_0x15d900);const _0x187feb=getCurrentBranch();_0x187feb&&_0x187feb!=='main'&&_0x187feb!=='master'&&disableBranch(_0x187feb),_0x3a3478[_0x13ab07(0xa4)](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x187feb&&_0x187feb!==_0x13ab07(0x9c)&&_0x187feb!==_0x3a3478[_0x13ab07(0xa2)]?'\x20and\x20branch\x20\x27'+_0x187feb+'\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`.');}function _0x9074(_0x1fafbb,_0x12d1af){_0x1fafbb=_0x1fafbb-0x98;const _0x4970d7=_0x4970();let _0x9074cf=_0x4970d7[_0x1fafbb];return _0x9074cf;}function _0x4970(){const _0x55c9b4=['1111592ENyFKw','9559EVpoRV','6BNxwXO','6jLVcFb','192lsAoJu','QFZgJ','1654839lOqWNT','tZrsD','env','4158735LnZcwn','9420RZNJNG','4GxvzAd','109066fRfIUN','1215097EFKIzT','161APXfxc','master','74728CJRlwx','main'];_0x4970=function(){return _0x55c9b4;};return _0x4970();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x109b41,_0xbfc8fc){const _0x116816=_0x5674,_0x137c34=_0x109b41();while(!![]){try{const _0x38aa56=-parseInt(_0x116816(0x1c9))/0x1+parseInt(_0x116816(0x1d0))/0x2*(-parseInt(_0x116816(0x1da))/0x3)+-parseInt(_0x116816(0x1cf))/0x4*(-parseInt(_0x116816(0x1d3))/0x5)+parseInt(_0x116816(0x1c8))/0x6+-parseInt(_0x116816(0x1d4))/0x7+parseInt(_0x116816(0x1ce))/0x8+-parseInt(_0x116816(0x1cd))/0x9*(-parseInt(_0x116816(0x1d6))/0xa);if(_0x38aa56===_0xbfc8fc)break;else _0x137c34['push'](_0x137c34['shift']());}catch(_0x2a4030){_0x137c34['push'](_0x137c34['shift']());}}}(_0x2a80,0x3197f));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x5674(_0x4aec53,_0x2a4466){_0x4aec53=_0x4aec53-0x1c6;const _0x2a8007=_0x2a80();let _0x56746f=_0x2a8007[_0x4aec53];return _0x56746f;}function _0x2a80(){const _0x35195c=['1365973GvGBXG','\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`.','70hhpwaW','#\x20RANGER\x20ENABLED','env','\x0a\x0a**Branch\x20\x27','593319LbOvlz','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','CLAUDE_SESSION_ID','1339854uIDRMK','133260gdUApC','MJLwk','main','bZXwp','499509uFLAjK','1490296btDtJm','4RKVTNj','4snpiLB','ranger\x20setup','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','644885gRuXec'];_0x2a80=function(){return _0x35195c;};return _0x2a80();}import{update}from'../update.js';export async function enable(_0x4df0fc){const _0x5bf26f=_0x5674,_0x422051={'bZXwp':function(_0x4c7c56){return _0x4c7c56();},'drlZW':'ranger\x20setup\x20--opencode','OZHhN':_0x5bf26f(0x1d1),'mECTV':_0x5bf26f(0x1d2),'MJLwk':function(_0x34a8cb,_0x2c1547){return _0x34a8cb(_0x2c1547);},'YlDNX':function(_0xee6887){return _0xee6887();}},_0x4db0d6=_0x4df0fc||process[_0x5bf26f(0x1d8)][_0x5bf26f(0x1c7)]||'',_0x2865c5=Boolean(_0x4df0fc),_0x13eb6a=await _0x422051[_0x5bf26f(0x1cc)](getToken);if(!_0x13eb6a){const _0x5e53b3=_0x2865c5?_0x422051['drlZW']:_0x422051['OZHhN'],_0x52be52=_0x2865c5?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x422051['mECTV'];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`'+_0x5e53b3+_0x5bf26f(0x1c6)+_0x52be52);return;}try{await update();}catch{}_0x4db0d6&&_0x422051[_0x5bf26f(0x1ca)](enableSession,_0x4db0d6);const _0x30a11c=_0x422051['YlDNX'](getCurrentBranch),_0x132b14=_0x30a11c&&_0x30a11c!==_0x5bf26f(0x1cb)&&_0x30a11c!=='master'?_0x5bf26f(0x1d9)+_0x30a11c+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x549fa4=getRangerSkillContent();_0x422051['MJLwk'](printBlock,_0x5bf26f(0x1d7)+_0x132b14+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x549fa4+_0x5bf26f(0x1d5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e7677,_0x353a34){const _0x51c94b=_0x2d10,_0x144918=_0x4e7677();while(!![]){try{const _0x21c83b=-parseInt(_0x51c94b(0x142))/0x1+parseInt(_0x51c94b(0x13f))/0x2*(parseInt(_0x51c94b(0x144))/0x3)+parseInt(_0x51c94b(0x13e))/0x4*(parseInt(_0x51c94b(0x13b))/0x5)+-parseInt(_0x51c94b(0x13c))/0x6+-parseInt(_0x51c94b(0x13d))/0x7*(parseInt(_0x51c94b(0x140))/0x8)+parseInt(_0x51c94b(0x13a))/0x9+parseInt(_0x51c94b(0x141))/0xa;if(_0x21c83b===_0x353a34)break;else _0x144918['push'](_0x144918['shift']());}catch(_0x1e64bf){_0x144918['push'](_0x144918['shift']());}}}(_0x5e68,0x90aa3));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2d10(_0x37902e,_0x524f60){_0x37902e=_0x37902e-0x13a;const _0x5e6846=_0x5e68();let _0x2d1047=_0x5e6846[_0x37902e];return _0x2d1047;}function _0x5e68(){const _0x494caa=['1539MbCbRn','3240801obdkgH','25DGeuVM','2572848AvUPfm','52507TTprHq','748548iNwJzh','2906yXdyEy','568SaEGog','2533150GMlycb','740552xUIfgy','===\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==='];_0x5e68=function(){return _0x494caa;};return _0x5e68();}export async function exitPlanMode(_0x213486){const _0xda291f=_0x2d10,_0x2ad02d=await getEnabledSessionId(_0x213486);if(!_0x2ad02d)return;printBlock(_0xda291f(0x143));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x28a7(){var _0x379412=['2291904sNlhIl','50IgxWHg','129105PxZauQ','1259980rfNqZi','2250624HKXaSm','1536088ANNOiQ','23420yahCJd','14ELRDtq','27765vxpUpR','54qPhHcw'];_0x28a7=function(){return _0x379412;};return _0x28a7();}(function(_0x40e0ba,_0x5ce287){var _0x49c0ce=_0xd533,_0x5b0937=_0x40e0ba();while(!![]){try{var _0x3012e8=-parseInt(_0x49c0ce(0x184))/0x1*(-parseInt(_0x49c0ce(0x17f))/0x2)+-parseInt(_0x49c0ce(0x187))/0x3+parseInt(_0x49c0ce(0x183))/0x4+-parseInt(_0x49c0ce(0x185))/0x5*(-parseInt(_0x49c0ce(0x182))/0x6)+parseInt(_0x49c0ce(0x180))/0x7*(-parseInt(_0x49c0ce(0x17e))/0x8)+parseInt(_0x49c0ce(0x181))/0x9+parseInt(_0x49c0ce(0x186))/0xa;if(_0x3012e8===_0x5ce287)break;else _0x5b0937['push'](_0x5b0937['shift']());}catch(_0x328d03){_0x5b0937['push'](_0x5b0937['shift']());}}}(_0x28a7,0x5e2b6));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0xd533(_0x830f0a,_0x5aa8fc){_0x830f0a=_0x830f0a-0x17e;var _0x28a78d=_0x28a7();var _0xd53362=_0x28a78d[_0x830f0a];return _0xd53362;}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5e73d5,_0x44feb0){const _0xd69b92=_0x5f46,_0x42780c=_0x5e73d5();while(!![]){try{const _0x36996a=-parseInt(_0xd69b92(0xc0))/0x1+parseInt(_0xd69b92(0xb6))/0x2*(parseInt(_0xd69b92(0xc4))/0x3)+-parseInt(_0xd69b92(0xbe))/0x4*(parseInt(_0xd69b92(0xc5))/0x5)+-parseInt(_0xd69b92(0xb7))/0x6+-parseInt(_0xd69b92(0xbf))/0x7+parseInt(_0xd69b92(0xba))/0x8*(-parseInt(_0xd69b92(0xbc))/0x9)+parseInt(_0xd69b92(0xbd))/0xa;if(_0x36996a===_0x44feb0)break;else _0x42780c['push'](_0x42780c['shift']());}catch(_0x2add38){_0x42780c['push'](_0x42780c['shift']());}}}(_0x218a,0xf2851));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x15e4ac){const _0x14ee8b=_0x5f46;console[_0x14ee8b(0xb9)](_0x15e4ac);}function _0x218a(){const _0x303635=['4MKlWrU','2711772dBDUtH','108966pOmWbu','RXGrj','parse','JJUFG','53166iNdlkw','8915BASEXN','54BePpQz','3394914FWJYRV','XvTlv','log','404552YOfnZo','session_id','9LDlpuj','16294000DvtNBg'];_0x218a=function(){return _0x303635;};return _0x218a();}function _0x5f46(_0x48f4b7,_0x4fbb38){_0x48f4b7=_0x48f4b7-0xb6;const _0x218a84=_0x218a();let _0x5f4653=_0x218a84[_0x48f4b7];return _0x5f4653;}export async function readHookInput(){const _0xe6dcaf=_0x5f46;let _0x412a22='';try{for await(const _0x527cae of process['stdin']){_0x412a22+=_0x527cae;}}catch{return null;}if(!_0x412a22['trim']())return null;try{return JSON[_0xe6dcaf(0xc2)](_0x412a22);}catch{return null;}}export async function getEnabledSessionId(_0x28c5e6){const _0x393004=_0x5f46,_0x20ccf7={'RXGrj':function(_0x5e261d,_0x2ea942){return _0x5e261d(_0x2ea942);},'XvTlv':function(_0x4626d7){return _0x4626d7();},'lXpFh':function(_0xe624fb,_0x20fef9){return _0xe624fb(_0x20fef9);}};if(_0x28c5e6)return _0x20ccf7[_0x393004(0xc1)](isSessionEnabled,_0x28c5e6)?_0x28c5e6:null;const _0x437fd8=await _0x20ccf7[_0x393004(0xb8)](readHookInput),_0x12ceb5=_0x437fd8?.['session_id'];if(!_0x12ceb5||!_0x20ccf7['lXpFh'](isSessionEnabled,_0x12ceb5))return null;return _0x12ceb5;}export async function getEnabledHookContext(_0x44ae83){const _0x615432=_0x5f46,_0x3abdb1={'JJUFG':function(_0x256428,_0x2df03f){return _0x256428(_0x2df03f);},'hkMRh':function(_0x186ac0){return _0x186ac0();},'LJanG':function(_0xe60246,_0x32547b){return _0xe60246(_0x32547b);}};if(_0x44ae83){if(!_0x3abdb1[_0x615432(0xc3)](isSessionEnabled,_0x44ae83))return null;return{'sessionId':_0x44ae83,'input':{'session_id':_0x44ae83}};}const _0x428bac=await _0x3abdb1['hkMRh'](readHookInput),_0x16b651=_0x428bac?.[_0x615432(0xbb)];if(!_0x16b651||!_0x3abdb1['LJanG'](isSessionEnabled,_0x16b651))return null;return{'sessionId':_0x16b651,'input':_0x428bac};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3446(){const _0x5dab6c=['197191eVEqro','1594860jXtxPq','86uMQuoH','379320UYQLGK','4650863qroaYl','IBOke','40MUJjZV','Jdxyu','27111VKzmBa','1681638gZpgfv','1232766kIqcxU'];_0x3446=function(){return _0x5dab6c;};return _0x3446();}(function(_0x40790b,_0x2b2794){const _0x139c7e=_0x1c73,_0x54e094=_0x40790b();while(!![]){try{const _0x120e3f=parseInt(_0x139c7e(0xd6))/0x1+parseInt(_0x139c7e(0xd8))/0x2*(-parseInt(_0x139c7e(0xd3))/0x3)+-parseInt(_0x139c7e(0xd7))/0x4+-parseInt(_0x139c7e(0xd9))/0x5+-parseInt(_0x139c7e(0xd4))/0x6+parseInt(_0x139c7e(0xda))/0x7+parseInt(_0x139c7e(0xd1))/0x8*(parseInt(_0x139c7e(0xd5))/0x9);if(_0x120e3f===_0x2b2794)break;else _0x54e094['push'](_0x54e094['shift']());}catch(_0xe8092e){_0x54e094['push'](_0x54e094['shift']());}}}(_0x3446,0x62653));function _0x1c73(_0x9503a0,_0xc485f6){_0x9503a0=_0x9503a0-0xd0;const _0x3446e9=_0x3446();let _0x1c73b9=_0x3446e9[_0x9503a0];return _0x1c73b9;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4acba7){const _0x47c43b=_0x1c73,_0x503976={'IBOke':function(_0x21837f,_0x8a069f){return _0x21837f(_0x8a069f);},'Lvaop':function(_0x34e2d8,_0x978009){return _0x34e2d8!==_0x978009;},'eQCxZ':'plan','Jdxyu':function(_0x3adb90,_0x2e1e5a){return _0x3adb90(_0x2e1e5a);}},_0x520319=await _0x503976[_0x47c43b(0xd0)](getEnabledHookContext,_0x4acba7);if(!_0x520319)return;if(_0x503976['Lvaop'](_0x520319['input']['permission_mode'],_0x503976['eQCxZ']))return;if(!shouldShowPlanReminder(_0x520319['sessionId']))return;_0x503976[_0x47c43b(0xd2)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2af7(){const _0xf00d69=['594eVIMRr','2726YGlNyg','548070nWXPFn','936848lhRXrT','7zAvNkR','19830jjCbbE','349071PBgLHx','65634QfPhBK','26XYwADs','179080HXueMg'];_0x2af7=function(){return _0xf00d69;};return _0x2af7();}(function(_0x52f958,_0x45f4fd){const _0x5163f2=_0xc7f0,_0x28f4ba=_0x52f958();while(!![]){try{const _0x18ebf0=parseInt(_0x5163f2(0x14a))/0x1*(-parseInt(_0x5163f2(0x147))/0x2)+parseInt(_0x5163f2(0x14f))/0x3+-parseInt(_0x5163f2(0x148))/0x4+parseInt(_0x5163f2(0x14b))/0x5+parseInt(_0x5163f2(0x146))/0x6*(-parseInt(_0x5163f2(0x14d))/0x7)+parseInt(_0x5163f2(0x14c))/0x8+parseInt(_0x5163f2(0x149))/0x9*(-parseInt(_0x5163f2(0x14e))/0xa);if(_0x18ebf0===_0x45f4fd)break;else _0x28f4ba['push'](_0x28f4ba['shift']());}catch(_0x4cb5d0){_0x28f4ba['push'](_0x28f4ba['shift']());}}}(_0x2af7,0x1d8dc));import{printBlock,getEnabledSessionId}from'./output.js';function _0xc7f0(_0x1c19ae,_0x1f75cc){_0x1c19ae=_0x1c19ae-0x146;const _0x2af783=_0x2af7();let _0xc7f04d=_0x2af783[_0x1c19ae];return _0xc7f04d;}export async function planStart(_0xd2cc29){const _0x3e38ac=await getEnabledSessionId(_0xd2cc29);if(!_0x3e38ac)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2eb17d,_0x34f7a7){const _0x4ad10f=_0x4e74,_0xcd8eac=_0x2eb17d();while(!![]){try{const _0x13a847=parseInt(_0x4ad10f(0x1a0))/0x1*(-parseInt(_0x4ad10f(0x19a))/0x2)+parseInt(_0x4ad10f(0x1a6))/0x3*(-parseInt(_0x4ad10f(0x198))/0x4)+-parseInt(_0x4ad10f(0x1a7))/0x5*(-parseInt(_0x4ad10f(0x1a5))/0x6)+parseInt(_0x4ad10f(0x199))/0x7*(-parseInt(_0x4ad10f(0x1a2))/0x8)+parseInt(_0x4ad10f(0x19f))/0x9*(-parseInt(_0x4ad10f(0x1a4))/0xa)+-parseInt(_0x4ad10f(0x1a3))/0xb*(-parseInt(_0x4ad10f(0x19d))/0xc)+parseInt(_0x4ad10f(0x1a1))/0xd;if(_0x13a847===_0x34f7a7)break;else _0xcd8eac['push'](_0xcd8eac['shift']());}catch(_0x30648d){_0xcd8eac['push'](_0xcd8eac['shift']());}}}(_0x3907,0xd64c7));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x3907(){const _0x7762d1=['869757UDkmtQ','942756AnaVqF','log','MhAUv','24GSlQuX','PostToolUse','513nZBHrA','1ZiNveY','5630313LCqcTM','8WYTgBx','6311371HBDrZD','69950LVihce','2170488UsAZNG','6jtvvNb','10okMzwn','864016yijKzV'];_0x3907=function(){return _0x7762d1;};return _0x3907();}function _0x4e74(_0x4cbbf0,_0x547ec0){_0x4cbbf0=_0x4cbbf0-0x198;const _0x39079a=_0x3907();let _0x4e74be=_0x39079a[_0x4cbbf0];return _0x4e74be;}export async function postEdit(_0x3bc685){const _0x18ed5c=_0x4e74,_0x443d97={'HpEDH':function(_0x59e671,_0x22b1ab){return _0x59e671(_0x22b1ab);},'MhAUv':function(_0x19f854,_0x55bcb8){return _0x19f854(_0x55bcb8);}},_0x20cd1c=await _0x443d97['HpEDH'](getEnabledSessionId,_0x3bc685);if(!_0x20cd1c)return;_0x443d97[_0x18ed5c(0x19c)](updateBranchTracking,_0x20cd1c);const _0x1fdebe=await getToken();if(!_0x1fdebe)return;const _0x523d2a=getSessionEntry(_0x20cd1c);if(_0x523d2a){const _0x9f9256={'hookSpecificOutput':{'hookEventName':_0x18ed5c(0x19e),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x18ed5c(0x19b)](JSON['stringify'](_0x9f9256));return;}const _0x4c0470={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x4c0470));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x22667e,_0x4ca2f6){const _0x3eb388=_0x13e5,_0x85eda=_0x22667e();while(!![]){try{const _0x228a50=-parseInt(_0x3eb388(0x8b))/0x1+-parseInt(_0x3eb388(0x92))/0x2*(parseInt(_0x3eb388(0x90))/0x3)+-parseInt(_0x3eb388(0x8e))/0x4+-parseInt(_0x3eb388(0x8a))/0x5*(-parseInt(_0x3eb388(0x8c))/0x6)+parseInt(_0x3eb388(0x91))/0x7+parseInt(_0x3eb388(0x8d))/0x8*(-parseInt(_0x3eb388(0x89))/0x9)+parseInt(_0x3eb388(0x8f))/0xa;if(_0x228a50===_0x4ca2f6)break;else _0x85eda['push'](_0x85eda['shift']());}catch(_0x60e89a){_0x85eda['push'](_0x85eda['shift']());}}}(_0x2bc6,0xeb4b6));function _0x13e5(_0x571aa8,_0x54f207){_0x571aa8=_0x571aa8-0x89;const _0x2bc64b=_0x2bc6();let _0x13e591=_0x2bc64b[_0x571aa8];return _0x13e591;}function _0x2bc6(){const _0x1cf474=['4050872qDIPaA','4405496MfmZNr','28461060eKBkOi','7635ztFalW','8539902rofBuy','340FRxRjX','27nksnNZ','4195FXHxfo','1134052YLqIMK','7758EmiJDu'];_0x2bc6=function(){return _0x1cf474;};return _0x2bc6();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x53fe59){const _0x26687c={'gMRxt':function(_0x2ecf5c,_0x25d87a){return _0x2ecf5c(_0x25d87a);}},_0xc6bf6d=await _0x26687c['gMRxt'](getEnabledSessionId,_0x53fe59);if(!_0xc6bf6d)return;try{const _0x105ed2=await getToken();if(!_0x105ed2)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x477a34,_0x2aa783){const _0x22861d=_0x33f2,_0x20409f=_0x477a34();while(!![]){try{const _0x5dc26a=parseInt(_0x22861d(0x87))/0x1*(parseInt(_0x22861d(0x80))/0x2)+-parseInt(_0x22861d(0x7d))/0x3+-parseInt(_0x22861d(0x84))/0x4*(-parseInt(_0x22861d(0x81))/0x5)+parseInt(_0x22861d(0x89))/0x6*(-parseInt(_0x22861d(0x83))/0x7)+parseInt(_0x22861d(0x8a))/0x8*(parseInt(_0x22861d(0x7e))/0x9)+-parseInt(_0x22861d(0x86))/0xa*(parseInt(_0x22861d(0x7f))/0xb)+parseInt(_0x22861d(0x88))/0xc;if(_0x5dc26a===_0x2aa783)break;else _0x20409f['push'](_0x20409f['shift']());}catch(_0x5ce1b9){_0x20409f['push'](_0x20409f['shift']());}}}(_0x4dc2,0xd15ae));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x33f2(_0x44d5e3,_0x10cc14){_0x44d5e3=_0x44d5e3-0x7d;const _0x4dc236=_0x4dc2();let _0x33f287=_0x4dc236[_0x44d5e3];return _0x33f287;}function _0x4dc2(){const _0x29df0a=['reason','476RiwdeN','12972znBiTV','env','102460sjgRFX','1biWaxc','26998848LLMfLE','113706mhXvfL','888GcqSFF','3358032qehSiN','65376roMMpM','814DDvshd','1137274JaRVDB','615ASnKVc'];_0x4dc2=function(){return _0x29df0a;};return _0x4dc2();}import{readHookInput}from'./output.js';export async function sessionEnd(_0xeaf2ec){const _0x299784=_0x33f2,_0x1d6fa6={'erfIE':function(_0x3668f2,_0x5ecbcb){return _0x3668f2(_0x5ecbcb);},'BNait':function(_0x265656,_0x453daf){return _0x265656===_0x453daf;}},_0x5296e8=process[_0x299784(0x85)]['CLAUDE_SESSION_ID'];let _0x4b7dc8=_0xeaf2ec,_0x14c525;if(!_0xeaf2ec){if(_0x5296e8&&!_0x1d6fa6['erfIE'](isSessionEnabled,_0x5296e8))return;const _0xaaf53f=await readHookInput();_0x4b7dc8=_0xaaf53f?.['session_id']||_0x5296e8,_0x14c525=_0xaaf53f?.[_0x299784(0x82)];}if(!_0x4b7dc8)return;_0x1d6fa6['BNait'](_0x14c525,'clear')&&recordEnabledSessionCleared(_0x4b7dc8);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x5df158=_0x1a7f;(function(_0x559230,_0x5a8b34){const _0x281d30=_0x1a7f,_0x29d238=_0x559230();while(!![]){try{const _0xce016=parseInt(_0x281d30(0xbc))/0x1+parseInt(_0x281d30(0xbf))/0x2*(parseInt(_0x281d30(0xc3))/0x3)+-parseInt(_0x281d30(0xc0))/0x4*(-parseInt(_0x281d30(0xca))/0x5)+parseInt(_0x281d30(0xc2))/0x6+parseInt(_0x281d30(0xc5))/0x7+-parseInt(_0x281d30(0xcc))/0x8*(parseInt(_0x281d30(0xcf))/0x9)+-parseInt(_0x281d30(0xce))/0xa*(parseInt(_0x281d30(0xba))/0xb);if(_0xce016===_0x5a8b34)break;else _0x29d238['push'](_0x29d238['shift']());}catch(_0x42734b){_0x29d238['push'](_0x29d238['shift']());}}}(_0x430e,0x5b116));function _0x430e(){const _0x3e5a28=['pllSM','4578413aLeEBx','BPbOF','master','qEOiD','trackCommandEnd','25430SzxRXF','session_id','4469464pXLrul','trackCommandStart','192040IhLSmS','9AblKxt','SDTIU','source','dPdnH','198NDpRDB','export\x20CLAUDE_SESSION_ID=\x22','330521zJuKJN','ZFhLA','=================================================================\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=================================================================','116MIhJep','68ElnIfM','zawas','575022DWdnhQ','5715BLzmMC'];_0x430e=function(){return _0x3e5a28;};return _0x430e();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT=_0x5df158(0xbe);function _0x1a7f(_0x500921,_0x5b1f5b){_0x500921=_0x500921-0xb7;const _0x430ed5=_0x430e();let _0x1a7f62=_0x430ed5[_0x500921];return _0x1a7f62;}export async function sessionStart(_0x15b158){const _0x58bf03=_0x5df158,_0x5b53de={'KkvmH':_0x58bf03(0xcb),'eIAiy':function(_0x195cc3,_0x59f158){return _0x195cc3&&_0x59f158;},'egkAD':function(_0x15015f,_0x573d18,_0x521faa){return _0x15015f(_0x573d18,_0x521faa);},'ZFhLA':function(_0x4a0507,_0x4eaf6c){return _0x4a0507(_0x4eaf6c);},'BPbOF':function(_0x9d0797){return _0x9d0797();},'dPdnH':'success','SDTIU':function(_0x391b1f,_0x48b84d){return _0x391b1f!==_0x48b84d;},'pllSM':function(_0x409864,_0x5daac9){return _0x409864!==_0x5daac9;},'qEOiD':_0x58bf03(0xc7),'zawas':'SessionStart'};let _0x164625=_0x15b158||'',_0x45d19f;if(!_0x15b158){let _0x361074='';for await(const _0x1747b1 of process['stdin']){_0x361074+=_0x1747b1;}try{const _0x2bd2a5=JSON['parse'](_0x361074);_0x164625=_0x2bd2a5[_0x5b53de['KkvmH']]||'',_0x45d19f=_0x2bd2a5[_0x58bf03(0xb8)];}catch{}const _0x1809c7=process['env']['CLAUDE_ENV_FILE'];if(_0x5b53de['eIAiy'](_0x1809c7,_0x164625))try{await _0x5b53de['egkAD'](appendFile,_0x1809c7,_0x58bf03(0xbb)+_0x164625+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x164625){shouldAutoEnableAfterClear(_0x45d19f)&&autoEnableAfterClear(_0x164625);_0x5b53de[_0x58bf03(0xbd)](initBranchTracking,_0x164625);_0x5b53de[_0x58bf03(0xc6)](resolveHookMode)==='on'&&enableSession(_0x164625);const _0x5af3d3=_0x5b53de['ZFhLA'](isSessionEnabled,_0x164625);try{const _0x5dbae8=_0x5b53de[_0x58bf03(0xbd)](createTelemetryCollector,'hook:session-start');await _0x5dbae8[_0x58bf03(0xcd)]({'sessionId':_0x164625,'hooksEnabled':_0x5af3d3}),await _0x5dbae8[_0x58bf03(0xc9)](_0x5b53de[_0x58bf03(0xb9)]);}catch{}if(_0x5af3d3){const _0x9c7be=getCurrentBranch(),_0xc500e=_0x9c7be&&_0x5b53de[_0x58bf03(0xb7)](_0x9c7be,'main')&&_0x5b53de[_0x58bf03(0xc4)](_0x9c7be,_0x5b53de[_0x58bf03(0xc8)])?'\x20(Branch:\x20'+_0x9c7be+')':'',_0x459425={'hookSpecificOutput':{'hookEventName':_0x5b53de[_0x58bf03(0xc1)],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0xc500e}};console['log'](JSON['stringify'](_0x459425));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4941(){const _0x355bd0=['50466NrqDEW','JAHTG','trackCommandEnd','2683576VhHTWw','2652620BbMxgP','https://dashboard.ranger.net/features/','currentSessionId','4kTxHqN','wDbHb','DUvAx','91bZMvKz','JFBmB','4761060lngbjP','incomplete','1592568XbRhVf','NQyHD','some','106362lPxODI','21DKZEPA','featureId','2948703OwRLVu','checklistItems','trackCommandStart','success','sessionId','Stop','hook:stop','status','blocked'];_0x4941=function(){return _0x355bd0;};return _0x4941();}function _0x4c95(_0x3b19c2,_0x39c782){_0x3b19c2=_0x3b19c2-0x127;const _0x4941ba=_0x4941();let _0x4c954b=_0x4941ba[_0x3b19c2];return _0x4c954b;}(function(_0x502cd3,_0x3ef567){const _0x4e7d06=_0x4c95,_0x19a4e5=_0x502cd3();while(!![]){try{const _0x59e530=-parseInt(_0x4e7d06(0x12a))/0x1*(-parseInt(_0x4e7d06(0x135))/0x2)+parseInt(_0x4e7d06(0x12c))/0x3+-parseInt(_0x4e7d06(0x13c))/0x4*(parseInt(_0x4e7d06(0x139))/0x5)+-parseInt(_0x4e7d06(0x129))/0x6*(parseInt(_0x4e7d06(0x13f))/0x7)+-parseInt(_0x4e7d06(0x138))/0x8+-parseInt(_0x4e7d06(0x143))/0x9+parseInt(_0x4e7d06(0x141))/0xa;if(_0x59e530===_0x3ef567)break;else _0x19a4e5['push'](_0x19a4e5['shift']());}catch(_0x204b48){_0x19a4e5['push'](_0x19a4e5['shift']());}}}(_0x4941,0xaeb06));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';export async function stopHook(_0x25a4fc){const _0x56ab3b=_0x4c95,_0x249111={'JAHTG':function(_0x2b0098,_0xe7e734,_0x46fa98,_0x524fa2){return _0x2b0098(_0xe7e734,_0x46fa98,_0x524fa2);},'wDbHb':function(_0x1354ef){return _0x1354ef();},'LKdqw':function(_0x5cba51,_0x3b9474){return _0x5cba51(_0x3b9474);},'JFBmB':function(_0x5f3f76,_0x3a7b32){return _0x5f3f76&&_0x3a7b32;},'DUvAx':function(_0x465903,_0x262bc4,_0x2d46d2){return _0x465903(_0x262bc4,_0x2d46d2);},'PMmRp':function(_0x5d62d8,_0x1da710,_0x1acf0b,_0x12abe0){return _0x5d62d8(_0x1da710,_0x1acf0b,_0x12abe0);},'NQyHD':function(_0x3f9880,_0x3ab2ac,_0x2accac,_0x223be8){return _0x3f9880(_0x3ab2ac,_0x2accac,_0x223be8);}},_0x491943=await getEnabledHookContext(_0x25a4fc),_0xa3834=_0x491943?.['sessionId']??null;let _0x5b0d6e=!![];if(!_0xa3834){await _0x249111[_0x56ab3b(0x136)](trackStop,_0xa3834,![],_0x5b0d6e);return;}try{const _0x281e7c=getSessionEntry(_0xa3834);if(!_0x281e7c){await _0x249111[_0x56ab3b(0x136)](trackStop,_0xa3834,!![],_0x5b0d6e);return;}const _0x517776=await _0x249111[_0x56ab3b(0x13d)](getToken),_0x5d86fb=_0x56ab3b(0x13a)+_0x281e7c[_0x56ab3b(0x12b)];let _0x31c3c1=null,_0xf99361=![],_0x1a780c=![];if(_0x517776)try{const _0x4b139b=await _0x249111['LKdqw'](getFeature,_0x281e7c[_0x56ab3b(0x12b)]);_0x31c3c1=_0x4b139b[_0x56ab3b(0x13b)]??null;const _0x15b082=_0x4b139b[_0x56ab3b(0x12d)]['filter'](_0x1d310f=>_0x1d310f[_0x56ab3b(0x130)]===_0x31c3c1);_0xf99361=_0x15b082['some'](_0xf49bc9=>_0xf49bc9[_0x56ab3b(0x133)]!=='verified'&&_0xf49bc9[_0x56ab3b(0x133)]!==_0x56ab3b(0x134)&&_0xf49bc9['status']!=='closed'&&_0xf49bc9['status']!==_0x56ab3b(0x142)),_0x1a780c=_0x15b082[_0x56ab3b(0x128)](_0x26d860=>_0x26d860['status']==='verification_in_progress');}catch{}if(_0x517776&&_0x31c3c1&&_0xf99361){if(!_0x1a780c&&_0x249111['LKdqw'](shouldShowStopReminder,_0xa3834)){const _0x5c2817={'hookSpecificOutput':{'hookEventName':_0x56ab3b(0x131),'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'+_0x5d86fb}};console['log'](JSON['stringify'](_0x5c2817));}}if(_0x249111[_0x56ab3b(0x140)](_0x517776,_0x31c3c1)&&!_0xf99361)try{await _0x249111[_0x56ab3b(0x13e)](concludeSession,_0x281e7c[_0x56ab3b(0x12b)],_0x31c3c1);}catch{}await _0x249111['PMmRp'](trackStop,_0xa3834,!![],_0x5b0d6e);return;}catch{await _0x249111[_0x56ab3b(0x127)](trackStop,_0xa3834,!![],_0x5b0d6e);return;}}async function trackStop(_0x355da1,_0x52ce4f,_0x351285){const _0x2eafe1=_0x4c95;try{const _0x488665=createTelemetryCollector(_0x2eafe1(0x132));await _0x488665[_0x2eafe1(0x12e)]({'sessionId':_0x355da1??undefined,'hooksEnabled':_0x52ce4f,'stopAllowed':_0x351285}),await _0x488665[_0x2eafe1(0x137)](_0x2eafe1(0x12f));}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x318149,_0x59e3e8){var _0xa4edd4=_0x49f2,_0x9c6691=_0x318149();while(!![]){try{var _0xf1d736=-parseInt(_0xa4edd4(0x1d6))/0x1+-parseInt(_0xa4edd4(0x1cf))/0x2*(-parseInt(_0xa4edd4(0x1ce))/0x3)+parseInt(_0xa4edd4(0x1d5))/0x4+parseInt(_0xa4edd4(0x1d2))/0x5+parseInt(_0xa4edd4(0x1d0))/0x6+parseInt(_0xa4edd4(0x1d3))/0x7*(parseInt(_0xa4edd4(0x1d4))/0x8)+-parseInt(_0xa4edd4(0x1cd))/0x9*(parseInt(_0xa4edd4(0x1d1))/0xa);if(_0xf1d736===_0x59e3e8)break;else _0x9c6691['push'](_0x9c6691['shift']());}catch(_0x530250){_0x9c6691['push'](_0x9c6691['shift']());}}}(_0x78e5,0x7555b));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x78e5(){var _0x4d6b48=['974316ervoKS','30EnPyQG','2288395eatkIi','28JzRNWQ','350920YptsAw','1132536FbkoHX','833240mCOkvo','15786jBFvsd','360669pckwPm','4CLAXfA'];_0x78e5=function(){return _0x4d6b48;};return _0x78e5();}export{useEnv}from'./useEnv.js';function _0x49f2(_0x28eb67,_0x9716e9){_0x28eb67=_0x28eb67-0x1cd;var _0x78e504=_0x78e5();var _0x49f226=_0x78e504[_0x28eb67];return _0x49f226;}export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|