@ranger-testing/ranger-cli 2.0.6 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/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/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/featureReportGenerator.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -0
- package/build/commands/utils/git.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/reportGenerator.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/telemetry.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/verifyInBrowser.js +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2f2801=_0x5a31;(function(_0x3b6808,_0x580e6b){const _0x4395da=_0x5a31,_0x488104=_0x3b6808();while(!![]){try{const _0x3fc8cb=parseInt(_0x4395da(0x1ec))/0x1+-parseInt(_0x4395da(0x25b))/0x2+parseInt(_0x4395da(0x257))/0x3+parseInt(_0x4395da(0x273))/0x4+-parseInt(_0x4395da(0x219))/0x5*(-parseInt(_0x4395da(0x244))/0x6)+parseInt(_0x4395da(0x25d))/0x7+-parseInt(_0x4395da(0x233))/0x8;if(_0x3fc8cb===_0x580e6b)break;else _0x488104['push'](_0x488104['shift']());}catch(_0x541277){_0x488104['push'](_0x488104['shift']());}}}(_0x293e,0xe833f));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x59d90c from'inquirer';function _0x5a31(_0x1b0e62,_0x2e2ae2){_0x1b0e62=_0x1b0e62-0x1e9;const _0x293e13=_0x293e();let _0x5a314a=_0x293e13[_0x1b0e62];return _0x5a314a;}import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x293e(){const _0x115ec4=['dashboardUrl','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','canonicalFlow','jNVCR','\x20\x20\x20Branch:\x20','utf-8','PQqWI','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','\x0a✅\x20Resumed\x20feature\x20review:\x20','No\x20scenarios\x20found.','dFKZh','git\x20remote\x20get-url\x20origin','KYemf','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','github.com/','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20at\x20[','currentSessionId','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x1b[0m','verificationInProgressItems','\x20\x20\x20ID:\x20','KQFYJ','myuEK','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','1728388SvZgNE','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','trim','drakK','Unknown','kspdU','\x20\x20\x20Updated\x20branch\x20to:\x20','\x0a⚠️\x20\x20','toFixed','\x20scenario(s).','blocked','completedAt','vhGjW','CJlzo','Not\x20in\x20a\x20git\x20repository.','includeDeleted','gitBranch','pipe','KDQnN','bIjgb','offset','\x0aCreating\x20feature\x20review...','map','totalCount','createdAt','SMsnr','style','CLAUDE_SESSION_ID','.\x20Feature\x20review\x20has\x20','\x0aConcluding\x20session...','\x20\x20\x20\x20\x20\x20Approved','isTTY','ewlNm','gitRepoUrl','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0aAvailable\x20scenarios:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','DFpDT','ueedx','round','scenario','completed','nYNPC','NEVpQ','\x20\x20\x20Completed:\x20','18895ZrXDbe','eZbmI','Current\x20session\x20not\x20found.','incompleteItems','GYtTF','parentItemId','status','eEpkH','\x20verified','\x20in\x20progress','filter','in_progress','checklistItems','TytjO','split',':\x20\x22','\x20\x20\x20Repository:\x20','\x0a📋\x20Feedback\x20for:\x20','lwxVn','verified','oonyU','short','en-US','toLocaleDateString','mNbsp','\x20—\x20','22517112bZEYdH','\x20\x20\x20Created:\x20','IFOyK','UjuXo','coordinates','env','unaddressedComments','\x20\x20✅\x20No\x20feedback\x20to\x20address','VmknY','latestReview','\x0a❌\x20Invalid\x20scenario\x20index:\x20','numeric','WDsgg','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','length','1338tJzYcM','\x20\x20\x20\x20\x20Progress:\x20','lyeVf','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','version','find','zZXoF','idDxA','push','description','fZmAc','assetUrl','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','TzUAB','WLzUv','items','Please\x20finish\x20your\x20review\x20first:','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','lPFLw','2554377JMqEvS','from','JvDVd','stdin','3348208nrRlJX','qStax','7834050UwNabj','\x1b[1m','currentBranch','\x0a✅\x20Session\x20is\x20already\x20completed.','ZqmKP','\x20\x20\x20Progress:\x20','CeJuR','selected','aSKRC','rBPlI','spatial','hMoBf','PDFmM','limit','eeQiC','turEb','vQkvD','iteration','\x20Session\x20','kSFdB','\x20(v','sTplq','3592528bIrCfd','exit','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','ZAwNZ','incompleteReason','git\x20rev-parse\x20--abbrev-ref\x20HEAD','any','log','cIIdg','Scenario\x20','type','verifiedItems','toLocaleString','VHeUR','error','terminalReason','content','jfUZr','stats','plezX','agNFm','\x20\x20\x20\x20','comment_','name','warn','closed','\x20\x20\x20Description:\x20'];_0x293e=function(){return _0x115ec4;};return _0x293e();}import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x549476=>_0x2f2801(0x25e)+_0x549476+_0x2f2801(0x2a1);function getGitRepoUrl(){const _0x252760=_0x2f2801,_0x3c542b={'wMjof':function(_0x111683,_0x4dd82c,_0x5d2b42){return _0x111683(_0x4dd82c,_0x5d2b42);},'duVHY':_0x252760(0x299),'NEVpQ':_0x252760(0x293),'fZmAc':_0x252760(0x1fd)};try{const _0x4b1a6c=_0x3c542b['wMjof'](execSync,_0x3c542b['duVHY'],{'encoding':_0x3c542b[_0x252760(0x217)],'stdio':[_0x252760(0x1fd),_0x252760(0x1fd),_0x3c542b[_0x252760(0x24e)]]})['trim']();return _0x4b1a6c['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x252760(0x29c))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x566562=_0x2f2801,_0x44bd48={'TNeod':'pipe'};try{return execSync(_0x566562(0x278),{'encoding':'utf-8','stdio':['pipe',_0x44bd48['TNeod'],_0x44bd48['TNeod']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x6f7cb9=_0x2f2801,_0x236ae1={'qStax':function(_0x54a53a,_0x38a66c,_0x57c3dd){return _0x54a53a(_0x38a66c,_0x57c3dd);},'lwxVn':function(_0x4a63f6,_0x34622a){return _0x4a63f6(_0x34622a);},'JJbfe':function(_0x4d6b22,_0x2e4c82,_0x2f9994){return _0x4d6b22(_0x2e4c82,_0x2f9994);}},_0x4855e0=_0x236ae1[_0x6f7cb9(0x25c)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x236ae1[_0x6f7cb9(0x22b)](existsSync,_0x4855e0))return null;try{const _0x24f1db=await _0x236ae1['JJbfe'](readFile,_0x4855e0,'utf-8');return _0x24f1db[_0x6f7cb9(0x1ee)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x3ef7c1){const _0x45023e=_0x2f2801,_0x2d2be3={'aSKRC':function(_0x3b1cb5,_0xe5d5c7,_0x2c21be){return _0x3b1cb5(_0xe5d5c7,_0x2c21be);},'qPADl':function(_0x520ad8,_0x1926cd){return _0x520ad8(_0x1926cd);},'TaQYL':function(_0x1aa495,_0x14122c,_0x52b428,_0x48ba27){return _0x1aa495(_0x14122c,_0x52b428,_0x48ba27);},'GPtPt':_0x45023e(0x293)},_0x766f55=getRangerDir(),_0x41ac24=_0x2d2be3[_0x45023e(0x265)](join,_0x766f55,ACTIVE_FEATURE_FILE);!_0x2d2be3['qPADl'](existsSync,_0x766f55)&&await mkdir(_0x766f55,{'recursive':!![]}),await _0x2d2be3['TaQYL'](writeFile,_0x41ac24,_0x3ef7c1,_0x2d2be3['GPtPt']);}function getProgressDisplay(_0x2a1f21){const _0x12b145=_0x2f2801,_0x2b2826={'xjVXw':function(_0x285fec,_0x22deb5){return _0x285fec+_0x22deb5;},'EjTVm':function(_0x8f212a,_0x3fb152){return _0x8f212a+_0x3fb152;},'eEpkH':function(_0xd62a21,_0x4f9745){return _0xd62a21+_0x4f9745;},'AUiqQ':function(_0x345383,_0x18f6ad){return _0x345383+_0x18f6ad;},'CJlzo':function(_0x269a03,_0xcf5e61){return _0x269a03*_0xcf5e61;},'ghuoj':function(_0x4ed414,_0x438b8f){return _0x4ed414/_0x438b8f;},'IQpOG':function(_0x422d3f,_0x355ba9){return _0x422d3f-_0x355ba9;},'HPAMc':function(_0x2676ca,_0x5eb130){return _0x2676ca>_0x5eb130;},'yNOFe':function(_0x2bb4e8,_0x28971e){return _0x2bb4e8>_0x28971e;}},_0x289a79=_0x2a1f21[_0x12b145(0x27e)]||0x0,_0x428656=_0x2a1f21[_0x12b145(0x2a2)]||0x0,_0x3c681a=_0x2a1f21['blockedItems']||0x0,_0x133f51=_0x2a1f21[_0x12b145(0x21c)]||0x0,_0x421444=_0x2a1f21['pendingItems']||0x0,_0x5cca5f=_0x2b2826['xjVXw'](_0x2b2826['EjTVm'](_0x2b2826[_0x12b145(0x220)](_0x2b2826['AUiqQ'](_0x289a79,_0x428656),_0x3c681a),_0x133f51),_0x421444);if(_0x5cca5f===0x0)return'-';const _0x31a27c=0xa,_0x2a3fba=Math[_0x12b145(0x213)](_0x2b2826[_0x12b145(0x1f9)](_0x2b2826['ghuoj'](_0x289a79,_0x5cca5f),_0x31a27c)),_0x5d8e18='█'['repeat'](_0x2a3fba)+'░'['repeat'](_0x2b2826['IQpOG'](_0x31a27c,_0x2a3fba)),_0x4470e1=[];if(_0x2b2826['HPAMc'](_0x3c681a,0x0))_0x4470e1[_0x12b145(0x24c)](_0x3c681a+'\x20blocked');if(_0x2b2826['yNOFe'](_0x133f51,0x0))_0x4470e1[_0x12b145(0x24c)](_0x133f51+'\x20incomplete');if(_0x428656>0x0)_0x4470e1[_0x12b145(0x24c)](_0x428656+_0x12b145(0x222));const _0x4cfc3f=_0x4470e1['length']>0x0?'\x20('+_0x4470e1['join'](',\x20')+')':'';return _0x5d8e18+'\x20'+_0x289a79+'/'+_0x5cca5f+_0x12b145(0x221)+_0x4cfc3f;}function displayFeature(_0xb735e9,_0x517e9b){const _0xd05916=_0x2f2801,_0x5615ea={'uPzFk':function(_0xc53f3b,_0x8c75ab){return _0xc53f3b>_0x8c75ab;},'idDxA':'\x0a\x20\x20\x20Scenarios:','OVXya':function(_0xfea8f6,_0x378e1e){return _0xfea8f6<_0x378e1e;},'WLzUv':_0xd05916(0x28c),'vhGjW':function(_0x82ae16,_0x55dbea){return _0x82ae16===_0x55dbea;},'GYtTF':'approved','gznoR':function(_0x1f33aa,_0xc6301e){return _0x1f33aa===_0xc6301e;},'ewlNm':'verification_in_progress','XwEcb':function(_0x37d4f4,_0x38dfdf){return _0x37d4f4>_0x38dfdf;},'WGTcD':function(_0x495ee4,_0x65d411){return _0x495ee4!==_0x65d411;},'agNFm':'\x20[has\x20reviewer\x20feedback]','JvDVd':_0xd05916(0x1f6),'VHeUR':function(_0x8f3328,_0x3b238e){return _0x8f3328===_0x3b238e;}};console['log']('\x0a'+_0xb735e9[_0xd05916(0x28a)]+'\x20('+_0xb735e9[_0xd05916(0x28e)]+')');_0xb735e9[_0xd05916(0x285)]&&console['log'](_0xd05916(0x262)+getProgressDisplay(_0xb735e9[_0xd05916(0x285)]));_0xb735e9[_0xd05916(0x24d)]&&console[_0xd05916(0x27a)](_0xd05916(0x28d)+_0xb735e9['description']);_0xb735e9[_0xd05916(0x20d)]&&console[_0xd05916(0x27a)](_0xd05916(0x229)+_0xb735e9[_0xd05916(0x20d)]);_0xb735e9[_0xd05916(0x1fc)]&&console[_0xd05916(0x27a)]('\x20\x20\x20Branch:\x20'+_0xb735e9['gitBranch']);console[_0xd05916(0x27a)]('\x20\x20\x20Created:\x20'+new Date(_0xb735e9['createdAt'])['toLocaleString']());_0xb735e9[_0xd05916(0x1f7)]&&console[_0xd05916(0x27a)]('\x20\x20\x20Completed:\x20'+new Date(_0xb735e9['completedAt'])['toLocaleString']());if(_0x517e9b&&_0x5615ea['uPzFk'](_0x517e9b['length'],0x0)){console[_0xd05916(0x27a)](_0x5615ea[_0xd05916(0x24b)]);for(let _0x2926f5=0x0;_0x5615ea['OVXya'](_0x2926f5,_0x517e9b[_0xd05916(0x243)]);_0x2926f5++){const _0x1fd883=_0x517e9b[_0x2926f5];let _0x5133e2;if(_0x1fd883[_0xd05916(0x21f)]===_0x5615ea[_0xd05916(0x252)]&&_0x5615ea[_0xd05916(0x1f8)](_0x1fd883[_0xd05916(0x282)],_0x5615ea[_0xd05916(0x21d)]))_0x5133e2='✅';else{if(_0x1fd883[_0xd05916(0x21f)]===_0xd05916(0x22c))_0x5133e2='🟢';else{if(_0x5615ea['vhGjW'](_0x1fd883['status'],'incomplete'))_0x5133e2='🟠';else{if(_0x5615ea[_0xd05916(0x1f8)](_0x1fd883[_0xd05916(0x21f)],_0xd05916(0x1f6)))_0x5133e2='🛑';else{if(_0x5615ea['gznoR'](_0x1fd883[_0xd05916(0x21f)],_0x5615ea['WLzUv']))_0x5133e2='⛔';else _0x1fd883[_0xd05916(0x21f)]===_0x5615ea[_0xd05916(0x20c)]?_0x5133e2='⏳':_0x5133e2='⬜';}}}}const _0x48d6b0=_0x5615ea['XwEcb'](_0x1fd883['version'],0x1)?_0xd05916(0x271)+_0x1fd883['version']+')':'',_0x7666fb=_0x1fd883[_0xd05916(0x248)]>0x1&&_0x1fd883[_0xd05916(0x21e)]&&_0x1fd883[_0xd05916(0x21f)]!=='closed'&&_0x5615ea['WGTcD'](_0x1fd883['status'],_0xd05916(0x22c))?_0x5615ea[_0xd05916(0x287)]:'';console['log']('\x20\x20\x20'+(_0x2926f5+0x1)+'.\x20'+_0x5133e2+'\x20'+_0x1fd883['description']+_0x48d6b0+_0x7666fb);_0x5615ea[_0xd05916(0x1f8)](_0x1fd883['status'],_0x5615ea[_0xd05916(0x259)])&&_0x1fd883['blockedReason']&&console[_0xd05916(0x27a)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x1fd883['blockedReason']);_0x1fd883['status']==='incomplete'&&_0x1fd883[_0xd05916(0x277)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x1fd883['incompleteReason']);if(_0x5615ea['VHeUR'](_0x1fd883['status'],_0x5615ea['WLzUv'])&&_0x5615ea['gznoR'](_0x1fd883[_0xd05916(0x282)],'approved'))console[_0xd05916(0x27a)](_0xd05916(0x20a));else _0x5615ea[_0xd05916(0x280)](_0x1fd883['status'],_0xd05916(0x28c))&&_0x1fd883['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x1fd883['canceledReason']);}}}export async function featureCreate(_0x4eacfc,_0x37be56){const _0x5dc3d6=_0x2f2801,_0x117df5={'KQFYJ':function(_0x53eebd){return _0x53eebd();},'rlEPJ':function(_0x43d38d,_0x3d84f8){return _0x43d38d===_0x3d84f8;},'vQkvD':function(_0x788716,_0x3e7c79){return _0x788716(_0x3e7c79);},'lyeVf':function(_0x1a1a6c,_0x1a3347){return _0x1a1a6c(_0x1a3347);},'zZXoF':function(_0xcef2bb,_0x26ef17){return _0xcef2bb(_0x26ef17);},'oonyU':function(_0x2b2cc1,_0x3a74d9,_0x266168){return _0x2b2cc1(_0x3a74d9,_0x266168);}},{envNames:_0x3337cd}=await _0x117df5[_0x5dc3d6(0x2a4)](getEnvNames);_0x117df5['rlEPJ'](_0x3337cd[_0x5dc3d6(0x243)],0x0)&&console[_0x5dc3d6(0x28b)]('\x0a'+_0x117df5[_0x5dc3d6(0x26d)](formatProfileRequiredMessage,_0xe9a622=>bold(_0xe9a622)));const _0x2ac725=_0x37be56['scenarios']?_0x37be56['scenarios'][_0x5dc3d6(0x202)](_0x150a4a=>_0x150a4a[_0x5dc3d6(0x1ee)]()):[],_0x3920a3=_0x117df5['KQFYJ'](getGitRepoUrl),_0x35b376=_0x117df5['KQFYJ'](getGitBranch);console['log'](_0x5dc3d6(0x201));const _0x514a83=await _0x117df5[_0x5dc3d6(0x26d)](createFeature,{'name':_0x4eacfc,'description':_0x37be56[_0x5dc3d6(0x24d)],'checklist':_0x2ac725,'gitRepoUrl':_0x3920a3,'gitBranch':_0x35b376});await _0x117df5[_0x5dc3d6(0x246)](setActiveFeatureId,_0x514a83['id']),await _0x117df5[_0x5dc3d6(0x24a)](tryStartCurrentSession,_0x514a83['id']);const _0x3888b8=process[_0x5dc3d6(0x238)]['CLAUDE_SESSION_ID'];_0x3888b8&®isterSession(_0x3888b8,_0x514a83['id']),console[_0x5dc3d6(0x27a)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x514a83['id']),_0x117df5[_0x5dc3d6(0x22d)](displayFeature,_0x514a83,_0x514a83[_0x5dc3d6(0x225)]),console['log'](_0x5dc3d6(0x240));}export async function featureList(_0x4866e1){const _0x56e5b2=_0x2f2801,_0x2d2a7d={'hMoBf':function(_0x5b01ad){return _0x5b01ad();},'mlVHW':function(_0x1fa5e7,_0x36eb4d){return _0x1fa5e7(_0x36eb4d);},'nYNPC':function(_0x379c15,_0x4ddc9e){return _0x379c15===_0x4ddc9e;},'ZWLGy':'1|5|4|3|2|0','sXDzA':function(_0x34bebe,_0x247582){return _0x34bebe<_0x247582;},'AbuQI':function(_0x4b5460,_0x4b538d){return _0x4b5460!==_0x4b538d;},'SzVHN':'\x20--current-branch','IwLMh':'\x20--include-deleted'},_0x422472={'limit':_0x4866e1[_0x56e5b2(0x26a)]??0xa,'offset':_0x4866e1[_0x56e5b2(0x200)]??0x0,'includeDeleted':_0x4866e1['includeDeleted']};_0x4866e1['currentBranch']&&(_0x422472[_0x56e5b2(0x20d)]=getGitRepoUrl(),_0x422472['gitBranch']=_0x2d2a7d[_0x56e5b2(0x268)](getGitBranch));const _0x18e246=await _0x2d2a7d['mlVHW'](listFeatures,_0x422472);if(_0x2d2a7d[_0x56e5b2(0x216)](_0x18e246['items'][_0x56e5b2(0x243)],0x0)){console[_0x56e5b2(0x27a)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x507e3d=_0x18e246['totalCount']>_0x18e246[_0x56e5b2(0x253)][_0x56e5b2(0x243)]?'Showing\x20'+_0x18e246[_0x56e5b2(0x253)]['length']+'\x20of\x20'+_0x18e246[_0x56e5b2(0x203)]:_0x18e246['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x507e3d+':\x0a');for(const _0x3c18ad of _0x18e246['items']){const _0x213f50=_0x2d2a7d['ZWLGy'][_0x56e5b2(0x227)]('|');let _0x3c6188=0x0;while(!![]){switch(_0x213f50[_0x3c6188++]){case'0':console['log']('');continue;case'1':console['log'](''+_0x3c18ad[_0x56e5b2(0x28a)]);continue;case'2':console['log'](_0x56e5b2(0x234)+new Date(_0x3c18ad[_0x56e5b2(0x204)])[_0x56e5b2(0x230)]());continue;case'3':_0x3c18ad[_0x56e5b2(0x1fc)]&&console['log'](_0x56e5b2(0x292)+_0x3c18ad[_0x56e5b2(0x1fc)]);continue;case'4':_0x3c18ad[_0x56e5b2(0x285)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x2d2a7d['mlVHW'](getProgressDisplay,_0x3c18ad['stats']));continue;case'5':console['log'](_0x56e5b2(0x2a3)+_0x3c18ad['id']);continue;}break;}}const _0x113fbf=_0x422472[_0x56e5b2(0x26a)]??0xa,_0x47d55c=(_0x422472[_0x56e5b2(0x200)]??0x0)+_0x18e246[_0x56e5b2(0x253)]['length'];if(_0x2d2a7d['sXDzA'](_0x47d55c,_0x18e246['totalCount'])){const _0x500fae=_0x2d2a7d['AbuQI'](_0x113fbf,0xa)?'\x20--limit\x20'+_0x113fbf:'',_0x44926c=_0x4866e1[_0x56e5b2(0x25f)]?_0x2d2a7d['SzVHN']:'',_0x491073=_0x4866e1[_0x56e5b2(0x1fb)]?_0x2d2a7d['IwLMh']:'';console[_0x56e5b2(0x27a)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x47d55c+_0x500fae+_0x44926c+_0x491073);}}export async function featureShow(_0x4482c5){const _0x14ab05=_0x2f2801,_0x42484e={'ZqmKP':function(_0x2060cf,_0x389ca7){return _0x2060cf(_0x389ca7);},'ZAwNZ':function(_0x1921dd,_0x234aed,_0x56efda){return _0x1921dd(_0x234aed,_0x56efda);}},_0xac58ca=_0x4482c5||await getActiveFeatureId();if(!_0xac58ca)throw new Error(_0x14ab05(0x210));const _0x2f778f=await _0x42484e[_0x14ab05(0x261)](getFeature,_0xac58ca);_0x42484e[_0x14ab05(0x276)](displayFeature,_0x2f778f,_0x2f778f[_0x14ab05(0x225)]);}export async function featureResume(_0x4dbf9a){const _0x4f8043=_0x2f2801,_0x42bef3={'OrNup':function(_0x40dc2d,_0x237ee1){return _0x40dc2d(_0x237ee1);},'SZHEg':function(_0x49f6c2){return _0x49f6c2();},'Vzcci':function(_0x4eb625,_0xce3692,_0xdc142c){return _0x4eb625(_0xce3692,_0xdc142c);},'sTplq':function(_0x3c1ba2,_0x544158,_0x59e539){return _0x3c1ba2(_0x544158,_0x59e539);},'kSFdB':function(_0x42a829,_0x126e04){return _0x42a829(_0x126e04);},'WDsgg':_0x4f8043(0x1fa),'qEvaB':function(_0x18e7fd,_0x18f64b){return _0x18e7fd||_0x18f64b;},'drakK':function(_0x1501e8,_0x212364){return _0x1501e8===_0x212364;},'TffHb':_0x4f8043(0x255),'cIIdg':'list','turEb':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','qVDCH':function(_0x258dd9,_0x5c89e8){return _0x258dd9(_0x5c89e8);},'lPFLw':function(_0x1d007c,_0xb09b67){return _0x1d007c!==_0xb09b67;}};if(_0x4dbf9a){const _0x50dcb7=await getFeature(_0x4dbf9a);await _0x42bef3['OrNup'](setActiveFeatureId,_0x50dcb7['id']);const _0x173525=_0x42bef3['SZHEg'](getGitBranch);_0x173525&&_0x173525!==_0x50dcb7['gitBranch']&&(await _0x42bef3['Vzcci'](updateFeature,_0x50dcb7['id'],{'gitBranch':_0x173525}),console[_0x4f8043(0x27a)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x173525));console[_0x4f8043(0x27a)](_0x4f8043(0x296)+_0x50dcb7['name']+'\x20('+_0x50dcb7['id']+')'),await tryStartCurrentSession(_0x50dcb7['id']);const _0x3a9b32=process[_0x4f8043(0x238)]['CLAUDE_SESSION_ID'];_0x3a9b32&®isterSession(_0x3a9b32,_0x50dcb7['id']);_0x42bef3[_0x4f8043(0x272)](displayFeature,_0x50dcb7,_0x50dcb7['checklistItems']),await _0x42bef3[_0x4f8043(0x270)](printFeedbackNudge,_0x50dcb7['id']);return;}const _0x4c2f6e=getGitRepoUrl(),_0x2d4fd5=getGitBranch();if(!_0x4c2f6e&&!_0x2d4fd5)throw new Error(_0x42bef3[_0x4f8043(0x23f)]);console[_0x4f8043(0x27a)](_0x4f8043(0x28f)+(_0x4c2f6e||'any')+'\x20/\x20'+_0x42bef3['qEvaB'](_0x2d4fd5,_0x4f8043(0x279))+'...');const _0x430f04=await listFeatures({'gitRepoUrl':_0x4c2f6e,'gitBranch':_0x2d4fd5}),_0x23811b=_0x430f04['items'][_0x4f8043(0x223)](_0x79b58c=>!_0x79b58c['completedAt']);if(_0x42bef3[_0x4f8043(0x1ef)](_0x23811b['length'],0x0)){console['log'](_0x4f8043(0x1ea)),console[_0x4f8043(0x27a)](_0x4f8043(0x250));return;}let _0x436ac6;if(_0x23811b[_0x4f8043(0x243)]===0x1)_0x436ac6=_0x23811b[0x0];else{const _0x5b72ab=process[_0x4f8043(0x25a)][_0x4f8043(0x20b)]&&process['stdout'][_0x4f8043(0x20b)];if(!_0x5b72ab){console[_0x4f8043(0x27a)](_0x42bef3['TffHb']);for(const _0x3a4e01 of _0x23811b){console['log']('\x20\x20'+_0x3a4e01['name']),console[_0x4f8043(0x27a)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3a4e01['id']),_0x3a4e01[_0x4f8043(0x285)]&&console['log'](_0x4f8043(0x245)+_0x42bef3['OrNup'](getProgressDisplay,_0x3a4e01['stats'])),_0x3a4e01['gitBranch']&&console[_0x4f8043(0x27a)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3a4e01[_0x4f8043(0x1fc)]);}throw new Error(_0x4f8043(0x242));}const {selected:_0x155f9a}=await _0x59d90c['prompt']([{'type':_0x42bef3[_0x4f8043(0x27b)],'name':_0x4f8043(0x264),'message':_0x42bef3[_0x4f8043(0x26c)],'choices':_0x23811b['map'](_0x278d0a=>({'name':_0x278d0a['name']+'\x20('+_0x278d0a['id']+')','value':_0x278d0a['id']}))}]);_0x436ac6=_0x23811b['find'](_0x488604=>_0x488604['id']===_0x155f9a);}await _0x42bef3['qVDCH'](setActiveFeatureId,_0x436ac6['id']);_0x2d4fd5&&_0x42bef3[_0x4f8043(0x256)](_0x2d4fd5,_0x436ac6[_0x4f8043(0x1fc)])&&(await _0x42bef3['Vzcci'](updateFeature,_0x436ac6['id'],{'gitBranch':_0x2d4fd5}),console['log'](_0x4f8043(0x1f2)+_0x2d4fd5));console[_0x4f8043(0x27a)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x436ac6[_0x4f8043(0x28a)]+'\x20('+_0x436ac6['id']+')'),await tryStartCurrentSession(_0x436ac6['id']);const _0x1b8b3a=await _0x42bef3['qVDCH'](getFeature,_0x436ac6['id']),_0x541373=process[_0x4f8043(0x238)][_0x4f8043(0x207)];_0x541373&®isterSession(_0x541373,_0x1b8b3a['id']),displayFeature(_0x1b8b3a,_0x1b8b3a['checklistItems']),await _0x42bef3[_0x4f8043(0x270)](printFeedbackNudge,_0x1b8b3a['id']);}async function printFeedbackNudge(_0x5a8465){const _0x174365=_0x2f2801,_0x339be7={'pIyNr':function(_0x5001bb,_0x380c49){return _0x5001bb>_0x380c49;}};try{const {items:_0x824b5a}=await getActionItems(_0x5a8465);let _0x3151c6=0x0,_0x17a145=0x0;for(const _0xc3164a of _0x824b5a){const _0xe0b086=await getItemFeedback(_0x5a8465,_0xc3164a['id']);_0xe0b086[_0x174365(0x239)]['length']>0x0&&(_0x3151c6+=_0xe0b086['unaddressedComments']['length'],_0x17a145++);}_0x339be7['pIyNr'](_0x3151c6,0x0)&&(console[_0x174365(0x27a)](_0x174365(0x1f3)+_0x3151c6+_0x174365(0x1eb)+_0x17a145+_0x174365(0x1f5)),console['log'](_0x174365(0x2a0)));}catch{}}async function tryStartCurrentSession(_0x118f5d){const _0x20afa9=_0x2f2801,_0xc65464={'cnCYX':function(_0x423e39,_0x538119,_0x4cfe91){return _0x423e39(_0x538119,_0x4cfe91);}};try{const {sessions:_0x547ac5}=await listFeatureSessions(_0x118f5d),_0x23ec0b=_0x547ac5['find'](_0x3eccf6=>_0x3eccf6[_0x20afa9(0x21f)]==='ready');_0x23ec0b&&(await _0xc65464['cnCYX'](startSession,_0x118f5d,_0x23ec0b['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x23ec0b['iteration']));}catch{}}export async function featureReport(_0x26b7f7,_0x413025){const _0x3bc972=_0x2f2801,_0x531224={'jNVCR':function(_0x308d94){return _0x308d94();},'JqZld':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','CyPlE':'\x0aGenerating\x20report...','ikCGB':function(_0x31eeda){return _0x31eeda();},'TytjO':'reports','IFOyK':function(_0x1a944d,_0x320994,_0x5718b8){return _0x1a944d(_0x320994,_0x5718b8);},'Rqdse':function(_0x2a7071,_0x48299f,_0x4221fc){return _0x2a7071(_0x48299f,_0x4221fc);},'UjuXo':function(_0x28c3f2,_0x566ff2,_0xccdfde,_0x5a0d9f){return _0x28c3f2(_0x566ff2,_0xccdfde,_0x5a0d9f);}},_0x3a3a06=_0x26b7f7||await _0x531224[_0x3bc972(0x291)](getActiveFeatureId);if(!_0x3a3a06)throw new Error(_0x531224['JqZld']);console['log'](_0x531224['CyPlE']);const _0x346635=await getFeatureReportMarkdown(_0x3a3a06,{'style':_0x413025[_0x3bc972(0x206)]}),_0x46644a=_0x413025['output']||join(_0x531224['ikCGB'](getRangerDir),_0x531224[_0x3bc972(0x226)],_0x3a3a06+'.md'),_0x129496=_0x531224[_0x3bc972(0x235)](join,_0x46644a,'..');!existsSync(_0x129496)&&await _0x531224['Rqdse'](mkdir,_0x129496,{'recursive':!![]}),await _0x531224[_0x3bc972(0x236)](writeFile,_0x46644a,_0x346635,'utf-8'),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x46644a);}export async function featureConcludeSession(_0x59b9f6){const _0x8375a3=_0x2f2801,_0x43072b={'jLDWY':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','YKJyB':function(_0x326a2d,_0x498555){return _0x326a2d(_0x498555);},'KYemf':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','IGsZv':_0x8375a3(0x21b),'kspdU':_0x8375a3(0x215),'wXejI':_0x8375a3(0x224),'eZbmI':_0x8375a3(0x209)},_0x20551b=_0x59b9f6||await getActiveFeatureId();if(!_0x20551b)throw new Error(_0x43072b['jLDWY']);const _0x2e7c09=await _0x43072b['YKJyB'](getFeature,_0x20551b);if(!_0x2e7c09['currentSessionId'])throw new Error(_0x43072b[_0x8375a3(0x29a)]);const {sessions:_0x72f083}=await listFeatureSessions(_0x20551b),_0x142f94=_0x72f083[_0x8375a3(0x249)](_0x329ae5=>_0x329ae5['id']===_0x2e7c09[_0x8375a3(0x29f)]);if(!_0x142f94)throw new Error(_0x43072b['IGsZv']);if(_0x142f94['status']===_0x43072b[_0x8375a3(0x1f1)]){console['log'](_0x8375a3(0x260));return;}if(_0x142f94[_0x8375a3(0x21f)]!==_0x43072b['wXejI'])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x142f94[_0x8375a3(0x21f)]);console['log'](_0x43072b[_0x8375a3(0x21a)]),await concludeSession(_0x20551b,_0x2e7c09[_0x8375a3(0x29f)]),console[_0x8375a3(0x27a)]('\x0a✅\x20Session\x20'+_0x142f94[_0x8375a3(0x26e)]+'\x20concluded.'),console['log'](_0x8375a3(0x241));}export async function featureSessions(_0x43f486){const _0x4a7f2c=_0x2f2801,_0x36e4ed={'mNbsp':function(_0x467980){return _0x467980();},'FtrQQ':_0x4a7f2c(0x29b),'JvfjK':function(_0xa2babe,_0x12f940){return _0xa2babe(_0x12f940);},'ueedx':function(_0x2b45ae,_0x592aa9){return _0x2b45ae===_0x592aa9;},'KDQnN':_0x4a7f2c(0x215),'DFpDT':function(_0x20370e,_0x10fe91){return _0x20370e===_0x10fe91;}},_0x3b0bbd=_0x43f486||await _0x36e4ed[_0x4a7f2c(0x231)](getActiveFeatureId);if(!_0x3b0bbd)throw new Error(_0x36e4ed['FtrQQ']);const _0x100682=await _0x36e4ed['JvfjK'](getFeature,_0x3b0bbd);console[_0x4a7f2c(0x27a)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x100682[_0x4a7f2c(0x28a)]+'\x0a');const {sessions:_0x4b3c57}=await listFeatureSessions(_0x3b0bbd);if(_0x36e4ed[_0x4a7f2c(0x212)](_0x4b3c57[_0x4a7f2c(0x243)],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x2ca96b of _0x4b3c57){const _0x13d27c=_0x2ca96b['status']===_0x36e4ed[_0x4a7f2c(0x1fe)]?'✅':_0x36e4ed[_0x4a7f2c(0x211)](_0x2ca96b['status'],_0x4a7f2c(0x224))?'🔄':'▶️';console[_0x4a7f2c(0x27a)](_0x13d27c+_0x4a7f2c(0x26f)+_0x2ca96b['iteration']+'\x20('+_0x2ca96b['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x2ca96b[_0x4a7f2c(0x21f)]),console['log'](_0x4a7f2c(0x234)+new Date(_0x2ca96b[_0x4a7f2c(0x204)])[_0x4a7f2c(0x27f)]()),_0x2ca96b['completedAt']&&console[_0x4a7f2c(0x27a)](_0x4a7f2c(0x218)+new Date(_0x2ca96b[_0x4a7f2c(0x1f7)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x3cf380,_0x39c4ea){const _0x4a0ea5=_0x2f2801,_0x5b4951={'qeKjx':function(_0xab295a,_0x3f4f77,_0x29e8ea){return _0xab295a(_0x3f4f77,_0x29e8ea);}},_0x25f58b=_0x39c4ea||await getActiveFeatureId();if(!_0x25f58b)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 _0x365f93=await getFeature(_0x25f58b);if(_0x365f93[_0x4a0ea5(0x23c)]&&!_0x365f93[_0x4a0ea5(0x23c)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x365f93['dashboardUrl']);await _0x5b4951['qeKjx'](createChecklistItem,_0x25f58b,_0x3cf380);const _0x33ca83=await getFeature(_0x25f58b);console[_0x4a0ea5(0x27a)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x33ca83,_0x33ca83['checklistItems']);}export async function featureEditScenario(_0x277c9a,_0x1766f7){const _0x37ff8d=_0x2f2801,_0x33e183={'CeJuR':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','bIjgb':function(_0x198504,_0x40ccf4){return _0x198504===_0x40ccf4;},'SMsnr':function(_0x443a7c,_0x2638b0){return _0x443a7c-_0x2638b0;},'dEfkY':function(_0xe12847,_0x34bba7){return _0xe12847>=_0x34bba7;},'mBEWT':_0x37ff8d(0x20f),'VmknY':function(_0x5837b1,_0x4612b3){return _0x5837b1<_0x4612b3;},'yZjdK':function(_0x5aa823,_0x7eb494){return _0x5aa823+_0x7eb494;},'PDFmM':function(_0x5594a3,_0x26e839,_0xdb9cad,_0x235210){return _0x5594a3(_0x26e839,_0xdb9cad,_0x235210);},'rBPlI':function(_0x2cd433,_0x3e5617){return _0x2cd433(_0x3e5617);},'OUCzD':function(_0x462c2f,_0x5f05af,_0x14ca25){return _0x462c2f(_0x5f05af,_0x14ca25);}},_0x55ca98=_0x1766f7['id']||await getActiveFeatureId();!_0x55ca98&&(console['error'](_0x33e183[_0x37ff8d(0x263)]),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x4984ca=await getFeature(_0x55ca98);_0x4984ca['latestReview']&&!_0x4984ca[_0x37ff8d(0x23c)]['submittedAt']&&(console[_0x37ff8d(0x281)](_0x37ff8d(0x295)),console[_0x37ff8d(0x281)](_0x37ff8d(0x254)),console[_0x37ff8d(0x281)]('\x20\x20'+_0x4984ca[_0x37ff8d(0x28e)]),process['exit'](0x1));const _0x3551ed=_0x4984ca['checklistItems']||[];_0x33e183['bIjgb'](_0x3551ed[_0x37ff8d(0x243)],0x0)&&(console[_0x37ff8d(0x281)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process['exit'](0x1));if(_0x33e183[_0x37ff8d(0x1ff)](_0x1766f7[_0x37ff8d(0x214)],undefined)){console['error'](_0x37ff8d(0x275)),console[_0x37ff8d(0x27a)]('\x0aAvailable\x20scenarios:');for(let _0x20710c=0x0;_0x20710c<_0x3551ed['length'];_0x20710c++){console[_0x37ff8d(0x27a)]('\x20\x20'+(_0x20710c+0x1)+'.\x20'+_0x3551ed[_0x20710c]['description']);}process['exit'](0x1);}const _0xd6c453=_0x33e183[_0x37ff8d(0x205)](_0x1766f7[_0x37ff8d(0x214)],0x1);if(_0xd6c453<0x0||_0x33e183['dEfkY'](_0xd6c453,_0x3551ed[_0x37ff8d(0x243)])){console[_0x37ff8d(0x281)](_0x37ff8d(0x23d)+_0x1766f7['scenario']+_0x37ff8d(0x208)+_0x3551ed['length']+'\x20scenarios.'),console['log'](_0x33e183['mBEWT']);for(let _0x9d438c=0x0;_0x33e183[_0x37ff8d(0x23b)](_0x9d438c,_0x3551ed['length']);_0x9d438c++){console['log']('\x20\x20'+_0x33e183['yZjdK'](_0x9d438c,0x1)+'.\x20'+_0x3551ed[_0x9d438c]['description']);}process[_0x37ff8d(0x274)](0x1);}const _0x571b22=_0x3551ed[_0xd6c453];await _0x33e183[_0x37ff8d(0x269)](updateChecklistItem,_0x55ca98,_0x571b22['id'],{'description':_0x277c9a});const _0x3b886b=await _0x33e183[_0x37ff8d(0x266)](getFeature,_0x55ca98);console['log']('\x0a✅\x20Scenario\x20updated'),_0x33e183['OUCzD'](displayFeature,_0x3b886b,_0x3b886b[_0x37ff8d(0x225)]);}async function downloadFeedbackImage(_0x1fbfdb,_0x2c5b40){const _0x499690=_0x2f2801,_0x4b5f07={'yFswC':function(_0x26b447,_0x3a53cb,_0x35700c){return _0x26b447(_0x3a53cb,_0x35700c);},'rCPCM':function(_0x5bf701){return _0x5bf701();},'PQqWI':'feedback-images','JQZII':function(_0x2cc0c8,_0xa81450){return _0x2cc0c8(_0xa81450);}};try{const _0x27ecb8=_0x4b5f07['yFswC'](join,_0x4b5f07['rCPCM'](getRangerDir),_0x4b5f07[_0x499690(0x294)]);await _0x4b5f07['yFswC'](mkdir,_0x27ecb8,{'recursive':!![]});const _0x175938=_0x4b5f07['yFswC'](join,_0x27ecb8,_0x499690(0x289)+_0x2c5b40+'.png'),_0x5eae54=await _0x4b5f07['JQZII'](fetch,_0x1fbfdb);if(!_0x5eae54['ok'])return null;const _0x26a3ce=Buffer[_0x499690(0x258)](await _0x5eae54['arrayBuffer']());return await writeFile(_0x175938,_0x26a3ce),_0x175938;}catch{return null;}}export async function featureGetReview(_0x12142b){const _0x1508b1=_0x2f2801,_0x741c8a={'eeQiC':function(_0x14d6a3){return _0x14d6a3();},'Avfdt':_0x1508b1(0x210),'SLxGm':function(_0x2561ae,_0x1179f3){return _0x2561ae(_0x1179f3);},'XPkfU':function(_0x10ba98,_0x568c11){return _0x10ba98(_0x568c11);},'qmdDq':function(_0x2ca6cd,_0x33a0ac){return _0x2ca6cd<_0x33a0ac;},'KLorw':function(_0x2f3e45,_0x461861){return _0x2f3e45>_0x461861;},'jfUZr':function(_0x5ae2a9,_0x5def43){return _0x5ae2a9+_0x5def43;},'TzUAB':function(_0x20b920,_0x286a2c,_0x23d317){return _0x20b920(_0x286a2c,_0x23d317);},'dFKZh':'point','myuEK':function(_0xb0354d,_0x4bacfe){return _0xb0354d>=_0x4bacfe;}},_0x22f9a1=_0x12142b||await _0x741c8a[_0x1508b1(0x26b)](getActiveFeatureId);if(!_0x22f9a1)throw new Error(_0x741c8a['Avfdt']);const _0x984506=await _0x741c8a['SLxGm'](getFeature,_0x22f9a1),{items:_0x5c447c}=await _0x741c8a['XPkfU'](getActionItems,_0x22f9a1);console[_0x1508b1(0x27a)](_0x1508b1(0x22a)+_0x984506['name']+'\x20('+_0x984506['id']+')\x0a');if(_0x5c447c['length']===0x0){console[_0x1508b1(0x27a)](_0x1508b1(0x297));return;}for(let _0x30f471=0x0;_0x741c8a['qmdDq'](_0x30f471,_0x5c447c['length']);_0x30f471++){const _0x16f6a7=_0x5c447c[_0x30f471],_0x10774f=_0x741c8a['KLorw'](_0x16f6a7[_0x1508b1(0x248)],0x1)?_0x1508b1(0x271)+_0x16f6a7[_0x1508b1(0x248)]+')':'',_0x547629=await getItemFeedback(_0x22f9a1,_0x16f6a7['id']);if(_0x547629[_0x1508b1(0x239)][_0x1508b1(0x243)]>0x0){console[_0x1508b1(0x27a)](_0x1508b1(0x27c)+_0x741c8a[_0x1508b1(0x284)](_0x30f471,0x1)+':\x20\x22'+_0x16f6a7['description']+'\x22'+_0x10774f+_0x1508b1(0x232)+_0x547629['unaddressedComments'][_0x1508b1(0x243)]+'\x20unaddressed\x20comment(s)');for(const _0x369c0a of _0x547629['unaddressedComments']){const _0x35a6c4=new Date(_0x369c0a[_0x1508b1(0x204)])['toLocaleDateString'](_0x1508b1(0x22f),{'month':_0x1508b1(0x22e),'day':_0x1508b1(0x23e)}),_0x279be2=_0x369c0a['authorName']||_0x369c0a['authorEmail']||_0x1508b1(0x1f0);console['log']('\x20\x20💬\x20'+_0x279be2+'\x20('+_0x35a6c4+'):\x20\x22'+_0x369c0a[_0x1508b1(0x283)]+'\x22');if(_0x369c0a[_0x1508b1(0x24f)]){const _0x3fc038=await _0x741c8a[_0x1508b1(0x251)](downloadFeedbackImage,_0x369c0a[_0x1508b1(0x24f)],_0x369c0a['id']);_0x3fc038&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x3fc038);}if(_0x369c0a['spatial']){const _0x4e5743=_0x369c0a[_0x1508b1(0x267)][_0x1508b1(0x237)];_0x369c0a[_0x1508b1(0x267)][_0x1508b1(0x27d)]===_0x741c8a[_0x1508b1(0x298)]&&_0x741c8a[_0x1508b1(0x1e9)](_0x4e5743['length'],0x2)?console[_0x1508b1(0x27a)](_0x1508b1(0x1ed)+_0x4e5743[0x0]['toFixed'](0x2)+',\x20'+_0x4e5743[0x1]['toFixed'](0x2)+')'):console['log'](_0x1508b1(0x20e)+_0x369c0a['spatial']['type']+_0x1508b1(0x29e)+_0x4e5743['map'](_0x18a18f=>_0x18a18f[_0x1508b1(0x1f4)](0x2))['join'](',\x20')+']');}}if(_0x547629['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x5539bc of _0x547629[_0x1508b1(0x290)][_0x1508b1(0x227)]('\x0a')){console[_0x1508b1(0x27a)](_0x1508b1(0x288)+_0x5539bc);}}}else console['log'](_0x1508b1(0x27c)+(_0x30f471+0x1)+_0x1508b1(0x228)+_0x16f6a7['description']+'\x22'+_0x10774f+'\x20—\x20no\x20comments'),console[_0x1508b1(0x27a)](_0x1508b1(0x23a));console[_0x1508b1(0x27a)]('');}}export async function featureDelete(_0x2929fc){const _0x27950d=_0x2f2801,_0x43d6f8={'uLhSu':function(_0x24ca7b){return _0x24ca7b();},'plezX':function(_0x3524a7,_0x1a05df){return _0x3524a7(_0x1a05df);}},_0x11c968=_0x2929fc||await _0x43d6f8['uLhSu'](getActiveFeatureId);if(!_0x11c968)throw new Error(_0x27950d(0x210));const _0x2f3f66=await getFeature(_0x11c968);await _0x43d6f8[_0x27950d(0x286)](softDeleteFeature,_0x11c968),console['log'](_0x27950d(0x247)+_0x2f3f66['name']+'\x20('+_0x11c968+')'),console['log'](_0x27950d(0x29d)+_0x11c968);}export async function featureRestore(_0x2f03e0){const _0x3bbbc6=_0x2f2801,_0x413ed4={'CfRgI':function(_0x153d36,_0x44a542){return _0x153d36(_0x44a542);}};await restoreFeature(_0x2f03e0);const _0x4291aa=await _0x413ed4['CfRgI'](getFeature,_0x2f03e0);console[_0x3bbbc6(0x27a)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4291aa[_0x3bbbc6(0x28a)]+'\x20('+_0x2f03e0+')'),displayFeature(_0x4291aa,_0x4291aa[_0x3bbbc6(0x225)]);}
|
|
1
|
+
const _0x41fdff=_0x4908;(function(_0x9ac79,_0x2e7652){const _0x41aeee=_0x4908,_0x48b040=_0x9ac79();while(!![]){try{const _0x4993db=parseInt(_0x41aeee(0x19c))/0x1*(-parseInt(_0x41aeee(0x1b0))/0x2)+parseInt(_0x41aeee(0x168))/0x3*(-parseInt(_0x41aeee(0x1a9))/0x4)+parseInt(_0x41aeee(0x10a))/0x5+parseInt(_0x41aeee(0x15d))/0x6*(-parseInt(_0x41aeee(0x16c))/0x7)+-parseInt(_0x41aeee(0x1a1))/0x8+-parseInt(_0x41aeee(0x128))/0x9+parseInt(_0x41aeee(0x113))/0xa;if(_0x4993db===_0x2e7652)break;else _0x48b040['push'](_0x48b040['shift']());}catch(_0x12307c){_0x48b040['push'](_0x48b040['shift']());}}}(_0x46a4,0x6bc0e));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5c0d7c from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE=_0x41fdff(0x157),bold=_0x4d54c4=>_0x41fdff(0x11b)+_0x4d54c4+'\x1b[0m';function getGitRepoUrl(){const _0x5acf20=_0x41fdff,_0x182533={'uDONv':_0x5acf20(0x15a),'UAmIv':_0x5acf20(0x125),'jBkmO':_0x5acf20(0x1bb)};try{const _0x2d7360=execSync(_0x182533[_0x5acf20(0x13c)],{'encoding':_0x182533[_0x5acf20(0x15b)],'stdio':['pipe',_0x182533['jBkmO'],_0x182533[_0x5acf20(0x1a6)]]})['trim']();return _0x2d7360['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function _0x46a4(){const _0x3e5365=['UAmIv','fqZMv','8238cwmnaV','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','tPPxs','IguNy','oDBgU','\x0a✅\x20Resumed\x20feature\x20review:\x20','version','dashboardUrl','zAnVG','\x20blocked','any','36cvNvIU','\x0aGenerating\x20report...','approved','QBCId','1449UbfIqm','UYnRH','No\x20sessions\x20found.','\x20\x20\x20\x20\x20ID:\x20','stdout','dtGEO','YLmII','CLAUDE_SESSION_ID','KTbgB','lPMCk','join','latestReview','\x20—\x20','IEWov','cBney','NArcM','incompleteItems','\x20--current-branch','selected','HVQAU','mHivn','authorName','split','\x20\x20\x20\x20\x20\x20Approved','stdin','completedAt','find','incompleteReason','\x0a✅\x20Feature\x20review\x20created:\x20','gitBranch','):\x20\x22','mOgag','.md','completed','stats','gitRepoUrl','USqDb','length','pxONe','Kohxc','mvFFT','TKeDK','\x0aCreating\x20feature\x20review...','error','\x20scenario(s).','ZybQW','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','\x20\x20\x20\x20\x20\x20Cancelled:\x20','1NxqovP','\x20\x20\x20\x20','\x20at\x20[','PVlOw','DfBwV','5306888miRyyD','\x20unaddressed\x20comment(s)','hMOJT','status','\x20\x20\x20Created:\x20','jBkmO','jxfTU','type','112076XcZZlh','blockedReason','xwmgZ','\x20incomplete','coordinates','content','XLTWi','1733254qGgsKu','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','\x20\x20\x20Status:\x20','push','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x20\x20\x20Branch:\x20','TZDLx','scenario','spatial','verifiedItems','isTTY','pipe','ZVWcn','name','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','currentBranch','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','GNNpD','blocked','WhrEp','hIbSh','offset','canceledReason','items','2534720OBrNux','\x20\x20\x20Description:\x20','RFZAk','NYTYb','repeat','No\x20scenarios\x20found.','\x20feature\x20review(s)\x20found','sLmvu','LyYTj','22885580gtxXFQ','eXBWi','feedback-images','UMsdC','exit','toFixed','\x0aNo\x20feature\x20reviews\x20found.','\x20(v','\x1b[1m','YUCpo','unaddressedComments','iBkEm','Scenario\x20','\x20--limit\x20','\x20\x20\x20\x20\x20\x20Incomplete:\x20','mnRqy','closed','limit','utf-8','GyqCa','\x0a✅\x20Scenario\x20updated','1833453yXbsxU','wpSMF','description','trim','TIyym','\x20scenarios.','\x20\x20\x20Progress:\x20','incomplete','terminalReason','\x20\x20\x20Repository:\x20','toLocaleString','fCZKw','XpdWW','Not\x20in\x20a\x20git\x20repository.','createdAt','log','prompt','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','...','uDONv','iteration','JbHLJ','toLocaleDateString','blockedItems','warn','yiACl','ryLea','Current\x20session\x20not\x20found.','\x20\x20✅\x20No\x20feedback\x20to\x20address','map','checklistItems','gQJbg','totalCount',':\x20\x22','\x20\x20\x20\x20\x20Progress:\x20','assetUrl','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','parentItemId','round','QSqII','\x20\x20\x20\x20\x20Branch:\x20','\x20\x20\x20','verificationInProgressItems','style','qnxHV','\x0a✅\x20Session\x20','active-feature.txt','VqoTc','\x20--include-deleted','git\x20remote\x20get-url\x20origin'];_0x46a4=function(){return _0x3e5365;};return _0x46a4();}function getGitBranch(){const _0x3fef09=_0x41fdff,_0xfa3b6b={'akUwz':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','oDBgU':'pipe'};try{return execSync(_0xfa3b6b['akUwz'],{'encoding':_0x3fef09(0x125),'stdio':[_0xfa3b6b['oDBgU'],_0xfa3b6b[_0x3fef09(0x161)],_0x3fef09(0x1bb)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x311ce5=_0x41fdff,_0x47a5b2={'WhrEp':function(_0x1937d6){return _0x1937d6();},'SGqTh':function(_0x39194c,_0x47aa70){return _0x39194c(_0x47aa70);}},_0x34b5b0=join(_0x47a5b2[_0x311ce5(0x105)](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x47a5b2['SGqTh'](existsSync,_0x34b5b0))return null;try{const _0x2a8e02=await readFile(_0x34b5b0,_0x311ce5(0x125));return _0x2a8e02['trim']()||null;}catch{return null;}}function _0x4908(_0x11906b,_0xba534e){_0x11906b=_0x11906b-0x104;const _0x46a433=_0x46a4();let _0x490843=_0x46a433[_0x11906b];return _0x490843;}async function setActiveFeatureId(_0x1e3f99){const _0x16ff01=_0x41fdff,_0x212fd7={'MQTlN':function(_0x3030ff){return _0x3030ff();},'JbHLJ':function(_0x2b9ec6,_0x871307,_0x54bb75){return _0x2b9ec6(_0x871307,_0x54bb75);},'TKeDK':_0x16ff01(0x125)},_0x3717d7=_0x212fd7['MQTlN'](getRangerDir),_0x2f33c6=_0x212fd7[_0x16ff01(0x13e)](join,_0x3717d7,ACTIVE_FEATURE_FILE);!existsSync(_0x3717d7)&&await mkdir(_0x3717d7,{'recursive':!![]}),await writeFile(_0x2f33c6,_0x1e3f99,_0x212fd7[_0x16ff01(0x195)]);}function getProgressDisplay(_0x27748a){const _0x43316f=_0x41fdff,_0x4558dd={'LyYTj':function(_0x225dde,_0x2fdd87){return _0x225dde+_0x2fdd87;},'PVlOw':function(_0x4e1fee,_0x5da440){return _0x4e1fee/_0x5da440;},'mnDIP':function(_0x13725e,_0x42b491){return _0x13725e>_0x42b491;}},_0x7d3d71=_0x27748a[_0x43316f(0x1b9)]||0x0,_0x2bd4f6=_0x27748a[_0x43316f(0x153)]||0x0,_0x540e27=_0x27748a[_0x43316f(0x140)]||0x0,_0x4efefb=_0x27748a[_0x43316f(0x17c)]||0x0,_0x53062e=_0x27748a['pendingItems']||0x0,_0x12b1d5=_0x4558dd['LyYTj'](_0x7d3d71+_0x2bd4f6,_0x540e27)+_0x4efefb+_0x53062e;if(_0x12b1d5===0x0)return'-';const _0x365b34=0xa,_0x92b073=Math[_0x43316f(0x14f)](_0x4558dd[_0x43316f(0x19f)](_0x7d3d71,_0x12b1d5)*_0x365b34),_0x4a2305=_0x4558dd[_0x43316f(0x112)]('█'[_0x43316f(0x10e)](_0x92b073),'░'[_0x43316f(0x10e)](_0x365b34-_0x92b073)),_0x1af48f=[];if(_0x540e27>0x0)_0x1af48f[_0x43316f(0x1b3)](_0x540e27+_0x43316f(0x166));if(_0x4558dd['mnDIP'](_0x4efefb,0x0))_0x1af48f['push'](_0x4efefb+_0x43316f(0x1ac));if(_0x2bd4f6>0x0)_0x1af48f['push'](_0x2bd4f6+'\x20in\x20progress');const _0x1dea1b=_0x1af48f['length']>0x0?'\x20('+_0x1af48f[_0x43316f(0x176)](',\x20')+')':'';return _0x4a2305+'\x20'+_0x7d3d71+'/'+_0x12b1d5+'\x20verified'+_0x1dea1b;}function displayFeature(_0x246900,_0x4483e9){const _0x4277af=_0x41fdff,_0x1a5db3={'TZDLx':function(_0x869781,_0x934000){return _0x869781<_0x934000;},'SieSS':function(_0x152d17,_0x74224c){return _0x152d17===_0x74224c;},'NArcM':_0x4277af(0x123),'RFcOw':function(_0x55310f,_0x3dd38e){return _0x55310f===_0x3dd38e;},'SFjho':_0x4277af(0x16a),'DCQYj':'incomplete','xgbQj':function(_0x5b9573,_0x39821d){return _0x5b9573===_0x39821d;},'VqoTc':function(_0x7bc28,_0x506927){return _0x7bc28>_0x506927;},'oirMd':function(_0x465be2,_0xdd7e92){return _0x465be2!==_0xdd7e92;},'bKlyw':'verified','RFZAk':'\x20[has\x20reviewer\x20feedback]','xwmgZ':function(_0x255a1,_0x55db4a){return _0x255a1+_0x55db4a;},'IguNy':_0x4277af(0x104),'hqCqH':function(_0x1c1234,_0x306e35){return _0x1c1234===_0x306e35;}};console['log']('\x0a'+_0x246900['name']+'\x20('+_0x246900[_0x4277af(0x164)]+')');_0x246900['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x246900['stats']));_0x246900[_0x4277af(0x12a)]&&console['log'](_0x4277af(0x10b)+_0x246900['description']);_0x246900['gitRepoUrl']&&console[_0x4277af(0x137)](_0x4277af(0x131)+_0x246900[_0x4277af(0x18f)]);_0x246900['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x246900['gitBranch']);console[_0x4277af(0x137)]('\x20\x20\x20Created:\x20'+new Date(_0x246900[_0x4277af(0x136)])[_0x4277af(0x132)]());_0x246900[_0x4277af(0x185)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x246900['completedAt'])['toLocaleString']());if(_0x4483e9&&_0x4483e9[_0x4277af(0x191)]>0x0){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x43c39f=0x0;_0x1a5db3[_0x4277af(0x1b6)](_0x43c39f,_0x4483e9['length']);_0x43c39f++){const _0x54cde7=_0x4483e9[_0x43c39f];let _0x529cfe;if(_0x1a5db3['SieSS'](_0x54cde7[_0x4277af(0x1a4)],_0x1a5db3[_0x4277af(0x17b)])&&_0x1a5db3['RFcOw'](_0x54cde7['terminalReason'],_0x1a5db3['SFjho']))_0x529cfe='✅';else{if(_0x54cde7['status']==='verified')_0x529cfe='🟢';else{if(_0x1a5db3['SieSS'](_0x54cde7[_0x4277af(0x1a4)],_0x1a5db3['DCQYj']))_0x529cfe='🟠';else{if(_0x1a5db3['xgbQj'](_0x54cde7['status'],'blocked'))_0x529cfe='🛑';else{if(_0x54cde7['status']==='closed')_0x529cfe='⛔';else _0x1a5db3['RFcOw'](_0x54cde7[_0x4277af(0x1a4)],'verification_in_progress')?_0x529cfe='⏳':_0x529cfe='⬜';}}}}const _0x32bfc7=_0x1a5db3[_0x4277af(0x158)](_0x54cde7['version'],0x1)?'\x20(v'+_0x54cde7['version']+')':'',_0x1aa889=_0x54cde7['version']>0x1&&_0x54cde7[_0x4277af(0x14e)]&&_0x54cde7['status']!==_0x1a5db3['NArcM']&&_0x1a5db3['oirMd'](_0x54cde7[_0x4277af(0x1a4)],_0x1a5db3['bKlyw'])?_0x1a5db3[_0x4277af(0x10c)]:'';console[_0x4277af(0x137)](_0x4277af(0x152)+_0x1a5db3[_0x4277af(0x1ab)](_0x43c39f,0x1)+'.\x20'+_0x529cfe+'\x20'+_0x54cde7[_0x4277af(0x12a)]+_0x32bfc7+_0x1aa889);_0x54cde7[_0x4277af(0x1a4)]===_0x1a5db3[_0x4277af(0x160)]&&_0x54cde7[_0x4277af(0x1aa)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x54cde7[_0x4277af(0x1aa)]);_0x1a5db3['hqCqH'](_0x54cde7['status'],_0x4277af(0x12f))&&_0x54cde7[_0x4277af(0x187)]&&console['log'](_0x4277af(0x121)+_0x54cde7['incompleteReason']);if(_0x1a5db3['RFcOw'](_0x54cde7['status'],_0x4277af(0x123))&&_0x54cde7[_0x4277af(0x130)]==='approved')console[_0x4277af(0x137)](_0x4277af(0x183));else _0x1a5db3['SieSS'](_0x54cde7[_0x4277af(0x1a4)],_0x4277af(0x123))&&_0x54cde7['canceledReason']&&console['log'](_0x4277af(0x19b)+_0x54cde7[_0x4277af(0x108)]);}}}export async function featureCreate(_0x463da7,_0x339d8d){const _0x2a627f=_0x41fdff,_0x147a0c={'rgSxw':function(_0x53f3b3){return _0x53f3b3();},'GNNpD':function(_0x2d8a47){return _0x2d8a47();},'iBkEm':_0x2a627f(0x196),'ZybQW':function(_0x539a10,_0x18b14e){return _0x539a10(_0x18b14e);},'GlkSr':function(_0x596d9a,_0x531188,_0x1a12d1){return _0x596d9a(_0x531188,_0x1a12d1);}},{envNames:_0x841b21}=await getEnvNames();_0x841b21['length']===0x0&&console[_0x2a627f(0x141)]('\x0a'+formatProfileRequiredMessage(_0x31bcb8=>bold(_0x31bcb8)));const _0x2a1ea6=_0x339d8d['scenarios']?_0x339d8d['scenarios'][_0x2a627f(0x146)](_0x10f0c4=>_0x10f0c4[_0x2a627f(0x12b)]()):[],_0x190d5d=_0x147a0c['rgSxw'](getGitRepoUrl),_0x293bb9=_0x147a0c[_0x2a627f(0x1c1)](getGitBranch);console[_0x2a627f(0x137)](_0x147a0c[_0x2a627f(0x11e)]);const _0x1164af=await _0x147a0c[_0x2a627f(0x199)](createFeature,{'name':_0x463da7,'description':_0x339d8d[_0x2a627f(0x12a)],'checklist':_0x2a1ea6,'gitRepoUrl':_0x190d5d,'gitBranch':_0x293bb9});await setActiveFeatureId(_0x1164af['id']),await _0x147a0c[_0x2a627f(0x199)](tryStartCurrentSession,_0x1164af['id']);const _0x20402b=process['env'][_0x2a627f(0x173)];_0x20402b&®isterSession(_0x20402b,_0x1164af['id']),console['log'](_0x2a627f(0x188)+_0x1164af['id']),_0x147a0c['GlkSr'](displayFeature,_0x1164af,_0x1164af[_0x2a627f(0x147)]),console['log'](_0x2a627f(0x1be));}export async function featureList(_0x3c5a4c){const _0x4aba6e=_0x41fdff,_0x155ede={'akUaO':function(_0x57e7c7){return _0x57e7c7();},'GyqCa':function(_0x129c3f){return _0x129c3f();},'sLmvu':function(_0xa4a27d,_0x56f053){return _0xa4a27d(_0x56f053);},'YUCpo':function(_0x54e138,_0x86110b){return _0x54e138>_0x86110b;},'ryLea':function(_0x9d4530,_0xb36c3){return _0x9d4530<_0xb36c3;}},_0x10dbdb={'limit':_0x3c5a4c[_0x4aba6e(0x124)]??0xa,'offset':_0x3c5a4c[_0x4aba6e(0x107)]??0x0,'includeDeleted':_0x3c5a4c['includeDeleted']};_0x3c5a4c[_0x4aba6e(0x1bf)]&&(_0x10dbdb['gitRepoUrl']=_0x155ede['akUaO'](getGitRepoUrl),_0x10dbdb[_0x4aba6e(0x189)]=_0x155ede[_0x4aba6e(0x126)](getGitBranch));const _0x477660=await _0x155ede['sLmvu'](listFeatures,_0x10dbdb);if(_0x477660[_0x4aba6e(0x109)]['length']===0x0){console['log'](_0x4aba6e(0x119));return;}const _0x227c11=_0x155ede[_0x4aba6e(0x11c)](_0x477660['totalCount'],_0x477660['items'][_0x4aba6e(0x191)])?'Showing\x20'+_0x477660['items'][_0x4aba6e(0x191)]+'\x20of\x20'+_0x477660['totalCount']:_0x477660[_0x4aba6e(0x149)]+_0x4aba6e(0x110);console['log']('\x0a'+_0x227c11+':\x0a');for(const _0x57975d of _0x477660['items']){const _0x3d68ba='3|0|4|5|2|1'['split']('|');let _0x4a49ac=0x0;while(!![]){switch(_0x3d68ba[_0x4a49ac++]){case'0':console[_0x4aba6e(0x137)]('\x20\x20\x20ID:\x20'+_0x57975d['id']);continue;case'1':console['log']('');continue;case'2':console['log'](_0x4aba6e(0x1a5)+new Date(_0x57975d[_0x4aba6e(0x136)])['toLocaleDateString']());continue;case'3':console['log'](''+_0x57975d['name']);continue;case'4':_0x57975d['stats']&&console['log'](_0x4aba6e(0x12e)+_0x155ede[_0x4aba6e(0x111)](getProgressDisplay,_0x57975d[_0x4aba6e(0x18e)]));continue;case'5':_0x57975d['gitBranch']&&console[_0x4aba6e(0x137)](_0x4aba6e(0x1b5)+_0x57975d[_0x4aba6e(0x189)]);continue;}break;}}const _0xd66a3=_0x10dbdb[_0x4aba6e(0x124)]??0xa,_0x4b555f=(_0x10dbdb[_0x4aba6e(0x107)]??0x0)+_0x477660['items']['length'];if(_0x155ede[_0x4aba6e(0x143)](_0x4b555f,_0x477660['totalCount'])){const _0x3926c0=_0xd66a3!==0xa?_0x4aba6e(0x120)+_0xd66a3:'',_0x3678c2=_0x3c5a4c['currentBranch']?_0x4aba6e(0x17d):'',_0x3918ec=_0x3c5a4c['includeDeleted']?_0x4aba6e(0x159):'';console[_0x4aba6e(0x137)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x4b555f+_0x3926c0+_0x3678c2+_0x3918ec);}}export async function featureShow(_0x40ae8b){const _0x4e0fb3=_0x41fdff,_0x223bb5={'fqZMv':_0x4e0fb3(0x14d),'QqObA':function(_0x4c7fd9,_0x5effaf){return _0x4c7fd9(_0x5effaf);},'bqjZf':function(_0x4d0043,_0x491c4d,_0xdc3855){return _0x4d0043(_0x491c4d,_0xdc3855);}},_0x108ce4=_0x40ae8b||await getActiveFeatureId();if(!_0x108ce4)throw new Error(_0x223bb5[_0x4e0fb3(0x15c)]);const _0x4f935b=await _0x223bb5['QqObA'](getFeature,_0x108ce4);_0x223bb5['bqjZf'](displayFeature,_0x4f935b,_0x4f935b[_0x4e0fb3(0x147)]);}export async function featureResume(_0x20dde5){const _0x2f0c4d=_0x41fdff,_0x12fd7a={'zjfci':function(_0x1ed6c9,_0x4390c0){return _0x1ed6c9!==_0x4390c0;},'dtGEO':function(_0x1455a4,_0x33d57e){return _0x1455a4(_0x33d57e);},'tPPxs':function(_0x42c00e,_0x4e94d5,_0x4c8276){return _0x42c00e(_0x4e94d5,_0x4c8276);},'npLPv':function(_0x272ef1){return _0x272ef1();},'IEWov':function(_0x1390ee,_0x2a7cdc){return _0x1390ee&&_0x2a7cdc;},'pIkID':_0x2f0c4d(0x135),'zAnVG':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','QBCId':function(_0x1822ab,_0x38901f){return _0x1822ab===_0x38901f;},'mvFFT':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','TIyym':_0x2f0c4d(0x15e),'XsYSg':'list','Kohxc':_0x2f0c4d(0x17e),'UYnRH':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','KTbgB':function(_0x2e0c4d,_0x3bf485){return _0x2e0c4d(_0x3bf485);},'BcZyd':function(_0x155e59,_0x38f293,_0x4554e2){return _0x155e59(_0x38f293,_0x4554e2);}};if(_0x20dde5){const _0x5abca5=await getFeature(_0x20dde5);await setActiveFeatureId(_0x5abca5['id']);const _0x23936d=getGitBranch();_0x23936d&&_0x12fd7a['zjfci'](_0x23936d,_0x5abca5[_0x2f0c4d(0x189)])&&(await updateFeature(_0x5abca5['id'],{'gitBranch':_0x23936d}),console[_0x2f0c4d(0x137)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x23936d));console[_0x2f0c4d(0x137)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x5abca5['name']+'\x20('+_0x5abca5['id']+')'),await _0x12fd7a[_0x2f0c4d(0x171)](tryStartCurrentSession,_0x5abca5['id']);const _0x222c7a=process['env'][_0x2f0c4d(0x173)];_0x222c7a&&_0x12fd7a[_0x2f0c4d(0x15f)](registerSession,_0x222c7a,_0x5abca5['id']);displayFeature(_0x5abca5,_0x5abca5[_0x2f0c4d(0x147)]),await printFeedbackNudge(_0x5abca5['id']);return;}const _0x173492=getGitRepoUrl(),_0x165e92=_0x12fd7a['npLPv'](getGitBranch);if(_0x12fd7a[_0x2f0c4d(0x179)](!_0x173492,!_0x165e92))throw new Error(_0x12fd7a['pIkID']);console[_0x2f0c4d(0x137)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x173492||_0x2f0c4d(0x167))+'\x20/\x20'+(_0x165e92||_0x2f0c4d(0x167))+_0x2f0c4d(0x13b));const _0x33b750=await listFeatures({'gitRepoUrl':_0x173492,'gitBranch':_0x165e92}),_0x2b2fb0=_0x33b750[_0x2f0c4d(0x109)]['filter'](_0x52acd2=>!_0x52acd2['completedAt']);if(_0x2b2fb0[_0x2f0c4d(0x191)]===0x0){console[_0x2f0c4d(0x137)](_0x12fd7a[_0x2f0c4d(0x165)]),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x5c6c8c;if(_0x12fd7a[_0x2f0c4d(0x16b)](_0x2b2fb0['length'],0x1))_0x5c6c8c=_0x2b2fb0[0x0];else{const _0x18a674=process[_0x2f0c4d(0x184)]['isTTY']&&process[_0x2f0c4d(0x170)][_0x2f0c4d(0x1ba)];if(!_0x18a674){console['log'](_0x12fd7a[_0x2f0c4d(0x194)]);for(const _0xbe0e3b of _0x2b2fb0){console['log']('\x20\x20'+_0xbe0e3b['name']),console[_0x2f0c4d(0x137)](_0x2f0c4d(0x16f)+_0xbe0e3b['id']),_0xbe0e3b[_0x2f0c4d(0x18e)]&&console[_0x2f0c4d(0x137)](_0x2f0c4d(0x14b)+getProgressDisplay(_0xbe0e3b['stats'])),_0xbe0e3b[_0x2f0c4d(0x189)]&&console['log'](_0x2f0c4d(0x151)+_0xbe0e3b[_0x2f0c4d(0x189)]);}throw new Error(_0x12fd7a[_0x2f0c4d(0x12c)]);}const {selected:_0x496d5e}=await _0x5c0d7c[_0x2f0c4d(0x138)]([{'type':_0x12fd7a['XsYSg'],'name':_0x12fd7a[_0x2f0c4d(0x193)],'message':_0x12fd7a[_0x2f0c4d(0x16d)],'choices':_0x2b2fb0[_0x2f0c4d(0x146)](_0x2538f8=>({'name':_0x2538f8['name']+'\x20('+_0x2538f8['id']+')','value':_0x2538f8['id']}))}]);_0x5c6c8c=_0x2b2fb0['find'](_0x5b37e0=>_0x5b37e0['id']===_0x496d5e);}await setActiveFeatureId(_0x5c6c8c['id']);_0x165e92&&_0x165e92!==_0x5c6c8c[_0x2f0c4d(0x189)]&&(await _0x12fd7a['tPPxs'](updateFeature,_0x5c6c8c['id'],{'gitBranch':_0x165e92}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x165e92));console[_0x2f0c4d(0x137)](_0x2f0c4d(0x162)+_0x5c6c8c['name']+'\x20('+_0x5c6c8c['id']+')'),await tryStartCurrentSession(_0x5c6c8c['id']);const _0x5780a7=await _0x12fd7a[_0x2f0c4d(0x174)](getFeature,_0x5c6c8c['id']),_0x3ff65c=process['env']['CLAUDE_SESSION_ID'];_0x3ff65c&®isterSession(_0x3ff65c,_0x5780a7['id']),_0x12fd7a['BcZyd'](displayFeature,_0x5780a7,_0x5780a7['checklistItems']),await printFeedbackNudge(_0x5780a7['id']);}async function printFeedbackNudge(_0x35d994){const _0x540a9f=_0x41fdff,_0x3eb21b={'ZvGsz':function(_0x1f3112,_0x253ac1){return _0x1f3112(_0x253ac1);},'itvFN':function(_0x4a3f69,_0x2670cc){return _0x4a3f69>_0x2670cc;},'XLTWi':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0xe8b4ac}=await _0x3eb21b['ZvGsz'](getActionItems,_0x35d994);let _0xe96d38=0x0,_0x2184e1=0x0;for(const _0x291c79 of _0xe8b4ac){const _0x28fe08=await getItemFeedback(_0x35d994,_0x291c79['id']);_0x3eb21b['itvFN'](_0x28fe08[_0x540a9f(0x11d)][_0x540a9f(0x191)],0x0)&&(_0xe96d38+=_0x28fe08['unaddressedComments'][_0x540a9f(0x191)],_0x2184e1++);}_0xe96d38>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0xe96d38+_0x540a9f(0x1b1)+_0x2184e1+_0x540a9f(0x198)),console['log'](_0x3eb21b[_0x540a9f(0x1af)]));}catch{}}async function tryStartCurrentSession(_0x3a2d27){const _0x19434b=_0x41fdff,_0x3d8848={'HsKTP':function(_0x5e404f,_0x1a0d19){return _0x5e404f(_0x1a0d19);},'qnxHV':function(_0x4b8e6a,_0x40ecc3,_0x53043f){return _0x4b8e6a(_0x40ecc3,_0x53043f);}};try{const {sessions:_0x4ee109}=await _0x3d8848['HsKTP'](listFeatureSessions,_0x3a2d27),_0x1009d8=_0x4ee109[_0x19434b(0x186)](_0x5b3c2c=>_0x5b3c2c[_0x19434b(0x1a4)]==='ready');_0x1009d8&&(await _0x3d8848[_0x19434b(0x155)](startSession,_0x3a2d27,_0x1009d8['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x1009d8[_0x19434b(0x13d)]));}catch{}}export async function featureReport(_0x1eff91,_0x2fd680){const _0x589367=_0x41fdff,_0x3fcf01={'yiACl':function(_0x4be988){return _0x4be988();},'pxONe':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','MCbJe':function(_0x36e153,_0x35114c,_0x1c8394,_0x6b1ba2){return _0x36e153(_0x35114c,_0x1c8394,_0x6b1ba2);},'USqDb':function(_0x4f1611,_0x2b9d5f,_0x1cccb0){return _0x4f1611(_0x2b9d5f,_0x1cccb0);},'snCMp':function(_0x1c1160,_0x250ac8){return _0x1c1160(_0x250ac8);},'chQHb':'utf-8'},_0x2a5914=_0x1eff91||await _0x3fcf01[_0x589367(0x142)](getActiveFeatureId);if(!_0x2a5914)throw new Error(_0x3fcf01[_0x589367(0x192)]);console['log'](_0x589367(0x169));const _0x2d8cce=await getFeatureReportMarkdown(_0x2a5914,{'style':_0x2fd680[_0x589367(0x154)]}),_0x101e1b=_0x2fd680['output']||_0x3fcf01['MCbJe'](join,getRangerDir(),'reports',_0x2a5914+_0x589367(0x18c)),_0x5ba232=_0x3fcf01[_0x589367(0x190)](join,_0x101e1b,'..');!_0x3fcf01['snCMp'](existsSync,_0x5ba232)&&await _0x3fcf01['USqDb'](mkdir,_0x5ba232,{'recursive':!![]}),await writeFile(_0x101e1b,_0x2d8cce,_0x3fcf01['chQHb']),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x101e1b);}export async function featureConcludeSession(_0x8e209c){const _0x1bf4a3=_0x41fdff,_0x24699d={'kIQLK':_0x1bf4a3(0x14d),'XClmH':function(_0x21a617,_0x93d2ed){return _0x21a617(_0x93d2ed);},'mOgag':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','dTREt':_0x1bf4a3(0x144),'RyGqV':'\x0aConcluding\x20session...','cBney':function(_0x476bc8,_0x2749cc,_0xbbb093){return _0x476bc8(_0x2749cc,_0xbbb093);}},_0x2ac3d7=_0x8e209c||await getActiveFeatureId();if(!_0x2ac3d7)throw new Error(_0x24699d['kIQLK']);const _0x2752e5=await _0x24699d['XClmH'](getFeature,_0x2ac3d7);if(!_0x2752e5['currentSessionId'])throw new Error(_0x24699d[_0x1bf4a3(0x18b)]);const {sessions:_0x383fa4}=await listFeatureSessions(_0x2ac3d7),_0x1de903=_0x383fa4['find'](_0x5b46a7=>_0x5b46a7['id']===_0x2752e5['currentSessionId']);if(!_0x1de903)throw new Error(_0x24699d['dTREt']);if(_0x1de903['status']===_0x1bf4a3(0x18d)){console['log']('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x1de903[_0x1bf4a3(0x1a4)]!=='in_progress')throw new Error(_0x1bf4a3(0x139)+_0x1de903['status']);console[_0x1bf4a3(0x137)](_0x24699d['RyGqV']),await _0x24699d[_0x1bf4a3(0x17a)](concludeSession,_0x2ac3d7,_0x2752e5['currentSessionId']),console['log'](_0x1bf4a3(0x156)+_0x1de903['iteration']+'\x20concluded.'),console[_0x1bf4a3(0x137)](_0x1bf4a3(0x13a));}export async function featureSessions(_0x4ee4b1){const _0x2ca95e=_0x41fdff,_0x3af663={'sLUMQ':function(_0x328761){return _0x328761();},'kMkyY':function(_0x4d3c08,_0x53cd66){return _0x4d3c08(_0x53cd66);},'mifur':_0x2ca95e(0x18d)},_0x25948f=_0x4ee4b1||await _0x3af663['sLUMQ'](getActiveFeatureId);if(!_0x25948f)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x7089f1=await getFeature(_0x25948f);console['log'](_0x2ca95e(0x19a)+_0x7089f1[_0x2ca95e(0x1bd)]+'\x0a');const {sessions:_0x581f6e}=await _0x3af663['kMkyY'](listFeatureSessions,_0x25948f);if(_0x581f6e['length']===0x0){console[_0x2ca95e(0x137)](_0x2ca95e(0x16e));return;}for(const _0x2be6cd of _0x581f6e){const _0x1d80a2=_0x2be6cd[_0x2ca95e(0x1a4)]===_0x3af663['mifur']?'✅':_0x2be6cd['status']==='in_progress'?'🔄':'▶️';console['log'](_0x1d80a2+'\x20Session\x20'+_0x2be6cd[_0x2ca95e(0x13d)]+'\x20('+_0x2be6cd['id']+')'),console[_0x2ca95e(0x137)](_0x2ca95e(0x1b2)+_0x2be6cd[_0x2ca95e(0x1a4)]),console[_0x2ca95e(0x137)](_0x2ca95e(0x1a5)+new Date(_0x2be6cd['createdAt'])['toLocaleString']()),_0x2be6cd[_0x2ca95e(0x185)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x2be6cd['completedAt'])[_0x2ca95e(0x132)]()),console[_0x2ca95e(0x137)]('');}}export async function featureAddScenario(_0x271f22,_0x3fa27f){const _0x590b37=_0x41fdff,_0x2b0cc1={'ZVWcn':function(_0x170338,_0x3479e5,_0x3840e8){return _0x170338(_0x3479e5,_0x3840e8);},'XpdWW':function(_0x1363ed,_0x41c415){return _0x1363ed(_0x41c415);},'YLmII':function(_0x942f66,_0xbf5655,_0x597def){return _0x942f66(_0xbf5655,_0x597def);}},_0x241cc9=_0x3fa27f||await getActiveFeatureId();if(!_0x241cc9)throw new Error(_0x590b37(0x14d));const _0x27f729=await getFeature(_0x241cc9);if(_0x27f729[_0x590b37(0x177)]&&!_0x27f729['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x27f729['dashboardUrl']);await _0x2b0cc1[_0x590b37(0x1bc)](createChecklistItem,_0x241cc9,_0x271f22);const _0x1fb556=await _0x2b0cc1[_0x590b37(0x134)](getFeature,_0x241cc9);console['log']('\x0a✅\x20Scenario\x20added'),_0x2b0cc1[_0x590b37(0x172)](displayFeature,_0x1fb556,_0x1fb556['checklistItems']);}export async function featureEditScenario(_0x5d7888,_0x92d18d){const _0x1e571a=_0x41fdff,_0x1d413d={'QSqII':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','LONsj':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','SSCDh':'Please\x20finish\x20your\x20review\x20first:','wpSMF':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','DfBwV':'\x0aAvailable\x20scenarios:','fCZKw':function(_0x43e5d3,_0x14afa6){return _0x43e5d3-_0x14afa6;},'lPMCk':function(_0x5282aa,_0x4dcc38){return _0x5282aa<_0x4dcc38;},'gQJbg':function(_0x1e4a76,_0x556ce8){return _0x1e4a76>=_0x556ce8;},'NYTYb':function(_0x273722,_0x5a5ca5,_0x8bd3f6){return _0x273722(_0x5a5ca5,_0x8bd3f6);}},_0x222398=_0x92d18d['id']||await getActiveFeatureId();!_0x222398&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x1e571a(0x197)](_0x1d413d[_0x1e571a(0x150)]),process['exit'](0x1));const _0x43374b=await getFeature(_0x222398);_0x43374b[_0x1e571a(0x177)]&&!_0x43374b[_0x1e571a(0x177)]['submittedAt']&&(console['error'](_0x1d413d['LONsj']),console[_0x1e571a(0x197)](_0x1d413d['SSCDh']),console[_0x1e571a(0x197)]('\x20\x20'+_0x43374b['dashboardUrl']),process['exit'](0x1));const _0x125b62=_0x43374b[_0x1e571a(0x147)]||[];_0x125b62['length']===0x0&&(console['error'](_0x1d413d[_0x1e571a(0x129)]),process[_0x1e571a(0x117)](0x1));if(_0x92d18d[_0x1e571a(0x1b7)]===undefined){console[_0x1e571a(0x197)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x1d413d['DfBwV']);for(let _0x151be2=0x0;_0x151be2<_0x125b62[_0x1e571a(0x191)];_0x151be2++){console[_0x1e571a(0x137)]('\x20\x20'+(_0x151be2+0x1)+'.\x20'+_0x125b62[_0x151be2][_0x1e571a(0x12a)]);}process['exit'](0x1);}const _0x3b76be=_0x1d413d[_0x1e571a(0x133)](_0x92d18d['scenario'],0x1);if(_0x1d413d['lPMCk'](_0x3b76be,0x0)||_0x1d413d[_0x1e571a(0x148)](_0x3b76be,_0x125b62[_0x1e571a(0x191)])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x92d18d[_0x1e571a(0x1b7)]+'.\x20Feature\x20review\x20has\x20'+_0x125b62[_0x1e571a(0x191)]+_0x1e571a(0x12d)),console[_0x1e571a(0x137)](_0x1d413d[_0x1e571a(0x1a0)]);for(let _0xfa4876=0x0;_0x1d413d[_0x1e571a(0x175)](_0xfa4876,_0x125b62[_0x1e571a(0x191)]);_0xfa4876++){console[_0x1e571a(0x137)]('\x20\x20'+(_0xfa4876+0x1)+'.\x20'+_0x125b62[_0xfa4876][_0x1e571a(0x12a)]);}process['exit'](0x1);}const _0x59f2c8=_0x125b62[_0x3b76be];await updateChecklistItem(_0x222398,_0x59f2c8['id'],{'description':_0x5d7888});const _0x348249=await getFeature(_0x222398);console[_0x1e571a(0x137)](_0x1e571a(0x127)),_0x1d413d[_0x1e571a(0x10d)](displayFeature,_0x348249,_0x348249[_0x1e571a(0x147)]);}async function downloadFeedbackImage(_0x69ec19,_0x320468){const _0x5d692a=_0x41fdff,_0x77f7c7={'RNdrr':function(_0x414c02,_0x3be0fb,_0x59997d){return _0x414c02(_0x3be0fb,_0x59997d);},'cLgJz':_0x5d692a(0x115),'hMOJT':function(_0x1e0d6e,_0x2773e1,_0xe542ab){return _0x1e0d6e(_0x2773e1,_0xe542ab);}};try{const _0x2347de=_0x77f7c7['RNdrr'](join,getRangerDir(),_0x77f7c7['cLgJz']);await _0x77f7c7[_0x5d692a(0x1a3)](mkdir,_0x2347de,{'recursive':!![]});const _0x200089=join(_0x2347de,'comment_'+_0x320468+'.png'),_0x17e87d=await fetch(_0x69ec19);if(!_0x17e87d['ok'])return null;const _0x344594=Buffer['from'](await _0x17e87d['arrayBuffer']());return await writeFile(_0x200089,_0x344594),_0x200089;}catch{return null;}}export async function featureGetReview(_0x249273){const _0x2a4ff0=_0x41fdff,_0x3926c4={'OFrCB':function(_0x339ecd){return _0x339ecd();},'DQWah':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','SncOq':function(_0x5a3fc7,_0x156ac7){return _0x5a3fc7(_0x156ac7);},'jxfTU':_0x2a4ff0(0x10f),'YQtgB':function(_0x411983,_0x2a5338){return _0x411983<_0x2a5338;},'UMsdC':function(_0x134aa8,_0xef37bc){return _0x134aa8>_0xef37bc;},'mQkpY':function(_0x5f0722,_0x2e5065,_0x151726){return _0x5f0722(_0x2e5065,_0x151726);},'dGMiE':function(_0x3a2da4,_0x59af47){return _0x3a2da4+_0x59af47;},'NpNkG':'en-US','IaumI':'short','HVQAU':function(_0xdca3a9,_0x5aea36,_0x4d9578){return _0xdca3a9(_0x5aea36,_0x4d9578);},'uhrey':function(_0x25176c,_0x4e6d89){return _0x25176c===_0x4e6d89;},'UImwA':'point','hIbSh':function(_0x4b69f6,_0x158e62){return _0x4b69f6+_0x158e62;}},_0x7af38f=_0x249273||await _0x3926c4['OFrCB'](getActiveFeatureId);if(!_0x7af38f)throw new Error(_0x3926c4['DQWah']);const _0x482a8b=await _0x3926c4['SncOq'](getFeature,_0x7af38f),{items:_0x4ed4d0}=await getActionItems(_0x7af38f);console[_0x2a4ff0(0x137)]('\x0a📋\x20Feedback\x20for:\x20'+_0x482a8b[_0x2a4ff0(0x1bd)]+'\x20('+_0x482a8b['id']+')\x0a');if(_0x4ed4d0['length']===0x0){console[_0x2a4ff0(0x137)](_0x3926c4[_0x2a4ff0(0x1a7)]);return;}for(let _0x5d48e6=0x0;_0x3926c4['YQtgB'](_0x5d48e6,_0x4ed4d0['length']);_0x5d48e6++){const _0x5cbe87=_0x4ed4d0[_0x5d48e6],_0x4c1741=_0x3926c4[_0x2a4ff0(0x116)](_0x5cbe87[_0x2a4ff0(0x163)],0x1)?_0x2a4ff0(0x11a)+_0x5cbe87[_0x2a4ff0(0x163)]+')':'',_0x845b4e=await _0x3926c4['mQkpY'](getItemFeedback,_0x7af38f,_0x5cbe87['id']);if(_0x3926c4['UMsdC'](_0x845b4e['unaddressedComments']['length'],0x0)){console[_0x2a4ff0(0x137)](_0x2a4ff0(0x11f)+_0x3926c4['dGMiE'](_0x5d48e6,0x1)+_0x2a4ff0(0x14a)+_0x5cbe87[_0x2a4ff0(0x12a)]+'\x22'+_0x4c1741+_0x2a4ff0(0x178)+_0x845b4e['unaddressedComments']['length']+_0x2a4ff0(0x1a2));for(const _0x3cf252 of _0x845b4e['unaddressedComments']){const _0x18fa39=new Date(_0x3cf252['createdAt'])[_0x2a4ff0(0x13f)](_0x3926c4['NpNkG'],{'month':_0x3926c4['IaumI'],'day':'numeric'}),_0x4b85df=_0x3cf252[_0x2a4ff0(0x181)]||_0x3cf252['authorEmail']||'Unknown';console['log']('\x20\x20💬\x20'+_0x4b85df+'\x20('+_0x18fa39+_0x2a4ff0(0x18a)+_0x3cf252[_0x2a4ff0(0x1ae)]+'\x22');if(_0x3cf252[_0x2a4ff0(0x14c)]){const _0x18a448=await _0x3926c4[_0x2a4ff0(0x17f)](downloadFeedbackImage,_0x3cf252['assetUrl'],_0x3cf252['id']);_0x18a448&&console[_0x2a4ff0(0x137)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x18a448);}if(_0x3cf252['spatial']){const _0x55066f=_0x3cf252[_0x2a4ff0(0x1b8)][_0x2a4ff0(0x1ad)];_0x3926c4['uhrey'](_0x3cf252[_0x2a4ff0(0x1b8)]['type'],_0x3926c4['UImwA'])&&_0x55066f['length']>=0x2?console['log'](_0x2a4ff0(0x1b4)+_0x55066f[0x0]['toFixed'](0x2)+',\x20'+_0x55066f[0x1]['toFixed'](0x2)+')'):console[_0x2a4ff0(0x137)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x3cf252[_0x2a4ff0(0x1b8)][_0x2a4ff0(0x1a8)]+_0x2a4ff0(0x19e)+_0x55066f[_0x2a4ff0(0x146)](_0x3282ea=>_0x3282ea[_0x2a4ff0(0x118)](0x2))[_0x2a4ff0(0x176)](',\x20')+']');}}if(_0x845b4e['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x2bda3a of _0x845b4e['canonicalFlow'][_0x2a4ff0(0x182)]('\x0a')){console['log'](_0x2a4ff0(0x19d)+_0x2bda3a);}}}else console[_0x2a4ff0(0x137)](_0x2a4ff0(0x11f)+_0x3926c4[_0x2a4ff0(0x106)](_0x5d48e6,0x1)+_0x2a4ff0(0x14a)+_0x5cbe87[_0x2a4ff0(0x12a)]+'\x22'+_0x4c1741+'\x20—\x20no\x20comments'),console['log'](_0x2a4ff0(0x145));console[_0x2a4ff0(0x137)]('');}}export async function featureDelete(_0x4bf0f5){const _0x528995=_0x41fdff,_0x204341={'mnRqy':function(_0x4675d6){return _0x4675d6();},'YQFyP':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','eXBWi':function(_0x59f907,_0x4d4bbd){return _0x59f907(_0x4d4bbd);},'YocTg':function(_0x5aba11,_0x1ee6ba){return _0x5aba11+_0x1ee6ba;}},_0x4abfc2=_0x4bf0f5||await _0x204341[_0x528995(0x122)](getActiveFeatureId);if(!_0x4abfc2)throw new Error(_0x204341['YQFyP']);const _0x1327f2=await getFeature(_0x4abfc2);await _0x204341[_0x528995(0x114)](softDeleteFeature,_0x4abfc2),console[_0x528995(0x137)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x1327f2['name']+'\x20('+_0x4abfc2+')'),console['log'](_0x204341['YocTg'](_0x528995(0x1c0),_0x4abfc2));}export async function featureRestore(_0x397b74){const _0x1dcfb4=_0x41fdff,_0xa25e7d={'WjQrj':function(_0x42229c,_0x4ef6c9){return _0x42229c(_0x4ef6c9);},'mHivn':function(_0x33de22,_0x201d48,_0x569e95){return _0x33de22(_0x201d48,_0x569e95);}};await _0xa25e7d['WjQrj'](restoreFeature,_0x397b74);const _0x352cc7=await getFeature(_0x397b74);console[_0x1dcfb4(0x137)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x352cc7[_0x1dcfb4(0x1bd)]+'\x20('+_0x397b74+')'),_0xa25e7d[_0x1dcfb4(0x180)](displayFeature,_0x352cc7,_0x352cc7['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x5daf(_0xa722a6,_0x4b3c1f){_0xa722a6=_0xa722a6-0x178;const _0x5e1260=_0x5e12();let _0x5daf83=_0x5e1260[_0xa722a6];return _0x5daf83;}(function(_0x3dde39,_0x5d1dbf){const _0x2034c7=_0x5daf,_0x5a137a=_0x3dde39();while(!![]){try{const _0x31e5ca=-parseInt(_0x2034c7(0x184))/0x1*(parseInt(_0x2034c7(0x178))/0x2)+parseInt(_0x2034c7(0x17e))/0x3+-parseInt(_0x2034c7(0x179))/0x4*(-parseInt(_0x2034c7(0x183))/0x5)+-parseInt(_0x2034c7(0x181))/0x6*(-parseInt(_0x2034c7(0x17f))/0x7)+parseInt(_0x2034c7(0x185))/0x8+-parseInt(_0x2034c7(0x186))/0x9*(-parseInt(_0x2034c7(0x182))/0xa)+parseInt(_0x2034c7(0x17d))/0xb*(-parseInt(_0x2034c7(0x180))/0xc);if(_0x31e5ca===_0x5d1dbf)break;else _0x5a137a['push'](_0x5a137a['shift']());}catch(_0x534f30){_0x5a137a['push'](_0x5a137a['shift']());}}}(_0x5e12,0xaa065));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x5e12(){const _0x1639fb=['675990ivDNoh','join','2242558LvvwuI','40GSJYRI','exit','keys','error','484CrWlce','2347041PZlxgb','297185ZrLYZT','346044QEknmV','42eXxcmB','100edKUoA','336290VQSVQi','1lIhMAm','4666528juYZhI'];_0x5e12=function(){return _0x1639fb;};return _0x5e12();}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};export async function hook(_0x42ec7a,_0x10e525){const _0x32e667=_0x5daf,_0x558179={'eKEkb':function(_0x30d56e,_0x2e0a6f){return _0x30d56e(_0x2e0a6f);}},_0x3049d0=HOOKS[_0x42ec7a];if(!_0x3049d0){const _0x1a7941=Object[_0x32e667(0x17b)](HOOKS)[_0x32e667(0x187)](',\x20');console['error']('Unknown\x20hook:\x20'+_0x42ec7a),console[_0x32e667(0x17c)]('Valid\x20hooks:\x20'+_0x1a7941),process[_0x32e667(0x17a)](0x1);}await _0x558179['eKEkb'](_0x3049d0,_0x10e525);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x5e93b2=_0x610c;(function(_0x374dff,_0x5b69ac){const _0x3ffc66=_0x610c,_0x2a3a07=_0x374dff();while(!![]){try{const _0x358391=-parseInt(_0x3ffc66(0xa7))/0x1+parseInt(_0x3ffc66(0xa2))/0x2*(parseInt(_0x3ffc66(0xa8))/0x3)+-parseInt(_0x3ffc66(0x9e))/0x4*(-parseInt(_0x3ffc66(0xa1))/0x5)+-parseInt(_0x3ffc66(0xa6))/0x6+parseInt(_0x3ffc66(0xa0))/0x7*(parseInt(_0x3ffc66(0x9d))/0x8)+parseInt(_0x3ffc66(0xa5))/0x9+parseInt(_0x3ffc66(0x9f))/0xa;if(_0x358391===_0x5b69ac)break;else _0x2a3a07['push'](_0x2a3a07['shift']());}catch(_0x301353){_0x2a3a07['push'](_0x2a3a07['shift']());}}}(_0x5e1a,0xebfc5));function _0x610c(_0x47be4c,_0x3931c3){_0x47be4c=_0x47be4c-0x9d;const _0x5e1a0c=_0x5e1a();let _0x610ccc=_0x5e1a0c[_0x47be4c];return _0x610ccc;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x5e93b2(0xa4);function _0x5e1a(){const _0x2c2a11=['412615BKJcTU','14426HohQkl','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.','4205259kVlWef','5835402KufWty','865138DHSBHC','111MqWrFd','7495352IsfzYn','24yeyyMz','6381130DREqbh','7OZAnsk'];_0x5e1a=function(){return _0x2c2a11;};return _0x5e1a();}export async function autoPrompt(){const _0x4b654b=_0x5e93b2,_0x1cb3a9={'ImLsr':function(_0x4fb3ce){return _0x4fb3ce();},'hkDMq':function(_0x13b1e8,_0x3d07de){return _0x13b1e8(_0x3d07de);}},_0x400915=await _0x1cb3a9['ImLsr'](readHookInput),_0x14026d=_0x400915?.['session_id'];if(!_0x14026d)return;if(isSessionEnabled(_0x14026d)||hasSessionBeenPrompted(_0x14026d))return;_0x1cb3a9['hkDMq'](markSessionPrompted,_0x14026d),console[_0x4b654b(0xa3)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3d87(){const _0x407032=['error','master','CLAUDE_SESSION_ID','9jlzpkN','9753iZjfXd','678PLFjzc','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','50195aarQoT','mNTUg','Error:\x20No\x20session\x20ID\x20available.','192486TaaiRg','8197040iXhKrr','main','XNzgc','1674368XNrskn','1287811kFEXAG','env','148skFwqn','\x20and\x20branch\x20\x27','46772800qpvxwh'];_0x3d87=function(){return _0x407032;};return _0x3d87();}(function(_0x3bcd70,_0x4a8794){const _0x6d4eb4=_0x3a0b,_0x20a836=_0x3bcd70();while(!![]){try{const _0x4a2329=-parseInt(_0x6d4eb4(0xba))/0x1+parseInt(_0x6d4eb4(0xb6))/0x2+-parseInt(_0x6d4eb4(0xb0))/0x3*(-parseInt(_0x6d4eb4(0xa9))/0x4)+parseInt(_0x6d4eb4(0xb3))/0x5*(-parseInt(_0x6d4eb4(0xb1))/0x6)+-parseInt(_0x6d4eb4(0xa7))/0x7+-parseInt(_0x6d4eb4(0xb7))/0x8*(parseInt(_0x6d4eb4(0xaf))/0x9)+parseInt(_0x6d4eb4(0xab))/0xa;if(_0x4a2329===_0x4a8794)break;else _0x20a836['push'](_0x20a836['shift']());}catch(_0x46e811){_0x20a836['push'](_0x20a836['shift']());}}}(_0x3d87,0xd5f90));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x3a0b(_0x149c90,_0x427dab){_0x149c90=_0x149c90-0xa7;const _0x3d876d=_0x3d87();let _0x3a0bb7=_0x3d876d[_0x149c90];return _0x3a0bb7;}import{printBlock}from'./output.js';export async function disable(_0x10b168){const _0x27c4f1=_0x3a0b,_0x3706c8={'XNzgc':'Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','UDrmp':function(_0x11515c){return _0x11515c();},'mNTUg':'main','nSoMS':function(_0x5c8f71,_0x635336){return _0x5c8f71!==_0x635336;}},_0x338033=_0x10b168||process[_0x27c4f1(0xa8)][_0x27c4f1(0xae)]||'';!_0x338033&&(console[_0x27c4f1(0xac)](_0x27c4f1(0xb5)),console['error'](_0x3706c8[_0x27c4f1(0xb9)]),process['exit'](0x1));disableSession(_0x338033);const _0x37256a=_0x3706c8['UDrmp'](getCurrentBranch);_0x37256a&&_0x37256a!==_0x3706c8[_0x27c4f1(0xb4)]&&_0x37256a!=='master'&&disableBranch(_0x37256a),printBlock(_0x27c4f1(0xb2)+(_0x37256a&&_0x3706c8['nSoMS'](_0x37256a,_0x27c4f1(0xb8))&&_0x37256a!==_0x27c4f1(0xad)?_0x27c4f1(0xaa)+_0x37256a+'\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
|
-
|
|
1
|
+
(function(_0x4b2471,_0x430db7){const _0x4199dd=_0x4cd5,_0x4256d6=_0x4b2471();while(!![]){try{const _0x375c8c=-parseInt(_0x4199dd(0x1a2))/0x1*(parseInt(_0x4199dd(0x1ad))/0x2)+-parseInt(_0x4199dd(0x1b0))/0x3+parseInt(_0x4199dd(0x1b3))/0x4+parseInt(_0x4199dd(0x1a6))/0x5*(parseInt(_0x4199dd(0x1a8))/0x6)+parseInt(_0x4199dd(0x1b1))/0x7+-parseInt(_0x4199dd(0x1aa))/0x8*(parseInt(_0x4199dd(0x1a7))/0x9)+parseInt(_0x4199dd(0x1a3))/0xa;if(_0x375c8c===_0x430db7)break;else _0x4256d6['push'](_0x4256d6['shift']());}catch(_0x3fae12){_0x4256d6['push'](_0x4256d6['shift']());}}}(_0x1834,0x997bb));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x1834(){const _0x100e90=['SDecN','470666hmGaHI','Ouhgp','error','2255670PalptH','4527117BFtTGU','main','1025820RtEKuc','CLAUDE_SESSION_ID','\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`.','2QldsmC','7394810HxlyXN','env','IpjsO','605DGwZVV','938403aPeYci','56874ZptJvF','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','72BuqSGT','#\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`ranger\x20setup`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0aRestart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.'];_0x1834=function(){return _0x100e90;};return _0x1834();}import{update}from'../update.js';function _0x4cd5(_0x37a4af,_0x20f14e){_0x37a4af=_0x37a4af-0x1a1;const _0x18342f=_0x1834();let _0x4cd561=_0x18342f[_0x37a4af];return _0x4cd561;}export async function enable(_0x31bc08){const _0x9fd898=_0x4cd5,_0x15f713={'lpPfs':'Error:\x20No\x20session\x20ID\x20available.','Ouhgp':_0x9fd898(0x1a9),'IpjsO':function(_0x4eae4c){return _0x4eae4c();},'SDecN':function(_0x499cd5){return _0x499cd5();},'tbeaH':function(_0x2e9558,_0x3dd847){return _0x2e9558!==_0x3dd847;},'GEpWf':'master','yWoxv':function(_0x633544){return _0x633544();},'esXFc':function(_0x254427,_0x5beb4b){return _0x254427(_0x5beb4b);}},_0x24d01b=_0x31bc08||process[_0x9fd898(0x1a4)][_0x9fd898(0x1b4)]||'';!_0x24d01b&&(console[_0x9fd898(0x1af)](_0x15f713['lpPfs']),console[_0x9fd898(0x1af)](_0x15f713[_0x9fd898(0x1ae)]),process['exit'](0x1));const _0x4bdc6d=await getToken();if(!_0x4bdc6d){printBlock(_0x9fd898(0x1ab));return;}try{await _0x15f713[_0x9fd898(0x1a5)](update);}catch{}enableSession(_0x24d01b);const _0x447181=_0x15f713[_0x9fd898(0x1ac)](getCurrentBranch),_0x35fa9f=_0x447181&&_0x447181!==_0x9fd898(0x1b2)&&_0x15f713['tbeaH'](_0x447181,_0x15f713['GEpWf'])?'\x0a\x0a**Branch\x20\x27'+_0x447181+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x33f11b=_0x15f713['yWoxv'](getRangerSkillContent);_0x15f713['esXFc'](printBlock,'#\x20RANGER\x20ENABLED'+_0x35fa9f+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x33f11b+_0x9fd898(0x1a1));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3be490,_0x1d2a15){const _0x29735e=_0x5557,_0x58610e=_0x3be490();while(!![]){try{const _0x35400a=parseInt(_0x29735e(0x1e2))/0x1*(-parseInt(_0x29735e(0x1e5))/0x2)+parseInt(_0x29735e(0x1dd))/0x3*(parseInt(_0x29735e(0x1e1))/0x4)+parseInt(_0x29735e(0x1dc))/0x5*(parseInt(_0x29735e(0x1e3))/0x6)+parseInt(_0x29735e(0x1e0))/0x7+parseInt(_0x29735e(0x1db))/0x8+-parseInt(_0x29735e(0x1de))/0x9*(-parseInt(_0x29735e(0x1df))/0xa)+-parseInt(_0x29735e(0x1da))/0xb;if(_0x35400a===_0x1d2a15)break;else _0x58610e['push'](_0x58610e['shift']());}catch(_0x1cca75){_0x58610e['push'](_0x58610e['shift']());}}}(_0x22eb,0x1a21d));function _0x5557(_0x20f0b3,_0x315d71){_0x20f0b3=_0x20f0b3-0x1da;const _0x22eb1c=_0x22eb();let _0x555784=_0x22eb1c[_0x20f0b3];return _0x555784;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x22eb(){const _0x51e32c=['70nIWjNQ','6yPpQIG','99BqXgyg','141140isWaAN','14161TdAADi','318876mEKPma','1txORDF','85938IFPqwv','===\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===','270154POisCl','5214539fBrdlI','1591408DNBrPg'];_0x22eb=function(){return _0x51e32c;};return _0x22eb();}export async function exitPlanMode(_0x3079d1){const _0x5aebfa=_0x5557,_0x5c791c=await getEnabledSessionId(_0x3079d1);if(!_0x5c791c)return;printBlock(_0x5aebfa(0x1e4));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3947d5,_0x4ac657){var _0x4a07d5=_0x264b,_0x33ed22=_0x3947d5();while(!![]){try{var _0x29fa2d=parseInt(_0x4a07d5(0x13b))/0x1+-parseInt(_0x4a07d5(0x140))/0x2*(parseInt(_0x4a07d5(0x141))/0x3)+-parseInt(_0x4a07d5(0x139))/0x4+parseInt(_0x4a07d5(0x13e))/0x5*(-parseInt(_0x4a07d5(0x13a))/0x6)+parseInt(_0x4a07d5(0x13c))/0x7+-parseInt(_0x4a07d5(0x137))/0x8*(-parseInt(_0x4a07d5(0x138))/0x9)+-parseInt(_0x4a07d5(0x13f))/0xa*(-parseInt(_0x4a07d5(0x13d))/0xb);if(_0x29fa2d===_0x4ac657)break;else _0x33ed22['push'](_0x33ed22['shift']());}catch(_0x2429ba){_0x33ed22['push'](_0x33ed22['shift']());}}}(_0x36ff,0xe3454));export{sessionStart}from'./sessionStart.js';function _0x264b(_0x434ff1,_0x53e6fc){_0x434ff1=_0x434ff1-0x137;var _0x36ff1a=_0x36ff();var _0x264b00=_0x36ff1a[_0x434ff1];return _0x264b00;}export{sessionEnd}from'./sessionEnd.js';function _0x36ff(){var _0x597b6d=['55DfYnfQ','10yJJLDz','2342950QpBEfA','44918qeQbGD','45zyGmSu','162392lSavIi','324HKHwqe','4727636UMVMrG','3755094WmqyZJ','77047OcvUOM','12054742qIZYrY'];_0x36ff=function(){return _0x597b6d;};return _0x36ff();}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x17d2(_0x1eadb4,_0x50e215){_0x1eadb4=_0x1eadb4-0x15c;const _0x3170d6=_0x3170();let _0x17d2ca=_0x3170d6[_0x1eadb4];return _0x17d2ca;}(function(_0x117ccc,_0x888729){const _0x2ba49f=_0x17d2,_0xf71623=_0x117ccc();while(!![]){try{const _0x3c2a83=parseInt(_0x2ba49f(0x15e))/0x1*(-parseInt(_0x2ba49f(0x163))/0x2)+-parseInt(_0x2ba49f(0x166))/0x3*(-parseInt(_0x2ba49f(0x160))/0x4)+-parseInt(_0x2ba49f(0x168))/0x5*(-parseInt(_0x2ba49f(0x164))/0x6)+parseInt(_0x2ba49f(0x16d))/0x7*(parseInt(_0x2ba49f(0x167))/0x8)+-parseInt(_0x2ba49f(0x162))/0x9+parseInt(_0x2ba49f(0x161))/0xa*(parseInt(_0x2ba49f(0x15c))/0xb)+-parseInt(_0x2ba49f(0x15f))/0xc;if(_0x3c2a83===_0x888729)break;else _0xf71623['push'](_0xf71623['shift']());}catch(_0x16cc4e){_0xf71623['push'](_0xf71623['shift']());}}}(_0x3170,0x1aa39));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x34630a){const _0x92e303=_0x17d2;console[_0x92e303(0x16b)](_0x34630a);}export async function readHookInput(){const _0x2f83d1=_0x17d2;let _0x1a5c44='';for await(const _0x1ec3db of process[_0x2f83d1(0x16c)]){_0x1a5c44+=_0x1ec3db;}try{return JSON['parse'](_0x1a5c44);}catch{return null;}}export async function getEnabledSessionId(_0x2219d9){const _0x3ed6e2=_0x17d2,_0x44e149={'lRraj':function(_0x2be4ad,_0x51dc23){return _0x2be4ad(_0x51dc23);},'dELDA':function(_0x2f6b5f){return _0x2f6b5f();}};if(_0x2219d9)return _0x44e149['lRraj'](isSessionEnabled,_0x2219d9)?_0x2219d9:null;const _0x128b8b=await _0x44e149[_0x3ed6e2(0x165)](readHookInput),_0x4077ef=_0x128b8b?.[_0x3ed6e2(0x15d)];if(!_0x4077ef||!isSessionEnabled(_0x4077ef))return null;return _0x4077ef;}export async function getEnabledHookContext(_0x431da4){const _0x478a94=_0x17d2,_0xd2173f={'tuYxr':function(_0x23896a,_0x4e0bfe){return _0x23896a(_0x4e0bfe);},'PfTyP':function(_0x5bd318){return _0x5bd318();}};if(_0x431da4){if(!_0xd2173f[_0x478a94(0x16a)](isSessionEnabled,_0x431da4))return null;return{'sessionId':_0x431da4,'input':{'session_id':_0x431da4}};}const _0x1333ad=await _0xd2173f[_0x478a94(0x169)](readHookInput),_0x166cb5=_0x1333ad?.[_0x478a94(0x15d)];if(!_0x166cb5||!isSessionEnabled(_0x166cb5))return null;return{'sessionId':_0x166cb5,'input':_0x1333ad};}function _0x3170(){const _0x364292=['40pAPDpO','212545ZRzqmy','PfTyP','tuYxr','log','stdin','173194oORnUS','52877MzXxxS','session_id','93400nxJIaT','1512684RdGxID','762980PHGLNt','230BkAIJV','1940319HfeDyw','4OLHJfn','30kIJTkT','dELDA','3YPJVAC'];_0x3170=function(){return _0x364292;};return _0x3170();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3f2cfa,_0x36401c){const _0x576a9a=_0x1dc1,_0x176496=_0x3f2cfa();while(!![]){try{const _0x4dedbb=-parseInt(_0x576a9a(0x8f))/0x1+parseInt(_0x576a9a(0x84))/0x2+-parseInt(_0x576a9a(0x87))/0x3+-parseInt(_0x576a9a(0x8d))/0x4+-parseInt(_0x576a9a(0x8b))/0x5+-parseInt(_0x576a9a(0x86))/0x6*(-parseInt(_0x576a9a(0x8e))/0x7)+parseInt(_0x576a9a(0x88))/0x8;if(_0x4dedbb===_0x36401c)break;else _0x176496['push'](_0x176496['shift']());}catch(_0x134650){_0x176496['push'](_0x176496['shift']());}}}(_0x9c20,0x3e4af));import{printBlock,getEnabledHookContext}from'./output.js';function _0x1dc1(_0x24a882,_0x4e205b){_0x24a882=_0x24a882-0x84;const _0x9c2092=_0x9c20();let _0x1dc1ce=_0x9c2092[_0x24a882];return _0x1dc1ce;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x182fb5){const _0x510ae0=_0x1dc1,_0xb59c02={'iUcUp':function(_0x5b0aa6,_0x34b26a){return _0x5b0aa6(_0x34b26a);},'CfFyX':function(_0x45e840,_0x26b199){return _0x45e840!==_0x26b199;},'RyTeM':'plan','ziQhp':function(_0x51df7b,_0x591c16){return _0x51df7b(_0x591c16);}},_0x54accb=await _0xb59c02[_0x510ae0(0x8c)](getEnabledHookContext,_0x182fb5);if(!_0x54accb)return;if(_0xb59c02[_0x510ae0(0x8a)](_0x54accb[_0x510ae0(0x85)][_0x510ae0(0x89)],_0xb59c02['RyTeM']))return;if(!_0xb59c02['ziQhp'](shouldShowPlanReminder,_0x54accb['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x9c20(){const _0x546a5d=['iUcUp','363088jkaohK','3423931oQrUxT','298323sewrTE','152566TpCvsw','input','6Cboosd','528966WWLyqZ','3497480zSZWcf','permission_mode','CfFyX','910165JivuNc'];_0x9c20=function(){return _0x546a5d;};return _0x9c20();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x50508a,_0x2880d9){const _0x4daa9e=_0x24a8,_0x46922e=_0x50508a();while(!![]){try{const _0x1f7e68=parseInt(_0x4daa9e(0x12d))/0x1*(-parseInt(_0x4daa9e(0x12f))/0x2)+-parseInt(_0x4daa9e(0x12b))/0x3*(parseInt(_0x4daa9e(0x12c))/0x4)+parseInt(_0x4daa9e(0x12e))/0x5*(-parseInt(_0x4daa9e(0x131))/0x6)+-parseInt(_0x4daa9e(0x129))/0x7+parseInt(_0x4daa9e(0x130))/0x8+-parseInt(_0x4daa9e(0x128))/0x9+-parseInt(_0x4daa9e(0x133))/0xa*(-parseInt(_0x4daa9e(0x132))/0xb);if(_0x1f7e68===_0x2880d9)break;else _0x46922e['push'](_0x46922e['shift']());}catch(_0x58805e){_0x46922e['push'](_0x46922e['shift']());}}}(_0x4487,0xa0783));function _0x24a8(_0x33bddc,_0x4941ac){_0x33bddc=_0x33bddc-0x128;const _0x4487aa=_0x4487();let _0x24a8bb=_0x4487aa[_0x33bddc];return _0x24a8bb;}function _0x4487(){const _0x20a7bd=['===\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===','528249jzLpku','12ibgBqq','1UxPcYo','5pOsVvS','983960ECcAHx','8883128XawmsV','914232kgifUF','6032103RECgvF','30UzpFXp','2914515kAXRFg','4212537KIpxja'];_0x4487=function(){return _0x20a7bd;};return _0x4487();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x1022b2){const _0x49b073=_0x24a8,_0xf53613=await getEnabledSessionId(_0x1022b2);if(!_0xf53613)return;printBlock(_0x49b073(0x12a));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x35cd(_0x4f1f3b,_0x5cb340){_0x4f1f3b=_0x4f1f3b-0xfd;const _0x253617=_0x2536();let _0x35cdb3=_0x253617[_0x4f1f3b];return _0x35cdb3;}(function(_0x57e13c,_0x21d302){const _0x45c33d=_0x35cd,_0x243e0b=_0x57e13c();while(!![]){try{const _0x2ba02f=parseInt(_0x45c33d(0x104))/0x1+parseInt(_0x45c33d(0x10c))/0x2+parseInt(_0x45c33d(0x103))/0x3*(-parseInt(_0x45c33d(0x101))/0x4)+parseInt(_0x45c33d(0xfe))/0x5*(parseInt(_0x45c33d(0xff))/0x6)+-parseInt(_0x45c33d(0x107))/0x7+-parseInt(_0x45c33d(0x108))/0x8+parseInt(_0x45c33d(0xfd))/0x9*(parseInt(_0x45c33d(0x106))/0xa);if(_0x2ba02f===_0x21d302)break;else _0x243e0b['push'](_0x243e0b['shift']());}catch(_0x36ff95){_0x243e0b['push'](_0x243e0b['shift']());}}}(_0x2536,0xafb4e));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x2536(){const _0x9a7589=['3547915NtaUCQ','8525656oOJIus','PostToolUse','myEkh','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).','642596PTIjlq','158643GknceB','18160PhZsSm','1098VLmNqP','log','4qKXplv','CYqWM','2601003AICrIc','1274316UmvJQY','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.','510VvHABG'];_0x2536=function(){return _0x9a7589;};return _0x2536();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x168410){const _0x44d8d1=_0x35cd,_0x41e7e7={'CYqWM':function(_0x74ed55){return _0x74ed55();},'myEkh':_0x44d8d1(0x109)},_0x4b9146=await getEnabledSessionId(_0x168410);if(!_0x4b9146)return;updateBranchTracking(_0x4b9146);const _0x4f37b3=await _0x41e7e7[_0x44d8d1(0x102)](getToken);if(!_0x4f37b3)return;const _0x3960e5=getSessionEntry(_0x4b9146);if(_0x3960e5){const _0x122bf6={'hookSpecificOutput':{'hookEventName':_0x41e7e7[_0x44d8d1(0x10a)],'additionalContext':_0x44d8d1(0x10b)}};console[_0x44d8d1(0x100)](JSON['stringify'](_0x122bf6));return;}const _0xb68391={'hookSpecificOutput':{'hookEventName':_0x41e7e7['myEkh'],'additionalContext':_0x44d8d1(0x105)}};console['log'](JSON['stringify'](_0xb68391));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x569bae,_0x1e27c3){const _0x288f75=_0x34dd,_0x3bf379=_0x569bae();while(!![]){try{const _0x21beb7=parseInt(_0x288f75(0xc3))/0x1*(-parseInt(_0x288f75(0xb9))/0x2)+-parseInt(_0x288f75(0xc2))/0x3*(-parseInt(_0x288f75(0xc1))/0x4)+parseInt(_0x288f75(0xc5))/0x5*(parseInt(_0x288f75(0xbe))/0x6)+parseInt(_0x288f75(0xbd))/0x7+parseInt(_0x288f75(0xbf))/0x8*(parseInt(_0x288f75(0xbc))/0x9)+parseInt(_0x288f75(0xba))/0xa+-parseInt(_0x288f75(0xbb))/0xb;if(_0x21beb7===_0x1e27c3)break;else _0x3bf379['push'](_0x3bf379['shift']());}catch(_0x457b38){_0x3bf379['push'](_0x3bf379['shift']());}}}(_0x4da8,0xef648));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x5313fb){const _0x5b60d8=_0x34dd,_0x50329a={'iUMen':function(_0x189ba4,_0x4361ab){return _0x189ba4(_0x4361ab);},'YnoUa':function(_0x5421a2){return _0x5421a2();}},_0x148e17=await _0x50329a[_0x5b60d8(0xc0)](getEnabledSessionId,_0x5313fb);if(!_0x148e17)return;try{const _0x2e5c51=await _0x50329a[_0x5b60d8(0xc4)](getToken);if(!_0x2e5c51)return;_0x50329a['iUMen'](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}function _0x34dd(_0x183903,_0xd10dfe){_0x183903=_0x183903-0xb9;const _0x4da810=_0x4da8();let _0x34dd44=_0x4da810[_0x183903];return _0x34dd44;}function _0x4da8(){const _0x542935=['3782535cpuYyX','12jJsaoB','3013540xzbBHh','15985079RIaxlW','3174534aJtsVH','40173IbnLny','12cqLNcX','24DkPAVY','iUMen','2456EnQysU','6501jDDosg','295847eudKKN','YnoUa'];_0x4da8=function(){return _0x542935;};return _0x4da8();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1d9eaf,_0x449147){const _0x4eb3c8=_0x2e31,_0x400af9=_0x1d9eaf();while(!![]){try{const _0x22f441=-parseInt(_0x4eb3c8(0x6b))/0x1*(parseInt(_0x4eb3c8(0x6e))/0x2)+-parseInt(_0x4eb3c8(0x70))/0x3*(-parseInt(_0x4eb3c8(0x71))/0x4)+-parseInt(_0x4eb3c8(0x67))/0x5+parseInt(_0x4eb3c8(0x72))/0x6+-parseInt(_0x4eb3c8(0x6d))/0x7*(-parseInt(_0x4eb3c8(0x6c))/0x8)+-parseInt(_0x4eb3c8(0x6a))/0x9+parseInt(_0x4eb3c8(0x69))/0xa*(parseInt(_0x4eb3c8(0x6f))/0xb);if(_0x22f441===_0x449147)break;else _0x400af9['push'](_0x400af9['shift']());}catch(_0x29c558){_0x400af9['push'](_0x400af9['shift']());}}}(_0x26b3,0x2a1eb));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x26b3(){const _0x1501be=['284346vDkxQX','session_id','reason','1205965pTDRle','clear','3920600tolmMD','1974825SjkSNc','148475UUgSZV','16sZcIIn','705509rIudwO','2oZJGcA','11ZPyHvT','33KxTfTz','51124SsJKZf'];_0x26b3=function(){return _0x1501be;};return _0x26b3();}function _0x2e31(_0x411ade,_0x520693){_0x411ade=_0x411ade-0x65;const _0x26b34a=_0x26b3();let _0x2e3181=_0x26b34a[_0x411ade];return _0x2e3181;}import{readHookInput}from'./output.js';export async function sessionEnd(_0xe15b42){const _0x2cb86b=_0x2e31,_0x4ad195={'PPhKh':function(_0x327d28,_0x29373c){return _0x327d28===_0x29373c;}};let _0x46f526=_0xe15b42,_0x130063;if(!_0xe15b42){const _0x19c33=await readHookInput();_0x46f526=_0x19c33?.[_0x2cb86b(0x65)],_0x130063=_0x19c33?.[_0x2cb86b(0x66)];}if(!_0x46f526)return;_0x4ad195['PPhKh'](_0x130063,_0x2cb86b(0x68))&&recordEnabledSessionCleared(_0x46f526);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x215f(){const _0x3f5fcc=['2543674rEKhWZ','8337456AFbYCk','success','8boyfbZ','env','trackCommandEnd','5710700ogUDGI','444036dNkdLa','uFnEI','main','AAabO','85nguzGH','stringify','trackCommandStart','CLAUDE_ENV_FILE','12363GXhUmB','source','AxAAA','314fjNEHH','55mYANtf','3234572Owtpjn','=================================================================\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=================================================================','31848ogRLHQ','master'];_0x215f=function(){return _0x3f5fcc;};return _0x215f();}const _0x441f8f=_0x4f8c;(function(_0x402f17,_0x3920a0){const _0x1f9915=_0x4f8c,_0x9e451f=_0x402f17();while(!![]){try{const _0x3c10c7=parseInt(_0x1f9915(0xf7))/0x1+-parseInt(_0x1f9915(0x102))/0x2*(parseInt(_0x1f9915(0xff))/0x3)+-parseInt(_0x1f9915(0xec))/0x4+-parseInt(_0x1f9915(0xfb))/0x5*(parseInt(_0x1f9915(0xee))/0x6)+-parseInt(_0x1f9915(0xf0))/0x7+parseInt(_0x1f9915(0xf3))/0x8*(-parseInt(_0x1f9915(0xf1))/0x9)+-parseInt(_0x1f9915(0xf6))/0xa*(-parseInt(_0x1f9915(0xeb))/0xb);if(_0x3c10c7===_0x3920a0)break;else _0x9e451f['push'](_0x9e451f['shift']());}catch(_0x3f3059){_0x9e451f['push'](_0x9e451f['shift']());}}}(_0x215f,0x71380));import{appendFile}from'fs/promises';function _0x4f8c(_0x398e14,_0x345e72){_0x398e14=_0x398e14-0xeb;const _0x215f5e=_0x215f();let _0x4f8cf1=_0x215f5e[_0x398e14];return _0x4f8cf1;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x441f8f(0xed);export async function sessionStart(_0xc362ba){const _0x313dca=_0x441f8f,_0x13bd5c={'FpAWy':_0x313dca(0x100),'idiPa':function(_0x2b4823,_0xb135f6){return _0x2b4823(_0xb135f6);},'AxAAA':'hook:session-start','uFnEI':_0x313dca(0xf2),'AAabO':function(_0x5037a2){return _0x5037a2();},'IqGBo':function(_0x586431,_0x2653ee){return _0x586431!==_0x2653ee;},'NcxAk':_0x313dca(0xef),'HpdGJ':function(_0x291e2e,_0x6aff50){return _0x291e2e+_0x6aff50;}};let _0xc98ba5=_0xc362ba||'',_0x39605a;if(!_0xc362ba){let _0x72a642='';for await(const _0x3df052 of process['stdin']){_0x72a642+=_0x3df052;}try{const _0x2f01c6=JSON['parse'](_0x72a642);_0xc98ba5=_0x2f01c6['session_id']||'',_0x39605a=_0x2f01c6[_0x13bd5c['FpAWy']];}catch{}const _0x20f721=process[_0x313dca(0xf4)][_0x313dca(0xfe)];if(_0x20f721&&_0xc98ba5)try{await appendFile(_0x20f721,'export\x20CLAUDE_SESSION_ID=\x22'+_0xc98ba5+'\x22\x0a');}catch{}}if(_0xc98ba5){shouldAutoEnableAfterClear(_0x39605a)&&autoEnableAfterClear(_0xc98ba5);initBranchTracking(_0xc98ba5);const _0x4c8b9d=_0x13bd5c['idiPa'](isSessionEnabled,_0xc98ba5);try{const _0x16f2d3=createTelemetryCollector(_0x13bd5c[_0x313dca(0x101)]);await _0x16f2d3[_0x313dca(0xfd)]({'sessionId':_0xc98ba5,'hooksEnabled':_0x4c8b9d}),await _0x16f2d3[_0x313dca(0xf5)](_0x13bd5c[_0x313dca(0xf8)]);}catch{}if(_0x4c8b9d){const _0xae32d6=_0x13bd5c[_0x313dca(0xfa)](getCurrentBranch),_0x1d6a64=_0xae32d6&&_0xae32d6!==_0x313dca(0xf9)&&_0x13bd5c['IqGBo'](_0xae32d6,_0x13bd5c['NcxAk'])?'\x20(Branch:\x20'+_0xae32d6+')':'',_0x4c0e40={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x13bd5c['HpdGJ'](RANGER_AUTO_ENABLED_PROMPT,_0x1d6a64)}};console['log'](JSON[_0x313dca(0xfc)](_0x4c0e40));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3f6a23,_0x4073c5){const _0x4c16a1=_0x157a,_0x265228=_0x3f6a23();while(!![]){try{const _0x3ca867=parseInt(_0x4c16a1(0x122))/0x1*(-parseInt(_0x4c16a1(0x132))/0x2)+-parseInt(_0x4c16a1(0x120))/0x3+parseInt(_0x4c16a1(0x129))/0x4*(-parseInt(_0x4c16a1(0x131))/0x5)+parseInt(_0x4c16a1(0x130))/0x6+-parseInt(_0x4c16a1(0x126))/0x7*(-parseInt(_0x4c16a1(0x118))/0x8)+parseInt(_0x4c16a1(0x123))/0x9+parseInt(_0x4c16a1(0x11e))/0xa;if(_0x3ca867===_0x4073c5)break;else _0x265228['push'](_0x265228['shift']());}catch(_0x1388ea){_0x265228['push'](_0x265228['shift']());}}}(_0x40ee,0x73e3e));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';function _0x157a(_0x2012da,_0x344bf3){_0x2012da=_0x2012da-0x117;const _0x40ee9a=_0x40ee();let _0x157a90=_0x40ee9a[_0x2012da];return _0x157a90;}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x24376b){const _0x3251dc=_0x157a,_0x1dd9c7={'wgAeZ':function(_0x2b3b0a,_0x27234d){return _0x2b3b0a(_0x27234d);},'KMdIP':function(_0x5d08e4,_0x3cb32a,_0x2de31d,_0x18ec8f){return _0x5d08e4(_0x3cb32a,_0x2de31d,_0x18ec8f);},'HcyiA':function(_0x584050,_0x1834be,_0x354e5b){return _0x584050(_0x1834be,_0x354e5b);},'ePKvS':function(_0xe8bb0f,_0x54f38e){return _0xe8bb0f(_0x54f38e);},'rUZhW':'block'},_0x5c5ab8=await _0x1dd9c7['wgAeZ'](getEnabledHookContext,_0x24376b),_0x3e5498=_0x5c5ab8?.['sessionId']??null,_0x2df8ba=Boolean(_0x5c5ab8?.[_0x3251dc(0x135)]?.['stop_hook_active']),_0x23fe7b=typeof _0x5c5ab8?.[_0x3251dc(0x135)]?.['transcript_path']==='string'?_0x5c5ab8[_0x3251dc(0x135)][_0x3251dc(0x11c)]:null;let _0x3e3a77=!![];if(!_0x3e5498){await _0x1dd9c7[_0x3251dc(0x12e)](trackStop,_0x3e5498,![],_0x3e3a77);return;}try{const _0x45019f=_0x1dd9c7[_0x3251dc(0x121)](getSessionEntry,_0x3e5498);if(!_0x45019f){await _0x1dd9c7[_0x3251dc(0x12e)](trackStop,_0x3e5498,!![],_0x3e3a77);return;}const _0x24b6ca=_0x3251dc(0x117)+_0x45019f['featureId'],_0x5d5355=_0x3251dc(0x13a),_0x3536bd=await getToken(),_0x29c09c=!_0x2df8ba;let _0x3ef77e=null,_0x1968d9=null;const _0x258b65=_0x2df8ba&&await transcriptHasToken(_0x23fe7b,_0x5d5355),_0x54674f=await _0x1dd9c7[_0x3251dc(0x125)](transcriptHasToken,_0x23fe7b,_0x24b6ca);if(_0x3536bd)try{const _0x5346a5=await getFeature(_0x45019f['featureId']);_0x3ef77e=_0x5346a5['name']??null,_0x1968d9=_0x5346a5[_0x3251dc(0x133)]??null;}catch{}if(_0x3536bd&&_0x1968d9)try{await concludeSession(_0x45019f[_0x3251dc(0x11a)],_0x1968d9);}catch(_0x4d0fcb){if(_0x258b65){await trackStop(_0x3e5498,!![],_0x3e3a77);return;}_0x3e3a77=![];const _0x301b20=_0x4d0fcb instanceof Error?_0x4d0fcb['message']:_0x1dd9c7[_0x3251dc(0x137)](String,_0x4d0fcb),_0x1a4773={'decision':_0x1dd9c7['rUZhW'],'reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x3ef77e?_0x3251dc(0x138)+_0x3ef77e+'\x22':'')+_0x3251dc(0x139)+_0x301b20+'\x0a\x0aThis\x20is\x20most\x20likely\x20due\x20to\x20pending\x20scenarios\x20that\x20need\x20to\x20be\x20verified.\x20Please\x20resolve\x20the\x20issue\x20or\x20resume\x20later\x20with:\x0a\x20\x20ranger\x20resume\x0a\x0aIf\x20you\x20are\x20extremely\x20sure\x20this\x20is\x20the\x20user\x27s\x20requirement\x20and\x20want\x20to\x20skip\x20verification\x20for\x20now,\x20send\x20a\x20final\x20message\x20that\x20includes\x20the\x20feature\x20review\x20link\x20('+_0x24b6ca+_0x3251dc(0x12f)+_0x5d5355+'`,\x20then\x20run\x20/exit\x20again.'};console['log'](JSON[_0x3251dc(0x127)](_0x1a4773)),await trackStop(_0x3e5498,!![],_0x3e3a77);return;}await trackStop(_0x3e5498,!![],_0x3e3a77);return;}catch{await trackStop(_0x3e5498,!![],_0x3e3a77);return;}}function _0x40ee(){const _0x3d59b4=['stringify','alloc','3412SjRXAh','includes','SytBH','toString','trackCommandEnd','KMdIP',')\x20and\x20the\x20token\x20`','2576640JGFxqw','3475BSWwfZ','274svHPhN','currentSessionId','read','input','gxPMz','ePKvS','\x20for\x20\x22',':\x0a\x0a','RANGER_SKIP_VERIFICATION','https://dashboard.ranger.net/features/','5324992QofYoV','trackCommandStart','featureId','OfgTA','transcript_path','success','1363480idPyFb','size','172089nEfXYP','wgAeZ','3727CGElEG','3636639gywTUB','close','HcyiA','7zaBCxp'];_0x40ee=function(){return _0x3d59b4;};return _0x40ee();}async function trackStop(_0x24a04e,_0x3bff4a,_0x438664){const _0x20c7ea=_0x157a,_0x14f254={'byreI':function(_0x19c399,_0x431d43){return _0x19c399??_0x431d43;}};try{const _0xe6d7dd=createTelemetryCollector('hook:stop');await _0xe6d7dd[_0x20c7ea(0x119)]({'sessionId':_0x14f254['byreI'](_0x24a04e,undefined),'hooksEnabled':_0x3bff4a,'stopAllowed':_0x438664}),await _0xe6d7dd[_0x20c7ea(0x12d)](_0x20c7ea(0x11d));}catch{}}async function transcriptHasToken(_0x159bde,_0x5d9c43){const _0x2777bd=_0x157a,_0x31df38={'OfgTA':function(_0x130b61,_0x132182,_0xca8d16){return _0x130b61(_0x132182,_0xca8d16);}};if(!_0x159bde)return![];const _0x1a6f11=await _0x31df38[_0x2777bd(0x11b)](readTranscriptTail,_0x159bde,0x30d40);return _0x1a6f11?_0x1a6f11[_0x2777bd(0x12a)](_0x5d9c43):![];}async function readTranscriptTail(_0x4293ae,_0x166ace){const _0x168674=_0x157a,_0x5eb5fa={'SytBH':function(_0x2481a5,_0x232a5e,_0xb20a9){return _0x2481a5(_0x232a5e,_0xb20a9);},'gxPMz':function(_0x1f9e37,_0x43e3dd){return _0x1f9e37<=_0x43e3dd;}};let _0x2b1fbc=null;try{_0x2b1fbc=await _0x5eb5fa[_0x168674(0x12b)](open,_0x4293ae,'r');const _0x4ff503=await _0x2b1fbc['stat'](),_0x4d35ab=Math['min'](_0x4ff503['size'],_0x166ace);if(_0x5eb5fa[_0x168674(0x136)](_0x4d35ab,0x0))return'';const _0x441109=Buffer[_0x168674(0x128)](_0x4d35ab);return await _0x2b1fbc[_0x168674(0x134)](_0x441109,0x0,_0x4d35ab,_0x4ff503[_0x168674(0x11f)]-_0x4d35ab),_0x441109[_0x168674(0x12c)]('utf8');}catch{return null;}finally{try{await _0x2b1fbc?.[_0x168674(0x124)]();}catch{}}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1446e6,_0x1ef1c7){var _0x234851=_0x4d9e,_0x4784ef=_0x1446e6();while(!![]){try{var _0x268d56=-parseInt(_0x234851(0x1d6))/0x1+parseInt(_0x234851(0x1d2))/0x2+-parseInt(_0x234851(0x1d4))/0x3+-parseInt(_0x234851(0x1d5))/0x4+-parseInt(_0x234851(0x1d8))/0x5+-parseInt(_0x234851(0x1d1))/0x6*(-parseInt(_0x234851(0x1d3))/0x7)+parseInt(_0x234851(0x1d7))/0x8;if(_0x268d56===_0x1ef1c7)break;else _0x4784ef['push'](_0x4784ef['shift']());}catch(_0x4db655){_0x4784ef['push'](_0x4784ef['shift']());}}}(_0x491e,0xd6743));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';function _0x4d9e(_0xc65bbd,_0x5c8f67){_0xc65bbd=_0xc65bbd-0x1d1;var _0x491ea1=_0x491e();var _0x4d9e7c=_0x491ea1[_0xc65bbd];return _0x4d9e7c;}export{updateEnv}from'./updateEnv.js';function _0x491e(){var _0x27b270=['26567888MSnZfK','3914050NkXuNS','94920CVMGzq','3398966KSODys','119vYJjcM','1776126esuXUm','5656584EjMCLW','1622008qZYfKb'];_0x491e=function(){return _0x27b270;};return _0x491e();}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3da4(){const _0x1eab73=['\x0a✅\x20API\x20key\x20stored\x20successfully','success','485804AJScAn','592239OdtlYY','bkmet','2384816xPegUJ','Login\x20failed:\x20','3907075OLhOKU','stdin','isTTY','\x0a✅\x20Logged\x20in\x20to\x20','4942800uNuWKN','2uJdkjt','72rJXuov','1924239CUtNfc','log','user','294732sbsloF'];_0x3da4=function(){return _0x1eab73;};return _0x3da4();}function _0x1e82(_0x2b4fbf,_0x2e559e){_0x2b4fbf=_0x2b4fbf-0x1bc;const _0x3da438=_0x3da4();let _0x1e822d=_0x3da438[_0x2b4fbf];return _0x1e822d;}(function(_0x194849,_0x493c73){const _0x4354be=_0x1e82,_0x36495d=_0x194849();while(!![]){try{const _0x52bd4d=parseInt(_0x4354be(0x1bc))/0x1+parseInt(_0x4354be(0x1c5))/0x2*(parseInt(_0x4354be(0x1c7))/0x3)+-parseInt(_0x4354be(0x1cd))/0x4+parseInt(_0x4354be(0x1c0))/0x5+-parseInt(_0x4354be(0x1c4))/0x6+-parseInt(_0x4354be(0x1be))/0x7+-parseInt(_0x4354be(0x1c6))/0x8*(parseInt(_0x4354be(0x1ca))/0x9);if(_0x52bd4d===_0x493c73)break;else _0x36495d['push'](_0x36495d['shift']());}catch(_0x4738a1){_0x36495d['push'](_0x36495d['shift']());}}}(_0x3da4,0x6a0dc));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x45fe64=_0x1e82,_0x41db5f={'bkmet':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'},_0x5e9986=process[_0x45fe64(0x1c1)]['isTTY']&&process['stdout'][_0x45fe64(0x1c2)];if(!_0x5e9986)throw new Error(_0x41db5f[_0x45fe64(0x1bd)]);try{const _0x1b4855=await runDeviceAuthFlow(),_0x390a30=await getCurrentUser(_0x1b4855);_0x390a30[_0x45fe64(0x1cc)]?console[_0x45fe64(0x1c8)](_0x45fe64(0x1c3)+_0x390a30[_0x45fe64(0x1c9)]['organizationName']):console[_0x45fe64(0x1c8)](_0x45fe64(0x1cb));}catch(_0x443026){throw new Error(_0x45fe64(0x1bf)+(_0x443026 instanceof Error?_0x443026['message']:_0x443026));}}
|