@ranger-testing/ranger-cli 2.5.4-alpha.feb9faf-20 → 3.0.1-alpha.aab0a1c-26
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 -0
- 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 -0
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -0
- package/build/skills/ranger/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x24d357=_0x50f1;(function(_0x3ffff7,_0x55ba8d){const _0x28bd5e=_0x50f1,_0x23d0a9=_0x3ffff7();while(!![]){try{const _0x2cbd94=parseInt(_0x28bd5e(0x177))/0x1*(parseInt(_0x28bd5e(0x138))/0x2)+-parseInt(_0x28bd5e(0x1cf))/0x3+-parseInt(_0x28bd5e(0x12f))/0x4*(parseInt(_0x28bd5e(0x1af))/0x5)+-parseInt(_0x28bd5e(0x18b))/0x6*(-parseInt(_0x28bd5e(0x19e))/0x7)+parseInt(_0x28bd5e(0x1ae))/0x8+parseInt(_0x28bd5e(0x1ba))/0x9*(parseInt(_0x28bd5e(0x193))/0xa)+parseInt(_0x28bd5e(0x132))/0xb;if(_0x2cbd94===_0x55ba8d)break;else _0x23d0a9['push'](_0x23d0a9['shift']());}catch(_0x3cf32d){_0x23d0a9['push'](_0x23d0a9['shift']());}}}(_0x4e83,0x9b97c));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x32f418 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';function _0x4e83(){const _0x3d5c1b=['0|5|3|1|2|4','Showing\x20','\x20scenario(s).','FfVUN','from','iteration','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','\x20in\x20progress','LxsqR','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','version','utf-8','pipe','\x20blocked','LaeAm','toLocaleString','efpmj','json','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','verified','\x20—\x20','7528etjjXa','numeric','FoxFX','14787289TCvirx','totalCount',':\x20\x22','wxfzr','prompt','push','2kSCARL','screenshotUrls','linkedSession','rhhvd','items','\x20\x20\x20Branch:\x20','selected','blockedReason','incompleteReason','canonicalFlow','CvTmO','\x20\x20\x20\x20\x20Progress:\x20','\x0a\x20\x20\x20Scenarios:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','CLAUDE_SESSION_ID','checklistItems','domRef','RANGER_TEST_USERNAME','EsGKu','filter','assetUrl','\x0a❌\x20Invalid\x20scenario\x20index:\x20','spatial','scenario','limit','\x20of\x20','\x20\x20\x20Progress:\x20','\x20\x20\x20Repository:\x20','\x20\x20\x20\x20','\x1b[1m','\x20--current-branch','fyFGW','yxRxR','aVLLZ','exit','ieYiA','Screenshot\x20','latestReview','warn','in_progress','):\x20\x22','arrayBuffer','wCyHW','NWuGu','LFxCg','error','\x20Session\x20','\x0a✅\x20Scenario\x20added','zBOBd','qEKpr','GKbOg','\x0aCreating\x20feature\x20review...','closed','PLqIh','RdpVj','scenarios','reports','\x20\x20\x20Completed:\x20','North','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x20[has\x20reviewer\x20feedback]','LIfdF','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','5777CTRdkg','createdAt','\x20—\x20no\x20comments','No\x20scenarios\x20found.','unaddressedComments','yciUj','\x20concluded.','Not\x20in\x20a\x20git\x20repository.','terminalReason','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','approved','replace','pSsQs','/api/v1/mcp/browser-sessions/','completed','includeDeleted','qaDwI','screenshot','\x20\x20\x20','TxuyN','2502vKuIKv','canceledReason','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','agentResponse','1|4|5|0|3|2','coordinates','\x20\x20\x20▶️\x20Started\x20session\x20','active-feature.txt','169250RLkFka','\x20\x20\x20\x20\x20Branch:\x20','...','pop','JytAy','.\x20Feature\x20review\x20has\x20','currentSessionId','hKEEB','IfFTA','Next\x20page:\x20ranger\x20list\x20--offset\x20','incompleteItems','11809vNveWs','FRVkL','\x20\x20\x20Updated\x20branch\x20to:\x20','sessionId','browserSessionId','stepName','DiGJX','env','has','rhwSJ','verification_in_progress','notes','ossGH','stringify','trim','dashboardUrl','4542728NKiQqI','3385MKAWHX','qTxoV','Please\x20finish\x20your\x20review\x20first:','xRjPL','FYPLP','UJBKc','\x20\x20\x20Created:\x20','\x20\x20\x20\x20\x20\x20Approved','PJSMG','dQTyC','vQdGi','18MgBlzs','log','map','mjqXf','WzfpX','isTTY','\x0a✅\x20Resumed\x20feature\x20review:\x20','blocked','git\x20rev-parse\x20--abbrev-ref\x20HEAD','toFixed','AwIXB','\x20\x20\x20ID:\x20','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','currentBranch','lxZjZ','gitBranch','gAFVF','completedAt','CKgxp','Cannot\x20conclude\x20session\x20with\x20status:\x20','HMwkl','2231472dYtBNe','pendingItems','\x20/\x20','\x20at\x20[','\x0a✅\x20Session\x20','Scenario\x20','offset','name','write','github.com/','assetType','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','\x20\x20\x20\x20\x20📋\x20Selector:\x20','guLad','\x0aAvailable\x20scenarios:','length','cOGZJ','No\x20active\x20session\x20for\x20this\x20feature\x20review.','psuBM','toLocaleDateString','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','vVBWR','parentItemId','status','description','stats','split','\x20feature\x20review(s)\x20found','submittedAt','LzDWL','\x20\x20Expected\x20flow:','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','authorName','MGVuE','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','Current\x20session\x20not\x20found.','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'];_0x4e83=function(){return _0x3d5c1b;};return _0x4e83();}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=_0x24d357(0x192),bold=_0x4887ec=>_0x24d357(0x155)+_0x4887ec+'\x1b[0m';function getGitRepoUrl(){const _0x4ce97c=_0x24d357,_0x1da8b6={'DolBx':'git\x20remote\x20get-url\x20origin','rhhvd':'pipe'};try{const _0x381d10=execSync(_0x1da8b6['DolBx'],{'encoding':'utf-8','stdio':[_0x4ce97c(0x126),_0x1da8b6[_0x4ce97c(0x13b)],_0x1da8b6['rhhvd']]})[_0x4ce97c(0x1ac)]();return _0x381d10[_0x4ce97c(0x182)](/\.git$/,'')[_0x4ce97c(0x182)](/^git@github\.com:/,_0x4ce97c(0x1d8))[_0x4ce97c(0x182)](/^https?:\/\//,'');}catch{return undefined;}}function _0x50f1(_0x424933,_0x4e77bf){_0x424933=_0x424933-0x118;const _0x4e8332=_0x4e83();let _0x50f155=_0x4e8332[_0x424933];return _0x50f155;}function getGitBranch(){const _0x476dfa=_0x24d357,_0x387bed={'EncHD':_0x476dfa(0x1c2),'qDrAc':_0x476dfa(0x125)};try{return execSync(_0x387bed['EncHD'],{'encoding':_0x387bed['qDrAc'],'stdio':[_0x476dfa(0x126),_0x476dfa(0x126),_0x476dfa(0x126)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x408c7d=_0x24d357,_0x5e2e8b={'fQuFl':function(_0x4c30be,_0x4887e5,_0x13cac9){return _0x4c30be(_0x4887e5,_0x13cac9);},'QrkwK':function(_0x2ed0b4){return _0x2ed0b4();},'LFxCg':'utf-8'},_0x29162b=_0x5e2e8b['fQuFl'](join,_0x5e2e8b['QrkwK'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x29162b))return null;try{const _0x4a9fa9=await _0x5e2e8b['fQuFl'](readFile,_0x29162b,_0x5e2e8b[_0x408c7d(0x164)]);return _0x4a9fa9['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x29f11b){const _0x18d059=_0x24d357,_0x353b6d={'dlUkp':function(_0x4f8f5f,_0x3dd47c,_0x2bba3d){return _0x4f8f5f(_0x3dd47c,_0x2bba3d);},'SLGDc':function(_0x4a607d,_0x4f302d){return _0x4a607d(_0x4f302d);},'gAFVF':function(_0xf1cf0b,_0x58a9f9,_0xd67b6d,_0x3f42dd){return _0xf1cf0b(_0x58a9f9,_0xd67b6d,_0x3f42dd);},'WpoVY':'utf-8'},_0x3a71bd=getRangerDir(),_0xff13e9=_0x353b6d['dlUkp'](join,_0x3a71bd,ACTIVE_FEATURE_FILE);!_0x353b6d['SLGDc'](existsSync,_0x3a71bd)&&await mkdir(_0x3a71bd,{'recursive':!![]}),await _0x353b6d[_0x18d059(0x1ca)](writeFile,_0xff13e9,_0x29f11b,_0x353b6d['WpoVY']);}function getProgressDisplay(_0x191095){const _0x3a7cd2=_0x24d357,_0x1cdbf7={'lxZjZ':function(_0x2073f2,_0x5b8e56){return _0x2073f2+_0x5b8e56;},'mdMig':function(_0x42c3b8,_0x38917a){return _0x42c3b8+_0x38917a;},'teNji':function(_0x114723,_0x5d9cc5){return _0x114723===_0x5d9cc5;},'UJBKc':function(_0x1825c1,_0x3d4dd6){return _0x1825c1*_0x3d4dd6;},'yxRxR':function(_0x2cc928,_0x36d205){return _0x2cc928-_0x36d205;},'PJSMG':function(_0x249072,_0x2ac006){return _0x249072>_0x2ac006;}},_0x3b8281=_0x191095['verifiedItems']||0x0,_0x5d6082=_0x191095['verificationInProgressItems']||0x0,_0x5de6ab=_0x191095['blockedItems']||0x0,_0x1d35d0=_0x191095[_0x3a7cd2(0x19d)]||0x0,_0x3cfd0d=_0x191095[_0x3a7cd2(0x1d0)]||0x0,_0x356c82=_0x1cdbf7[_0x3a7cd2(0x1c8)](_0x1cdbf7[_0x3a7cd2(0x1c8)](_0x1cdbf7['mdMig'](_0x3b8281,_0x5d6082),_0x5de6ab)+_0x1d35d0,_0x3cfd0d);if(_0x1cdbf7['teNji'](_0x356c82,0x0))return'-';const _0x43ef54=0xa,_0x1df4a4=Math['round'](_0x1cdbf7[_0x3a7cd2(0x1b4)](_0x3b8281/_0x356c82,_0x43ef54)),_0x1b193a=_0x1cdbf7[_0x3a7cd2(0x1c8)]('█'['repeat'](_0x1df4a4),'░'['repeat'](_0x1cdbf7[_0x3a7cd2(0x158)](_0x43ef54,_0x1df4a4))),_0x5c7b0c=[];if(_0x5de6ab>0x0)_0x5c7b0c['push'](_0x5de6ab+_0x3a7cd2(0x127));if(_0x1d35d0>0x0)_0x5c7b0c[_0x3a7cd2(0x137)](_0x1d35d0+'\x20incomplete');if(_0x1cdbf7[_0x3a7cd2(0x1b7)](_0x5d6082,0x0))_0x5c7b0c['push'](_0x5d6082+_0x3a7cd2(0x121));const _0x173efd=_0x1cdbf7['PJSMG'](_0x5c7b0c['length'],0x0)?'\x20('+_0x5c7b0c['join'](',\x20')+')':'';return _0x1b193a+'\x20'+_0x3b8281+'/'+_0x356c82+'\x20verified'+_0x173efd;}function getCurrentSessionItems(_0x523315,_0x3323e4){const _0x493324=_0x24d357;if(!_0x523315[_0x493324(0x199)])return _0x3323e4[_0x493324(0x14b)](_0x187248=>!_0x187248['sessionId']);return _0x3323e4['filter'](_0x2ad8af=>_0x2ad8af[_0x493324(0x1a1)]===_0x523315[_0x493324(0x199)]||!_0x2ad8af['sessionId']);}function displayFeature(_0xab87e5,_0xa4937){const _0x490e82=_0x24d357,_0x5c0f9c={'vVBWR':function(_0x29a565,_0x597940){return _0x29a565(_0x597940);},'vQdGi':function(_0x298981,_0x542064){return _0x298981>_0x542064;},'PWEjl':function(_0x10df9d,_0x430529){return _0x10df9d<_0x430529;},'xRjPL':_0x490e82(0x16c),'NGLZU':'approved','plMSb':function(_0x5c0aef,_0x5ac2cd){return _0x5c0aef===_0x5ac2cd;},'FfVUN':'incomplete','hgwhS':_0x490e82(0x1c1),'ieYiA':'verification_in_progress','GJNyt':function(_0x596a33,_0xcb5871){return _0x596a33>_0xcb5871;},'ivzyP':function(_0x579816,_0x2ba67b){return _0x579816!==_0x2ba67b;},'oezZn':'verified','rhwSJ':function(_0x5007fc,_0x1c49d5){return _0x5007fc===_0x1c49d5;},'Yvoex':function(_0x174760,_0x585eb0){return _0x174760===_0x585eb0;}};console[_0x490e82(0x1bb)]('\x0a'+_0xab87e5[_0x490e82(0x1d6)]+'\x20('+_0xab87e5[_0x490e82(0x1ad)]+')');_0xab87e5['stats']&&console[_0x490e82(0x1bb)]('\x20\x20\x20Progress:\x20'+_0x5c0f9c[_0x490e82(0x1e4)](getProgressDisplay,_0xab87e5['stats']));_0xab87e5[_0x490e82(0x1e7)]&&console['log']('\x20\x20\x20Description:\x20'+_0xab87e5[_0x490e82(0x1e7)]);_0xab87e5['gitRepoUrl']&&console[_0x490e82(0x1bb)](_0x490e82(0x153)+_0xab87e5['gitRepoUrl']);_0xab87e5['gitBranch']&&console[_0x490e82(0x1bb)](_0x490e82(0x13d)+_0xab87e5['gitBranch']);console[_0x490e82(0x1bb)]('\x20\x20\x20Created:\x20'+new Date(_0xab87e5[_0x490e82(0x178)])['toLocaleString']());_0xab87e5['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0xab87e5['completedAt'])[_0x490e82(0x129)]());if(_0xa4937&&_0x5c0f9c[_0x490e82(0x1b9)](_0xa4937['length'],0x0)){console['log'](_0x490e82(0x144));for(let _0x3ffc36=0x0;_0x5c0f9c['PWEjl'](_0x3ffc36,_0xa4937[_0x490e82(0x1de)]);_0x3ffc36++){const _0x292091=_0xa4937[_0x3ffc36];let _0xb9a2f9;if(_0x292091['status']===_0x5c0f9c[_0x490e82(0x1b2)]&&_0x292091[_0x490e82(0x17f)]===_0x5c0f9c['NGLZU'])_0xb9a2f9='✅';else{if(_0x292091['status']===_0x490e82(0x12d))_0xb9a2f9='🟢';else{if(_0x5c0f9c['plMSb'](_0x292091['status'],_0x5c0f9c['FfVUN']))_0xb9a2f9='🟠';else{if(_0x292091[_0x490e82(0x1e6)]===_0x5c0f9c['hgwhS'])_0xb9a2f9='🛑';else{if(_0x292091['status']==='closed')_0xb9a2f9='⛔';else _0x292091[_0x490e82(0x1e6)]===_0x5c0f9c[_0x490e82(0x15b)]?_0xb9a2f9='⏳':_0xb9a2f9='⬜';}}}}const _0x206ab1=_0x5c0f9c['GJNyt'](_0x292091['version'],0x1)?'\x20(v'+_0x292091['version']+')':'',_0x112186=_0x292091['version']>0x1&&_0x292091[_0x490e82(0x1e5)]&&_0x5c0f9c['ivzyP'](_0x292091['status'],_0x5c0f9c['xRjPL'])&&_0x292091['status']!==_0x5c0f9c['oezZn']?_0x490e82(0x174):'';console['log'](_0x490e82(0x189)+(_0x3ffc36+0x1)+'.\x20'+_0xb9a2f9+'\x20'+_0x292091['description']+_0x206ab1+_0x112186);_0x5c0f9c[_0x490e82(0x1a7)](_0x292091[_0x490e82(0x1e6)],_0x5c0f9c['hgwhS'])&&_0x292091[_0x490e82(0x13f)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x292091['blockedReason']);_0x292091[_0x490e82(0x1e6)]===_0x5c0f9c[_0x490e82(0x11d)]&&_0x292091[_0x490e82(0x140)]&&console[_0x490e82(0x1bb)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x292091[_0x490e82(0x140)]);if(_0x292091[_0x490e82(0x1e6)]===_0x5c0f9c['xRjPL']&&_0x292091['terminalReason']===_0x490e82(0x181))console[_0x490e82(0x1bb)](_0x490e82(0x1b6));else _0x5c0f9c['Yvoex'](_0x292091[_0x490e82(0x1e6)],_0x490e82(0x16c))&&_0x292091[_0x490e82(0x18c)]&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x292091['canceledReason']);}}}export async function featureCreate(_0x2bdca7,_0x3e4554){const _0x2f2fc5=_0x24d357,_0x1e8222={'CvTmO':function(_0x329532){return _0x329532();},'MbqdY':function(_0x38b831,_0x1200f4){return _0x38b831===_0x1200f4;},'EyscD':function(_0x3d5351,_0xd39390){return _0x3d5351(_0xd39390);},'MBFQR':function(_0x387f06,_0x5dc229,_0x24a17d){return _0x387f06(_0x5dc229,_0x24a17d);},'ossGH':function(_0x1b0b31,_0x5131e8,_0x330163){return _0x1b0b31(_0x5131e8,_0x330163);}},{envNames:_0x337eca}=await getEnvNames();if(_0x337eca['length']===0x0&&!process[_0x2f2fc5(0x1a5)][_0x2f2fc5(0x149)]){let _0x30d623=0x0;try{_0x30d623=(await _0x1e8222[_0x2f2fc5(0x142)](listCloudProfiles))['length'];}catch{_0x30d623=0x1;}_0x1e8222['MbqdY'](_0x30d623,0x0)&&console[_0x2f2fc5(0x15e)]('\x0a'+formatProfileRequiredMessage(_0x503db0=>bold(_0x503db0)));}const _0x364130=_0x3e4554['scenarios']?_0x3e4554[_0x2f2fc5(0x16f)]['map'](_0xa49a06=>_0xa49a06['trim']()):[],_0x11b503=_0x1e8222[_0x2f2fc5(0x142)](getGitRepoUrl),_0x3872dc=_0x1e8222['CvTmO'](getGitBranch);console['log'](_0x2f2fc5(0x16b));const _0x1fcf90=await createFeature({'name':_0x2bdca7,'description':_0x3e4554[_0x2f2fc5(0x1e7)],'checklist':_0x364130,'gitRepoUrl':_0x11b503,'gitBranch':_0x3872dc});await _0x1e8222['EyscD'](setActiveFeatureId,_0x1fcf90['id']),await tryStartCurrentSession(_0x1fcf90['id']);const _0x5c4896=process['env'][_0x2f2fc5(0x146)];_0x5c4896&&_0x1e8222['MBFQR'](registerSession,_0x5c4896,_0x1fcf90['id']),console[_0x2f2fc5(0x1bb)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x1fcf90['id']),_0x1e8222[_0x2f2fc5(0x1aa)](displayFeature,_0x1fcf90,_0x1fcf90['checklistItems']),console[_0x2f2fc5(0x1bb)](_0x2f2fc5(0x176));}export async function featureList(_0x3146b3){const _0x38c2ce=_0x24d357,_0x43b31b={'rEjer':function(_0x493d73){return _0x493d73();},'jWTVE':function(_0x40a185,_0x27ee5a){return _0x40a185===_0x27ee5a;},'oPBPk':'\x0aNo\x20feature\x20reviews\x20found.','aVLLZ':_0x38c2ce(0x11a),'efpmj':function(_0x54b281,_0x321522){return _0x54b281(_0x321522);},'FRVkL':function(_0x2a41fc,_0x58dc20){return _0x2a41fc!==_0x58dc20;}},_0x53e9ef={'limit':_0x3146b3['limit']??0xa,'offset':_0x3146b3['offset']??0x0,'includeDeleted':_0x3146b3[_0x38c2ce(0x186)]};_0x3146b3['currentBranch']&&(_0x53e9ef['gitRepoUrl']=getGitRepoUrl(),_0x53e9ef[_0x38c2ce(0x1c9)]=_0x43b31b['rEjer'](getGitBranch));const _0x565c33=await listFeatures(_0x53e9ef);if(_0x43b31b['jWTVE'](_0x565c33['items'][_0x38c2ce(0x1de)],0x0)){console['log'](_0x43b31b['oPBPk']);return;}const _0x4c8ad6=_0x565c33['totalCount']>_0x565c33['items']['length']?_0x38c2ce(0x11b)+_0x565c33[_0x38c2ce(0x13c)]['length']+_0x38c2ce(0x151)+_0x565c33[_0x38c2ce(0x133)]:_0x565c33['totalCount']+_0x38c2ce(0x1ea);console['log']('\x0a'+_0x4c8ad6+':\x0a');for(const _0x229080 of _0x565c33[_0x38c2ce(0x13c)]){const _0x5567a8=_0x43b31b[_0x38c2ce(0x159)][_0x38c2ce(0x1e9)]('|');let _0x2ba154=0x0;while(!![]){switch(_0x5567a8[_0x2ba154++]){case'0':console[_0x38c2ce(0x1bb)](''+_0x229080['name']);continue;case'1':_0x229080[_0x38c2ce(0x1c9)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x229080['gitBranch']);continue;case'2':console['log'](_0x38c2ce(0x1b5)+new Date(_0x229080['createdAt'])[_0x38c2ce(0x1e2)]());continue;case'3':_0x229080['stats']&&console[_0x38c2ce(0x1bb)](_0x38c2ce(0x152)+_0x43b31b[_0x38c2ce(0x12a)](getProgressDisplay,_0x229080['stats']));continue;case'4':console['log']('');continue;case'5':console['log'](_0x38c2ce(0x1c5)+_0x229080['id']);continue;}break;}}const _0x540c14=_0x53e9ef[_0x38c2ce(0x150)]??0xa,_0x4729fc=(_0x53e9ef[_0x38c2ce(0x1d5)]??0x0)+_0x565c33['items']['length'];if(_0x4729fc<_0x565c33[_0x38c2ce(0x133)]){const _0x21a8ee=_0x43b31b[_0x38c2ce(0x19f)](_0x540c14,0xa)?'\x20--limit\x20'+_0x540c14:'',_0x2166e1=_0x3146b3[_0x38c2ce(0x1c7)]?_0x38c2ce(0x156):'',_0x5e79f4=_0x3146b3['includeDeleted']?'\x20--include-deleted':'';console['log'](_0x38c2ce(0x19c)+_0x4729fc+_0x21a8ee+_0x2166e1+_0x5e79f4);}}export async function featureShow(_0x3e8ec5){const _0x3c7780={'jqtFI':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x58d156=_0x3e8ec5||await getActiveFeatureId();if(!_0x58d156)throw new Error(_0x3c7780['jqtFI']);const _0x464319=await getFeature(_0x58d156);displayFeature(_0x464319,_0x464319['checklistItems']);}export async function featureResume(_0x4ce80e){const _0x1a7426=_0x24d357,_0x3a4d81={'VTxzb':function(_0x2c391f){return _0x2c391f();},'GKbOg':function(_0x158743,_0x45c24e){return _0x158743(_0x45c24e);},'YIvSd':function(_0x239663,_0x40a60b,_0x53b5db){return _0x239663(_0x40a60b,_0x53b5db);},'North':function(_0x58a594){return _0x58a594();},'CnbIP':_0x1a7426(0x17e),'xtLsu':'any','wxfzr':function(_0x1f7966,_0x1d2621){return _0x1f7966===_0x1d2621;},'IoBgz':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','hKEEB':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','wCyHW':function(_0x4ef9fd,_0x4fc0e2){return _0x4ef9fd!==_0x4fc0e2;},'psuBM':function(_0x50f99f,_0x2fd2ed){return _0x50f99f(_0x2fd2ed);},'TxuyN':function(_0x2c8891,_0xea6c59,_0x5be473){return _0x2c8891(_0xea6c59,_0x5be473);}};if(_0x4ce80e){const _0x3e107d=await getFeature(_0x4ce80e);await setActiveFeatureId(_0x3e107d['id']);const _0x512cc0=_0x3a4d81['VTxzb'](getGitBranch);_0x512cc0&&_0x512cc0!==_0x3e107d[_0x1a7426(0x1c9)]&&(await updateFeature(_0x3e107d['id'],{'gitBranch':_0x512cc0}),console[_0x1a7426(0x1bb)](_0x1a7426(0x1a0)+_0x512cc0));console[_0x1a7426(0x1bb)](_0x1a7426(0x1c0)+_0x3e107d['name']+'\x20('+_0x3e107d['id']+')'),await _0x3a4d81[_0x1a7426(0x16a)](tryStartCurrentSession,_0x3e107d['id']);const _0x4822a5=process[_0x1a7426(0x1a5)]['CLAUDE_SESSION_ID'];_0x4822a5&&_0x3a4d81['YIvSd'](registerSession,_0x4822a5,_0x3e107d['id']);displayFeature(_0x3e107d,_0x3e107d[_0x1a7426(0x147)]),await _0x3a4d81['GKbOg'](printFeedbackNudge,_0x3e107d['id']);return;}const _0x330419=_0x3a4d81[_0x1a7426(0x172)](getGitRepoUrl),_0x1dca65=_0x3a4d81['VTxzb'](getGitBranch);if(!_0x330419&&!_0x1dca65)throw new Error(_0x3a4d81['CnbIP']);console[_0x1a7426(0x1bb)](_0x1a7426(0x119)+(_0x330419||_0x3a4d81['xtLsu'])+_0x1a7426(0x1d1)+(_0x1dca65||'any')+_0x1a7426(0x195));const _0x3f35b4=await listFeatures({'gitRepoUrl':_0x330419,'gitBranch':_0x1dca65}),_0x22ffed=_0x3f35b4['items'][_0x1a7426(0x14b)](_0x4182b0=>_0x4182b0[_0x1a7426(0x1e6)]?_0x4182b0[_0x1a7426(0x1e6)]!==_0x1a7426(0x12d):!_0x4182b0[_0x1a7426(0x1cb)]);if(_0x3a4d81[_0x1a7426(0x135)](_0x22ffed[_0x1a7426(0x1de)],0x0)){console[_0x1a7426(0x1bb)](_0x1a7426(0x1c6)),console[_0x1a7426(0x1bb)](_0x1a7426(0x180));return;}let _0x5c5179;if(_0x22ffed['length']===0x1)_0x5c5179=_0x22ffed[0x0];else{const _0x1dba5e=process['stdin']['isTTY']&&process['stdout'][_0x1a7426(0x1bf)];if(!_0x1dba5e){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4f2029 of _0x22ffed){console[_0x1a7426(0x1bb)]('\x20\x20'+_0x4f2029[_0x1a7426(0x1d6)]),console[_0x1a7426(0x1bb)]('\x20\x20\x20\x20\x20ID:\x20'+_0x4f2029['id']),_0x4f2029[_0x1a7426(0x1e8)]&&console[_0x1a7426(0x1bb)](_0x1a7426(0x143)+getProgressDisplay(_0x4f2029['stats'])),_0x4f2029[_0x1a7426(0x1c9)]&&console[_0x1a7426(0x1bb)](_0x1a7426(0x194)+_0x4f2029[_0x1a7426(0x1c9)]);}throw new Error(_0x3a4d81['IoBgz']);}const {selected:_0x310b70}=await _0x32f418[_0x1a7426(0x136)]([{'type':'list','name':_0x1a7426(0x13e),'message':_0x3a4d81[_0x1a7426(0x19a)],'choices':_0x22ffed[_0x1a7426(0x1bc)](_0x5041b4=>({'name':_0x5041b4['name']+'\x20('+_0x5041b4['id']+')','value':_0x5041b4['id']}))}]);_0x5c5179=_0x22ffed['find'](_0x91d30f=>_0x91d30f['id']===_0x310b70);}await _0x3a4d81[_0x1a7426(0x16a)](setActiveFeatureId,_0x5c5179['id']);_0x1dca65&&_0x3a4d81[_0x1a7426(0x162)](_0x1dca65,_0x5c5179[_0x1a7426(0x1c9)])&&(await updateFeature(_0x5c5179['id'],{'gitBranch':_0x1dca65}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x1dca65));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x5c5179[_0x1a7426(0x1d6)]+'\x20('+_0x5c5179['id']+')'),await _0x3a4d81[_0x1a7426(0x1e1)](tryStartCurrentSession,_0x5c5179['id']);const _0x527527=await getFeature(_0x5c5179['id']),_0x259e65=process['env'][_0x1a7426(0x146)];_0x259e65&®isterSession(_0x259e65,_0x527527['id']),_0x3a4d81[_0x1a7426(0x18a)](displayFeature,_0x527527,_0x527527[_0x1a7426(0x147)]),await printFeedbackNudge(_0x527527['id']);}async function printFeedbackNudge(_0x39bff1){const _0x443232=_0x24d357,_0x45b0e0={'JytAy':function(_0x40a059,_0x2463b6){return _0x40a059(_0x2463b6);},'jcvWc':function(_0xb6b19f,_0x4e123a){return _0xb6b19f>_0x4e123a;}};try{const {items:_0x3a0c88}=await _0x45b0e0[_0x443232(0x197)](getActionItems,_0x39bff1);let _0x377b2f=0x0,_0x179758=0x0;for(const _0xa59cd7 of _0x3a0c88){const _0x2bbbc8=await getItemFeedback(_0x39bff1,_0xa59cd7['id']);_0x45b0e0['jcvWc'](_0x2bbbc8[_0x443232(0x17b)]['length'],0x0)&&(_0x377b2f+=_0x2bbbc8['unaddressedComments']['length'],_0x179758++);}_0x377b2f>0x0&&(console[_0x443232(0x1bb)]('\x0a⚠️\x20\x20'+_0x377b2f+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x179758+_0x443232(0x11c)),console[_0x443232(0x1bb)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x88daee){const _0x574a30=_0x24d357,_0x5d56b6={'EqcGt':function(_0x37bac2,_0x4dfa29,_0x5ac92c){return _0x37bac2(_0x4dfa29,_0x5ac92c);}};try{const {sessions:_0x3f695f}=await listFeatureSessions(_0x88daee),_0x279e57=_0x3f695f['find'](_0x3428c8=>_0x3428c8['status']==='ready');_0x279e57&&(await _0x5d56b6['EqcGt'](startSession,_0x88daee,_0x279e57['id']),console[_0x574a30(0x1bb)](_0x574a30(0x191)+_0x279e57['iteration']));}catch{}}export async function featureReport(_0x4598b2,_0x2e56eb){const _0x575205=_0x24d357,_0x17c076={'pxgpB':function(_0x17c897){return _0x17c897();},'qTxoV':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','IfFTA':function(_0x228099,_0x3e952d,_0x32bd83,_0xef5f23){return _0x228099(_0x3e952d,_0x32bd83,_0xef5f23);},'qaDwI':function(_0x30b7cd){return _0x30b7cd();},'EtUky':_0x575205(0x170),'EsGKu':function(_0x4d3a97,_0x2f39ad,_0x45302d){return _0x4d3a97(_0x2f39ad,_0x45302d);},'auhCy':function(_0x3e0ae5,_0x4bf80f,_0xd7fe9d,_0x30629e){return _0x3e0ae5(_0x4bf80f,_0xd7fe9d,_0x30629e);}},_0x55ba14=_0x4598b2||await _0x17c076['pxgpB'](getActiveFeatureId);if(!_0x55ba14)throw new Error(_0x17c076[_0x575205(0x1b0)]);console[_0x575205(0x1bb)]('\x0aGenerating\x20report...');const _0x1e8d2a=await getFeatureReportMarkdown(_0x55ba14,{'style':_0x2e56eb['style']}),_0x19be0c=_0x2e56eb['output']||_0x17c076[_0x575205(0x19b)](join,_0x17c076[_0x575205(0x187)](getRangerDir),_0x17c076['EtUky'],_0x55ba14+'.md'),_0x241646=_0x17c076[_0x575205(0x14a)](join,_0x19be0c,'..');!existsSync(_0x241646)&&await _0x17c076[_0x575205(0x14a)](mkdir,_0x241646,{'recursive':!![]}),await _0x17c076['auhCy'](writeFile,_0x19be0c,_0x1e8d2a,_0x575205(0x125)),console[_0x575205(0x1bb)]('\x0a✅\x20Report\x20generated:\x20'+_0x19be0c);}function getScenarioResult(_0x55698b){const _0x329803=_0x24d357,_0x3ff30b={'LIfdF':function(_0xe1fb58,_0x54ce4b){return _0xe1fb58===_0x54ce4b;},'iyPuo':'closed','yCbKc':'in_progress'};if(_0x3ff30b[_0x329803(0x175)](_0x55698b[_0x329803(0x1e6)],_0x3ff30b['iyPuo']))return _0x55698b['terminalReason']??_0x329803(0x16c);if(_0x55698b['status']===_0x329803(0x1a8))return _0x3ff30b['yCbKc'];return _0x55698b['status'];}function getScenarioRationale(_0xf222c5,_0x379e5f){const _0x3e419b=_0x24d357,_0x4df157={'XMFpO':_0x3e419b(0x18f)},_0x558267=_0x4df157['XMFpO'][_0x3e419b(0x1e9)]('|');let _0x5ec274=0x0;while(!![]){switch(_0x558267[_0x5ec274++]){case'0':if(_0xf222c5['canceledReason'])return _0xf222c5['canceledReason'];continue;case'1':if(_0x379e5f)return _0x379e5f;continue;case'2':return null;case'3':if(_0xf222c5['notes'])return _0xf222c5[_0x3e419b(0x1a9)];continue;case'4':if(_0xf222c5[_0x3e419b(0x13f)])return _0xf222c5[_0x3e419b(0x13f)];continue;case'5':if(_0xf222c5[_0x3e419b(0x140)])return _0xf222c5[_0x3e419b(0x140)];continue;}break;}}export async function featureReportPrDescription(_0x2a1573,_0x1e9c4a){const _0x42d04e=_0x24d357,_0x329ec5={'HMwkl':function(_0x5dcc16){return _0x5dcc16();},'cOGZJ':_0x42d04e(0x12c),'pSsQs':function(_0x3ae8c3,_0x2f8bf1){return _0x3ae8c3===_0x2f8bf1;},'WzfpX':_0x42d04e(0x18d),'Nvotv':'\x0aAvailable\x20scenarios:','hAYUL':function(_0x31aa16,_0x41f94d){return _0x31aa16+_0x41f94d;},'GNokD':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x1deefc=_0x2a1573||await _0x329ec5[_0x42d04e(0x1ce)](getActiveFeatureId);if(!_0x1deefc)throw new Error(_0x329ec5[_0x42d04e(0x1df)]);const _0x553640=await getFeature(_0x1deefc),_0x4c322b=_0x553640['checklistItems']||[],_0x5cbec7=getCurrentSessionItems(_0x553640,_0x4c322b);_0x329ec5[_0x42d04e(0x183)](_0x5cbec7['length'],0x0)&&(console['error'](_0x329ec5[_0x42d04e(0x1be)]),process[_0x42d04e(0x15a)](0x1));const _0x18e921=_0x1e9c4a['excludeScenarios']??[],_0x31985a=_0x18e921[_0x42d04e(0x14b)](_0x5df255=>!Number['isInteger'](_0x5df255)||_0x5df255<0x1||_0x5df255>_0x5cbec7['length']);if(_0x31985a[_0x42d04e(0x1de)]>0x0){console[_0x42d04e(0x165)](_0x42d04e(0x123)+_0x31985a['join'](',\x20')),console[_0x42d04e(0x1bb)](_0x329ec5['Nvotv']);for(let _0x9b0d88=0x0;_0x9b0d88<_0x5cbec7['length'];_0x9b0d88++){console['log']('\x20\x20'+_0x329ec5['hAYUL'](_0x9b0d88,0x1)+'.\x20'+_0x5cbec7[_0x9b0d88]['description']);}process['exit'](0x1);}const _0xeb590f=new Set(_0x18e921[_0x42d04e(0x1bc)](_0x2186dd=>_0x2186dd-0x1)),_0x2a13da=_0x5cbec7[_0x42d04e(0x14b)]((_0x2c05c7,_0x1f9445)=>!_0xeb590f[_0x42d04e(0x1a6)](_0x1f9445));_0x2a13da[_0x42d04e(0x1de)]===0x0&&(console[_0x42d04e(0x165)](_0x329ec5['GNokD']),process['exit'](0x1));if(_0x1e9c4a[_0x42d04e(0x12b)])await outputJsonReport(_0x1deefc,_0x553640,_0x2a13da);else{const _0x26ccf8=await getFeatureReportMarkdown(_0x1deefc,{'itemIds':_0x2a13da['map'](_0x404c97=>_0x404c97['id'])});process['stdout'][_0x42d04e(0x1d7)](_0x26ccf8['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x235a44,_0xdf0dd2,_0xd8ae90){const _0x2da812=_0x24d357,_0x55d5d3={'YSqCy':function(_0x5e0ed1,_0xb5c459){return _0x5e0ed1>_0xb5c459;},'fesvJ':function(_0x7b8ee9,_0x46b74c){return _0x7b8ee9(_0x46b74c);},'dyoqF':function(_0x51c535){return _0x51c535();},'gWKsf':function(_0x54fba2,_0x2d2821){return _0x54fba2(_0x2d2821);},'JUbfe':function(_0x4a114d,_0x51192b){return _0x4a114d+_0x51192b;}},_0x1da074=_0x55d5d3['dyoqF'](getApiBaseUrl),_0x4fc319=await _0x55d5d3['gWKsf'](getFeatureReport,_0x235a44),_0x4e72a2=new Map(_0x4fc319['checklistItems']['map'](_0x1b352a=>[_0x1b352a['id'],_0x1b352a])),_0x5d1290=await Promise['all'](_0xd8ae90['map'](async _0x5e6fa1=>{const _0x3d6fd5=_0x50f1,_0x10e16b=_0x4e72a2['get'](_0x5e6fa1['id']),_0x1e5426=_0x10e16b?.[_0x3d6fd5(0x13a)]??null;let _0x21325b=[];if(_0x5e6fa1[_0x3d6fd5(0x1a2)])try{const {steps:_0x114821}=await getBrowserSessionSteps(_0x5e6fa1[_0x3d6fd5(0x1a2)]);_0x55d5d3['YSqCy'](_0x114821[_0x3d6fd5(0x1de)],0x0)&&(_0x21325b=_0x114821[_0x3d6fd5(0x1bc)](_0x71fc87=>{const _0x49711c=_0x3d6fd5,_0x4c53b4=_0x71fc87['assets']['find'](_0x26eb67=>_0x26eb67[_0x49711c(0x1d9)]===_0x49711c(0x188)&&_0x26eb67['timing']==='after')??_0x71fc87['assets']['find'](_0x4c5205=>_0x4c5205[_0x49711c(0x1d9)]===_0x49711c(0x188));let _0x4006d=null,_0x149350=null;if(_0x4c53b4){const _0x41e426=_0x4c53b4['storage']['location']['split']('/')[_0x49711c(0x196)]();_0x4006d=_0x1da074+_0x49711c(0x184)+_0x5e6fa1['browserSessionId']+'/artifacts/'+_0x41e426,_0x41e426&&(_0x149350=_0x41e426['replace'](/\.\w+$/,'')[_0x49711c(0x182)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x149350||_0x71fc87['description']||_0x71fc87[_0x49711c(0x1a3)]||'Step\x20'+_0x71fc87['position'],'screenshot':_0x4006d,'is_key_step':_0x71fc87['isKeyStep']};}));}catch{}return _0x21325b['length']===0x0&&_0x1e5426?.[_0x3d6fd5(0x139)]&&(_0x21325b=_0x1e5426['screenshotUrls'][_0x3d6fd5(0x1bc)]((_0x30f1cd,_0x31ec9d)=>({'description':_0x3d6fd5(0x15c)+(_0x31ec9d+0x1),'screenshot':_0x30f1cd,'is_key_step':![]}))),{'description':_0x5e6fa1['description'],'result':_0x55d5d3['fesvJ'](getScenarioResult,_0x5e6fa1),'rationale':getScenarioRationale(_0x5e6fa1,_0x1e5426?.[_0x3d6fd5(0x18e)]),'steps':_0x21325b};})),_0x172995={'url':_0xdf0dd2[_0x2da812(0x1ad)],'scenarios':_0x5d1290};process['stdout']['write'](_0x55d5d3['JUbfe'](JSON[_0x2da812(0x1ab)](_0x172995,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x2280b6){const _0x53485f=_0x24d357,_0x4c7435={'AwIXB':function(_0x27c757,_0x4df0a4){return _0x27c757(_0x4df0a4);},'mbFrY':_0x53485f(0x118),'fyFGW':'completed','mjqXf':'\x0a✅\x20Session\x20is\x20already\x20completed.','WMSnF':'\x0aConcluding\x20session...'},_0x1c6dc8=_0x2280b6||await getActiveFeatureId();if(!_0x1c6dc8)throw new Error(_0x53485f(0x145));const _0x10082b=await _0x4c7435[_0x53485f(0x1c4)](getFeature,_0x1c6dc8);if(!_0x10082b[_0x53485f(0x199)])throw new Error(_0x53485f(0x1e0));const {sessions:_0x3b9c39}=await listFeatureSessions(_0x1c6dc8),_0x323f56=_0x3b9c39['find'](_0x2f193e=>_0x2f193e['id']===_0x10082b['currentSessionId']);if(!_0x323f56)throw new Error(_0x4c7435['mbFrY']);if(_0x323f56[_0x53485f(0x1e6)]===_0x4c7435[_0x53485f(0x157)]){console['log'](_0x4c7435[_0x53485f(0x1bd)]);return;}if(_0x323f56[_0x53485f(0x1e6)]!==_0x53485f(0x15f))throw new Error(_0x53485f(0x1cd)+_0x323f56[_0x53485f(0x1e6)]);console[_0x53485f(0x1bb)](_0x4c7435['WMSnF']),await concludeSession(_0x1c6dc8,_0x10082b['currentSessionId']),console[_0x53485f(0x1bb)](_0x53485f(0x1d3)+_0x323f56[_0x53485f(0x11f)]+_0x53485f(0x17d)),console[_0x53485f(0x1bb)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x1eb9f6){const _0x510adf=_0x24d357,_0x374dde={'EuWpR':function(_0x5c1014){return _0x5c1014();},'PLqIh':_0x510adf(0x12c),'NWuGu':function(_0x572761,_0x3b3181){return _0x572761(_0x3b3181);}},_0x21c25f=_0x1eb9f6||await _0x374dde['EuWpR'](getActiveFeatureId);if(!_0x21c25f)throw new Error(_0x374dde[_0x510adf(0x16d)]);const _0x5eb6c2=await _0x374dde['NWuGu'](getFeature,_0x21c25f);console[_0x510adf(0x1bb)](_0x510adf(0x120)+_0x5eb6c2[_0x510adf(0x1d6)]+'\x0a');const {sessions:_0x227d91}=await _0x374dde[_0x510adf(0x163)](listFeatureSessions,_0x21c25f);if(_0x227d91['length']===0x0){console['log']('No\x20sessions\x20found.');return;}for(const _0x364b65 of _0x227d91){const _0x3a34b2=_0x364b65[_0x510adf(0x1e6)]===_0x510adf(0x185)?'✅':_0x364b65[_0x510adf(0x1e6)]==='in_progress'?'🔄':'▶️';console[_0x510adf(0x1bb)](_0x3a34b2+_0x510adf(0x166)+_0x364b65[_0x510adf(0x11f)]+'\x20('+_0x364b65['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x364b65['status']),console[_0x510adf(0x1bb)]('\x20\x20\x20Created:\x20'+new Date(_0x364b65[_0x510adf(0x178)])['toLocaleString']()),_0x364b65['completedAt']&&console[_0x510adf(0x1bb)](_0x510adf(0x171)+new Date(_0x364b65[_0x510adf(0x1cb)])['toLocaleString']()),console[_0x510adf(0x1bb)]('');}}export async function featureAddScenario(_0x53e11c,_0x54ae61){const _0x2f81ad=_0x24d357,_0x55638d={'DiGJX':function(_0x3941bf){return _0x3941bf();},'GHCoo':function(_0x3ffafd,_0x50c422,_0xbd55e6){return _0x3ffafd(_0x50c422,_0xbd55e6);},'LOQQp':function(_0x1bb9bb,_0x496e69){return _0x1bb9bb(_0x496e69);}},_0xac4ffc=_0x54ae61||await _0x55638d[_0x2f81ad(0x1a4)](getActiveFeatureId);if(!_0xac4ffc)throw new Error(_0x2f81ad(0x145));const _0x4b0dc3=await getFeature(_0xac4ffc);if(_0x4b0dc3[_0x2f81ad(0x15d)]&&!_0x4b0dc3['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x4b0dc3[_0x2f81ad(0x1ad)]);await _0x55638d['GHCoo'](createChecklistItem,_0xac4ffc,_0x53e11c);const _0x283a75=await _0x55638d['LOQQp'](getFeature,_0xac4ffc);console[_0x2f81ad(0x1bb)](_0x2f81ad(0x167)),displayFeature(_0x283a75,_0x283a75['checklistItems']);}export async function featureEditScenario(_0x1da771,_0x3738b0){const _0x10aa4b=_0x24d357,_0x2d9ebf={'MGVuE':function(_0x277996){return _0x277996();},'QKYlt':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','HNFpg':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','klYQO':function(_0x5599f6,_0x340884){return _0x5599f6(_0x340884);},'dQTyC':function(_0x3dca38,_0xf8e7a4){return _0x3dca38===_0xf8e7a4;},'OTGDK':_0x10aa4b(0x173),'GztSh':_0x10aa4b(0x1dd),'PMZCM':function(_0x1da774,_0x58fd28){return _0x1da774+_0x58fd28;},'qEKpr':function(_0x3cb902,_0x433dae){return _0x3cb902-_0x433dae;},'CKgxp':function(_0x52509a,_0x293b8d){return _0x52509a+_0x293b8d;},'EKwUC':function(_0x568064,_0x107df3,_0x231b68,_0x3a080c){return _0x568064(_0x107df3,_0x231b68,_0x3a080c);},'cYABu':function(_0x437ca5,_0x4cc404,_0x1bb7f5){return _0x437ca5(_0x4cc404,_0x1bb7f5);}},_0x4fff97=_0x3738b0['id']||await _0x2d9ebf[_0x10aa4b(0x1f0)](getActiveFeatureId);!_0x4fff97&&(console['error'](_0x2d9ebf['QKYlt']),console['error'](_0x2d9ebf['HNFpg']),process[_0x10aa4b(0x15a)](0x1));const _0x3da1a9=await _0x2d9ebf['klYQO'](getFeature,_0x4fff97);_0x3da1a9[_0x10aa4b(0x15d)]&&!_0x3da1a9['latestReview'][_0x10aa4b(0x1eb)]&&(console['error'](_0x10aa4b(0x1da)),console[_0x10aa4b(0x165)](_0x10aa4b(0x1b1)),console[_0x10aa4b(0x165)]('\x20\x20'+_0x3da1a9['dashboardUrl']),process[_0x10aa4b(0x15a)](0x1));const _0x3c0394=_0x3da1a9[_0x10aa4b(0x147)]||[];_0x2d9ebf['dQTyC'](_0x3c0394[_0x10aa4b(0x1de)],0x0)&&(console['error'](_0x2d9ebf['OTGDK']),process[_0x10aa4b(0x15a)](0x1));if(_0x2d9ebf[_0x10aa4b(0x1b8)](_0x3738b0['scenario'],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x2d9ebf['GztSh']);for(let _0x308240=0x0;_0x308240<_0x3c0394[_0x10aa4b(0x1de)];_0x308240++){console[_0x10aa4b(0x1bb)]('\x20\x20'+_0x2d9ebf['PMZCM'](_0x308240,0x1)+'.\x20'+_0x3c0394[_0x308240]['description']);}process[_0x10aa4b(0x15a)](0x1);}const _0x26f630=_0x2d9ebf[_0x10aa4b(0x169)](_0x3738b0[_0x10aa4b(0x14f)],0x1);if(_0x26f630<0x0||_0x26f630>=_0x3c0394[_0x10aa4b(0x1de)]){console['error'](_0x10aa4b(0x14d)+_0x3738b0['scenario']+_0x10aa4b(0x198)+_0x3c0394[_0x10aa4b(0x1de)]+'\x20scenarios.'),console['log']('\x0aAvailable\x20scenarios:');for(let _0xf5f409=0x0;_0xf5f409<_0x3c0394[_0x10aa4b(0x1de)];_0xf5f409++){console['log']('\x20\x20'+_0x2d9ebf[_0x10aa4b(0x1cc)](_0xf5f409,0x1)+'.\x20'+_0x3c0394[_0xf5f409][_0x10aa4b(0x1e7)]);}process[_0x10aa4b(0x15a)](0x1);}const _0x56bc76=_0x3c0394[_0x26f630];await _0x2d9ebf['EKwUC'](updateChecklistItem,_0x4fff97,_0x56bc76['id'],{'description':_0x1da771});const _0x81cbe=await _0x2d9ebf['klYQO'](getFeature,_0x4fff97);console[_0x10aa4b(0x1bb)]('\x0a✅\x20Scenario\x20updated'),_0x2d9ebf['cYABu'](displayFeature,_0x81cbe,_0x81cbe['checklistItems']);}async function downloadFeedbackImage(_0x608aac,_0x1ec51e){const _0x2409ca=_0x24d357,_0x2b2239={'YiITU':'feedback-images','FoxFX':function(_0xdfc907,_0x229236,_0x400188){return _0xdfc907(_0x229236,_0x400188);},'pzAlP':function(_0x2cb0f6,_0x11ee67){return _0x2cb0f6(_0x11ee67);}};try{const _0x40444f=join(getRangerDir(),_0x2b2239['YiITU']);await mkdir(_0x40444f,{'recursive':!![]});const _0x4537e0=_0x2b2239[_0x2409ca(0x131)](join,_0x40444f,'comment_'+_0x1ec51e+'.png'),_0x37efc6=await _0x2b2239['pzAlP'](fetch,_0x608aac);if(!_0x37efc6['ok'])return null;const _0x4ed454=Buffer[_0x2409ca(0x11e)](await _0x37efc6[_0x2409ca(0x161)]());return await _0x2b2239['FoxFX'](writeFile,_0x4537e0,_0x4ed454),_0x4537e0;}catch{return null;}}export async function featureGetReview(_0x5f18e6){const _0x312f0f=_0x24d357,_0x39c98d={'RdpVj':function(_0x591bf0){return _0x591bf0();},'guLad':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','FYPLP':_0x312f0f(0x17a),'yciUj':function(_0x59a31f,_0x4303ce){return _0x59a31f>_0x4303ce;},'CvsjS':'en-US','KRBfa':'point','LaeAm':function(_0x9d00e2,_0x3fa25e){return _0x9d00e2+_0x3fa25e;}},_0x3bed7b=_0x5f18e6||await _0x39c98d[_0x312f0f(0x16e)](getActiveFeatureId);if(!_0x3bed7b)throw new Error(_0x39c98d[_0x312f0f(0x1dc)]);const _0x2594ae=await getFeature(_0x3bed7b),{items:_0xce874f}=await getActionItems(_0x3bed7b);console[_0x312f0f(0x1bb)]('\x0a📋\x20Feedback\x20for:\x20'+_0x2594ae[_0x312f0f(0x1d6)]+'\x20('+_0x2594ae['id']+')\x0a');if(_0xce874f['length']===0x0){console[_0x312f0f(0x1bb)](_0x39c98d[_0x312f0f(0x1b3)]);return;}for(let _0x45fa13=0x0;_0x45fa13<_0xce874f[_0x312f0f(0x1de)];_0x45fa13++){const _0x115067=_0xce874f[_0x45fa13],_0x5b0ab1=_0x39c98d[_0x312f0f(0x17c)](_0x115067[_0x312f0f(0x124)],0x1)?'\x20(v'+_0x115067[_0x312f0f(0x124)]+')':'',_0x4d0cde=await getItemFeedback(_0x3bed7b,_0x115067['id']);if(_0x4d0cde['unaddressedComments'][_0x312f0f(0x1de)]>0x0){console[_0x312f0f(0x1bb)](_0x312f0f(0x1d4)+(_0x45fa13+0x1)+_0x312f0f(0x134)+_0x115067['description']+'\x22'+_0x5b0ab1+_0x312f0f(0x12e)+_0x4d0cde[_0x312f0f(0x17b)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x1589e2 of _0x4d0cde[_0x312f0f(0x17b)]){const _0x1896fb=new Date(_0x1589e2['createdAt'])['toLocaleDateString'](_0x39c98d['CvsjS'],{'month':'short','day':_0x312f0f(0x130)}),_0x2f73c5=_0x1589e2[_0x312f0f(0x1ef)]||_0x1589e2['authorEmail']||'Unknown';console['log']('\x20\x20💬\x20'+_0x2f73c5+'\x20('+_0x1896fb+_0x312f0f(0x160)+_0x1589e2['content']+'\x22');if(_0x1589e2['assetUrl']){const _0x2f3876=await downloadFeedbackImage(_0x1589e2[_0x312f0f(0x14c)],_0x1589e2['id']);_0x2f3876&&console[_0x312f0f(0x1bb)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x2f3876);}if(_0x1589e2[_0x312f0f(0x148)]){const _0xadd8aa=_0x1589e2[_0x312f0f(0x148)]['selector'][_0x312f0f(0x1e9)]('\x20>\x20')['pop']()?.[_0x312f0f(0x1e9)](':')[0x0]||'element',_0x1b16ed=_0x1589e2['domRef']['textContent']?'\x20\x22'+_0x1589e2[_0x312f0f(0x148)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x312f0f(0x1bb)](_0x312f0f(0x1f1)+_0xadd8aa+'>'+_0x1b16ed),console['log'](_0x312f0f(0x1db)+_0x1589e2[_0x312f0f(0x148)]['selector']);}else{if(_0x1589e2['spatial']){const _0x2108d7=_0x1589e2[_0x312f0f(0x14e)][_0x312f0f(0x190)];_0x1589e2[_0x312f0f(0x14e)]['type']===_0x39c98d['KRBfa']&&_0x2108d7['length']>=0x2?console[_0x312f0f(0x1bb)](_0x312f0f(0x1ee)+_0x2108d7[0x0]['toFixed'](0x2)+',\x20'+_0x2108d7[0x1][_0x312f0f(0x1c3)](0x2)+')'):console[_0x312f0f(0x1bb)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x1589e2['spatial']['type']+_0x312f0f(0x1d2)+_0x2108d7['map'](_0x4b19d4=>_0x4b19d4[_0x312f0f(0x1c3)](0x2))['join'](',\x20')+']');}}}if(_0x4d0cde[_0x312f0f(0x141)]){console[_0x312f0f(0x1bb)](_0x312f0f(0x1ed));for(const _0x2fd090 of _0x4d0cde[_0x312f0f(0x141)]['split']('\x0a')){console['log'](_0x312f0f(0x154)+_0x2fd090);}}}else console['log']('Scenario\x20'+_0x39c98d[_0x312f0f(0x128)](_0x45fa13,0x1)+_0x312f0f(0x134)+_0x115067['description']+'\x22'+_0x5b0ab1+_0x312f0f(0x179)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x2a2f25){const _0x1d999f=_0x24d357,_0x5f5cdd={'EfSHv':_0x1d999f(0x145),'VKwMj':function(_0x2ff31c,_0x42cbdc){return _0x2ff31c(_0x42cbdc);},'aYoUS':function(_0x188a04,_0x642039){return _0x188a04+_0x642039;},'zBOBd':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x45a35e=_0x2a2f25||await getActiveFeatureId();if(!_0x45a35e)throw new Error(_0x5f5cdd['EfSHv']);const _0x2cae14=await getFeature(_0x45a35e);await _0x5f5cdd['VKwMj'](softDeleteFeature,_0x45a35e),console['log'](_0x1d999f(0x1e3)+_0x2cae14['name']+'\x20('+_0x45a35e+')'),console[_0x1d999f(0x1bb)](_0x5f5cdd['aYoUS'](_0x5f5cdd[_0x1d999f(0x168)],_0x45a35e));}export async function featureRestore(_0x3167b9){const _0xec319e=_0x24d357,_0x231f31={'LxsqR':function(_0x4c1fa9,_0x8a8a08){return _0x4c1fa9(_0x8a8a08);},'LzDWL':function(_0x38d15a,_0x5aabc8){return _0x38d15a(_0x5aabc8);}};await _0x231f31[_0xec319e(0x122)](restoreFeature,_0x3167b9);const _0x43bc72=await _0x231f31[_0xec319e(0x1ec)](getFeature,_0x3167b9);console[_0xec319e(0x1bb)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x43bc72['name']+'\x20('+_0x3167b9+')'),displayFeature(_0x43bc72,_0x43bc72['checklistItems']);}
|
|
1
|
+
const _0x2f2042=_0x6a14;(function(_0xc4e5eb,_0x22a47d){const _0x592e61=_0x6a14,_0x40b25c=_0xc4e5eb();while(!![]){try{const _0x460202=-parseInt(_0x592e61(0x1da))/0x1+parseInt(_0x592e61(0x246))/0x2+-parseInt(_0x592e61(0x1c6))/0x3*(-parseInt(_0x592e61(0x21b))/0x4)+parseInt(_0x592e61(0x1e1))/0x5*(parseInt(_0x592e61(0x1ca))/0x6)+-parseInt(_0x592e61(0x22e))/0x7+parseInt(_0x592e61(0x25d))/0x8*(-parseInt(_0x592e61(0x22b))/0x9)+parseInt(_0x592e61(0x29e))/0xa;if(_0x460202===_0x22a47d)break;else _0x40b25c['push'](_0x40b25c['shift']());}catch(_0x52babf){_0x40b25c['push'](_0x40b25c['shift']());}}}(_0x40fd,0xe41fa));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x37234b 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=_0x2f2042(0x1f0),bold=_0x3ec16a=>'\x1b[1m'+_0x3ec16a+'\x1b[0m';function getGitRepoUrl(){const _0x564f6a=_0x2f2042,_0x503d5a={'lkcQk':'git\x20remote\x20get-url\x20origin','lEyED':'utf-8','rbqEN':_0x564f6a(0x203)};try{const _0xefcc36=execSync(_0x503d5a['lkcQk'],{'encoding':_0x503d5a[_0x564f6a(0x1ea)],'stdio':[_0x503d5a[_0x564f6a(0x1fd)],_0x503d5a['rbqEN'],_0x564f6a(0x203)]})['trim']();return _0xefcc36['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x564f6a(0x289))[_0x564f6a(0x241)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x84c36e=_0x2f2042,_0x50892a={'pHciH':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','GdoQG':'utf-8','cjHFM':_0x84c36e(0x203)};try{return execSync(_0x50892a[_0x84c36e(0x29b)],{'encoding':_0x50892a['GdoQG'],'stdio':[_0x84c36e(0x203),'pipe',_0x50892a[_0x84c36e(0x24a)]]})[_0x84c36e(0x205)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x390570=_0x2f2042,_0x1ceda2={'xqoZa':function(_0x2f4bf0,_0x54febd){return _0x2f4bf0(_0x54febd);},'oWJAt':function(_0x171b28,_0x267324,_0x2aa3b4){return _0x171b28(_0x267324,_0x2aa3b4);},'oaihT':_0x390570(0x202)},_0x294c49=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x1ceda2[_0x390570(0x27c)](existsSync,_0x294c49))return null;try{const _0x283cb4=await _0x1ceda2['oWJAt'](readFile,_0x294c49,_0x1ceda2[_0x390570(0x1ec)]);return _0x283cb4[_0x390570(0x205)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x596425){const _0x1e2add=_0x2f2042,_0x14a815={'TEICN':function(_0x2ed69b,_0x9318c1,_0x135913){return _0x2ed69b(_0x9318c1,_0x135913);},'hbZYT':function(_0x4662c7,_0x36a5b7){return _0x4662c7(_0x36a5b7);}},_0x55d1cd=getRangerDir(),_0x165e4c=_0x14a815[_0x1e2add(0x257)](join,_0x55d1cd,ACTIVE_FEATURE_FILE);!_0x14a815[_0x1e2add(0x236)](existsSync,_0x55d1cd)&&await mkdir(_0x55d1cd,{'recursive':!![]}),await writeFile(_0x165e4c,_0x596425,'utf-8');}function getProgressDisplay(_0x3c7171){const _0x1e1a19=_0x2f2042,_0x13b132={'UQhal':function(_0x5d72f4,_0x51154f){return _0x5d72f4+_0x51154f;},'cFZKH':function(_0x3c3c3b,_0x1ce282){return _0x3c3c3b>_0x1ce282;},'dCrUR':function(_0x12e08d,_0x187288){return _0x12e08d>_0x187288;}},_0x4df873=_0x3c7171['verifiedItems']||0x0,_0x1344d9=_0x3c7171[_0x1e1a19(0x1fa)]||0x0,_0x5570a1=_0x3c7171[_0x1e1a19(0x291)]||0x0,_0x5ba358=_0x3c7171['incompleteItems']||0x0,_0xac3d0b=_0x3c7171['pendingItems']||0x0,_0x29162f=_0x13b132['UQhal'](_0x4df873+_0x1344d9+_0x5570a1,_0x5ba358)+_0xac3d0b;if(_0x29162f===0x0)return'-';const _0x2751e1=0xa,_0x5a169=Math['round'](_0x4df873/_0x29162f*_0x2751e1),_0x2cf8ca=_0x13b132['UQhal']('█'['repeat'](_0x5a169),'░'[_0x1e1a19(0x1fe)](_0x2751e1-_0x5a169)),_0x1d8c0b=[];if(_0x13b132[_0x1e1a19(0x28d)](_0x5570a1,0x0))_0x1d8c0b[_0x1e1a19(0x1dd)](_0x5570a1+'\x20blocked');if(_0x13b132[_0x1e1a19(0x28d)](_0x5ba358,0x0))_0x1d8c0b[_0x1e1a19(0x1dd)](_0x5ba358+_0x1e1a19(0x201));if(_0x1344d9>0x0)_0x1d8c0b[_0x1e1a19(0x1dd)](_0x1344d9+'\x20in\x20progress');const _0x511b8c=_0x13b132['dCrUR'](_0x1d8c0b['length'],0x0)?'\x20('+_0x1d8c0b['join'](',\x20')+')':'';return _0x2cf8ca+'\x20'+_0x4df873+'/'+_0x29162f+'\x20verified'+_0x511b8c;}function getCurrentSessionItems(_0x19af89,_0x1580b6){const _0x389a6f=_0x2f2042;if(!_0x19af89[_0x389a6f(0x26b)])return _0x1580b6['filter'](_0x236153=>!_0x236153[_0x389a6f(0x1ef)]);return _0x1580b6['filter'](_0x24581b=>_0x24581b['sessionId']===_0x19af89['currentSessionId']||!_0x24581b['sessionId']);}function displayFeature(_0x4c3372,_0x5b1480){const _0x1421c0=_0x2f2042,_0x6a15b5={'HCVfv':'\x0a\x20\x20\x20Scenarios:','qqRHh':function(_0x4b1215,_0xe5fe55){return _0x4b1215<_0xe5fe55;},'oREnf':function(_0x971ad8,_0x521b8d){return _0x971ad8===_0x521b8d;},'CkhLS':function(_0x4399ff,_0x31d434){return _0x4399ff===_0x31d434;},'nYbTv':'approved','NCIep':'closed','UxFwT':function(_0xd0821,_0x3b4b9d){return _0xd0821===_0x3b4b9d;},'RFliw':_0x1421c0(0x295),'MNZEu':function(_0x482d5b,_0x400a61){return _0x482d5b>_0x400a61;},'iduzO':function(_0x19c32c,_0x5383b5){return _0x19c32c!==_0x5383b5;},'qxdKn':_0x1421c0(0x232)};console['log']('\x0a'+_0x4c3372['name']+'\x20('+_0x4c3372[_0x1421c0(0x294)]+')');_0x4c3372['stats']&&console[_0x1421c0(0x1e5)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4c3372['stats']));_0x4c3372[_0x1421c0(0x20a)]&&console[_0x1421c0(0x1e5)](_0x1421c0(0x233)+_0x4c3372[_0x1421c0(0x20a)]);_0x4c3372['gitRepoUrl']&&console['log'](_0x1421c0(0x1fc)+_0x4c3372['gitRepoUrl']);_0x4c3372['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x4c3372['gitBranch']);console[_0x1421c0(0x1e5)]('\x20\x20\x20Created:\x20'+new Date(_0x4c3372['createdAt'])[_0x1421c0(0x28f)]());_0x4c3372['completedAt']&&console[_0x1421c0(0x1e5)](_0x1421c0(0x1e7)+new Date(_0x4c3372['completedAt'])['toLocaleString']());if(_0x5b1480&&_0x5b1480['length']>0x0){console[_0x1421c0(0x1e5)](_0x6a15b5[_0x1421c0(0x21a)]);for(let _0x118a3d=0x0;_0x6a15b5[_0x1421c0(0x1c5)](_0x118a3d,_0x5b1480[_0x1421c0(0x1eb)]);_0x118a3d++){const _0x36ffa1=_0x5b1480[_0x118a3d];let _0x42e26f;if(_0x6a15b5[_0x1421c0(0x20b)](_0x36ffa1['status'],'closed')&&_0x6a15b5[_0x1421c0(0x235)](_0x36ffa1[_0x1421c0(0x1e0)],_0x6a15b5[_0x1421c0(0x226)]))_0x42e26f='✅';else{if(_0x36ffa1['status']===_0x1421c0(0x262))_0x42e26f='🟢';else{if(_0x6a15b5['CkhLS'](_0x36ffa1['status'],_0x1421c0(0x232)))_0x42e26f='🟠';else{if(_0x6a15b5['CkhLS'](_0x36ffa1[_0x1421c0(0x250)],'blocked'))_0x42e26f='🛑';else{if(_0x6a15b5[_0x1421c0(0x20b)](_0x36ffa1['status'],_0x6a15b5['NCIep']))_0x42e26f='⛔';else _0x6a15b5[_0x1421c0(0x26f)](_0x36ffa1['status'],_0x6a15b5[_0x1421c0(0x252)])?_0x42e26f='⏳':_0x42e26f='⬜';}}}}const _0x2722a9=_0x36ffa1[_0x1421c0(0x25c)]>0x1?_0x1421c0(0x26d)+_0x36ffa1['version']+')':'',_0x1225a1=_0x6a15b5['MNZEu'](_0x36ffa1[_0x1421c0(0x25c)],0x1)&&_0x36ffa1[_0x1421c0(0x25f)]&&_0x36ffa1['status']!==_0x6a15b5['NCIep']&&_0x6a15b5['iduzO'](_0x36ffa1['status'],_0x1421c0(0x262))?'\x20[has\x20reviewer\x20feedback]':'';console['log'](_0x1421c0(0x229)+(_0x118a3d+0x1)+'.\x20'+_0x42e26f+'\x20'+_0x36ffa1[_0x1421c0(0x20a)]+_0x2722a9+_0x1225a1);_0x6a15b5[_0x1421c0(0x20b)](_0x36ffa1[_0x1421c0(0x250)],'blocked')&&_0x36ffa1[_0x1421c0(0x2a0)]&&console[_0x1421c0(0x1e5)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x36ffa1[_0x1421c0(0x2a0)]);_0x36ffa1[_0x1421c0(0x250)]===_0x6a15b5[_0x1421c0(0x1d4)]&&_0x36ffa1[_0x1421c0(0x1d8)]&&console[_0x1421c0(0x1e5)](_0x1421c0(0x27b)+_0x36ffa1[_0x1421c0(0x1d8)]);if(_0x36ffa1['status']==='closed'&&_0x6a15b5['CkhLS'](_0x36ffa1[_0x1421c0(0x1e0)],_0x1421c0(0x293)))console['log'](_0x1421c0(0x1e8));else _0x36ffa1['status']===_0x6a15b5['NCIep']&&_0x36ffa1['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x36ffa1[_0x1421c0(0x24b)]);}}}function _0x6a14(_0x611223,_0x13b75f){_0x611223=_0x611223-0x1c3;const _0x40fd29=_0x40fd();let _0x6a14d3=_0x40fd29[_0x611223];return _0x6a14d3;}export async function featureCreate(_0x316f20,_0x4c0496){const _0x3abfcf=_0x2f2042,_0x555a66={'Gqaaw':function(_0x3bbd6d,_0x53e62e){return _0x3bbd6d===_0x53e62e;},'YPIKb':function(_0x4d041e){return _0x4d041e();},'yBHZa':function(_0x2aab29,_0x101cdd){return _0x2aab29(_0x101cdd);},'ciecv':_0x3abfcf(0x23d),'dPgoH':function(_0x11f466,_0x6e3c30,_0x516bf6){return _0x11f466(_0x6e3c30,_0x516bf6);}},{envNames:_0x12c7ed}=await getEnvNames();if(_0x555a66[_0x3abfcf(0x268)](_0x12c7ed[_0x3abfcf(0x1eb)],0x0)&&!process['env'][_0x3abfcf(0x23e)]){let _0x41d758=0x0;try{_0x41d758=(await _0x555a66['YPIKb'](listCloudProfiles))[_0x3abfcf(0x1eb)];}catch{_0x41d758=0x1;}_0x41d758===0x0&&console[_0x3abfcf(0x248)]('\x0a'+_0x555a66[_0x3abfcf(0x28e)](formatProfileRequiredMessage,_0x39c232=>bold(_0x39c232)));}const _0x1a284a=_0x4c0496[_0x3abfcf(0x24c)]?_0x4c0496[_0x3abfcf(0x24c)]['map'](_0x2f5dd3=>_0x2f5dd3['trim']()):[],_0x8cb98c=_0x555a66[_0x3abfcf(0x23f)](getGitRepoUrl),_0x3a05c9=getGitBranch();console[_0x3abfcf(0x1e5)](_0x555a66[_0x3abfcf(0x24f)]);const _0x4e11d0=await createFeature({'name':_0x316f20,'description':_0x4c0496['description'],'checklist':_0x1a284a,'gitRepoUrl':_0x8cb98c,'gitBranch':_0x3a05c9});await _0x555a66['yBHZa'](setActiveFeatureId,_0x4e11d0['id']),await tryStartCurrentSession(_0x4e11d0['id']);const _0x1fcd68=process['env'][_0x3abfcf(0x28b)];_0x1fcd68&&_0x555a66['dPgoH'](registerSession,_0x1fcd68,_0x4e11d0['id']),console[_0x3abfcf(0x1e5)](_0x3abfcf(0x1f8)+_0x4e11d0['id']),_0x555a66['dPgoH'](displayFeature,_0x4e11d0,_0x4e11d0[_0x3abfcf(0x297)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0xe50bb1){const _0x4fd439=_0x2f2042,_0x412b58={'CdqKA':function(_0x2b004a){return _0x2b004a();},'oSWox':function(_0x3fa9b0){return _0x3fa9b0();},'PwZcd':function(_0x4b3ad9,_0x9d555c){return _0x4b3ad9(_0x9d555c);},'CUmVd':function(_0x358547,_0x19dfad){return _0x358547>_0x19dfad;},'EgGsC':_0x4fd439(0x207),'UvRCl':_0x4fd439(0x287)},_0x5a0715={'limit':_0xe50bb1[_0x4fd439(0x200)]??0xa,'offset':_0xe50bb1['offset']??0x0,'includeDeleted':_0xe50bb1[_0x4fd439(0x217)]};_0xe50bb1['currentBranch']&&(_0x5a0715['gitRepoUrl']=_0x412b58['CdqKA'](getGitRepoUrl),_0x5a0715[_0x4fd439(0x240)]=_0x412b58['oSWox'](getGitBranch));const _0x1cf700=await _0x412b58['PwZcd'](listFeatures,_0x5a0715);if(_0x1cf700[_0x4fd439(0x214)][_0x4fd439(0x1eb)]===0x0){console['log'](_0x4fd439(0x1f1));return;}const _0x1f2ab3=_0x412b58['CUmVd'](_0x1cf700[_0x4fd439(0x210)],_0x1cf700[_0x4fd439(0x214)][_0x4fd439(0x1eb)])?'Showing\x20'+_0x1cf700['items']['length']+_0x4fd439(0x277)+_0x1cf700[_0x4fd439(0x210)]:_0x1cf700[_0x4fd439(0x210)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1f2ab3+':\x0a');for(const _0x224bfb of _0x1cf700[_0x4fd439(0x214)]){console[_0x4fd439(0x1e5)](''+_0x224bfb[_0x4fd439(0x220)]),console[_0x4fd439(0x1e5)]('\x20\x20\x20ID:\x20'+_0x224bfb['id']),_0x224bfb['stats']&&console[_0x4fd439(0x1e5)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x224bfb[_0x4fd439(0x20e)])),_0x224bfb['gitBranch']&&console[_0x4fd439(0x1e5)](_0x4fd439(0x26c)+_0x224bfb[_0x4fd439(0x240)]),console['log'](_0x4fd439(0x299)+new Date(_0x224bfb[_0x4fd439(0x267)])['toLocaleDateString']()),console[_0x4fd439(0x1e5)]('');}const _0x47decb=_0x5a0715['limit']??0xa,_0x5964c7=(_0x5a0715[_0x4fd439(0x1f7)]??0x0)+_0x1cf700[_0x4fd439(0x214)]['length'];if(_0x5964c7<_0x1cf700['totalCount']){const _0x2f0887=_0x47decb!==0xa?'\x20--limit\x20'+_0x47decb:'',_0x4f3124=_0xe50bb1['currentBranch']?_0x412b58[_0x4fd439(0x28a)]:'',_0x2ad1ff=_0xe50bb1['includeDeleted']?_0x412b58[_0x4fd439(0x269)]:'';console[_0x4fd439(0x1e5)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x5964c7+_0x2f0887+_0x4f3124+_0x2ad1ff);}}export async function featureShow(_0x176f8b){const _0x2cff61=_0x2f2042,_0x38727e={'tCneF':function(_0x4076d1){return _0x4076d1();},'qJCCl':function(_0x41ddba,_0x1e40dd){return _0x41ddba(_0x1e40dd);}},_0x114c09=_0x176f8b||await _0x38727e['tCneF'](getActiveFeatureId);if(!_0x114c09)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 _0x57b79d=await _0x38727e[_0x2cff61(0x242)](getFeature,_0x114c09);displayFeature(_0x57b79d,_0x57b79d[_0x2cff61(0x297)]);}export async function featureResume(_0x269c3e){const _0x576092=_0x2f2042,_0x2d05e7={'nZckQ':function(_0xb362c5,_0x3fb7a1){return _0xb362c5(_0x3fb7a1);},'EGtEy':function(_0x1f8035,_0x2bea07){return _0x1f8035(_0x2bea07);},'bhHrt':function(_0xf4924a,_0x5e5de9){return _0xf4924a!==_0x5e5de9;},'Kmoql':function(_0x2adc26,_0x5a6a18,_0x52c0d8){return _0x2adc26(_0x5a6a18,_0x52c0d8);},'ylCDh':function(_0x4501f9){return _0x4501f9();},'PVNAC':_0x576092(0x249),'CWjzC':function(_0x1c538e,_0x4c840e){return _0x1c538e||_0x4c840e;},'DOfIX':_0x576092(0x243),'mUuXg':function(_0x504e55,_0x182570){return _0x504e55||_0x182570;},'KzCUN':function(_0x5456c7,_0x20111d){return _0x5456c7===_0x20111d;},'noGQM':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','PkaNH':function(_0x5c08e6,_0x3ed7d8){return _0x5c08e6(_0x3ed7d8);},'jNKQB':_0x576092(0x238),'fLaSF':_0x576092(0x21e),'GFOzD':function(_0x9157f6,_0x2e97bc,_0xeaae3){return _0x9157f6(_0x2e97bc,_0xeaae3);},'TWAmr':function(_0x112ab1,_0x70879f,_0x14167e){return _0x112ab1(_0x70879f,_0x14167e);},'ComJd':function(_0x288df6,_0x5d6526){return _0x288df6(_0x5d6526);}};if(_0x269c3e){const _0x10da2e=await _0x2d05e7[_0x576092(0x29d)](getFeature,_0x269c3e);await _0x2d05e7[_0x576092(0x1e9)](setActiveFeatureId,_0x10da2e['id']);const _0x2b60e2=getGitBranch();_0x2b60e2&&_0x2d05e7[_0x576092(0x1de)](_0x2b60e2,_0x10da2e['gitBranch'])&&(await updateFeature(_0x10da2e['id'],{'gitBranch':_0x2b60e2}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x2b60e2));console['log'](_0x576092(0x27f)+_0x10da2e['name']+'\x20('+_0x10da2e['id']+')'),await tryStartCurrentSession(_0x10da2e['id']);const _0xc73f4=process['env'][_0x576092(0x28b)];_0xc73f4&®isterSession(_0xc73f4,_0x10da2e['id']);_0x2d05e7['Kmoql'](displayFeature,_0x10da2e,_0x10da2e['checklistItems']),await printFeedbackNudge(_0x10da2e['id']);return;}const _0x2a07dc=_0x2d05e7['ylCDh'](getGitRepoUrl),_0x289d7b=getGitBranch();if(!_0x2a07dc&&!_0x289d7b)throw new Error(_0x2d05e7['PVNAC']);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x2d05e7['CWjzC'](_0x2a07dc,_0x2d05e7['DOfIX'])+'\x20/\x20'+_0x2d05e7['mUuXg'](_0x289d7b,'any')+'...');const _0x3e7509=await listFeatures({'gitRepoUrl':_0x2a07dc,'gitBranch':_0x289d7b}),_0x1d0968=_0x3e7509['items'][_0x576092(0x1fb)](_0x49be7c=>_0x49be7c[_0x576092(0x250)]?_0x49be7c['status']!=='verified':!_0x49be7c[_0x576092(0x1dc)]);if(_0x1d0968[_0x576092(0x1eb)]===0x0){console[_0x576092(0x1e5)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x576092(0x1e5)]('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x4af12b;if(_0x2d05e7[_0x576092(0x239)](_0x1d0968['length'],0x1))_0x4af12b=_0x1d0968[0x0];else{const _0x3e3dd9=process[_0x576092(0x25a)][_0x576092(0x1e6)]&&process['stdout']['isTTY'];if(!_0x3e3dd9){console[_0x576092(0x1e5)](_0x2d05e7[_0x576092(0x270)]);for(const _0x49f0ce of _0x1d0968){console['log']('\x20\x20'+_0x49f0ce[_0x576092(0x220)]),console['log'](_0x576092(0x255)+_0x49f0ce['id']),_0x49f0ce[_0x576092(0x20e)]&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x2d05e7['PkaNH'](getProgressDisplay,_0x49f0ce['stats'])),_0x49f0ce['gitBranch']&&console[_0x576092(0x1e5)](_0x576092(0x24e)+_0x49f0ce[_0x576092(0x240)]);}throw new Error(_0x576092(0x272));}const {selected:_0x171d6b}=await _0x37234b['prompt']([{'type':_0x576092(0x1cd),'name':_0x2d05e7[_0x576092(0x282)],'message':_0x2d05e7[_0x576092(0x261)],'choices':_0x1d0968[_0x576092(0x22c)](_0x1e53f9=>({'name':_0x1e53f9['name']+'\x20('+_0x1e53f9['id']+')','value':_0x1e53f9['id']}))}]);_0x4af12b=_0x1d0968[_0x576092(0x27d)](_0x49b0b5=>_0x49b0b5['id']===_0x171d6b);}await setActiveFeatureId(_0x4af12b['id']);_0x289d7b&&_0x289d7b!==_0x4af12b['gitBranch']&&(await _0x2d05e7['GFOzD'](updateFeature,_0x4af12b['id'],{'gitBranch':_0x289d7b}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x289d7b));console[_0x576092(0x1e5)](_0x576092(0x27f)+_0x4af12b['name']+'\x20('+_0x4af12b['id']+')'),await _0x2d05e7[_0x576092(0x21d)](tryStartCurrentSession,_0x4af12b['id']);const _0x380ac4=await getFeature(_0x4af12b['id']),_0x2a17e0=process[_0x576092(0x234)]['CLAUDE_SESSION_ID'];_0x2a17e0&®isterSession(_0x2a17e0,_0x380ac4['id']),_0x2d05e7['TWAmr'](displayFeature,_0x380ac4,_0x380ac4['checklistItems']),await _0x2d05e7['ComJd'](printFeedbackNudge,_0x380ac4['id']);}async function printFeedbackNudge(_0x428961){const _0x256890=_0x2f2042,_0xd62f80={'rgVtw':function(_0xdd5337,_0x32bc44){return _0xdd5337(_0x32bc44);},'SOHDq':_0x256890(0x227)};try{const {items:_0x580f8c}=await _0xd62f80[_0x256890(0x298)](getActionItems,_0x428961);let _0x5a978e=0x0,_0x33bdf4=0x0;for(const _0x5575d0 of _0x580f8c){const _0x5b517a=await getItemFeedback(_0x428961,_0x5575d0['id']);_0x5b517a['unaddressedComments'][_0x256890(0x1eb)]>0x0&&(_0x5a978e+=_0x5b517a[_0x256890(0x21f)][_0x256890(0x1eb)],_0x33bdf4++);}_0x5a978e>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x5a978e+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x33bdf4+'\x20scenario(s).'),console['log'](_0xd62f80[_0x256890(0x29f)]));}catch{}}async function tryStartCurrentSession(_0x569955){const _0x5bc043=_0x2f2042;try{const {sessions:_0x116bbc}=await listFeatureSessions(_0x569955),_0x3d49df=_0x116bbc['find'](_0x3a05aa=>_0x3a05aa['status']==='ready');_0x3d49df&&(await startSession(_0x569955,_0x3d49df['id']),console[_0x5bc043(0x1e5)](_0x5bc043(0x1db)+_0x3d49df[_0x5bc043(0x1c8)]));}catch{}}export async function featureReport(_0x5894e8,_0x24e8b0){const _0x5db5bb=_0x2f2042,_0x527784={'khbXp':'\x0aGenerating\x20report...','vTrYn':function(_0x176ff6,_0x1e417b,_0x2d9104,_0xf0f757){return _0x176ff6(_0x1e417b,_0x2d9104,_0xf0f757);},'kKkep':function(_0x4ede7d,_0x24f5f6,_0x127914){return _0x4ede7d(_0x24f5f6,_0x127914);},'sFzRw':function(_0x58c66e,_0xd69020){return _0x58c66e(_0xd69020);},'OxsmU':'utf-8'},_0x8a0265=_0x5894e8||await getActiveFeatureId();if(!_0x8a0265)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x527784[_0x5db5bb(0x1ee)]);const _0x5ecccf=await getFeatureReportMarkdown(_0x8a0265,{'style':_0x24e8b0['style']}),_0x4ff59e=_0x24e8b0['output']||_0x527784['vTrYn'](join,getRangerDir(),_0x5db5bb(0x1f5),_0x8a0265+'.md'),_0x24aba4=_0x527784['kKkep'](join,_0x4ff59e,'..');!_0x527784[_0x5db5bb(0x256)](existsSync,_0x24aba4)&&await _0x527784['kKkep'](mkdir,_0x24aba4,{'recursive':!![]}),await writeFile(_0x4ff59e,_0x5ecccf,_0x527784[_0x5db5bb(0x219)]),console[_0x5db5bb(0x1e5)]('\x0a✅\x20Report\x20generated:\x20'+_0x4ff59e);}function getScenarioResult(_0x48c48a){const _0x2fb28e=_0x2f2042,_0x4c8434={'WrOMC':'closed','ZnjhY':_0x2fb28e(0x295),'usWoy':_0x2fb28e(0x21c)};if(_0x48c48a['status']===_0x4c8434['WrOMC'])return _0x48c48a['terminalReason']??_0x4c8434[_0x2fb28e(0x265)];if(_0x48c48a['status']===_0x4c8434['ZnjhY'])return _0x4c8434[_0x2fb28e(0x224)];return _0x48c48a[_0x2fb28e(0x250)];}function getScenarioRationale(_0x3ec833,_0xe268a2){const _0x5bd478=_0x2f2042,_0x85c7d2={'ErcFi':_0x5bd478(0x275)},_0x3495ce=_0x85c7d2[_0x5bd478(0x286)][_0x5bd478(0x266)]('|');let _0x3f6dba=0x0;while(!![]){switch(_0x3495ce[_0x3f6dba++]){case'0':return null;case'1':if(_0x3ec833[_0x5bd478(0x1d8)])return _0x3ec833['incompleteReason'];continue;case'2':if(_0x3ec833['blockedReason'])return _0x3ec833['blockedReason'];continue;case'3':if(_0x3ec833['notes'])return _0x3ec833[_0x5bd478(0x288)];continue;case'4':if(_0xe268a2)return _0xe268a2;continue;case'5':if(_0x3ec833[_0x5bd478(0x24b)])return _0x3ec833['canceledReason'];continue;}break;}}export async function featureReportPrDescription(_0x520892,_0x36f857){const _0x3344cd=_0x2f2042,_0x476e79={'rChCQ':function(_0x64f221){return _0x64f221();},'ZJEyW':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','xaDOi':function(_0x3c4f31,_0x2bfd48){return _0x3c4f31(_0x2bfd48);},'ffhTO':function(_0x9145c3,_0x24a761,_0x5f14f4){return _0x9145c3(_0x24a761,_0x5f14f4);},'fPxmz':function(_0x18d1e2,_0x118d97){return _0x18d1e2===_0x118d97;},'juAZX':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','ShFPS':'\x0aAvailable\x20scenarios:','mgMUM':function(_0x348e42,_0x547905){return _0x348e42<_0x547905;},'OJunG':function(_0x122a24,_0x915619,_0x327cb2,_0x1f6881){return _0x122a24(_0x915619,_0x327cb2,_0x1f6881);}},_0x1bbee4=_0x520892||await _0x476e79['rChCQ'](getActiveFeatureId);if(!_0x1bbee4)throw new Error(_0x476e79['ZJEyW']);const _0x4ea718=await _0x476e79[_0x3344cd(0x20f)](getFeature,_0x1bbee4),_0x341596=_0x4ea718['checklistItems']||[],_0x35710c=_0x476e79['ffhTO'](getCurrentSessionItems,_0x4ea718,_0x341596);_0x476e79[_0x3344cd(0x285)](_0x35710c['length'],0x0)&&(console['error'](_0x476e79['juAZX']),process['exit'](0x1));const _0x147375=_0x36f857['excludeScenarios']??[],_0x8b910a=_0x147375[_0x3344cd(0x1fb)](_0x3fd420=>!Number[_0x3344cd(0x274)](_0x3fd420)||_0x3fd420<0x1||_0x3fd420>_0x35710c[_0x3344cd(0x1eb)]);if(_0x8b910a[_0x3344cd(0x1eb)]>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x8b910a[_0x3344cd(0x258)](',\x20')),console['log'](_0x476e79[_0x3344cd(0x281)]);for(let _0x3aab02=0x0;_0x476e79[_0x3344cd(0x225)](_0x3aab02,_0x35710c[_0x3344cd(0x1eb)]);_0x3aab02++){console[_0x3344cd(0x1e5)]('\x20\x20'+(_0x3aab02+0x1)+'.\x20'+_0x35710c[_0x3aab02][_0x3344cd(0x20a)]);}process['exit'](0x1);}const _0x12cd05=new Set(_0x147375[_0x3344cd(0x22c)](_0x5c373e=>_0x5c373e-0x1)),_0x3b6822=_0x35710c['filter']((_0x548c45,_0x4adde2)=>!_0x12cd05[_0x3344cd(0x25b)](_0x4adde2));_0x3b6822[_0x3344cd(0x1eb)]===0x0&&(console['error'](_0x3344cd(0x283)),process['exit'](0x1));if(_0x36f857[_0x3344cd(0x278)])await _0x476e79['OJunG'](outputJsonReport,_0x1bbee4,_0x4ea718,_0x3b6822);else{const _0x5d3d9c=await _0x476e79[_0x3344cd(0x1d6)](getFeatureReportMarkdown,_0x1bbee4,{'itemIds':_0x3b6822['map'](_0x10859c=>_0x10859c['id'])});process[_0x3344cd(0x260)]['write'](_0x5d3d9c[_0x3344cd(0x29a)]()+'\x0a');}}async function outputJsonReport(_0x787214,_0x13b78e,_0x2bc6e0){const _0x4156e5=_0x2f2042,_0x51b7d7={'FPTxu':function(_0x20491c,_0x1e586a){return _0x20491c(_0x1e586a);},'vLkks':function(_0x264c63){return _0x264c63();},'CigqX':function(_0x4a7df1,_0x2d6152){return _0x4a7df1+_0x2d6152;}},_0x39bf82=_0x51b7d7[_0x4156e5(0x1d9)](getApiBaseUrl),_0x588551=await _0x51b7d7['FPTxu'](getFeatureReport,_0x787214),_0x4f7156=new Map(_0x588551[_0x4156e5(0x297)][_0x4156e5(0x22c)](_0x19795c=>[_0x19795c['id'],_0x19795c])),_0x16bdc5=await Promise['all'](_0x2bc6e0[_0x4156e5(0x22c)](async _0x237205=>{const _0x15a0df=_0x4156e5,_0x5dce3c=_0x4f7156['get'](_0x237205['id']),_0x5d2344=_0x5dce3c?.['linkedSession']??null;let _0x5250ed=[];if(_0x237205['browserSessionId'])try{const {steps:_0x18b1c1}=await _0x51b7d7[_0x15a0df(0x259)](getBrowserSessionSteps,_0x237205['browserSessionId']);_0x18b1c1[_0x15a0df(0x1eb)]>0x0&&(_0x5250ed=_0x18b1c1['map'](_0x12b853=>{const _0x5f06b3=_0x15a0df,_0xd340a3=_0x12b853['assets'][_0x5f06b3(0x27d)](_0x3dc63f=>_0x3dc63f[_0x5f06b3(0x27a)]===_0x5f06b3(0x222)&&_0x3dc63f['timing']===_0x5f06b3(0x245))??_0x12b853['assets']['find'](_0x729fc5=>_0x729fc5[_0x5f06b3(0x27a)]===_0x5f06b3(0x222));let _0x24f760=null,_0x7bac8f=null;if(_0xd340a3){const _0xc76c83=_0xd340a3['storage'][_0x5f06b3(0x254)][_0x5f06b3(0x266)]('/')['pop']();_0x24f760=_0x39bf82+'/api/v1/mcp/browser-sessions/'+_0x237205['browserSessionId']+'/artifacts/'+_0xc76c83,_0xc76c83&&(_0x7bac8f=_0xc76c83[_0x5f06b3(0x241)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x5f06b3(0x241)](/[-_]/g,'\x20'));}return{'description':_0x7bac8f||_0x12b853[_0x5f06b3(0x20a)]||_0x12b853[_0x5f06b3(0x23b)]||'Step\x20'+_0x12b853[_0x5f06b3(0x244)],'screenshot':_0x24f760,'is_key_step':_0x12b853['isKeyStep']};}));}catch{}return _0x5250ed['length']===0x0&&_0x5d2344?.['screenshotUrls']&&(_0x5250ed=_0x5d2344['screenshotUrls']['map']((_0x3fe3fb,_0x5a3f55)=>({'description':_0x15a0df(0x213)+(_0x5a3f55+0x1),'screenshot':_0x3fe3fb,'is_key_step':![]}))),{'description':_0x237205['description'],'result':getScenarioResult(_0x237205),'rationale':getScenarioRationale(_0x237205,_0x5d2344?.['agentResponse']),'steps':_0x5250ed};})),_0x25bc50={'url':_0x13b78e[_0x4156e5(0x294)],'scenarios':_0x16bdc5};process[_0x4156e5(0x260)]['write'](_0x51b7d7['CigqX'](JSON['stringify'](_0x25bc50,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x23cfbe){const _0x59296b=_0x2f2042,_0x3dd3d1={'GLIMS':_0x59296b(0x280),'pgESg':_0x59296b(0x223),'BTbDC':_0x59296b(0x1c7),'fxAXW':'\x0a✅\x20Session\x20is\x20already\x20completed.','EGNYd':function(_0x21dc51,_0x11f6ab){return _0x21dc51!==_0x11f6ab;},'YkPxW':function(_0x40ce60,_0x5e1f2d,_0x4c3890){return _0x40ce60(_0x5e1f2d,_0x4c3890);}},_0x12f1b5=_0x23cfbe||await getActiveFeatureId();if(!_0x12f1b5)throw new Error(_0x3dd3d1['GLIMS']);const _0x50a7cf=await getFeature(_0x12f1b5);if(!_0x50a7cf['currentSessionId'])throw new Error(_0x59296b(0x1e2));const {sessions:_0x1d407b}=await listFeatureSessions(_0x12f1b5),_0x53dd12=_0x1d407b[_0x59296b(0x27d)](_0x1ebf8e=>_0x1ebf8e['id']===_0x50a7cf[_0x59296b(0x26b)]);if(!_0x53dd12)throw new Error(_0x3dd3d1['pgESg']);if(_0x53dd12[_0x59296b(0x250)]===_0x3dd3d1[_0x59296b(0x231)]){console[_0x59296b(0x1e5)](_0x3dd3d1['fxAXW']);return;}if(_0x3dd3d1[_0x59296b(0x206)](_0x53dd12['status'],'in_progress'))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x53dd12['status']);console[_0x59296b(0x1e5)]('\x0aConcluding\x20session...'),await _0x3dd3d1['YkPxW'](concludeSession,_0x12f1b5,_0x50a7cf[_0x59296b(0x26b)]),console['log'](_0x59296b(0x204)+_0x53dd12['iteration']+'\x20concluded.'),console[_0x59296b(0x1e5)](_0x59296b(0x237));}function _0x40fd(){const _0x2d8165=['kQeZp','36dxhlMt','map','\x0a✅\x20Restored\x20feature\x20review:\x20','11560360kVyFCQ','point','error','BTbDC','incomplete','\x20\x20\x20Description:\x20','env','CkhLS','hbZYT','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','selected','KzCUN','exit','stepName','\x20—\x20','\x0aCreating\x20feature\x20review...','RANGER_TEST_USERNAME','YPIKb','gitBranch','replace','qJCCl','any','position','after','549516SoKGGf','\x20>\x20','warn','Not\x20in\x20a\x20git\x20repository.','cjHFM','canceledReason','scenarios','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20\x20\x20\x20\x20Branch:\x20','ciecv','status','\x0a✅\x20Scenario\x20added','RFliw','LdIOo','location','\x20\x20\x20\x20\x20ID:\x20','sFzRw','TEICN','join','FPTxu','stdin','has','version','2844776IvjTMi','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','parentItemId','stdout','fLaSF','verified','canonicalFlow','xXEbE','WrOMC','split','createdAt','Gqaaw','UvRCl','\x0a📋\x20Feedback\x20for:\x20','currentSessionId','\x20\x20\x20Branch:\x20','\x20(v','\x20at\x20[','UxFwT','noGQM','type','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','from','isInteger','4|2|1|5|3|0','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x20of\x20','json','uMjUm','assetType','\x20\x20\x20\x20\x20\x20Incomplete:\x20','xqoZa','find','olNic','\x0a✅\x20Resumed\x20feature\x20review:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ShFPS','jNKQB','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','comment_','fPxmz','ErcFi','\x20--include-deleted','notes','github.com/','EgGsC','CLAUDE_SESSION_ID','\x20\x20\x20\x20','cFZKH','yBHZa','toLocaleString','arrayBuffer','blockedItems','textContent','approved','dashboardUrl','verification_in_progress','\x20\x20✅\x20No\x20feedback\x20to\x20address','checklistItems','rgVtw','\x20\x20\x20Created:\x20','trimEnd','pHciH','BixOW','nZckQ','25691690KFGNWL','SOHDq','blockedReason','\x0aAvailable\x20scenarios:','.\x20Feature\x20review\x20has\x20','qqRHh','1491IGMlbV','completed','iteration','AiYCm','25158tDUPUC','WmtfQ','domRef','list','feedback-images','pnLxJ','ZgdCD','keeIZ',':\x20\x22','):\x20\x22','qxdKn','mkosG','ffhTO','latestReview','incompleteReason','vLkks','265044CRRipN','\x20\x20\x20▶️\x20Started\x20session\x20','completedAt','push','bhHrt','spatial','terminalReason','1340lSzGTi','No\x20active\x20session\x20for\x20this\x20feature\x20review.','slice','mYPkd','log','isTTY','\x20\x20\x20Completed:\x20','\x20\x20\x20\x20\x20\x20Approved','EGtEy','lEyED','length','oaihT','content','khbXp','sessionId','active-feature.txt','\x0aNo\x20feature\x20reviews\x20found.','Unknown','.png','xshXs','reports','APBHj','offset','\x0a✅\x20Feature\x20review\x20created:\x20','toFixed','verificationInProgressItems','filter','\x20\x20\x20Repository:\x20','rbqEN','repeat','\x20Session\x20','limit','\x20incomplete','utf-8','pipe','\x0a✅\x20Session\x20','trim','EGNYd','\x20--current-branch','scenario','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','description','oREnf','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ZEdQJ','stats','xaDOi','totalCount','selector','No\x20sessions\x20found.','Screenshot\x20','items','submittedAt','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','includeDeleted','jDnRY','OxsmU','HCVfv','2460ddyweX','in_progress','PkaNH','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','unaddressedComments','name','assetUrl','screenshot','Current\x20session\x20not\x20found.','usWoy','mgMUM','nYbTv','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20💬\x20','\x20\x20\x20'];_0x40fd=function(){return _0x2d8165;};return _0x40fd();}export async function featureSessions(_0xe65eb1){const _0x34cd07=_0x2f2042,_0x302436={'LdIOo':function(_0x145b37){return _0x145b37();},'YIuDr':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','pnLxJ':function(_0x4a5fbb,_0x60a6ac){return _0x4a5fbb(_0x60a6ac);},'xXEbE':function(_0x1b698a,_0x8f25ca){return _0x1b698a===_0x8f25ca;},'JPJhA':_0x34cd07(0x212),'xzSsQ':function(_0x39eb32,_0xca50bd){return _0x39eb32===_0xca50bd;},'oTxrR':'in_progress'},_0x50c1b1=_0xe65eb1||await _0x302436[_0x34cd07(0x253)](getActiveFeatureId);if(!_0x50c1b1)throw new Error(_0x302436['YIuDr']);const _0x5147dd=await getFeature(_0x50c1b1);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5147dd['name']+'\x0a');const {sessions:_0x1a8a37}=await _0x302436[_0x34cd07(0x1cf)](listFeatureSessions,_0x50c1b1);if(_0x302436[_0x34cd07(0x264)](_0x1a8a37[_0x34cd07(0x1eb)],0x0)){console[_0x34cd07(0x1e5)](_0x302436['JPJhA']);return;}for(const _0x9fadc0 of _0x1a8a37){const _0x1f4613=_0x302436['xXEbE'](_0x9fadc0[_0x34cd07(0x250)],_0x34cd07(0x1c7))?'✅':_0x302436['xzSsQ'](_0x9fadc0[_0x34cd07(0x250)],_0x302436['oTxrR'])?'🔄':'▶️';console['log'](_0x1f4613+_0x34cd07(0x1ff)+_0x9fadc0[_0x34cd07(0x1c8)]+'\x20('+_0x9fadc0['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x9fadc0[_0x34cd07(0x250)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x9fadc0['createdAt'])[_0x34cd07(0x28f)]()),_0x9fadc0[_0x34cd07(0x1dc)]&&console['log'](_0x34cd07(0x1e7)+new Date(_0x9fadc0['completedAt'])[_0x34cd07(0x28f)]()),console['log']('');}}export async function featureAddScenario(_0x5043a6,_0x3cff2a){const _0x587076=_0x2f2042,_0x181f11={'uMjUm':_0x587076(0x280),'FePgo':function(_0x53e0f5,_0x32e073,_0x3b84e0){return _0x53e0f5(_0x32e073,_0x3b84e0);}},_0x1f9178=_0x3cff2a||await getActiveFeatureId();if(!_0x1f9178)throw new Error(_0x181f11[_0x587076(0x279)]);const _0x2d5ade=await getFeature(_0x1f9178);if(_0x2d5ade['latestReview']&&!_0x2d5ade['latestReview'][_0x587076(0x215)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x2d5ade['dashboardUrl']);await createChecklistItem(_0x1f9178,_0x5043a6);const _0x5aeb23=await getFeature(_0x1f9178);console['log'](_0x587076(0x251)),_0x181f11['FePgo'](displayFeature,_0x5aeb23,_0x5aeb23[_0x587076(0x297)]);}export async function featureEditScenario(_0x54e2f0,_0x398719){const _0x32c680=_0x2f2042,_0x415d85={'iumRo':function(_0x2747c8){return _0x2747c8();},'xbfsi':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','taBzs':_0x32c680(0x25e),'qNYWZ':'Please\x20finish\x20your\x20review\x20first:','pqfes':function(_0x39cbec,_0x128e19){return _0x39cbec===_0x128e19;},'JooDX':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','olNic':_0x32c680(0x1c3),'jDnRY':function(_0x8ba882,_0x38098c){return _0x8ba882<_0x38098c;},'fozUT':function(_0x5bd8dd,_0x467691){return _0x5bd8dd-_0x467691;},'hIrkJ':function(_0x156247,_0x129c45){return _0x156247+_0x129c45;},'SwHDC':function(_0x3783de,_0x335a28,_0x2c24f3,_0x6ea654){return _0x3783de(_0x335a28,_0x2c24f3,_0x6ea654);},'keeIZ':function(_0x3902a7,_0xd0e45b){return _0x3902a7(_0xd0e45b);},'WmtfQ':function(_0x576bb3,_0x1bbb7d,_0xf83e25){return _0x576bb3(_0x1bbb7d,_0xf83e25);}},_0x3411d8=_0x398719['id']||await _0x415d85['iumRo'](getActiveFeatureId);!_0x3411d8&&(console[_0x32c680(0x230)](_0x32c680(0x20c)),console[_0x32c680(0x230)](_0x415d85['xbfsi']),process[_0x32c680(0x23a)](0x1));const _0x6448bc=await getFeature(_0x3411d8);_0x6448bc[_0x32c680(0x1d7)]&&!_0x6448bc[_0x32c680(0x1d7)][_0x32c680(0x215)]&&(console[_0x32c680(0x230)](_0x415d85['taBzs']),console['error'](_0x415d85['qNYWZ']),console['error']('\x20\x20'+_0x6448bc[_0x32c680(0x294)]),process[_0x32c680(0x23a)](0x1));const _0xdbaf0c=_0x6448bc[_0x32c680(0x297)]||[];_0x415d85['pqfes'](_0xdbaf0c[_0x32c680(0x1eb)],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x32c680(0x23a)](0x1));if(_0x398719['scenario']===undefined){console['error'](_0x415d85['JooDX']),console['log'](_0x415d85[_0x32c680(0x27e)]);for(let _0x4bc54b=0x0;_0x415d85[_0x32c680(0x218)](_0x4bc54b,_0xdbaf0c[_0x32c680(0x1eb)]);_0x4bc54b++){console[_0x32c680(0x1e5)]('\x20\x20'+(_0x4bc54b+0x1)+'.\x20'+_0xdbaf0c[_0x4bc54b]['description']);}process['exit'](0x1);}const _0x4a3b9b=_0x415d85['fozUT'](_0x398719[_0x32c680(0x208)],0x1);if(_0x4a3b9b<0x0||_0x4a3b9b>=_0xdbaf0c[_0x32c680(0x1eb)]){console[_0x32c680(0x230)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x398719['scenario']+_0x32c680(0x1c4)+_0xdbaf0c[_0x32c680(0x1eb)]+'\x20scenarios.'),console['log'](_0x415d85[_0x32c680(0x27e)]);for(let _0x51fe04=0x0;_0x51fe04<_0xdbaf0c[_0x32c680(0x1eb)];_0x51fe04++){console['log']('\x20\x20'+_0x415d85['hIrkJ'](_0x51fe04,0x1)+'.\x20'+_0xdbaf0c[_0x51fe04]['description']);}process[_0x32c680(0x23a)](0x1);}const _0x565706=_0xdbaf0c[_0x4a3b9b];await _0x415d85['SwHDC'](updateChecklistItem,_0x3411d8,_0x565706['id'],{'description':_0x54e2f0});const _0x3e075b=await _0x415d85[_0x32c680(0x1d1)](getFeature,_0x3411d8);console['log']('\x0a✅\x20Scenario\x20updated'),_0x415d85[_0x32c680(0x1cb)](displayFeature,_0x3e075b,_0x3e075b[_0x32c680(0x297)]);}async function downloadFeedbackImage(_0x509bbe,_0x1a5f6d){const _0x36eb34=_0x2f2042,_0x167bb8={'xshXs':function(_0x1b4f9b,_0x13db83,_0x23eb37){return _0x1b4f9b(_0x13db83,_0x23eb37);},'BixOW':_0x36eb34(0x1ce)};try{const _0x291938=_0x167bb8[_0x36eb34(0x1f4)](join,getRangerDir(),_0x167bb8[_0x36eb34(0x29c)]);await mkdir(_0x291938,{'recursive':!![]});const _0x54a62e=join(_0x291938,_0x36eb34(0x284)+_0x1a5f6d+_0x36eb34(0x1f3)),_0x53dae1=await fetch(_0x509bbe);if(!_0x53dae1['ok'])return null;const _0x36c7cb=Buffer[_0x36eb34(0x273)](await _0x53dae1[_0x36eb34(0x290)]());return await _0x167bb8[_0x36eb34(0x1f4)](writeFile,_0x54a62e,_0x36c7cb),_0x54a62e;}catch{return null;}}export async function featureGetReview(_0x452ea9){const _0x11eca3=_0x2f2042,_0x4c8892={'BwPEC':function(_0x568c95){return _0x568c95();},'APBHj':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','hPKbE':'No\x20scenarios\x20found.','VDXzO':function(_0x5171d2,_0x251d3f){return _0x5171d2<_0x251d3f;},'mkosG':function(_0x1110a1,_0x30fcce){return _0x1110a1>_0x30fcce;},'kQeZp':function(_0x631291,_0x298285){return _0x631291+_0x298285;},'DelmW':'short','rXFmT':'numeric','BjSJn':_0x11eca3(0x1f2),'AiYCm':function(_0xdeb3e1,_0x381e55,_0x39f2d8){return _0xdeb3e1(_0x381e55,_0x39f2d8);},'pKZUv':_0x11eca3(0x247),'ZgdCD':function(_0x13cf5c,_0x331751){return _0x13cf5c===_0x331751;},'UiHKx':_0x11eca3(0x22f),'ZEdQJ':function(_0x2ebb4b,_0x164417){return _0x2ebb4b>=_0x164417;}},_0x12edf6=_0x452ea9||await _0x4c8892['BwPEC'](getActiveFeatureId);if(!_0x12edf6)throw new Error(_0x4c8892[_0x11eca3(0x1f6)]);const _0x396aa1=await getFeature(_0x12edf6),{items:_0x2f3459}=await getActionItems(_0x12edf6);console['log'](_0x11eca3(0x26a)+_0x396aa1['name']+'\x20('+_0x396aa1['id']+')\x0a');if(_0x2f3459[_0x11eca3(0x1eb)]===0x0){console['log'](_0x4c8892['hPKbE']);return;}for(let _0x3dab19=0x0;_0x4c8892['VDXzO'](_0x3dab19,_0x2f3459['length']);_0x3dab19++){const _0x263dc6=_0x2f3459[_0x3dab19],_0x320ab2=_0x263dc6['version']>0x1?'\x20(v'+_0x263dc6['version']+')':'',_0xfdd4eb=await getItemFeedback(_0x12edf6,_0x263dc6['id']);if(_0x4c8892[_0x11eca3(0x1d5)](_0xfdd4eb['unaddressedComments']['length'],0x0)){console['log']('Scenario\x20'+_0x4c8892[_0x11eca3(0x22a)](_0x3dab19,0x1)+':\x20\x22'+_0x263dc6['description']+'\x22'+_0x320ab2+_0x11eca3(0x23c)+_0xfdd4eb[_0x11eca3(0x21f)]['length']+'\x20unaddressed\x20comment(s)');for(const _0x1701f3 of _0xfdd4eb[_0x11eca3(0x21f)]){const _0x3dd121=new Date(_0x1701f3['createdAt'])['toLocaleDateString']('en-US',{'month':_0x4c8892['DelmW'],'day':_0x4c8892['rXFmT']}),_0x44e540=_0x1701f3['authorName']||_0x1701f3['authorEmail']||_0x4c8892['BjSJn'];console[_0x11eca3(0x1e5)](_0x11eca3(0x228)+_0x44e540+'\x20('+_0x3dd121+_0x11eca3(0x1d3)+_0x1701f3[_0x11eca3(0x1ed)]+'\x22');if(_0x1701f3['assetUrl']){const _0x2a6cce=await _0x4c8892[_0x11eca3(0x1c9)](downloadFeedbackImage,_0x1701f3[_0x11eca3(0x221)],_0x1701f3['id']);_0x2a6cce&&console['log'](_0x11eca3(0x216)+_0x2a6cce);}if(_0x1701f3['domRef']){const _0x17567e=_0x1701f3['domRef'][_0x11eca3(0x211)]['split'](_0x4c8892['pKZUv'])['pop']()?.['split'](':')[0x0]||'element',_0x5b15f7=_0x1701f3[_0x11eca3(0x1cc)]['textContent']?'\x20\x22'+_0x1701f3['domRef'][_0x11eca3(0x292)][_0x11eca3(0x1e3)](0x0,0x3c)+'\x22':'';console[_0x11eca3(0x1e5)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x17567e+'>'+_0x5b15f7),console[_0x11eca3(0x1e5)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x1701f3[_0x11eca3(0x1cc)][_0x11eca3(0x211)]);}else{if(_0x1701f3[_0x11eca3(0x1df)]){const _0x27f8da=_0x1701f3['spatial']['coordinates'];_0x4c8892[_0x11eca3(0x1d0)](_0x1701f3[_0x11eca3(0x1df)][_0x11eca3(0x271)],_0x4c8892['UiHKx'])&&_0x4c8892[_0x11eca3(0x20d)](_0x27f8da['length'],0x2)?console[_0x11eca3(0x1e5)](_0x11eca3(0x209)+_0x27f8da[0x0][_0x11eca3(0x1f9)](0x2)+',\x20'+_0x27f8da[0x1][_0x11eca3(0x1f9)](0x2)+')'):console['log'](_0x11eca3(0x276)+_0x1701f3[_0x11eca3(0x1df)][_0x11eca3(0x271)]+_0x11eca3(0x26e)+_0x27f8da[_0x11eca3(0x22c)](_0x211163=>_0x211163['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0xfdd4eb[_0x11eca3(0x263)]){console[_0x11eca3(0x1e5)]('\x20\x20Expected\x20flow:');for(const _0x2db73b of _0xfdd4eb[_0x11eca3(0x263)]['split']('\x0a')){console[_0x11eca3(0x1e5)](_0x11eca3(0x28c)+_0x2db73b);}}}else console['log']('Scenario\x20'+(_0x3dab19+0x1)+_0x11eca3(0x1d2)+_0x263dc6[_0x11eca3(0x20a)]+'\x22'+_0x320ab2+'\x20—\x20no\x20comments'),console[_0x11eca3(0x1e5)](_0x11eca3(0x296));console[_0x11eca3(0x1e5)]('');}}export async function featureDelete(_0x543bfb){const _0x16a9a5=_0x2f2042,_0x18db2b={'mYPkd':_0x16a9a5(0x280),'YkcdL':function(_0x58edeb,_0x10cb92){return _0x58edeb(_0x10cb92);},'nWvVx':function(_0x117609,_0x2edf72){return _0x117609(_0x2edf72);},'ccjxa':_0x16a9a5(0x24d)},_0x5457f8=_0x543bfb||await getActiveFeatureId();if(!_0x5457f8)throw new Error(_0x18db2b[_0x16a9a5(0x1e4)]);const _0x1b4186=await _0x18db2b['YkcdL'](getFeature,_0x5457f8);await _0x18db2b['nWvVx'](softDeleteFeature,_0x5457f8),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x1b4186['name']+'\x20('+_0x5457f8+')'),console[_0x16a9a5(0x1e5)](_0x18db2b['ccjxa']+_0x5457f8);}export async function featureRestore(_0x190afd){const _0x374315=_0x2f2042,_0x1ae7c7={'lWvMe':function(_0x371542,_0x56a3df,_0x12e123){return _0x371542(_0x56a3df,_0x12e123);}};await restoreFeature(_0x190afd);const _0x12cd0d=await getFeature(_0x190afd);console[_0x374315(0x1e5)](_0x374315(0x22d)+_0x12cd0d['name']+'\x20('+_0x190afd+')'),_0x1ae7c7['lWvMe'](displayFeature,_0x12cd0d,_0x12cd0d['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x5da6(_0x255097,_0xbc4bec){_0x255097=_0x255097-0xc3;const _0x3b4c49=_0x3b4c();let _0x5da6ce=_0x3b4c49[_0x255097];return _0x5da6ce;}(function(_0x19cccd,_0x4aeead){const _0x16fc59=_0x5da6,_0x1c95b8=_0x19cccd();while(!![]){try{const _0x19d343=parseInt(_0x16fc59(0xd0))/0x1+parseInt(_0x16fc59(0xc5))/0x2+-parseInt(_0x16fc59(0xc9))/0x3+parseInt(_0x16fc59(0xcd))/0x4+-parseInt(_0x16fc59(0xc3))/0x5+-parseInt(_0x16fc59(0xc7))/0x6*(parseInt(_0x16fc59(0xd2))/0x7)+parseInt(_0x16fc59(0xc8))/0x8;if(_0x19d343===_0x4aeead)break;else _0x1c95b8['push'](_0x1c95b8['shift']());}catch(_0x24d9da){_0x1c95b8['push'](_0x1c95b8['shift']());}}}(_0x3b4c,0xdd507));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x5277d4=_0x5da6,_0x3e6a14={'xAfzF':'SIGINT','lijkP':_0x5277d4(0xc4),'qVnyg':_0x5277d4(0xd6)};if(cancellationHandlersInstalled)return;const _0x178c43=()=>{process['exit'](0x0);};process[_0x5277d4(0xc6)](_0x3e6a14[_0x5277d4(0xcb)],_0x178c43),process[_0x5277d4(0xc6)](_0x3e6a14[_0x5277d4(0xcc)],_0x178c43),process['once'](_0x3e6a14[_0x5277d4(0xd5)],_0x178c43),cancellationHandlersInstalled=!![];}export async function hook(_0x39c935,_0x134529){const _0x108c09=_0x5da6,_0x5370f7={'tVgnm':function(_0x19305e){return _0x19305e();}};_0x5370f7['tVgnm'](installCancellationHandlers);const _0x4f3428=HOOKS[_0x39c935];if(!_0x4f3428){const _0x1a30b5=Object[_0x108c09(0xd1)](HOOKS)[_0x108c09(0xd3)](',\x20');console[_0x108c09(0xcf)](_0x108c09(0xca)+_0x39c935),console[_0x108c09(0xcf)](_0x108c09(0xce)+_0x1a30b5),process[_0x108c09(0xd4)](0x1);}await _0x4f3428(_0x134529);}function _0x3b4c(){const _0x4f95ab=['599778AqeXMD','once','2503686UYJptV','11585296ztXGbH','238947KTjstr','Unknown\x20hook:\x20','xAfzF','lijkP','3330136vNZtSM','Valid\x20hooks:\x20','error','571011rCCHzU','keys','7igoUSt','join','exit','qVnyg','SIGHUP','8740815CKlgZq','SIGTERM'];_0x3b4c=function(){return _0x4f95ab;};return _0x3b4c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x53216d=_0x4bb1;(function(_0x45bd11,_0x19884c){const _0x38e849=_0x4bb1,_0x13d0f4=_0x45bd11();while(!![]){try{const _0x42d2fb=parseInt(_0x38e849(0x11c))/0x1*(-parseInt(_0x38e849(0x117))/0x2)+-parseInt(_0x38e849(0x11a))/0x3*(-parseInt(_0x38e849(0x121))/0x4)+-parseInt(_0x38e849(0x125))/0x5+parseInt(_0x38e849(0x118))/0x6*(parseInt(_0x38e849(0x116))/0x7)+parseInt(_0x38e849(0x123))/0x8*(-parseInt(_0x38e849(0x124))/0x9)+-parseInt(_0x38e849(0x11d))/0xa+-parseInt(_0x38e849(0x120))/0xb*(-parseInt(_0x38e849(0x126))/0xc);if(_0x42d2fb===_0x19884c)break;else _0x13d0f4['push'](_0x13d0f4['shift']());}catch(_0x130344){_0x13d0f4['push'](_0x13d0f4['shift']());}}}(_0x8831,0x98dec));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x53216d(0x11f);function _0x4bb1(_0x18727e,_0x561b70){_0x18727e=_0x18727e-0x116;const _0x883189=_0x8831();let _0x4bb14d=_0x883189[_0x18727e];return _0x4bb14d;}function _0x8831(){const _0x175f29=['4177830hiBwFU','12DdBQlV','2723wglUsH','58NPtDlU','11418OhDpKX','CtzSP','467151AmaDXN','FimNR','12392XPSyOq','35920XdaFVz','log','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','12820170bLpxhF','12nRkdgk','dbWwq','8lsrNmP','4933854MvwZlI'];_0x8831=function(){return _0x175f29;};return _0x8831();}export async function autoPrompt(){const _0x311bd3=_0x53216d,_0x57e992={'CtzSP':function(_0x31a691){return _0x31a691();},'FimNR':function(_0x328b54,_0x450b6d){return _0x328b54(_0x450b6d);},'dbWwq':function(_0x59327f,_0x4a7edd){return _0x59327f(_0x4a7edd);}},_0x22bf79=await _0x57e992[_0x311bd3(0x119)](readHookInput),_0x14c250=_0x22bf79?.['session_id'];if(!_0x14c250)return;if(_0x57e992[_0x311bd3(0x11b)](isSessionEnabled,_0x14c250)||hasSessionBeenPrompted(_0x14c250))return;_0x57e992[_0x311bd3(0x122)](markSessionPrompted,_0x14c250),console[_0x311bd3(0x11e)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x189c(_0x366297,_0x53bf72){_0x366297=_0x366297-0x170;const _0x308f53=_0x308f();let _0x189c6c=_0x308f53[_0x366297];return _0x189c6c;}(function(_0x521139,_0x4d00dd){const _0x395388=_0x189c,_0x29b7dc=_0x521139();while(!![]){try{const _0x2a5c40=-parseInt(_0x395388(0x17b))/0x1*(-parseInt(_0x395388(0x17d))/0x2)+-parseInt(_0x395388(0x177))/0x3+parseInt(_0x395388(0x171))/0x4*(parseInt(_0x395388(0x174))/0x5)+parseInt(_0x395388(0x176))/0x6*(-parseInt(_0x395388(0x172))/0x7)+-parseInt(_0x395388(0x17a))/0x8+parseInt(_0x395388(0x178))/0x9*(parseInt(_0x395388(0x17e))/0xa)+parseInt(_0x395388(0x17c))/0xb*(parseInt(_0x395388(0x170))/0xc);if(_0x2a5c40===_0x4d00dd)break;else _0x29b7dc['push'](_0x29b7dc['shift']());}catch(_0x5214d7){_0x29b7dc['push'](_0x29b7dc['shift']());}}}(_0x308f,0x2b445));function _0x308f(){const _0x36a904=['#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','988456VvUPhl','10727CZryJm','51007AzLMFg','22WAtRcN','370IIoBDJ','env','main','12jAKLbV','4mwOwbg','3311ESdSXV','\x20and\x20branch\x20\x27','73430VbsLzt','qrznG','18giWwvP','161712RmRjwn','53217ohzHcn'];_0x308f=function(){return _0x36a904;};return _0x308f();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x261b5a){const _0xab888d=_0x189c,_0x194adc={'qrznG':function(_0x5eb289,_0x22b813){return _0x5eb289(_0x22b813);},'IhOpp':'main','WVVPf':'master','TkTOh':function(_0x907c0b,_0x10b7df){return _0x907c0b(_0x10b7df);},'iLDQr':function(_0x284138,_0x6b7f2b){return _0x284138!==_0x6b7f2b;}},_0x60eb9f=_0x261b5a||process[_0xab888d(0x17f)]['CLAUDE_SESSION_ID']||'';_0x60eb9f&&_0x194adc[_0xab888d(0x175)](disableSession,_0x60eb9f);const _0x3704a4=getCurrentBranch();_0x3704a4&&_0x3704a4!==_0x194adc['IhOpp']&&_0x3704a4!==_0x194adc['WVVPf']&&_0x194adc['qrznG'](disableBranch,_0x3704a4),_0x194adc['TkTOh'](printBlock,_0xab888d(0x179)+(_0x3704a4&&_0x194adc['iLDQr'](_0x3704a4,_0xab888d(0x180))&&_0x194adc['iLDQr'](_0x3704a4,_0x194adc['WVVPf'])?_0xab888d(0x173)+_0x3704a4+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3619(_0x53a8e0,_0x379883){_0x53a8e0=_0x53a8e0-0x8a;const _0x33ff98=_0x33ff();let _0x36192f=_0x33ff98[_0x53a8e0];return _0x36192f;}function _0x33ff(){const _0x4e4dd8=['80432TCxDOp','942690xOnwVU','1422994PUJsGL','48310OKfwjb','2743760IeaAeB','LRarU','#\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`','\x0a\x0a**Branch\x20\x27','2664jzdyKk','ranger\x20setup','2DSJThK','main','981XEXRhz','65343FjYSGU','ranger\x20setup\x20--opencode','11228EiWcmi','GxqxN','iEomd','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','CLAUDE_SESSION_ID','#\x20RANGER\x20ENABLED','master','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','EKtCs'];_0x33ff=function(){return _0x4e4dd8;};return _0x33ff();}(function(_0x2a1f30,_0x283223){const _0x1d0546=_0x3619,_0x4c3139=_0x2a1f30();while(!![]){try{const _0x43f72b=parseInt(_0x1d0546(0x98))/0x1+-parseInt(_0x1d0546(0xa0))/0x2*(-parseInt(_0x1d0546(0x8a))/0x3)+parseInt(_0x1d0546(0x96))/0x4+-parseInt(_0x1d0546(0x9a))/0x5+-parseInt(_0x1d0546(0x97))/0x6+-parseInt(_0x1d0546(0x8c))/0x7*(parseInt(_0x1d0546(0x9e))/0x8)+-parseInt(_0x1d0546(0xa2))/0x9*(-parseInt(_0x1d0546(0x99))/0xa);if(_0x43f72b===_0x283223)break;else _0x4c3139['push'](_0x4c3139['shift']());}catch(_0x153044){_0x4c3139['push'](_0x4c3139['shift']());}}}(_0x33ff,0xb7767));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x546f23){const _0x2b77f0=_0x3619,_0x3ca007={'GxqxN':function(_0x2db085){return _0x2db085();},'EKtCs':_0x2b77f0(0x8b),'nywHW':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','cxIVV':_0x2b77f0(0x93),'KOBmu':function(_0x1db5ed,_0x58847e){return _0x1db5ed(_0x58847e);},'iEomd':function(_0x2519e1,_0x4edcb1){return _0x2519e1(_0x4edcb1);},'LRarU':function(_0x2f3571,_0x4a3df1){return _0x2f3571!==_0x4a3df1;},'sJwGj':_0x2b77f0(0x92),'kFpwh':function(_0x5f16d5,_0x5c0e83){return _0x5f16d5(_0x5c0e83);}},_0x2cb53d=_0x546f23||process['env'][_0x2b77f0(0x90)]||'',_0x12e91c=Boolean(_0x546f23),_0x2f0ed2=await _0x3ca007[_0x2b77f0(0x8d)](getToken);if(!_0x2f0ed2){const _0x39f40a=_0x12e91c?_0x3ca007[_0x2b77f0(0x95)]:_0x2b77f0(0x9f),_0x1c73c3=_0x12e91c?_0x3ca007['nywHW']:_0x3ca007['cxIVV'];_0x3ca007['KOBmu'](printBlock,_0x2b77f0(0x9c)+_0x39f40a+_0x2b77f0(0x8f)+_0x1c73c3);return;}try{await _0x3ca007[_0x2b77f0(0x8d)](update);}catch{}_0x2cb53d&&_0x3ca007[_0x2b77f0(0x8e)](enableSession,_0x2cb53d);const _0x1728fb=getCurrentBranch(),_0x502a0d=_0x1728fb&&_0x1728fb!==_0x2b77f0(0xa1)&&_0x3ca007[_0x2b77f0(0x9b)](_0x1728fb,_0x3ca007['sJwGj'])?_0x2b77f0(0x9d)+_0x1728fb+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x3e56b0=_0x3ca007[_0x2b77f0(0x8d)](getRangerSkillContent);_0x3ca007['kFpwh'](printBlock,_0x2b77f0(0x91)+_0x502a0d+_0x2b77f0(0x94)+_0x3e56b0+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x332c(_0x1ec064,_0x19a47c){_0x1ec064=_0x1ec064-0x1dd;const _0x2b3d84=_0x2b3d();let _0x332cd3=_0x2b3d84[_0x1ec064];return _0x332cd3;}(function(_0x5bc57e,_0xaf2c37){const _0x52d765=_0x332c,_0x251aeb=_0x5bc57e();while(!![]){try{const _0x5da185=parseInt(_0x52d765(0x1e1))/0x1*(-parseInt(_0x52d765(0x1e6))/0x2)+-parseInt(_0x52d765(0x1e0))/0x3+parseInt(_0x52d765(0x1e2))/0x4*(parseInt(_0x52d765(0x1dd))/0x5)+-parseInt(_0x52d765(0x1de))/0x6+-parseInt(_0x52d765(0x1e4))/0x7+parseInt(_0x52d765(0x1e7))/0x8*(-parseInt(_0x52d765(0x1e3))/0x9)+parseInt(_0x52d765(0x1e5))/0xa*(parseInt(_0x52d765(0x1df))/0xb);if(_0x5da185===_0xaf2c37)break;else _0x251aeb['push'](_0x251aeb['shift']());}catch(_0x4c3525){_0x251aeb['push'](_0x251aeb['shift']());}}}(_0x2b3d,0x28210));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2b3d(){const _0x162e1a=['944mZSmnX','===\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===','25CJKyRY','572172OQRkLK','1137961XnCnxC','902064TykBgs','919zxOYqb','188492tqdlSv','23724YFDayZ','1288063oawrOz','90uJsewl','242FpfJwE'];_0x2b3d=function(){return _0x162e1a;};return _0x2b3d();}export async function exitPlanMode(_0x34f878){const _0x59a67e=_0x332c,_0xbde90e=await getEnabledSessionId(_0x34f878);if(!_0xbde90e)return;printBlock(_0x59a67e(0x1e8));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1d22(){var _0x8cf233=['4067944zMSuUQ','15YcIkdM','1153980DObAPR','6629890XXPQvM','450892NSHvLN','87888KZLiDT','2264226pnZAPZ','28ZJzfXr','26HWgtJA','1954184WBqdty','11AQTibR'];_0x1d22=function(){return _0x8cf233;};return _0x1d22();}(function(_0x3d5ca5,_0xff3243){var _0x47f04b=_0xa233,_0x5c3803=_0x3d5ca5();while(!![]){try{var _0x59aee0=parseInt(_0x47f04b(0xfb))/0x1+parseInt(_0x47f04b(0xff))/0x2*(-parseInt(_0x47f04b(0xfc))/0x3)+-parseInt(_0x47f04b(0x102))/0x4+parseInt(_0x47f04b(0x103))/0x5*(parseInt(_0x47f04b(0xfd))/0x6)+parseInt(_0x47f04b(0xfe))/0x7*(parseInt(_0x47f04b(0x100))/0x8)+parseInt(_0x47f04b(0xf9))/0x9+parseInt(_0x47f04b(0xfa))/0xa*(-parseInt(_0x47f04b(0x101))/0xb);if(_0x59aee0===_0xff3243)break;else _0x5c3803['push'](_0x5c3803['shift']());}catch(_0x43878a){_0x5c3803['push'](_0x5c3803['shift']());}}}(_0x1d22,0x99326));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';function _0xa233(_0x5ed3ad,_0x3c95da){_0x5ed3ad=_0x5ed3ad-0xf9;var _0x1d22ce=_0x1d22();var _0xa2333f=_0x1d22ce[_0x5ed3ad];return _0xa2333f;}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x6696(){const _0x1c833e=['7475232WBFYmL','398JFkBfr','3450ifXKuF','375504XEgvDM','4yUuIBl','11494490YIbxTA','8944380oXJwMH','log','19440GWIBqn','trim','924444bUHxMw','hxyhl','20190RukOhF'];_0x6696=function(){return _0x1c833e;};return _0x6696();}function _0x5f50(_0x3ede37,_0x47242f){_0x3ede37=_0x3ede37-0xc3;const _0x669616=_0x6696();let _0x5f504c=_0x669616[_0x3ede37];return _0x5f504c;}(function(_0x182b1a,_0x631aa6){const _0x574a7c=_0x5f50,_0x3ded26=_0x182b1a();while(!![]){try{const _0x417c96=parseInt(_0x574a7c(0xca))/0x1*(-parseInt(_0x574a7c(0xcb))/0x2)+-parseInt(_0x574a7c(0xcc))/0x3*(parseInt(_0x574a7c(0xcd))/0x4)+-parseInt(_0x574a7c(0xcf))/0x5+-parseInt(_0x574a7c(0xc6))/0x6+-parseInt(_0x574a7c(0xce))/0x7+parseInt(_0x574a7c(0xc9))/0x8+parseInt(_0x574a7c(0xc4))/0x9*(parseInt(_0x574a7c(0xc8))/0xa);if(_0x417c96===_0x631aa6)break;else _0x3ded26['push'](_0x3ded26['shift']());}catch(_0xc0781f){_0x3ded26['push'](_0x3ded26['shift']());}}}(_0x6696,0xdb692));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x37a530){const _0x223c30=_0x5f50;console[_0x223c30(0xc3)](_0x37a530);}export async function readHookInput(){const _0xdfd18a=_0x5f50;let _0x489026='';try{for await(const _0x227a46 of process['stdin']){_0x489026+=_0x227a46;}}catch{return null;}if(!_0x489026[_0xdfd18a(0xc5)]())return null;try{return JSON['parse'](_0x489026);}catch{return null;}}export async function getEnabledSessionId(_0x51d5cc){const _0x296170={'etWcv':function(_0x2c3258,_0x3d8450){return _0x2c3258(_0x3d8450);}};if(_0x51d5cc)return isSessionEnabled(_0x51d5cc)?_0x51d5cc:null;const _0x1a1bb7=await readHookInput(),_0x2755db=_0x1a1bb7?.['session_id'];if(!_0x2755db||!_0x296170['etWcv'](isSessionEnabled,_0x2755db))return null;return _0x2755db;}export async function getEnabledHookContext(_0x510e82){const _0x5a071f=_0x5f50,_0x4fef80={'hxyhl':function(_0x3f5529){return _0x3f5529();}};if(_0x510e82){if(!isSessionEnabled(_0x510e82))return null;return{'sessionId':_0x510e82,'input':{'session_id':_0x510e82}};}const _0x502e1c=await _0x4fef80[_0x5a071f(0xc7)](readHookInput),_0x3fc41b=_0x502e1c?.['session_id'];if(!_0x3fc41b||!isSessionEnabled(_0x3fc41b))return null;return{'sessionId':_0x3fc41b,'input':_0x502e1c};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xea22(_0x3afebf,_0x4ff120){_0x3afebf=_0x3afebf-0x64;const _0x165f3d=_0x165f();let _0xea2241=_0x165f3d[_0x3afebf];return _0xea2241;}(function(_0x570b07,_0x39062c){const _0xdbb01d=_0xea22,_0xee82b8=_0x570b07();while(!![]){try{const _0xe20446=-parseInt(_0xdbb01d(0x65))/0x1*(parseInt(_0xdbb01d(0x70))/0x2)+parseInt(_0xdbb01d(0x74))/0x3+parseInt(_0xdbb01d(0x6d))/0x4+-parseInt(_0xdbb01d(0x68))/0x5*(parseInt(_0xdbb01d(0x6a))/0x6)+parseInt(_0xdbb01d(0x6f))/0x7+-parseInt(_0xdbb01d(0x64))/0x8*(-parseInt(_0xdbb01d(0x6e))/0x9)+-parseInt(_0xdbb01d(0x72))/0xa*(-parseInt(_0xdbb01d(0x73))/0xb);if(_0xe20446===_0x39062c)break;else _0xee82b8['push'](_0xee82b8['shift']());}catch(_0x322b9c){_0xee82b8['push'](_0xee82b8['shift']());}}}(_0x165f,0xd9c35));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x165f(){const _0x358224=['15075zqoMMG','4272282Iojorf','152426QcNpOo','===\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===','2150TiFXpp','15565fGWquj','2690865GbDiuF','5192JqacWS','11VqWuhh','input','lTjJC','911045chjLip','ElVPy','48uVQZOV','plan','sessionId','1157564DpKlyr'];_0x165f=function(){return _0x358224;};return _0x165f();}export async function planReminder(_0x1f23da){const _0x126198=_0xea22,_0x53fdb3={'lTjJC':function(_0x14b054,_0x51dd63){return _0x14b054(_0x51dd63);},'ElVPy':function(_0x7ea1c8,_0x81c8b1){return _0x7ea1c8!==_0x81c8b1;},'oNEjI':_0x126198(0x6b)},_0x4f8061=await _0x53fdb3[_0x126198(0x67)](getEnabledHookContext,_0x1f23da);if(!_0x4f8061)return;if(_0x53fdb3[_0x126198(0x69)](_0x4f8061[_0x126198(0x66)]['permission_mode'],_0x53fdb3['oNEjI']))return;if(!shouldShowPlanReminder(_0x4f8061[_0x126198(0x6c)]))return;_0x53fdb3[_0x126198(0x67)](printBlock,_0x126198(0x71));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3071d8,_0x284c6b){const _0xb18dce=_0x493d,_0x1928e0=_0x3071d8();while(!![]){try{const _0x20058a=-parseInt(_0xb18dce(0x157))/0x1+parseInt(_0xb18dce(0x154))/0x2+parseInt(_0xb18dce(0x155))/0x3+parseInt(_0xb18dce(0x15c))/0x4*(parseInt(_0xb18dce(0x152))/0x5)+-parseInt(_0xb18dce(0x15a))/0x6*(parseInt(_0xb18dce(0x159))/0x7)+parseInt(_0xb18dce(0x15b))/0x8*(-parseInt(_0xb18dce(0x151))/0x9)+parseInt(_0xb18dce(0x158))/0xa;if(_0x20058a===_0x284c6b)break;else _0x1928e0['push'](_0x1928e0['shift']());}catch(_0x5630d6){_0x1928e0['push'](_0x1928e0['shift']());}}}(_0x2ec5,0x31edd));function _0x493d(_0x1c63b3,_0x1650e5){_0x1c63b3=_0x1c63b3-0x151;const _0x2ec54a=_0x2ec5();let _0x493d61=_0x2ec54a[_0x1c63b3];return _0x493d61;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x5be724){const _0x15f43e=_0x493d,_0x3695c1={'IgQVS':function(_0x30c62b,_0x2512d8){return _0x30c62b(_0x2512d8);}},_0x29f183=await getEnabledSessionId(_0x5be724);if(!_0x29f183)return;_0x3695c1[_0x15f43e(0x153)](printBlock,_0x15f43e(0x156));}function _0x2ec5(){const _0x3a5ad4=['===\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===','266600SNXWbv','4210800IaWEzc','49CfJbKd','144534fMZNCv','1624wNvpLT','104rGMSeW','7713XmTipk','22275VHjJXi','IgQVS','38318nKJKfl','772902fIjYcE'];_0x2ec5=function(){return _0x3a5ad4;};return _0x2ec5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x5ac0(_0x29dfe4,_0x2221c2){_0x29dfe4=_0x29dfe4-0x89;const _0x5cb297=_0x5cb2();let _0x5ac01f=_0x5cb297[_0x29dfe4];return _0x5ac01f;}function _0x5cb2(){const _0x54e972=['2OnNBIq','stringify','260044MehqmK','2830884wcXKmS','9NizZUC','log','PostToolUse','44uNNBjf','CTJQP','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.','1257370CaMabk','1799684ptzuhq','3XDYhNF','2826hyAOUx','6815BdLEkA','7075160DqfIam','2200068HdlLuM'];_0x5cb2=function(){return _0x54e972;};return _0x5cb2();}(function(_0x2bde32,_0x48bb03){const _0x4f1831=_0x5ac0,_0x5e8aff=_0x2bde32();while(!![]){try{const _0xf76eaf=-parseInt(_0x4f1831(0x91))/0x1*(-parseInt(_0x4f1831(0x8f))/0x2)+-parseInt(_0x4f1831(0x8a))/0x3*(parseInt(_0x4f1831(0x89))/0x4)+parseInt(_0x4f1831(0x8c))/0x5*(parseInt(_0x4f1831(0x8b))/0x6)+-parseInt(_0x4f1831(0x92))/0x7+-parseInt(_0x4f1831(0x8d))/0x8*(-parseInt(_0x4f1831(0x93))/0x9)+parseInt(_0x4f1831(0x99))/0xa*(-parseInt(_0x4f1831(0x96))/0xb)+parseInt(_0x4f1831(0x8e))/0xc;if(_0xf76eaf===_0x48bb03)break;else _0x5e8aff['push'](_0x5e8aff['shift']());}catch(_0x2f79c8){_0x5e8aff['push'](_0x5e8aff['shift']());}}}(_0x5cb2,0x95876));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x13d411){const _0x1fa57c=_0x5ac0,_0x868454={'CTJQP':function(_0x2f5779,_0x448139){return _0x2f5779(_0x448139);},'xBtLA':function(_0x4f7539){return _0x4f7539();},'qDGNH':_0x1fa57c(0x95)},_0x9cb5f=await _0x868454[_0x1fa57c(0x97)](getEnabledSessionId,_0x13d411);if(!_0x9cb5f)return;_0x868454[_0x1fa57c(0x97)](updateBranchTracking,_0x9cb5f);const _0x30c3d9=await _0x868454['xBtLA'](getToken);if(!_0x30c3d9)return;const _0x1128dd=_0x868454[_0x1fa57c(0x97)](getSessionEntry,_0x9cb5f);if(_0x1128dd){const _0x51a88d={'hookSpecificOutput':{'hookEventName':_0x868454['qDGNH'],'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[_0x1fa57c(0x94)](JSON[_0x1fa57c(0x90)](_0x51a88d));return;}const _0x13d7e5={'hookSpecificOutput':{'hookEventName':_0x1fa57c(0x95),'additionalContext':_0x1fa57c(0x98)}};console[_0x1fa57c(0x94)](JSON[_0x1fa57c(0x90)](_0x13d7e5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x49ae03,_0x3f7744){const _0x29e3b3=_0x2f74,_0x28f794=_0x49ae03();while(!![]){try{const _0x56da8c=parseInt(_0x29e3b3(0x1c5))/0x1+-parseInt(_0x29e3b3(0x1cd))/0x2*(-parseInt(_0x29e3b3(0x1c4))/0x3)+-parseInt(_0x29e3b3(0x1ca))/0x4*(-parseInt(_0x29e3b3(0x1cf))/0x5)+-parseInt(_0x29e3b3(0x1c9))/0x6+parseInt(_0x29e3b3(0x1c6))/0x7*(-parseInt(_0x29e3b3(0x1c7))/0x8)+-parseInt(_0x29e3b3(0x1ce))/0x9+parseInt(_0x29e3b3(0x1c8))/0xa*(parseInt(_0x29e3b3(0x1cb))/0xb);if(_0x56da8c===_0x3f7744)break;else _0x28f794['push'](_0x28f794['shift']());}catch(_0x339fda){_0x28f794['push'](_0x28f794['shift']());}}}(_0xd87b,0x5f125));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x59a17a){const _0x29d473=_0x2f74,_0x3e1720={'juMEi':function(_0x3f9af9,_0x139c3e){return _0x3f9af9(_0x139c3e);}},_0x35340e=await getEnabledSessionId(_0x59a17a);if(!_0x35340e)return;try{const _0x2f4731=await getToken();if(!_0x2f4731)return;_0x3e1720['juMEi'](printBlock,_0x29d473(0x1cc));}catch{}}function _0x2f74(_0x5b4f9f,_0x4e4718){_0x5b4f9f=_0x5b4f9f-0x1c4;const _0xd87b64=_0xd87b();let _0x2f743b=_0xd87b64[_0x5b4f9f];return _0x2f743b;}function _0xd87b(){const _0x4d9bf6=['208508MGPWiO','302027DyOyex','===\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`.','4DVSEVX','6137523XQApZi','55rOkZFi','284709voSWow','654956WYUCwg','815899mLGHxj','48KsbbXG','130ongxBu','26388wQZLkN'];_0xd87b=function(){return _0x4d9bf6;};return _0xd87b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1c8c(_0x164d0f,_0x26b939){_0x164d0f=_0x164d0f-0xce;const _0x10cd67=_0x10cd();let _0x1c8c9d=_0x10cd67[_0x164d0f];return _0x1c8c9d;}(function(_0x4e4d1c,_0x25db12){const _0x2c5af6=_0x1c8c,_0x2df47c=_0x4e4d1c();while(!![]){try{const _0x11a2c7=-parseInt(_0x2c5af6(0xd8))/0x1+parseInt(_0x2c5af6(0xd4))/0x2*(parseInt(_0x2c5af6(0xd2))/0x3)+-parseInt(_0x2c5af6(0xce))/0x4*(parseInt(_0x2c5af6(0xd3))/0x5)+parseInt(_0x2c5af6(0xd9))/0x6*(parseInt(_0x2c5af6(0xd6))/0x7)+parseInt(_0x2c5af6(0xd0))/0x8*(-parseInt(_0x2c5af6(0xd5))/0x9)+parseInt(_0x2c5af6(0xcf))/0xa+parseInt(_0x2c5af6(0xdb))/0xb*(-parseInt(_0x2c5af6(0xd1))/0xc);if(_0x11a2c7===_0x25db12)break;else _0x2df47c['push'](_0x2df47c['shift']());}catch(_0x1d604d){_0x2df47c['push'](_0x2df47c['shift']());}}}(_0x10cd,0x6bdc6));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x24b97c){const _0x40e247=_0x1c8c,_0x5ac432={'LNnrS':function(_0x4d5616,_0x4158c1){return _0x4d5616(_0x4158c1);},'CRQxY':function(_0x5f264a){return _0x5f264a();},'ULspz':function(_0x2bebe9,_0x285c47){return _0x2bebe9===_0x285c47;},'Fulbs':'clear'},_0x3bcf4f=process['env'][_0x40e247(0xd7)];let _0x2746d9=_0x24b97c,_0x55278b;if(!_0x24b97c){if(_0x3bcf4f&&!_0x5ac432['LNnrS'](isSessionEnabled,_0x3bcf4f))return;const _0x508e52=await _0x5ac432['CRQxY'](readHookInput);_0x2746d9=_0x508e52?.[_0x40e247(0xdc)]||_0x3bcf4f,_0x55278b=_0x508e52?.['reason'];}if(!_0x2746d9)return;_0x5ac432['ULspz'](_0x55278b,_0x5ac432[_0x40e247(0xda)])&&recordEnabledSessionCleared(_0x2746d9);}function _0x10cd(){const _0x35aae3=['40yBEpdt','12ikgcUg','1542JiawKH','1120KfOMhj','3084TYKGVT','220464jInZyX','21wWCDYx','CLAUDE_SESSION_ID','77429ZCgnvk','950604iAiHGs','Fulbs','1159235mCcTAK','session_id','9652drBlbu','197140cYDETA'];_0x10cd=function(){return _0x35aae3;};return _0x10cd();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x54f9c2=_0x19a7;function _0x3f30(){const _0x3011fe=['569826TzBEqr','8toFpVj','parse','SessionStart','1Zjfgit','1817360bKlnnO','18CRmRlj','session_id','810173iZjKuo','HOHqS','13234390rBiRJe','834506oluxyj','33piZBDf','6483060jRhrBN','source','4zNcZdA','=================================================================\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=================================================================','main','env','lIlpA','1524936eDRsHn'];_0x3f30=function(){return _0x3011fe;};return _0x3f30();}(function(_0x1133bd,_0x139aea){const _0x3c5b6f=_0x19a7,_0x1f0e48=_0x1133bd();while(!![]){try{const _0x4d5138=-parseInt(_0x3c5b6f(0x1f5))/0x1*(-parseInt(_0x3c5b6f(0x1fc))/0x2)+parseInt(_0x3c5b6f(0x1f0))/0x3*(parseInt(_0x3c5b6f(0x1eb))/0x4)+-parseInt(_0x3c5b6f(0x1f6))/0x5+parseInt(_0x3c5b6f(0x1f7))/0x6*(parseInt(_0x3c5b6f(0x1f9))/0x7)+parseInt(_0x3c5b6f(0x1f2))/0x8*(parseInt(_0x3c5b6f(0x1f1))/0x9)+parseInt(_0x3c5b6f(0x1fb))/0xa+-parseInt(_0x3c5b6f(0x1e8))/0xb*(parseInt(_0x3c5b6f(0x1e9))/0xc);if(_0x4d5138===_0x139aea)break;else _0x1f0e48['push'](_0x1f0e48['shift']());}catch(_0x281f25){_0x1f0e48['push'](_0x1f0e48['shift']());}}}(_0x3f30,0xa4de2));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x19a7(_0x1874c3,_0x699e46){_0x1874c3=_0x1874c3-0x1e8;const _0x3f3018=_0x3f30();let _0x19a761=_0x3f3018[_0x1874c3];return _0x19a761;}import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x54f9c2(0x1ec);export async function sessionStart(_0x2319ba){const _0x459a58=_0x54f9c2,_0x17d8a6={'QsJQS':function(_0x42b2ac,_0x37cf3d){return _0x42b2ac&&_0x37cf3d;},'HOHqS':function(_0x5dbb95,_0x3bf0ba){return _0x5dbb95(_0x3bf0ba);},'NpwUm':function(_0x3d663e,_0x17eac1){return _0x3d663e(_0x17eac1);},'tzRWG':'hook:session-start','lIlpA':function(_0x5f3c34,_0x62245b){return _0x5f3c34!==_0x62245b;},'YRlLE':_0x459a58(0x1f4),'SbLWd':function(_0x27b880,_0x562897){return _0x27b880+_0x562897;}};let _0x2c84ab=_0x2319ba||'',_0x3021cc;if(!_0x2319ba){let _0x56e0eb='';for await(const _0x360fcf of process['stdin']){_0x56e0eb+=_0x360fcf;}try{const _0x1a6917=JSON[_0x459a58(0x1f3)](_0x56e0eb);_0x2c84ab=_0x1a6917[_0x459a58(0x1f8)]||'',_0x3021cc=_0x1a6917[_0x459a58(0x1ea)];}catch{}const _0x456e89=process[_0x459a58(0x1ee)]['CLAUDE_ENV_FILE'];if(_0x17d8a6['QsJQS'](_0x456e89,_0x2c84ab))try{await appendFile(_0x456e89,'export\x20CLAUDE_SESSION_ID=\x22'+_0x2c84ab+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x2c84ab){_0x17d8a6[_0x459a58(0x1fa)](shouldAutoEnableAfterClear,_0x3021cc)&&_0x17d8a6['HOHqS'](autoEnableAfterClear,_0x2c84ab);initBranchTracking(_0x2c84ab);const _0x2fcbac=isSessionEnabled(_0x2c84ab);try{const _0x452eec=_0x17d8a6['NpwUm'](createTelemetryCollector,_0x17d8a6['tzRWG']);await _0x452eec['trackCommandStart']({'sessionId':_0x2c84ab,'hooksEnabled':_0x2fcbac}),await _0x452eec['trackCommandEnd']('success');}catch{}if(_0x2fcbac){const _0x3363d8=getCurrentBranch(),_0x5d4b18=_0x3363d8&&_0x17d8a6[_0x459a58(0x1ef)](_0x3363d8,_0x459a58(0x1ed))&&_0x3363d8!=='master'?'\x20(Branch:\x20'+_0x3363d8+')':'',_0x283f5b={'hookSpecificOutput':{'hookEventName':_0x17d8a6['YRlLE'],'additionalContext':_0x17d8a6['SbLWd'](RANGER_AUTO_ENABLED_PROMPT,_0x5d4b18)}};console['log'](JSON['stringify'](_0x283f5b));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x573506,_0x42c033){const _0x1d7662=_0xa721,_0x3e7e30=_0x573506();while(!![]){try{const _0x3414bd=parseInt(_0x1d7662(0xfc))/0x1*(-parseInt(_0x1d7662(0xf9))/0x2)+-parseInt(_0x1d7662(0x111))/0x3+parseInt(_0x1d7662(0x10d))/0x4+parseInt(_0x1d7662(0x106))/0x5*(-parseInt(_0x1d7662(0x101))/0x6)+parseInt(_0x1d7662(0x10a))/0x7*(-parseInt(_0x1d7662(0x10f))/0x8)+parseInt(_0x1d7662(0xfa))/0x9+parseInt(_0x1d7662(0x109))/0xa;if(_0x3414bd===_0x42c033)break;else _0x3e7e30['push'](_0x3e7e30['shift']());}catch(_0x2ee275){_0x3e7e30['push'](_0x3e7e30['shift']());}}}(_0x3dca,0x350cb));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x3dca(){const _0x25e24b=['filter','some','514655uRiUGF','verified','featureId','7920390XFZOof','56joGChh','EKupt','dFfTA','879404wuJOWk','sessionId','258824qNzkgU','success','968223jvPZxW','stringify','2630kdZyBb','3213747gYCRTk','currentSessionId','277iIJvXp','Stop','trackCommandEnd','status','log','12JnZRWa','hook:stop','incomplete'];_0x3dca=function(){return _0x25e24b;};return _0x3dca();}function _0xa721(_0x479111,_0x1b2d71){_0x479111=_0x479111-0xf8;const _0x3dca39=_0x3dca();let _0xa7218b=_0x3dca39[_0x479111];return _0xa7218b;}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x1f016b){const _0x16338d=_0xa721,_0x334865={'dFfTA':function(_0x2e9a08,_0x6cb64f){return _0x2e9a08(_0x6cb64f);},'EKupt':function(_0x505d38,_0x411242,_0x1db422,_0x185849){return _0x505d38(_0x411242,_0x1db422,_0x185849);},'ozdBD':function(_0xc1fb2b){return _0xc1fb2b();},'QRolj':function(_0x3bfef0,_0x47ef11){return _0x3bfef0&&_0x47ef11;}},_0x17b2e9=await getEnabledHookContext(_0x1f016b),_0x5ce193=_0x17b2e9?.['sessionId']??null;let _0x4bc6b2=!![];if(!_0x5ce193){await trackStop(_0x5ce193,![],_0x4bc6b2);return;}try{const _0x386c53=_0x334865[_0x16338d(0x10c)](getSessionEntry,_0x5ce193);if(!_0x386c53){await _0x334865['EKupt'](trackStop,_0x5ce193,!![],_0x4bc6b2);return;}const _0x4f17d1=await _0x334865['ozdBD'](getToken),_0x44deba='https://dashboard.ranger.net/features/'+_0x386c53['featureId'];let _0x33de90=null,_0x33bb71=![],_0xa5f190=![];if(_0x4f17d1)try{const _0x480ee6=await getFeature(_0x386c53[_0x16338d(0x108)]);_0x33de90=_0x480ee6[_0x16338d(0xfb)]??null;const _0x36f823=_0x480ee6['checklistItems'][_0x16338d(0x104)](_0x1dcb7b=>_0x1dcb7b[_0x16338d(0x10e)]===_0x33de90);_0x33bb71=_0x36f823['some'](_0x2f5541=>_0x2f5541['status']!==_0x16338d(0x107)&&_0x2f5541[_0x16338d(0xff)]!=='blocked'&&_0x2f5541['status']!=='closed'&&_0x2f5541['status']!==_0x16338d(0x103)),_0xa5f190=_0x36f823[_0x16338d(0x105)](_0xd6136=>_0xd6136['status']==='verification_in_progress');}catch{}if(_0x334865['QRolj'](_0x4f17d1,_0x33de90)&&_0x33bb71){if(!_0xa5f190&&shouldShowStopReminder(_0x5ce193)){const _0x39c30e={'hookSpecificOutput':{'hookEventName':_0x16338d(0xfd),'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'+_0x44deba}};console[_0x16338d(0x100)](JSON[_0x16338d(0xf8)](_0x39c30e));}}if(_0x4f17d1&&_0x33de90&&!_0x33bb71)try{await concludeSession(_0x386c53['featureId'],_0x33de90);}catch{}await _0x334865[_0x16338d(0x10b)](trackStop,_0x5ce193,!![],_0x4bc6b2);return;}catch{await trackStop(_0x5ce193,!![],_0x4bc6b2);return;}}async function trackStop(_0x91383b,_0x4d19ff,_0x3efb48){const _0x27fb0f=_0xa721,_0x3fcc62={'hvpgD':function(_0x11bd72,_0x5e0bb5){return _0x11bd72(_0x5e0bb5);},'HiqHy':_0x27fb0f(0x102),'DiDau':function(_0x5ced10,_0x284eb0){return _0x5ced10??_0x284eb0;}};try{const _0x457e68=_0x3fcc62['hvpgD'](createTelemetryCollector,_0x3fcc62['HiqHy']);await _0x457e68['trackCommandStart']({'sessionId':_0x3fcc62['DiDau'](_0x91383b,undefined),'hooksEnabled':_0x4d19ff,'stopAllowed':_0x3efb48}),await _0x457e68[_0x27fb0f(0xfe)](_0x27fb0f(0x110));}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x490d79,_0xf917ab){var _0x2f5e83=_0x307c,_0xb48deb=_0x490d79();while(!![]){try{var _0xca9d89=parseInt(_0x2f5e83(0x115))/0x1+parseInt(_0x2f5e83(0x112))/0x2*(-parseInt(_0x2f5e83(0x116))/0x3)+parseInt(_0x2f5e83(0x114))/0x4+parseInt(_0x2f5e83(0x113))/0x5*(parseInt(_0x2f5e83(0x110))/0x6)+parseInt(_0x2f5e83(0x117))/0x7+-parseInt(_0x2f5e83(0x118))/0x8*(parseInt(_0x2f5e83(0x10f))/0x9)+parseInt(_0x2f5e83(0x111))/0xa;if(_0xca9d89===_0xf917ab)break;else _0xb48deb['push'](_0xb48deb['shift']());}catch(_0x400376){_0xb48deb['push'](_0xb48deb['shift']());}}}(_0x304f,0x9decb));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x307c(_0x1c573d,_0x21b5de){_0x1c573d=_0x1c573d-0x10f;var _0x304f88=_0x304f();var _0x307c0f=_0x304f88[_0x1c573d];return _0x307c0f;}export{useEnv}from'./useEnv.js';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';function _0x304f(){var _0x3fd299=['1950670ziTaoW','22jyOLwt','169135Uzolgj','1242792JxtgaS','293695SilwYe','58173PGOSyz','25032rAtENr','2463624gBAqmb','27abbrEm','174oyEShu'];_0x304f=function(){return _0x3fd299;};return _0x304f();}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|