@ranger-testing/ranger-cli 2.5.4-alpha.1f7a251-7 → 2.5.4-alpha.36a12ca-10
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/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/verify.md +6 -12
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x12a781,_0x3e2309){const _0x366dbb=_0x4a9d,_0x351540=_0x12a781();while(!![]){try{const _0x30c2b6=parseInt(_0x366dbb(0x1bf))/0x1*(parseInt(_0x366dbb(0x175))/0x2)+parseInt(_0x366dbb(0x201))/0x3+-parseInt(_0x366dbb(0x1a0))/0x4+-parseInt(_0x366dbb(0x1e1))/0x5*(parseInt(_0x366dbb(0x166))/0x6)+parseInt(_0x366dbb(0x14e))/0x7*(-parseInt(_0x366dbb(0x1bc))/0x8)+-parseInt(_0x366dbb(0x1a4))/0x9*(-parseInt(_0x366dbb(0x1c6))/0xa)+parseInt(_0x366dbb(0x16d))/0xb;if(_0x30c2b6===_0x3e2309)break;else _0x351540['push'](_0x351540['shift']());}catch(_0x10e5d3){_0x351540['push'](_0x351540['shift']());}}}(_0x4e4b,0x5b9a6));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0xc796d3 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x14dea1=>'\x1b[1m'+_0x14dea1+'\x1b[0m';function getGitRepoUrl(){const _0x3e1fbe=_0x4a9d,_0x223517={'oELAQ':'git\x20remote\x20get-url\x20origin','bYJRF':'pipe'};try{const _0x364256=execSync(_0x223517[_0x3e1fbe(0x1cc)],{'encoding':_0x3e1fbe(0x16e),'stdio':['pipe',_0x223517[_0x3e1fbe(0x13a)],_0x223517[_0x3e1fbe(0x13a)]]})[_0x3e1fbe(0x1be)]();return _0x364256['replace'](/\.git$/,'')[_0x3e1fbe(0x16a)](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function _0x4e4b(){const _0x4e89d9=['join','scenario','verificationInProgressItems','No\x20scenarios\x20found.','nwQBh','canonicalFlow','filter','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','KbZKs','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','verification_in_progress','fYlVu','location','\x0a✅\x20Resumed\x20feature\x20review:\x20','gJAZY','wdsuv','.\x20Feature\x20review\x20has\x20','No\x20active\x20session\x20for\x20this\x20feature\x20review.','toLocaleDateString','\x20--include-deleted','\x20\x20\x20\x20\x20\x20Approved','JqoOi','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','\x20\x20\x20\x20\x20Branch:\x20','CLAUDE_SESSION_ID','push','\x20\x20\x20Created:\x20','bEnLW','rroOX','\x20feature\x20review(s)\x20found','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','2243382YpTOBU','currentSessionId','FADwy','toLocaleString','\x20in\x20progress','ONCqV','ScfmE','eQwJs','WgaiB','completedAt','.png','authorEmail','FCTSe','.md','sessionId','qYjdh','blockedItems','status','...','\x20\x20\x20\x20\x20Progress:\x20','isTTY','bYJRF','bYtjt','lPkUo','MPlQX','spatial','Current\x20session\x20not\x20found.','VbXth','isKeyStep','\x0aNo\x20feature\x20reviews\x20found.','incompleteReason','/api/v1/mcp/browser-sessions/','approved','split','pipe','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','ChrWC','canceledReason','zKIpj','blocked','mAPYI','7OzyAcF','error','yogoY','kVcSh','AsFnw','log','NTaUL','Scenario\x20','style','zFHAR','\x0aCreating\x20feature\x20review...','assetUrl','fAUsi','rkqWq','numeric','all','HxiJK','KsRvU','en-US','No\x20sessions\x20found.','offset','YpQdt','verified','bQyMA','6Difdif','\x20incomplete','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20\x20Incomplete:\x20','replace','coordinates','warn','3397163aFhAcY','utf-8','output','Next\x20page:\x20ranger\x20list\x20--offset\x20','oJdvN','\x20verified','includeDeleted','\x20--current-branch','24hipJKu','Qxktk','\x20\x20\x20ID:\x20','Showing\x20','FbEvw','gitRepoUrl','\x20(v','MeKOo','find','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','iHoGK','\x0aConcluding\x20session...','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','selected','write','IUAAG','env','sQXGZ','hJsfW','domRef','list','\x20\x20\x20Completed:\x20','\x20at\x20[','\x20blocked','QvzFh','items','CwsHr','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','gitBranch','oreja','\x0aAvailable\x20scenarios:','checklistItems','\x20\x20\x20Description:\x20','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','saiZP','nGaZF','\x0a✅\x20Session\x20is\x20already\x20completed.','uSRjc','has','FrANy','totalCount','pendingItems','2179944hSuhWZ','huCSS','\x20\x20\x20','get','117JPqaNT','screenshotUrls','type','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','storage','createdAt','any','KOZgj','xweHg','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','gKdCU','IxdZE','description','XecHG','unaddressedComments','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20\x20\x20Repository:\x20','latestReview','\x20—\x20no\x20comments','FFBRg','QgPXK','closed','\x0a✅\x20Scenario\x20updated','assets','4077592NLCsyX','scenarios','trim','24891VbhLlJ','git\x20rev-parse\x20--abbrev-ref\x20HEAD','map','\x20\x20\x20\x20\x20\x20Blocked:\x20','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','blockedReason','qDdSs','341370ABtBvY','UxGNR','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','element','version','OuxVQ','oELAQ','\x20/\x20','verifiedItems','iXHua','stdout','textContent','exit','terminalReason','currentBranch','repeat','\x20>\x20','stats','\x0a✅\x20Session\x20','iteration','incompleteItems','/artifacts/','length','excludeScenarios','dashboardUrl','name','dfSGo','1846045CbSbnV'];_0x4e4b=function(){return _0x4e89d9;};return _0x4e4b();}function getGitBranch(){const _0x43b6fc=_0x4a9d,_0x23d73f={'Qxktk':function(_0x2d974b,_0x1d9100,_0x394016){return _0x2d974b(_0x1d9100,_0x394016);},'SOgpw':_0x43b6fc(0x1c0),'zKIpj':_0x43b6fc(0x147)};try{return _0x23d73f[_0x43b6fc(0x176)](execSync,_0x23d73f['SOgpw'],{'encoding':'utf-8','stdio':[_0x23d73f['zKIpj'],_0x23d73f[_0x43b6fc(0x14b)],_0x23d73f['zKIpj']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1e736b=_0x4a9d,_0x535e5a={'gJAZY':function(_0x324913){return _0x324913();},'hJsfW':function(_0x2f82cb,_0x1bf7c9,_0x6660b6){return _0x2f82cb(_0x1bf7c9,_0x6660b6);}},_0x5e4d31=join(_0x535e5a[_0x1e736b(0x1f0)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x5e4d31))return null;try{const _0x3ef4e4=await _0x535e5a[_0x1e736b(0x187)](readFile,_0x5e4d31,_0x1e736b(0x16e));return _0x3ef4e4[_0x1e736b(0x1be)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x4de6b7){const _0x44fa88=_0x4a9d,_0x29a08b={'FrANy':function(_0x90d565,_0xbc11b7,_0x202ab5){return _0x90d565(_0xbc11b7,_0x202ab5);},'PphhH':function(_0x246a8f,_0x173472){return _0x246a8f(_0x173472);},'mcfbc':function(_0x10d17e,_0x4839a6,_0x252156,_0x5a4b4c){return _0x10d17e(_0x4839a6,_0x252156,_0x5a4b4c);},'uSRjc':'utf-8'},_0x1bc98c=getRangerDir(),_0x5ab571=_0x29a08b['FrANy'](join,_0x1bc98c,ACTIVE_FEATURE_FILE);!_0x29a08b['PphhH'](existsSync,_0x1bc98c)&&await _0x29a08b[_0x44fa88(0x19d)](mkdir,_0x1bc98c,{'recursive':!![]}),await _0x29a08b['mcfbc'](writeFile,_0x5ab571,_0x4de6b7,_0x29a08b[_0x44fa88(0x19b)]);}function getProgressDisplay(_0x240d77){const _0x3d67a5=_0x4a9d,_0x4452a1={'JRjMq':function(_0xf0b390,_0x1c4edb){return _0xf0b390+_0x1c4edb;},'SRtQs':function(_0x1aabf0,_0xadc953){return _0x1aabf0===_0xadc953;},'qcjSy':function(_0x8cc56c,_0x4794f5){return _0x8cc56c*_0x4794f5;},'ZMgsZ':function(_0x1fa036,_0x11d2f2){return _0x1fa036/_0x11d2f2;},'ChrWC':function(_0x211126,_0x483e67){return _0x211126-_0x483e67;},'KbZKs':function(_0x501e7c,_0x3829b9){return _0x501e7c>_0x3829b9;}},_0x1d5570=_0x240d77[_0x3d67a5(0x1ce)]||0x0,_0x47e5d3=_0x240d77[_0x3d67a5(0x1e4)]||0x0,_0x4bd4d0=_0x240d77[_0x3d67a5(0x135)]||0x0,_0x3d1829=_0x240d77[_0x3d67a5(0x1da)]||0x0,_0x37631c=_0x240d77[_0x3d67a5(0x19f)]||0x0,_0x279fea=_0x4452a1['JRjMq'](_0x1d5570+_0x47e5d3,_0x4bd4d0)+_0x3d1829+_0x37631c;if(_0x4452a1['SRtQs'](_0x279fea,0x0))return'-';const _0x32f51b=0xa,_0x47f394=Math['round'](_0x4452a1['qcjSy'](_0x4452a1['ZMgsZ'](_0x1d5570,_0x279fea),_0x32f51b)),_0x6bbabb='█'['repeat'](_0x47f394)+'░'[_0x3d67a5(0x1d5)](_0x4452a1[_0x3d67a5(0x149)](_0x32f51b,_0x47f394)),_0x326099=[];if(_0x4452a1['KbZKs'](_0x4bd4d0,0x0))_0x326099['push'](_0x4bd4d0+_0x3d67a5(0x18c));if(_0x4452a1[_0x3d67a5(0x1ea)](_0x3d1829,0x0))_0x326099[_0x3d67a5(0x1fb)](_0x3d1829+_0x3d67a5(0x167));if(_0x4452a1['KbZKs'](_0x47e5d3,0x0))_0x326099[_0x3d67a5(0x1fb)](_0x47e5d3+_0x3d67a5(0x205));const _0x262805=_0x326099['length']>0x0?'\x20('+_0x326099['join'](',\x20')+')':'';return _0x6bbabb+'\x20'+_0x1d5570+'/'+_0x279fea+_0x3d67a5(0x172)+_0x262805;}function getCurrentSessionItems(_0x1ee37d,_0x23d2ad){const _0x3c5f30=_0x4a9d;if(!_0x1ee37d[_0x3c5f30(0x202)])return _0x23d2ad[_0x3c5f30(0x1e8)](_0x107f65=>!_0x107f65['sessionId']);return _0x23d2ad[_0x3c5f30(0x1e8)](_0x3bdcac=>_0x3bdcac[_0x3c5f30(0x133)]===_0x1ee37d[_0x3c5f30(0x202)]||!_0x3bdcac[_0x3c5f30(0x133)]);}function displayFeature(_0x5c2d43,_0x1c129f){const _0x24991f=_0x4a9d,_0x4f06de={'rkqWq':function(_0x9b7abd,_0x4a41af){return _0x9b7abd(_0x4a41af);},'FbEvw':function(_0x149e2a,_0x35df9c){return _0x149e2a===_0x35df9c;},'ONCqV':_0x24991f(0x1b9),'kVcSh':function(_0x1971fb,_0x39445e){return _0x1971fb===_0x39445e;},'iHoGK':_0x24991f(0x164),'ScfmE':function(_0x2f48f2,_0x555b7b){return _0x2f48f2===_0x555b7b;},'xweHg':function(_0x13714d,_0x4b53ab){return _0x13714d!==_0x4b53ab;},'ykQmP':function(_0x1f56af,_0xf99dc9){return _0x1f56af===_0xf99dc9;},'vKKKn':_0x24991f(0x14c),'rroOX':_0x24991f(0x145)};console['log']('\x0a'+_0x5c2d43[_0x24991f(0x1df)]+'\x20('+_0x5c2d43[_0x24991f(0x1de)]+')');_0x5c2d43[_0x24991f(0x1d7)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x4f06de[_0x24991f(0x15b)](getProgressDisplay,_0x5c2d43['stats']));_0x5c2d43['description']&&console['log'](_0x24991f(0x196)+_0x5c2d43[_0x24991f(0x1b0)]);_0x5c2d43['gitRepoUrl']&&console['log'](_0x24991f(0x1b4)+_0x5c2d43[_0x24991f(0x17a)]);_0x5c2d43['gitBranch']&&console[_0x24991f(0x153)]('\x20\x20\x20Branch:\x20'+_0x5c2d43['gitBranch']);console[_0x24991f(0x153)](_0x24991f(0x1fc)+new Date(_0x5c2d43[_0x24991f(0x1a9)])[_0x24991f(0x204)]());_0x5c2d43[_0x24991f(0x20a)]&&console[_0x24991f(0x153)](_0x24991f(0x18a)+new Date(_0x5c2d43[_0x24991f(0x20a)])[_0x24991f(0x204)]());if(_0x1c129f&&_0x1c129f[_0x24991f(0x1dc)]>0x0){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x3a83c8=0x0;_0x3a83c8<_0x1c129f[_0x24991f(0x1dc)];_0x3a83c8++){const _0x26fcb1=_0x1c129f[_0x3a83c8];let _0x353b3e;if(_0x4f06de[_0x24991f(0x179)](_0x26fcb1['status'],_0x4f06de[_0x24991f(0x206)])&&_0x4f06de['kVcSh'](_0x26fcb1[_0x24991f(0x1d3)],'approved'))_0x353b3e='✅';else{if(_0x4f06de['kVcSh'](_0x26fcb1['status'],_0x4f06de['iHoGK']))_0x353b3e='🟢';else{if(_0x26fcb1[_0x24991f(0x136)]==='incomplete')_0x353b3e='🟠';else{if(_0x4f06de[_0x24991f(0x207)](_0x26fcb1['status'],'blocked'))_0x353b3e='🛑';else{if(_0x4f06de[_0x24991f(0x151)](_0x26fcb1[_0x24991f(0x136)],_0x24991f(0x1b9)))_0x353b3e='⛔';else _0x4f06de[_0x24991f(0x151)](_0x26fcb1['status'],_0x24991f(0x1ec))?_0x353b3e='⏳':_0x353b3e='⬜';}}}}const _0x1b5acb=_0x26fcb1['version']>0x1?_0x24991f(0x17b)+_0x26fcb1[_0x24991f(0x1ca)]+')':'',_0x17aab5=_0x26fcb1['version']>0x1&&_0x26fcb1['parentItemId']&&_0x4f06de[_0x24991f(0x1ac)](_0x26fcb1['status'],'closed')&&_0x4f06de['xweHg'](_0x26fcb1['status'],_0x4f06de[_0x24991f(0x17f)])?'\x20[has\x20reviewer\x20feedback]':'';console[_0x24991f(0x153)](_0x24991f(0x1a2)+(_0x3a83c8+0x1)+'.\x20'+_0x353b3e+'\x20'+_0x26fcb1[_0x24991f(0x1b0)]+_0x1b5acb+_0x17aab5);_0x4f06de['ykQmP'](_0x26fcb1[_0x24991f(0x136)],_0x4f06de['vKKKn'])&&_0x26fcb1[_0x24991f(0x1c4)]&&console['log'](_0x24991f(0x1c2)+_0x26fcb1[_0x24991f(0x1c4)]);_0x26fcb1['status']==='incomplete'&&_0x26fcb1['incompleteReason']&&console['log'](_0x24991f(0x169)+_0x26fcb1['incompleteReason']);if(_0x26fcb1[_0x24991f(0x136)]==='closed'&&_0x26fcb1['terminalReason']===_0x4f06de[_0x24991f(0x1fe)])console[_0x24991f(0x153)](_0x24991f(0x1f6));else _0x26fcb1['status']==='closed'&&_0x26fcb1['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x26fcb1[_0x24991f(0x14a)]);}}}export async function featureCreate(_0x3024b4,_0x25402f){const _0x3190e8=_0x4a9d,_0x386c9b={'oreja':function(_0x482f6f,_0x21941f){return _0x482f6f===_0x21941f;},'DHIoO':function(_0x37e94f){return _0x37e94f();},'mVjPM':_0x3190e8(0x158),'UONGv':function(_0x1a8b0f,_0x1e7a16){return _0x1a8b0f(_0x1e7a16);},'NzStT':function(_0x304ad0,_0x25a2e1,_0x3b698d){return _0x304ad0(_0x25a2e1,_0x3b698d);}},{envNames:_0x3685d1}=await getEnvNames();if(_0x3685d1[_0x3190e8(0x1dc)]===0x0&&!process[_0x3190e8(0x185)]['RANGER_TEST_USERNAME']){let _0x24801d=0x0;try{_0x24801d=(await listCloudProfiles())['length'];}catch{_0x24801d=0x1;}_0x386c9b[_0x3190e8(0x193)](_0x24801d,0x0)&&console[_0x3190e8(0x16c)]('\x0a'+formatProfileRequiredMessage(_0x1422a9=>bold(_0x1422a9)));}const _0x1722bb=_0x25402f['scenarios']?_0x25402f[_0x3190e8(0x1bd)][_0x3190e8(0x1c1)](_0x238057=>_0x238057['trim']()):[],_0x5756a6=_0x386c9b['DHIoO'](getGitRepoUrl),_0x157ad4=getGitBranch();console[_0x3190e8(0x153)](_0x386c9b['mVjPM']);const _0x22dbfd=await createFeature({'name':_0x3024b4,'description':_0x25402f[_0x3190e8(0x1b0)],'checklist':_0x1722bb,'gitRepoUrl':_0x5756a6,'gitBranch':_0x157ad4});await _0x386c9b['UONGv'](setActiveFeatureId,_0x22dbfd['id']),await tryStartCurrentSession(_0x22dbfd['id']);const _0x537cb9=process[_0x3190e8(0x185)][_0x3190e8(0x1fa)];_0x537cb9&®isterSession(_0x537cb9,_0x22dbfd['id']),console[_0x3190e8(0x153)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x22dbfd['id']),_0x386c9b['NzStT'](displayFeature,_0x22dbfd,_0x22dbfd[_0x3190e8(0x195)]),console[_0x3190e8(0x153)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x49cb22){const _0x331e03=_0x4a9d,_0x2f339a={'eQwJs':function(_0x2143e8){return _0x2143e8();},'sQXGZ':function(_0x293990,_0x1facf5){return _0x293990(_0x1facf5);},'BTXhY':function(_0x307e8c,_0x4a6bce){return _0x307e8c!==_0x4a6bce;},'cRjnd':_0x331e03(0x174),'fyGFq':_0x331e03(0x1f5)},_0x6c2d8c={'limit':_0x49cb22['limit']??0xa,'offset':_0x49cb22['offset']??0x0,'includeDeleted':_0x49cb22['includeDeleted']};_0x49cb22['currentBranch']&&(_0x6c2d8c['gitRepoUrl']=_0x2f339a[_0x331e03(0x208)](getGitRepoUrl),_0x6c2d8c[_0x331e03(0x192)]=getGitBranch());const _0x38adae=await _0x2f339a['sQXGZ'](listFeatures,_0x6c2d8c);if(_0x38adae['items'][_0x331e03(0x1dc)]===0x0){console['log'](_0x331e03(0x142));return;}const _0x3a173a=_0x38adae['totalCount']>_0x38adae['items'][_0x331e03(0x1dc)]?_0x331e03(0x178)+_0x38adae['items']['length']+'\x20of\x20'+_0x38adae[_0x331e03(0x19e)]:_0x38adae['totalCount']+_0x331e03(0x1ff);console['log']('\x0a'+_0x3a173a+':\x0a');for(const _0x1aef0a of _0x38adae[_0x331e03(0x18e)]){const _0x46ce25='2|1|4|0|3|5'['split']('|');let _0x2d4327=0x0;while(!![]){switch(_0x46ce25[_0x2d4327++]){case'0':_0x1aef0a['gitBranch']&&console[_0x331e03(0x153)]('\x20\x20\x20Branch:\x20'+_0x1aef0a['gitBranch']);continue;case'1':console['log'](_0x331e03(0x177)+_0x1aef0a['id']);continue;case'2':console['log'](''+_0x1aef0a[_0x331e03(0x1df)]);continue;case'3':console['log'](_0x331e03(0x1fc)+new Date(_0x1aef0a['createdAt'])['toLocaleDateString']());continue;case'4':_0x1aef0a[_0x331e03(0x1d7)]&&console[_0x331e03(0x153)]('\x20\x20\x20Progress:\x20'+_0x2f339a[_0x331e03(0x186)](getProgressDisplay,_0x1aef0a[_0x331e03(0x1d7)]));continue;case'5':console['log']('');continue;}break;}}const _0x601359=_0x6c2d8c['limit']??0xa,_0x4c7442=(_0x6c2d8c[_0x331e03(0x162)]??0x0)+_0x38adae['items'][_0x331e03(0x1dc)];if(_0x4c7442<_0x38adae[_0x331e03(0x19e)]){const _0x225151=_0x2f339a['BTXhY'](_0x601359,0xa)?'\x20--limit\x20'+_0x601359:'',_0x536e5b=_0x49cb22[_0x331e03(0x1d4)]?_0x2f339a['cRjnd']:'',_0x586149=_0x49cb22[_0x331e03(0x173)]?_0x2f339a['fyGFq']:'';console[_0x331e03(0x153)](_0x331e03(0x170)+_0x4c7442+_0x225151+_0x536e5b+_0x586149);}}export async function featureShow(_0x25c571){const _0x2dacd0=_0x4a9d,_0x2f19c3={'JqoOi':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','kSjSw':function(_0x4b47f5,_0x5661e9){return _0x4b47f5(_0x5661e9);}},_0x176f42=_0x25c571||await getActiveFeatureId();if(!_0x176f42)throw new Error(_0x2f19c3[_0x2dacd0(0x1f7)]);const _0x32a413=await _0x2f19c3['kSjSw'](getFeature,_0x176f42);displayFeature(_0x32a413,_0x32a413['checklistItems']);}export async function featureResume(_0x482435){const _0x21c906=_0x4a9d,_0x40756c={'CwsHr':function(_0x584e37,_0x276ef1){return _0x584e37(_0x276ef1);},'hqFsd':function(_0x33b7fe,_0x3985d2){return _0x33b7fe!==_0x3985d2;},'jkdpB':function(_0x49466f,_0x272b93,_0x263af0){return _0x49466f(_0x272b93,_0x263af0);},'MahNw':function(_0x206172){return _0x206172();},'nwQBh':function(_0x5e97c5,_0xfb0f20){return _0x5e97c5&&_0xfb0f20;},'iXHua':_0x21c906(0x1aa),'MPlQX':function(_0x55ed1a,_0x234b3e){return _0x55ed1a(_0x234b3e);},'IxdZE':function(_0xa2e476,_0x7994a1){return _0xa2e476===_0x7994a1;},'qDdSs':_0x21c906(0x1c3),'JAmFX':function(_0x34615e,_0x162839){return _0x34615e===_0x162839;},'YbYYX':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','WgaiB':_0x21c906(0x182),'KsRvU':function(_0x5d8a88,_0xd836a1,_0x26fcbc){return _0x5d8a88(_0xd836a1,_0x26fcbc);}};if(_0x482435){const _0x194283=await getFeature(_0x482435);await _0x40756c[_0x21c906(0x18f)](setActiveFeatureId,_0x194283['id']);const _0x4e19cb=getGitBranch();_0x4e19cb&&_0x40756c['hqFsd'](_0x4e19cb,_0x194283[_0x21c906(0x192)])&&(await updateFeature(_0x194283['id'],{'gitBranch':_0x4e19cb}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x4e19cb));console[_0x21c906(0x153)](_0x21c906(0x1ef)+_0x194283[_0x21c906(0x1df)]+'\x20('+_0x194283['id']+')'),await tryStartCurrentSession(_0x194283['id']);const _0x52417b=process['env'][_0x21c906(0x1fa)];_0x52417b&®isterSession(_0x52417b,_0x194283['id']);_0x40756c['jkdpB'](displayFeature,_0x194283,_0x194283['checklistItems']),await printFeedbackNudge(_0x194283['id']);return;}const _0x5657d1=getGitRepoUrl(),_0x532e0d=_0x40756c['MahNw'](getGitBranch);if(_0x40756c[_0x21c906(0x1e6)](!_0x5657d1,!_0x532e0d))throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log'](_0x21c906(0x1f8)+(_0x5657d1||'any')+_0x21c906(0x1cd)+(_0x532e0d||_0x40756c[_0x21c906(0x1cf)])+_0x21c906(0x137));const _0x800deb=await _0x40756c['MPlQX'](listFeatures,{'gitRepoUrl':_0x5657d1,'gitBranch':_0x532e0d}),_0x4e31a1=_0x800deb['items'][_0x21c906(0x1e8)](_0x42136f=>_0x42136f['status']?_0x42136f['status']!=='verified':!_0x42136f['completedAt']);if(_0x40756c[_0x21c906(0x1af)](_0x4e31a1[_0x21c906(0x1dc)],0x0)){console[_0x21c906(0x153)](_0x40756c[_0x21c906(0x1c5)]),console['log']('Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review');return;}let _0x538e03;if(_0x40756c['JAmFX'](_0x4e31a1[_0x21c906(0x1dc)],0x1))_0x538e03=_0x4e31a1[0x0];else{const _0x4d6b8e=process['stdin'][_0x21c906(0x139)]&&process['stdout']['isTTY'];if(!_0x4d6b8e){console[_0x21c906(0x153)](_0x40756c['YbYYX']);for(const _0x5e860f of _0x4e31a1){console[_0x21c906(0x153)]('\x20\x20'+_0x5e860f[_0x21c906(0x1df)]),console[_0x21c906(0x153)]('\x20\x20\x20\x20\x20ID:\x20'+_0x5e860f['id']),_0x5e860f['stats']&&console[_0x21c906(0x153)](_0x21c906(0x138)+getProgressDisplay(_0x5e860f[_0x21c906(0x1d7)])),_0x5e860f[_0x21c906(0x192)]&&console['log'](_0x21c906(0x1f9)+_0x5e860f['gitBranch']);}throw new Error(_0x21c906(0x1e9));}const {selected:_0x1b8e21}=await _0xc796d3['prompt']([{'type':_0x21c906(0x189),'name':_0x40756c[_0x21c906(0x209)],'message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x4e31a1['map'](_0x1e297a=>({'name':_0x1e297a[_0x21c906(0x1df)]+'\x20('+_0x1e297a['id']+')','value':_0x1e297a['id']}))}]);_0x538e03=_0x4e31a1[_0x21c906(0x17d)](_0x816de=>_0x816de['id']===_0x1b8e21);}await _0x40756c['CwsHr'](setActiveFeatureId,_0x538e03['id']);_0x532e0d&&_0x532e0d!==_0x538e03['gitBranch']&&(await _0x40756c[_0x21c906(0x15f)](updateFeature,_0x538e03['id'],{'gitBranch':_0x532e0d}),console[_0x21c906(0x153)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x532e0d));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x538e03[_0x21c906(0x1df)]+'\x20('+_0x538e03['id']+')'),await tryStartCurrentSession(_0x538e03['id']);const _0xd6686c=await _0x40756c[_0x21c906(0x18f)](getFeature,_0x538e03['id']),_0x6af3c8=process['env'][_0x21c906(0x1fa)];_0x6af3c8&&_0x40756c['jkdpB'](registerSession,_0x6af3c8,_0xd6686c['id']),_0x40756c['jkdpB'](displayFeature,_0xd6686c,_0xd6686c['checklistItems']),await _0x40756c[_0x21c906(0x13d)](printFeedbackNudge,_0xd6686c['id']);}async function printFeedbackNudge(_0x4afb38){const _0x197379=_0x4a9d,_0x1bd24c={'YpQdt':function(_0x43a4c0,_0x2a896d){return _0x43a4c0(_0x2a896d);},'jNuEc':function(_0x3ad5ba,_0x54cff5,_0x4f0c48){return _0x3ad5ba(_0x54cff5,_0x4f0c48);},'WsftM':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0xe28723}=await _0x1bd24c[_0x197379(0x163)](getActionItems,_0x4afb38);let _0x20ba9a=0x0,_0x19d1fe=0x0;for(const _0x24f078 of _0xe28723){const _0x4e77e1=await _0x1bd24c['jNuEc'](getItemFeedback,_0x4afb38,_0x24f078['id']);_0x4e77e1['unaddressedComments'][_0x197379(0x1dc)]>0x0&&(_0x20ba9a+=_0x4e77e1[_0x197379(0x1b2)][_0x197379(0x1dc)],_0x19d1fe++);}_0x20ba9a>0x0&&(console[_0x197379(0x153)]('\x0a⚠️\x20\x20'+_0x20ba9a+_0x197379(0x1ad)+_0x19d1fe+'\x20scenario(s).'),console['log'](_0x1bd24c['WsftM']));}catch{}}async function tryStartCurrentSession(_0x30d8c6){const _0x5221e1=_0x4a9d,_0xc4a8a3={'JZHgW':function(_0x10b9fa,_0x2a7513){return _0x10b9fa(_0x2a7513);}};try{const {sessions:_0x3dd2ba}=await _0xc4a8a3['JZHgW'](listFeatureSessions,_0x30d8c6),_0x586046=_0x3dd2ba['find'](_0x1a1a59=>_0x1a1a59[_0x5221e1(0x136)]==='ready');_0x586046&&(await startSession(_0x30d8c6,_0x586046['id']),console[_0x5221e1(0x153)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x586046['iteration']));}catch{}}export async function featureReport(_0x29bfef,_0x2c1fe8){const _0x3c66de=_0x4a9d,_0x1f2954={'nlCIt':function(_0x2fc26f){return _0x2fc26f();},'FCTSe':_0x3c66de(0x1c8),'wFpuQ':'\x0aGenerating\x20report...','MeKOo':function(_0x419269,_0x4da75f,_0x386039){return _0x419269(_0x4da75f,_0x386039);},'CPfvF':function(_0x4adf42,_0x18a06c,_0xb388d3,_0x395e06){return _0x4adf42(_0x18a06c,_0xb388d3,_0x395e06);},'mAPYI':'utf-8'},_0x4720be=_0x29bfef||await _0x1f2954['nlCIt'](getActiveFeatureId);if(!_0x4720be)throw new Error(_0x1f2954[_0x3c66de(0x20d)]);console['log'](_0x1f2954['wFpuQ']);const _0x34cea1=await _0x1f2954[_0x3c66de(0x17c)](getFeatureReportMarkdown,_0x4720be,{'style':_0x2c1fe8[_0x3c66de(0x156)]}),_0x21e80e=_0x2c1fe8[_0x3c66de(0x16f)]||_0x1f2954['CPfvF'](join,_0x1f2954['nlCIt'](getRangerDir),'reports',_0x4720be+_0x3c66de(0x20e)),_0x525960=_0x1f2954['MeKOo'](join,_0x21e80e,'..');!existsSync(_0x525960)&&await _0x1f2954[_0x3c66de(0x17c)](mkdir,_0x525960,{'recursive':!![]}),await writeFile(_0x21e80e,_0x34cea1,_0x1f2954[_0x3c66de(0x14d)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x21e80e);}function getScenarioResult(_0x319e3f){const _0x3986fc=_0x4a9d,_0x26efd0={'zLsTE':'closed','xgpEB':function(_0x50c68e,_0x133ee6){return _0x50c68e===_0x133ee6;},'fYlVu':_0x3986fc(0x1ec)};if(_0x319e3f[_0x3986fc(0x136)]===_0x26efd0['zLsTE'])return _0x319e3f['terminalReason']??_0x26efd0['zLsTE'];if(_0x26efd0['xgpEB'](_0x319e3f[_0x3986fc(0x136)],_0x26efd0[_0x3986fc(0x1ed)]))return'in_progress';return _0x319e3f[_0x3986fc(0x136)];}function getScenarioRationale(_0x19e5ed,_0x5c98a4){const _0x148ce4=_0x4a9d;if(_0x5c98a4)return _0x5c98a4;if(_0x19e5ed['blockedReason'])return _0x19e5ed['blockedReason'];if(_0x19e5ed['incompleteReason'])return _0x19e5ed[_0x148ce4(0x143)];if(_0x19e5ed['canceledReason'])return _0x19e5ed['canceledReason'];if(_0x19e5ed['notes'])return _0x19e5ed['notes'];return null;}export async function featureReportPrDescription(_0x16b01f,_0x365498){const _0x10683d=_0x4a9d,_0x373674={'gKdCU':function(_0x3d67d7){return _0x3d67d7();},'puPzM':_0x10683d(0x1c8),'NFcMt':function(_0x49bff6,_0xae3998,_0x102032){return _0x49bff6(_0xae3998,_0x102032);},'KOZgj':_0x10683d(0x200),'XZDGO':_0x10683d(0x194),'QvzFh':function(_0x2e45bb,_0x1dc3f1){return _0x2e45bb<_0x1dc3f1;},'RLBvA':_0x10683d(0x191),'bYtjt':function(_0x1a3157,_0x39742a,_0x5747bc,_0xc8d18e){return _0x1a3157(_0x39742a,_0x5747bc,_0xc8d18e);}},_0x3377c3=_0x16b01f||await _0x373674[_0x10683d(0x1ae)](getActiveFeatureId);if(!_0x3377c3)throw new Error(_0x373674['puPzM']);const _0x3f25fe=await getFeature(_0x3377c3),_0x5d0195=_0x3f25fe['checklistItems']||[],_0x234bbd=_0x373674['NFcMt'](getCurrentSessionItems,_0x3f25fe,_0x5d0195);_0x234bbd['length']===0x0&&(console[_0x10683d(0x14f)](_0x373674[_0x10683d(0x1ab)]),process[_0x10683d(0x1d2)](0x1));const _0x11efe4=_0x365498[_0x10683d(0x1dd)]??[],_0x4d1c96=_0x11efe4[_0x10683d(0x1e8)](_0x18db26=>!Number['isInteger'](_0x18db26)||_0x18db26<0x1||_0x18db26>_0x234bbd[_0x10683d(0x1dc)]);if(_0x4d1c96[_0x10683d(0x1dc)]>0x0){console[_0x10683d(0x14f)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4d1c96['join'](',\x20')),console[_0x10683d(0x153)](_0x373674['XZDGO']);for(let _0x16c946=0x0;_0x373674[_0x10683d(0x18d)](_0x16c946,_0x234bbd['length']);_0x16c946++){console['log']('\x20\x20'+(_0x16c946+0x1)+'.\x20'+_0x234bbd[_0x16c946][_0x10683d(0x1b0)]);}process['exit'](0x1);}const _0xa7a16b=new Set(_0x11efe4[_0x10683d(0x1c1)](_0x537a02=>_0x537a02-0x1)),_0x585ca9=_0x234bbd[_0x10683d(0x1e8)]((_0x3c76ac,_0x469698)=>!_0xa7a16b[_0x10683d(0x19c)](_0x469698));_0x585ca9['length']===0x0&&(console['error'](_0x373674['RLBvA']),process['exit'](0x1));if(_0x365498['json'])await _0x373674[_0x10683d(0x13b)](outputJsonReport,_0x3377c3,_0x3f25fe,_0x585ca9);else{const _0xb79ced=await getFeatureReportMarkdown(_0x3377c3,{'itemIds':_0x585ca9[_0x10683d(0x1c1)](_0x59e37d=>_0x59e37d['id'])});process['stdout']['write'](_0xb79ced['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x13b4d3,_0x5d4bd4,_0x1c5565){const _0x529614=_0x4a9d,_0x327291={'oJdvN':function(_0x16e32a,_0x5006e5,_0x4873fe){return _0x16e32a(_0x5006e5,_0x4873fe);},'bQyMA':function(_0x22786e){return _0x22786e();},'dJyBl':function(_0x3cff8d,_0xac316){return _0x3cff8d(_0xac316);}},_0x2718bf=_0x327291[_0x529614(0x165)](getApiBaseUrl),_0x279321=await _0x327291['dJyBl'](getFeatureReport,_0x13b4d3),_0x156ddc=new Map(_0x279321[_0x529614(0x195)]['map'](_0x1583d9=>[_0x1583d9['id'],_0x1583d9])),_0x11adcf=await Promise[_0x529614(0x15d)](_0x1c5565[_0x529614(0x1c1)](async _0x28ac17=>{const _0x3d33ce=_0x529614,_0x383327=_0x156ddc[_0x3d33ce(0x1a3)](_0x28ac17['id']),_0x2a926c=_0x383327?.['linkedSession']??null;let _0x50433a=[];if(_0x28ac17['browserSessionId'])try{const {steps:_0x2f09e2}=await getBrowserSessionSteps(_0x28ac17['browserSessionId']);_0x2f09e2[_0x3d33ce(0x1dc)]>0x0&&(_0x50433a=_0x2f09e2['map'](_0x121d3c=>{const _0x59d680=_0x3d33ce,_0x2eccae=_0x121d3c[_0x59d680(0x1bb)]['find'](_0x3c6856=>_0x3c6856['assetType']==='screenshot'&&_0x3c6856['timing']==='after')??_0x121d3c[_0x59d680(0x1bb)][_0x59d680(0x17d)](_0x30b4ec=>_0x30b4ec['assetType']==='screenshot');let _0x53e4f3=null,_0x303cd7=null;if(_0x2eccae){const _0x48d3a4=_0x2eccae[_0x59d680(0x1a8)][_0x59d680(0x1ee)][_0x59d680(0x146)]('/')['pop']();_0x53e4f3=_0x2718bf+_0x59d680(0x144)+_0x28ac17['browserSessionId']+_0x59d680(0x1db)+_0x48d3a4,_0x48d3a4&&(_0x303cd7=_0x48d3a4['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x59d680(0x16a)](/[-_]/g,'\x20'));}return{'description':_0x303cd7||_0x121d3c[_0x59d680(0x1b0)]||_0x121d3c['stepName']||'Step\x20'+_0x121d3c['position'],'screenshot':_0x53e4f3,'is_key_step':_0x121d3c[_0x59d680(0x141)]};}));}catch{}return _0x50433a[_0x3d33ce(0x1dc)]===0x0&&_0x2a926c?.['screenshotUrls']&&(_0x50433a=_0x2a926c[_0x3d33ce(0x1a5)]['map']((_0x22fdd6,_0x175f66)=>({'description':'Screenshot\x20'+(_0x175f66+0x1),'screenshot':_0x22fdd6,'is_key_step':![]}))),{'description':_0x28ac17['description'],'result':getScenarioResult(_0x28ac17),'rationale':_0x327291[_0x3d33ce(0x171)](getScenarioRationale,_0x28ac17,_0x2a926c?.['agentResponse']),'steps':_0x50433a};})),_0x56d111={'url':_0x5d4bd4['dashboardUrl'],'scenarios':_0x11adcf};process[_0x529614(0x1d0)][_0x529614(0x183)](JSON['stringify'](_0x56d111,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2f2665){const _0x596aef=_0x4a9d,_0x1e26ca={'JfVFu':function(_0x3c45ad){return _0x3c45ad();},'hpIIa':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HxiJK':function(_0x4e0de8,_0xf063e6){return _0x4e0de8(_0xf063e6);},'yogoY':_0x596aef(0x13f),'eJDKQ':function(_0x568eb1,_0x190ffd){return _0x568eb1===_0x190ffd;},'QgPXK':'completed','oHlrP':_0x596aef(0x19a),'OuxVQ':function(_0x6c37d7,_0x4569ea){return _0x6c37d7!==_0x4569ea;},'nGaZF':'in_progress','bEnLW':_0x596aef(0x180),'UaTOo':function(_0x2ef064,_0x4d6dfe,_0x6b86ba){return _0x2ef064(_0x4d6dfe,_0x6b86ba);}},_0x293d83=_0x2f2665||await _0x1e26ca['JfVFu'](getActiveFeatureId);if(!_0x293d83)throw new Error(_0x1e26ca['hpIIa']);const _0x1343cd=await _0x1e26ca[_0x596aef(0x15e)](getFeature,_0x293d83);if(!_0x1343cd[_0x596aef(0x202)])throw new Error(_0x596aef(0x1f3));const {sessions:_0x1875cf}=await listFeatureSessions(_0x293d83),_0x4c57e6=_0x1875cf[_0x596aef(0x17d)](_0x272b6d=>_0x272b6d['id']===_0x1343cd[_0x596aef(0x202)]);if(!_0x4c57e6)throw new Error(_0x1e26ca[_0x596aef(0x150)]);if(_0x1e26ca['eJDKQ'](_0x4c57e6[_0x596aef(0x136)],_0x1e26ca[_0x596aef(0x1b8)])){console['log'](_0x1e26ca['oHlrP']);return;}if(_0x1e26ca[_0x596aef(0x1cb)](_0x4c57e6['status'],_0x1e26ca[_0x596aef(0x199)]))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x4c57e6['status']);console['log'](_0x1e26ca[_0x596aef(0x1fd)]),await _0x1e26ca['UaTOo'](concludeSession,_0x293d83,_0x1343cd['currentSessionId']),console['log'](_0x596aef(0x1d8)+_0x4c57e6[_0x596aef(0x1d9)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x4f25f0){const _0x56f2a3=_0x4a9d,_0x383c05={'QEjbZ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','UxGNR':function(_0x1af4ee,_0x371e1c){return _0x1af4ee(_0x371e1c);},'lPkUo':function(_0xc3d2b,_0x26919e){return _0xc3d2b(_0x26919e);},'qyulc':function(_0x259d9a,_0x3b5538){return _0x259d9a===_0x3b5538;},'bGSTa':_0x56f2a3(0x161),'jnweH':function(_0x14ed87,_0x52cd44){return _0x14ed87===_0x52cd44;}},_0x2c77a7=_0x4f25f0||await getActiveFeatureId();if(!_0x2c77a7)throw new Error(_0x383c05['QEjbZ']);const _0x3a2479=await _0x383c05[_0x56f2a3(0x1c7)](getFeature,_0x2c77a7);console[_0x56f2a3(0x153)](_0x56f2a3(0x148)+_0x3a2479['name']+'\x0a');const {sessions:_0xdb4f56}=await _0x383c05[_0x56f2a3(0x13c)](listFeatureSessions,_0x2c77a7);if(_0x383c05['qyulc'](_0xdb4f56[_0x56f2a3(0x1dc)],0x0)){console[_0x56f2a3(0x153)](_0x383c05['bGSTa']);return;}for(const _0x390ba0 of _0xdb4f56){const _0x16b002=_0x383c05['jnweH'](_0x390ba0['status'],'completed')?'✅':_0x390ba0[_0x56f2a3(0x136)]==='in_progress'?'🔄':'▶️';console[_0x56f2a3(0x153)](_0x16b002+'\x20Session\x20'+_0x390ba0['iteration']+'\x20('+_0x390ba0['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x390ba0[_0x56f2a3(0x136)]),console['log'](_0x56f2a3(0x1fc)+new Date(_0x390ba0[_0x56f2a3(0x1a9)])['toLocaleString']()),_0x390ba0['completedAt']&&console[_0x56f2a3(0x153)](_0x56f2a3(0x18a)+new Date(_0x390ba0['completedAt'])[_0x56f2a3(0x204)]()),console[_0x56f2a3(0x153)]('');}}function _0x4a9d(_0x1d3707,_0x28572f){_0x1d3707=_0x1d3707-0x133;const _0x4e4b1b=_0x4e4b();let _0x4a9dde=_0x4e4b1b[_0x1d3707];return _0x4a9dde;}export async function featureAddScenario(_0x6f7955,_0x5d749e){const _0x299e1a=_0x4a9d,_0x3cf5e7={'ufYOh':function(_0x2fd4e2){return _0x2fd4e2();},'TAVlP':_0x299e1a(0x168),'aAoZM':function(_0x285bd9,_0x42fd5a){return _0x285bd9(_0x42fd5a);},'zFHAR':function(_0x4e3dfc,_0x3afcdd,_0x4f59ed){return _0x4e3dfc(_0x3afcdd,_0x4f59ed);}},_0x42903a=_0x5d749e||await _0x3cf5e7['ufYOh'](getActiveFeatureId);if(!_0x42903a)throw new Error(_0x3cf5e7['TAVlP']);const _0x260c02=await _0x3cf5e7['aAoZM'](getFeature,_0x42903a);if(_0x260c02[_0x299e1a(0x1b5)]&&!_0x260c02[_0x299e1a(0x1b5)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x260c02['dashboardUrl']);await createChecklistItem(_0x42903a,_0x6f7955);const _0x32af0e=await _0x3cf5e7['aAoZM'](getFeature,_0x42903a);console[_0x299e1a(0x153)]('\x0a✅\x20Scenario\x20added'),_0x3cf5e7[_0x299e1a(0x157)](displayFeature,_0x32af0e,_0x32af0e[_0x299e1a(0x195)]);}export async function featureEditScenario(_0x8cd6e2,_0x37b7f3){const _0x57184b=_0x4a9d,_0x468c0b={'qyCwQ':function(_0x203d2c){return _0x203d2c();},'ocMDF':function(_0x1863bb,_0x5d63f3){return _0x1863bb(_0x5d63f3);},'NTaUL':_0x57184b(0x181),'yNgGI':function(_0x2565ea,_0x3312d4){return _0x2565ea===_0x3312d4;},'aMIho':_0x57184b(0x1a7),'NZGPf':function(_0x2e5a46,_0x6ba5a5){return _0x2e5a46<_0x6ba5a5;},'IUAAG':function(_0x33b29b,_0xb3e37f){return _0x33b29b+_0xb3e37f;},'dfSGo':function(_0x501687,_0x4e9919){return _0x501687+_0x4e9919;},'eruzq':function(_0x2dcb80,_0x1cfd5f,_0x56aa7c,_0x5adc23){return _0x2dcb80(_0x1cfd5f,_0x56aa7c,_0x5adc23);}},_0x5100e7=_0x37b7f3['id']||await _0x468c0b['qyCwQ'](getActiveFeatureId);!_0x5100e7&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x57184b(0x190)),process[_0x57184b(0x1d2)](0x1));const _0x1a803a=await _0x468c0b['ocMDF'](getFeature,_0x5100e7);_0x1a803a[_0x57184b(0x1b5)]&&!_0x1a803a[_0x57184b(0x1b5)]['submittedAt']&&(console['error'](_0x468c0b[_0x57184b(0x154)]),console['error']('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0x1a803a['dashboardUrl']),process['exit'](0x1));const _0x4fdad6=_0x1a803a[_0x57184b(0x195)]||[];_0x468c0b['yNgGI'](_0x4fdad6[_0x57184b(0x1dc)],0x0)&&(console['error'](_0x468c0b['aMIho']),process['exit'](0x1));if(_0x37b7f3['scenario']===undefined){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x57184b(0x153)]('\x0aAvailable\x20scenarios:');for(let _0x3d0eda=0x0;_0x468c0b['NZGPf'](_0x3d0eda,_0x4fdad6[_0x57184b(0x1dc)]);_0x3d0eda++){console[_0x57184b(0x153)]('\x20\x20'+_0x468c0b[_0x57184b(0x184)](_0x3d0eda,0x1)+'.\x20'+_0x4fdad6[_0x3d0eda]['description']);}process['exit'](0x1);}const _0x202fb6=_0x37b7f3[_0x57184b(0x1e3)]-0x1;if(_0x202fb6<0x0||_0x202fb6>=_0x4fdad6[_0x57184b(0x1dc)]){console[_0x57184b(0x14f)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x37b7f3['scenario']+_0x57184b(0x1f2)+_0x4fdad6['length']+'\x20scenarios.'),console['log'](_0x57184b(0x194));for(let _0x425873=0x0;_0x425873<_0x4fdad6['length'];_0x425873++){console['log']('\x20\x20'+_0x468c0b[_0x57184b(0x1e0)](_0x425873,0x1)+'.\x20'+_0x4fdad6[_0x425873]['description']);}process[_0x57184b(0x1d2)](0x1);}const _0x39f165=_0x4fdad6[_0x202fb6];await _0x468c0b['eruzq'](updateChecklistItem,_0x5100e7,_0x39f165['id'],{'description':_0x8cd6e2});const _0x27cf58=await _0x468c0b['ocMDF'](getFeature,_0x5100e7);console[_0x57184b(0x153)](_0x57184b(0x1ba)),displayFeature(_0x27cf58,_0x27cf58[_0x57184b(0x195)]);}async function downloadFeedbackImage(_0x4523b4,_0x3cbb6f){const _0x5e658f=_0x4a9d,_0x59769e={'FADwy':function(_0x3fea25,_0x1ee634,_0x602055){return _0x3fea25(_0x1ee634,_0x602055);},'BDVVJ':function(_0x33097e){return _0x33097e();},'saiZP':function(_0x43e90e,_0x2c7950,_0x64c471){return _0x43e90e(_0x2c7950,_0x64c471);},'DOwHg':function(_0x119726,_0x2ebc06){return _0x119726(_0x2ebc06);}};try{const _0x10d25d=_0x59769e[_0x5e658f(0x203)](join,_0x59769e['BDVVJ'](getRangerDir),'feedback-images');await _0x59769e[_0x5e658f(0x198)](mkdir,_0x10d25d,{'recursive':!![]});const _0x4a867a=join(_0x10d25d,'comment_'+_0x3cbb6f+_0x5e658f(0x20b)),_0x295a4a=await _0x59769e['DOwHg'](fetch,_0x4523b4);if(!_0x295a4a['ok'])return null;const _0x390fb5=Buffer['from'](await _0x295a4a['arrayBuffer']());return await writeFile(_0x4a867a,_0x390fb5),_0x4a867a;}catch{return null;}}export async function featureGetReview(_0x290efc){const _0x543d3e=_0x4a9d,_0x43ac5f={'XecHG':function(_0x8e6fb0,_0xf832ce){return _0x8e6fb0(_0xf832ce);},'fAUsi':function(_0x590bb4,_0x513849){return _0x590bb4===_0x513849;},'qYjdh':function(_0x59278d,_0x3e6ecc){return _0x59278d>_0x3e6ecc;},'KbHtQ':function(_0x4ed241,_0x4ba37f){return _0x4ed241>_0x4ba37f;},'FFBRg':function(_0x52be06,_0x3fbbe1){return _0x52be06+_0x3fbbe1;},'AsFnw':_0x543d3e(0x15c),'XRRiA':_0x543d3e(0x1c9),'huCSS':function(_0x3243f4,_0x33bed4){return _0x3243f4+_0x33bed4;}},_0x58f3d9=_0x290efc||await getActiveFeatureId();if(!_0x58f3d9)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 _0x37fc0f=await _0x43ac5f[_0x543d3e(0x1b1)](getFeature,_0x58f3d9),{items:_0x4fd692}=await getActionItems(_0x58f3d9);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x37fc0f[_0x543d3e(0x1df)]+'\x20('+_0x37fc0f['id']+')\x0a');if(_0x43ac5f[_0x543d3e(0x15a)](_0x4fd692['length'],0x0)){console[_0x543d3e(0x153)](_0x543d3e(0x1e5));return;}for(let _0x561469=0x0;_0x561469<_0x4fd692['length'];_0x561469++){const _0x19b22a=_0x4fd692[_0x561469],_0x7479a2=_0x43ac5f[_0x543d3e(0x134)](_0x19b22a['version'],0x1)?'\x20(v'+_0x19b22a[_0x543d3e(0x1ca)]+')':'',_0x4f71c1=await getItemFeedback(_0x58f3d9,_0x19b22a['id']);if(_0x43ac5f['KbHtQ'](_0x4f71c1['unaddressedComments'][_0x543d3e(0x1dc)],0x0)){console['log']('Scenario\x20'+_0x43ac5f[_0x543d3e(0x1b7)](_0x561469,0x1)+':\x20\x22'+_0x19b22a['description']+'\x22'+_0x7479a2+'\x20—\x20'+_0x4f71c1[_0x543d3e(0x1b2)][_0x543d3e(0x1dc)]+'\x20unaddressed\x20comment(s)');for(const _0x4381fc of _0x4f71c1[_0x543d3e(0x1b2)]){const _0x19de8d=new Date(_0x4381fc['createdAt'])[_0x543d3e(0x1f4)](_0x543d3e(0x160),{'month':'short','day':_0x43ac5f[_0x543d3e(0x152)]}),_0x191bb4=_0x4381fc['authorName']||_0x4381fc[_0x543d3e(0x20c)]||'Unknown';console[_0x543d3e(0x153)]('\x20\x20💬\x20'+_0x191bb4+'\x20('+_0x19de8d+'):\x20\x22'+_0x4381fc['content']+'\x22');if(_0x4381fc[_0x543d3e(0x159)]){const _0x2cd4dc=await downloadFeedbackImage(_0x4381fc[_0x543d3e(0x159)],_0x4381fc['id']);_0x2cd4dc&&console[_0x543d3e(0x153)](_0x543d3e(0x197)+_0x2cd4dc);}if(_0x4381fc[_0x543d3e(0x188)]){const _0x3be26c=_0x4381fc['domRef']['selector']['split'](_0x543d3e(0x1d6))['pop']()?.[_0x543d3e(0x146)](':')[0x0]||_0x43ac5f['XRRiA'],_0x5a8651=_0x4381fc[_0x543d3e(0x188)][_0x543d3e(0x1d1)]?'\x20\x22'+_0x4381fc[_0x543d3e(0x188)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3be26c+'>'+_0x5a8651),console['log'](_0x543d3e(0x1b3)+_0x4381fc[_0x543d3e(0x188)]['selector']);}else{if(_0x4381fc['spatial']){const _0x214f3c=_0x4381fc[_0x543d3e(0x13e)][_0x543d3e(0x16b)];_0x4381fc['spatial']['type']==='point'&&_0x214f3c[_0x543d3e(0x1dc)]>=0x2?console['log'](_0x543d3e(0x17e)+_0x214f3c[0x0]['toFixed'](0x2)+',\x20'+_0x214f3c[0x1]['toFixed'](0x2)+')'):console[_0x543d3e(0x153)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x4381fc[_0x543d3e(0x13e)][_0x543d3e(0x1a6)]+_0x543d3e(0x18b)+_0x214f3c['map'](_0x202d41=>_0x202d41['toFixed'](0x2))[_0x543d3e(0x1e2)](',\x20')+']');}}}if(_0x4f71c1[_0x543d3e(0x1e7)]){console[_0x543d3e(0x153)]('\x20\x20Expected\x20flow:');for(const _0x33737f of _0x4f71c1['canonicalFlow']['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0x33737f);}}}else console['log'](_0x543d3e(0x155)+_0x43ac5f[_0x543d3e(0x1a1)](_0x561469,0x1)+':\x20\x22'+_0x19b22a['description']+'\x22'+_0x7479a2+_0x543d3e(0x1b6)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x543d3e(0x153)]('');}}export async function featureDelete(_0x2c08d3){const _0x5b4aad=_0x4a9d,_0x59def4={'wdsuv':function(_0x5e91ae,_0x4202b4){return _0x5e91ae(_0x4202b4);},'VbXth':function(_0x2152e1,_0xeb906a){return _0x2152e1+_0xeb906a;}},_0x5df667=_0x2c08d3||await getActiveFeatureId();if(!_0x5df667)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 _0xb6a738=await _0x59def4[_0x5b4aad(0x1f1)](getFeature,_0x5df667);await _0x59def4['wdsuv'](softDeleteFeature,_0x5df667),console[_0x5b4aad(0x153)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0xb6a738[_0x5b4aad(0x1df)]+'\x20('+_0x5df667+')'),console['log'](_0x59def4[_0x5b4aad(0x140)](_0x5b4aad(0x1eb),_0x5df667));}export async function featureRestore(_0x144e20){const _0x49c451=_0x4a9d,_0x285f17={'WCGwh':function(_0x453092,_0x15c70a){return _0x453092(_0x15c70a);},'takkK':function(_0x3e3966,_0x5b309f,_0x30bcf6){return _0x3e3966(_0x5b309f,_0x30bcf6);}};await restoreFeature(_0x144e20);const _0x4e980c=await _0x285f17['WCGwh'](getFeature,_0x144e20);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4e980c[_0x49c451(0x1df)]+'\x20('+_0x144e20+')'),_0x285f17['takkK'](displayFeature,_0x4e980c,_0x4e980c[_0x49c451(0x195)]);}
|
|
1
|
+
const _0x48552e=_0x94bc;(function(_0x499508,_0x1e5a2b){const _0x3d9048=_0x94bc,_0x516fa7=_0x499508();while(!![]){try{const _0x2250de=parseInt(_0x3d9048(0x150))/0x1+-parseInt(_0x3d9048(0x19d))/0x2*(-parseInt(_0x3d9048(0x113))/0x3)+-parseInt(_0x3d9048(0x126))/0x4*(parseInt(_0x3d9048(0x187))/0x5)+parseInt(_0x3d9048(0x101))/0x6*(parseInt(_0x3d9048(0xe5))/0x7)+-parseInt(_0x3d9048(0x142))/0x8*(parseInt(_0x3d9048(0x13a))/0x9)+parseInt(_0x3d9048(0xcf))/0xa*(parseInt(_0x3d9048(0xd7))/0xb)+-parseInt(_0x3d9048(0xf5))/0xc;if(_0x2250de===_0x1e5a2b)break;else _0x516fa7['push'](_0x516fa7['shift']());}catch(_0x5e8ff3){_0x516fa7['push'](_0x516fa7['shift']());}}}(_0x1bb3,0xbb244));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x8c3609 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x48552e(0x16f),bold=_0x32db3a=>_0x48552e(0xf8)+_0x32db3a+'\x1b[0m';function getGitRepoUrl(){const _0x20183a=_0x48552e,_0x5cb2c5={'YfNkv':function(_0xe8e4ec,_0x5d8d70,_0x8da28c){return _0xe8e4ec(_0x5d8d70,_0x8da28c);},'aIiEh':'git\x20remote\x20get-url\x20origin','QKkyi':'pipe'};try{const _0x45c6d1=_0x5cb2c5[_0x20183a(0x186)](execSync,_0x5cb2c5[_0x20183a(0x11b)],{'encoding':'utf-8','stdio':['pipe',_0x5cb2c5['QKkyi'],_0x20183a(0xf6)]})[_0x20183a(0x10e)]();return _0x45c6d1[_0x20183a(0x122)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x20183a(0x102))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x109bb2=_0x48552e,_0x50f301={'wlvno':function(_0x196acb,_0x33f7b5,_0x127641){return _0x196acb(_0x33f7b5,_0x127641);},'VBSMv':'utf-8'};try{return _0x50f301['wlvno'](execSync,_0x109bb2(0xc9),{'encoding':_0x50f301[_0x109bb2(0x137)],'stdio':['pipe',_0x109bb2(0xf6),_0x109bb2(0xf6)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1c4603=_0x48552e,_0x50dbd9={'gsQsA':function(_0x3f4cfb){return _0x3f4cfb();},'kxRfi':_0x1c4603(0xfa)},_0x55df1e=join(_0x50dbd9[_0x1c4603(0x1a5)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x55df1e))return null;try{const _0x101682=await readFile(_0x55df1e,_0x50dbd9['kxRfi']);return _0x101682[_0x1c4603(0x10e)]()||null;}catch{return null;}}function _0x94bc(_0x17baea,_0x1c4fae){_0x17baea=_0x17baea-0xc3;const _0x1bb3a9=_0x1bb3();let _0x94bc7f=_0x1bb3a9[_0x17baea];return _0x94bc7f;}async function setActiveFeatureId(_0x1a2da1){const _0x2520d2=_0x48552e,_0x2726a0={'loiWD':function(_0x2b87b5){return _0x2b87b5();},'sqMPq':function(_0x8b550c,_0x528eb0){return _0x8b550c(_0x528eb0);},'QdvgH':function(_0x57a93a,_0x408521,_0x5c5618){return _0x57a93a(_0x408521,_0x5c5618);},'rulIh':_0x2520d2(0xfa)},_0xaf371b=_0x2726a0['loiWD'](getRangerDir),_0x2c192b=join(_0xaf371b,ACTIVE_FEATURE_FILE);!_0x2726a0['sqMPq'](existsSync,_0xaf371b)&&await _0x2726a0['QdvgH'](mkdir,_0xaf371b,{'recursive':!![]}),await writeFile(_0x2c192b,_0x1a2da1,_0x2726a0[_0x2520d2(0x18c)]);}function getProgressDisplay(_0x1a0c13){const _0xf5e535=_0x48552e,_0x404ac8={'bMWJb':function(_0xc49e3f,_0x1e3d93){return _0xc49e3f+_0x1e3d93;},'JkKlE':function(_0x2271e0,_0x31b77f){return _0x2271e0/_0x31b77f;},'kQRpx':function(_0x2026c2,_0x1b10cf){return _0x2026c2>_0x1b10cf;}},_0x4d2101=_0x1a0c13['verifiedItems']||0x0,_0x552fa7=_0x1a0c13['verificationInProgressItems']||0x0,_0x4aeb15=_0x1a0c13[_0xf5e535(0xec)]||0x0,_0x2a77f9=_0x1a0c13[_0xf5e535(0x193)]||0x0,_0x1b43a0=_0x1a0c13[_0xf5e535(0x11a)]||0x0,_0x3ee44c=_0x404ac8['bMWJb'](_0x404ac8[_0xf5e535(0x183)](_0x4d2101+_0x552fa7,_0x4aeb15)+_0x2a77f9,_0x1b43a0);if(_0x3ee44c===0x0)return'-';const _0x2c90df=0xa,_0x186e98=Math[_0xf5e535(0x123)](_0x404ac8[_0xf5e535(0x19b)](_0x4d2101,_0x3ee44c)*_0x2c90df),_0x13fcdd=_0x404ac8['bMWJb']('█'['repeat'](_0x186e98),'░'['repeat'](_0x2c90df-_0x186e98)),_0x7ac38f=[];if(_0x404ac8['kQRpx'](_0x4aeb15,0x0))_0x7ac38f['push'](_0x4aeb15+_0xf5e535(0x130));if(_0x404ac8[_0xf5e535(0xdd)](_0x2a77f9,0x0))_0x7ac38f['push'](_0x2a77f9+_0xf5e535(0x121));if(_0x404ac8[_0xf5e535(0xdd)](_0x552fa7,0x0))_0x7ac38f[_0xf5e535(0xe9)](_0x552fa7+_0xf5e535(0x19e));const _0x51fbec=_0x7ac38f[_0xf5e535(0x188)]>0x0?'\x20('+_0x7ac38f['join'](',\x20')+')':'';return _0x13fcdd+'\x20'+_0x4d2101+'/'+_0x3ee44c+'\x20verified'+_0x51fbec;}function getCurrentSessionItems(_0x29c170,_0xdc078b){const _0x4b29c2=_0x48552e;if(!_0x29c170['currentSessionId'])return _0xdc078b['filter'](_0x58cb9f=>!_0x58cb9f['sessionId']);return _0xdc078b['filter'](_0x3f8f99=>_0x3f8f99[_0x4b29c2(0x181)]===_0x29c170['currentSessionId']||!_0x3f8f99[_0x4b29c2(0x181)]);}function displayFeature(_0x446f0c,_0x15a04a){const _0x34fdb4=_0x48552e,_0x17a1b1={'wbcOy':'\x0a\x20\x20\x20Scenarios:','jCvTb':function(_0x22478b,_0xde2f4e){return _0x22478b<_0xde2f4e;},'LrGHH':_0x34fdb4(0x192),'OSTmj':function(_0x49e4df,_0x1d4146){return _0x49e4df===_0x1d4146;},'fdqgb':function(_0x1900bb,_0x128197){return _0x1900bb===_0x128197;},'fjUaj':'verified','pwefr':function(_0x484988,_0x2628b8){return _0x484988===_0x2628b8;},'pfypM':'incomplete','PULiq':_0x34fdb4(0xe8),'fwGls':function(_0x19f785,_0x33fba2){return _0x19f785>_0x33fba2;},'EVhZY':function(_0x216bcb,_0x385b9b){return _0x216bcb!==_0x385b9b;},'tWkGg':'\x20[has\x20reviewer\x20feedback]','SBZRG':function(_0x1d8aec,_0x1887cd){return _0x1d8aec===_0x1887cd;},'DudCu':_0x34fdb4(0x160),'bZAEY':function(_0x4fbd14,_0x2b8f2a){return _0x4fbd14===_0x2b8f2a;},'ORNBU':function(_0x2a71da,_0x58cda3){return _0x2a71da===_0x58cda3;},'IjVbJ':'approved','rchcY':function(_0x466416,_0x51376d){return _0x466416===_0x51376d;}};console[_0x34fdb4(0xff)]('\x0a'+_0x446f0c[_0x34fdb4(0x11e)]+'\x20('+_0x446f0c[_0x34fdb4(0x195)]+')');_0x446f0c['stats']&&console[_0x34fdb4(0xff)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x446f0c[_0x34fdb4(0xfb)]));_0x446f0c[_0x34fdb4(0xe3)]&&console['log']('\x20\x20\x20Description:\x20'+_0x446f0c[_0x34fdb4(0xe3)]);_0x446f0c[_0x34fdb4(0xef)]&&console['log'](_0x34fdb4(0x133)+_0x446f0c[_0x34fdb4(0xef)]);_0x446f0c[_0x34fdb4(0x176)]&&console['log'](_0x34fdb4(0x109)+_0x446f0c['gitBranch']);console[_0x34fdb4(0xff)](_0x34fdb4(0xf7)+new Date(_0x446f0c['createdAt'])[_0x34fdb4(0xe1)]());_0x446f0c[_0x34fdb4(0x19c)]&&console[_0x34fdb4(0xff)](_0x34fdb4(0x170)+new Date(_0x446f0c['completedAt'])[_0x34fdb4(0xe1)]());if(_0x15a04a&&_0x15a04a['length']>0x0){console['log'](_0x17a1b1['wbcOy']);for(let _0x252186=0x0;_0x17a1b1['jCvTb'](_0x252186,_0x15a04a['length']);_0x252186++){const _0x19c758=_0x15a04a[_0x252186];let _0x20c06d;if(_0x19c758['status']===_0x17a1b1[_0x34fdb4(0x107)]&&_0x17a1b1['OSTmj'](_0x19c758['terminalReason'],'approved'))_0x20c06d='✅';else{if(_0x17a1b1[_0x34fdb4(0x14c)](_0x19c758['status'],_0x17a1b1['fjUaj']))_0x20c06d='🟢';else{if(_0x17a1b1[_0x34fdb4(0xeb)](_0x19c758[_0x34fdb4(0xcc)],_0x17a1b1['pfypM']))_0x20c06d='🟠';else{if(_0x19c758[_0x34fdb4(0xcc)]==='blocked')_0x20c06d='🛑';else{if(_0x19c758['status']===_0x17a1b1['LrGHH'])_0x20c06d='⛔';else _0x19c758['status']===_0x17a1b1['PULiq']?_0x20c06d='⏳':_0x20c06d='⬜';}}}}const _0x3af39f=_0x19c758[_0x34fdb4(0xc3)]>0x1?_0x34fdb4(0xf3)+_0x19c758['version']+')':'',_0x2ddeb1=_0x17a1b1[_0x34fdb4(0xd9)](_0x19c758[_0x34fdb4(0xc3)],0x1)&&_0x19c758[_0x34fdb4(0x16c)]&&_0x17a1b1[_0x34fdb4(0xea)](_0x19c758[_0x34fdb4(0xcc)],_0x34fdb4(0x192))&&_0x17a1b1[_0x34fdb4(0xea)](_0x19c758[_0x34fdb4(0xcc)],'verified')?_0x17a1b1[_0x34fdb4(0x108)]:'';console['log'](_0x34fdb4(0xf0)+(_0x252186+0x1)+'.\x20'+_0x20c06d+'\x20'+_0x19c758[_0x34fdb4(0xe3)]+_0x3af39f+_0x2ddeb1);_0x17a1b1['SBZRG'](_0x19c758[_0x34fdb4(0xcc)],_0x17a1b1[_0x34fdb4(0xe6)])&&_0x19c758[_0x34fdb4(0x196)]&&console['log'](_0x34fdb4(0x18e)+_0x19c758['blockedReason']);_0x19c758[_0x34fdb4(0xcc)]===_0x34fdb4(0x13b)&&_0x19c758['incompleteReason']&&console['log'](_0x34fdb4(0x171)+_0x19c758[_0x34fdb4(0xca)]);if(_0x17a1b1[_0x34fdb4(0x103)](_0x19c758['status'],_0x17a1b1[_0x34fdb4(0x107)])&&_0x17a1b1[_0x34fdb4(0x15c)](_0x19c758[_0x34fdb4(0x191)],_0x17a1b1[_0x34fdb4(0x10c)]))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x17a1b1[_0x34fdb4(0x18a)](_0x19c758['status'],_0x17a1b1[_0x34fdb4(0x107)])&&_0x19c758[_0x34fdb4(0x17e)]&&console[_0x34fdb4(0xff)](_0x34fdb4(0x10b)+_0x19c758[_0x34fdb4(0x17e)]);}}}export async function featureCreate(_0x55449c,_0x4c7a04){const _0x85715f=_0x48552e,_0x541c2a={'GaOur':function(_0x8f349f){return _0x8f349f();},'YLfCu':function(_0x1c57f5,_0x2cf434){return _0x1c57f5===_0x2cf434;},'MvhqS':function(_0x322841,_0x257fb1){return _0x322841(_0x257fb1);},'duvdR':function(_0x2e2266){return _0x2e2266();}},{envNames:_0x354db9}=await getEnvNames();if(_0x354db9['length']===0x0&&!process[_0x85715f(0x1a7)]['RANGER_TEST_USERNAME']){let _0x1217c8=0x0;try{_0x1217c8=(await _0x541c2a[_0x85715f(0x120)](listCloudProfiles))[_0x85715f(0x188)];}catch{_0x1217c8=0x1;}_0x541c2a[_0x85715f(0x173)](_0x1217c8,0x0)&&console[_0x85715f(0x168)]('\x0a'+_0x541c2a['MvhqS'](formatProfileRequiredMessage,_0x6dbdb0=>bold(_0x6dbdb0)));}const _0x4855bb=_0x4c7a04[_0x85715f(0x194)]?_0x4c7a04[_0x85715f(0x194)]['map'](_0x5cadaf=>_0x5cadaf['trim']()):[],_0x3a7231=_0x541c2a['duvdR'](getGitRepoUrl),_0x2fe4ba=_0x541c2a['GaOur'](getGitBranch);console[_0x85715f(0xff)](_0x85715f(0xc6));const _0x2142d8=await createFeature({'name':_0x55449c,'description':_0x4c7a04['description'],'checklist':_0x4855bb,'gitRepoUrl':_0x3a7231,'gitBranch':_0x2fe4ba});await setActiveFeatureId(_0x2142d8['id']),await tryStartCurrentSession(_0x2142d8['id']);const _0x5cd665=process[_0x85715f(0x1a7)]['CLAUDE_SESSION_ID'];_0x5cd665&®isterSession(_0x5cd665,_0x2142d8['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x2142d8['id']),displayFeature(_0x2142d8,_0x2142d8[_0x85715f(0x156)]),console[_0x85715f(0xff)](_0x85715f(0x12c));}export async function featureList(_0x228064){const _0x2ab1fc=_0x48552e,_0x37b134={'bsQET':function(_0x340518){return _0x340518();},'xYOPD':function(_0x21b6dd,_0x137264){return _0x21b6dd(_0x137264);},'NZXDs':'\x0aNo\x20feature\x20reviews\x20found.','Xenqx':function(_0x57b0aa,_0x9afd81){return _0x57b0aa>_0x9afd81;},'HMeJo':_0x2ab1fc(0xc5),'qSIiG':function(_0xd59613,_0x53c553){return _0xd59613(_0x53c553);},'InEYT':function(_0x44fa9a,_0x5cc8d4){return _0x44fa9a<_0x5cc8d4;},'HznDy':function(_0x330447,_0xb7d8af){return _0x330447!==_0xb7d8af;},'noJuJ':'\x20--current-branch','EphBC':_0x2ab1fc(0x174)},_0x1760e8={'limit':_0x228064[_0x2ab1fc(0x179)]??0xa,'offset':_0x228064['offset']??0x0,'includeDeleted':_0x228064['includeDeleted']};_0x228064[_0x2ab1fc(0x12f)]&&(_0x1760e8[_0x2ab1fc(0xef)]=_0x37b134[_0x2ab1fc(0x13e)](getGitRepoUrl),_0x1760e8[_0x2ab1fc(0x176)]=getGitBranch());const _0x2c7e64=await _0x37b134['xYOPD'](listFeatures,_0x1760e8);if(_0x2c7e64[_0x2ab1fc(0x105)][_0x2ab1fc(0x188)]===0x0){console['log'](_0x37b134['NZXDs']);return;}const _0x23cc1e=_0x37b134[_0x2ab1fc(0xdb)](_0x2c7e64[_0x2ab1fc(0x116)],_0x2c7e64['items']['length'])?'Showing\x20'+_0x2c7e64['items']['length']+_0x2ab1fc(0x14f)+_0x2c7e64[_0x2ab1fc(0x116)]:_0x2c7e64['totalCount']+_0x2ab1fc(0xd8);console[_0x2ab1fc(0xff)]('\x0a'+_0x23cc1e+':\x0a');for(const _0x56204c of _0x2c7e64[_0x2ab1fc(0x105)]){const _0xae4066=_0x37b134['HMeJo']['split']('|');let _0x4a0b72=0x0;while(!![]){switch(_0xae4066[_0x4a0b72++]){case'0':console[_0x2ab1fc(0xff)]('\x20\x20\x20Created:\x20'+new Date(_0x56204c[_0x2ab1fc(0x148)])[_0x2ab1fc(0x165)]());continue;case'1':console['log'](''+_0x56204c['name']);continue;case'2':console[_0x2ab1fc(0xff)]('');continue;case'3':console['log'](_0x2ab1fc(0xfe)+_0x56204c['id']);continue;case'4':_0x56204c[_0x2ab1fc(0x176)]&&console[_0x2ab1fc(0xff)]('\x20\x20\x20Branch:\x20'+_0x56204c['gitBranch']);continue;case'5':_0x56204c[_0x2ab1fc(0xfb)]&&console[_0x2ab1fc(0xff)]('\x20\x20\x20Progress:\x20'+_0x37b134[_0x2ab1fc(0x10a)](getProgressDisplay,_0x56204c[_0x2ab1fc(0xfb)]));continue;}break;}}const _0x46d353=_0x1760e8['limit']??0xa,_0x419695=(_0x1760e8[_0x2ab1fc(0x139)]??0x0)+_0x2c7e64['items'][_0x2ab1fc(0x188)];if(_0x37b134[_0x2ab1fc(0x177)](_0x419695,_0x2c7e64[_0x2ab1fc(0x116)])){const _0x11e817=_0x37b134['HznDy'](_0x46d353,0xa)?_0x2ab1fc(0x166)+_0x46d353:'',_0x1f2fa9=_0x228064[_0x2ab1fc(0x12f)]?_0x37b134['noJuJ']:'',_0x19142c=_0x228064[_0x2ab1fc(0x182)]?_0x37b134[_0x2ab1fc(0x198)]:'';console[_0x2ab1fc(0xff)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x419695+_0x11e817+_0x1f2fa9+_0x19142c);}}export async function featureShow(_0x3381ae){const _0x421219=_0x48552e,_0xaf30ad={'GlEKC':_0x421219(0xd4),'VKzSr':function(_0x4d6585,_0x292e9c){return _0x4d6585(_0x292e9c);},'CsjRy':function(_0x411eac,_0x43eb33,_0x26d1b7){return _0x411eac(_0x43eb33,_0x26d1b7);}},_0x4dcbbc=_0x3381ae||await getActiveFeatureId();if(!_0x4dcbbc)throw new Error(_0xaf30ad[_0x421219(0xe4)]);const _0x4db2cd=await _0xaf30ad['VKzSr'](getFeature,_0x4dcbbc);_0xaf30ad[_0x421219(0xf4)](displayFeature,_0x4db2cd,_0x4db2cd[_0x421219(0x156)]);}export async function featureResume(_0x3f35e0){const _0x551edd=_0x48552e,_0x206bb5={'TMoZz':function(_0xf9aa8a,_0x477159){return _0xf9aa8a(_0x477159);},'tflCZ':function(_0x2f68b5,_0x2b0d64,_0x20ae26){return _0x2f68b5(_0x2b0d64,_0x20ae26);},'ELUyK':function(_0x4ecf0c){return _0x4ecf0c();},'TfgNf':'any','XqKLa':function(_0x321a81,_0x1bffa9){return _0x321a81===_0x1bffa9;},'ucJCW':_0x551edd(0x19a),'satnn':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','EakHB':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','mkPRu':_0x551edd(0xe7),'TQgdx':_0x551edd(0x17b)};if(_0x3f35e0){const _0x35711e=await _0x206bb5['TMoZz'](getFeature,_0x3f35e0);await setActiveFeatureId(_0x35711e['id']);const _0x46747f=getGitBranch();_0x46747f&&_0x46747f!==_0x35711e['gitBranch']&&(await _0x206bb5[_0x551edd(0x1a8)](updateFeature,_0x35711e['id'],{'gitBranch':_0x46747f}),console['log'](_0x551edd(0x131)+_0x46747f));console[_0x551edd(0xff)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x35711e[_0x551edd(0x11e)]+'\x20('+_0x35711e['id']+')'),await tryStartCurrentSession(_0x35711e['id']);const _0x4be47e=process[_0x551edd(0x1a7)]['CLAUDE_SESSION_ID'];_0x4be47e&&_0x206bb5[_0x551edd(0x1a8)](registerSession,_0x4be47e,_0x35711e['id']);displayFeature(_0x35711e,_0x35711e['checklistItems']),await _0x206bb5[_0x551edd(0x180)](printFeedbackNudge,_0x35711e['id']);return;}const _0x21e39f=_0x206bb5['ELUyK'](getGitRepoUrl),_0x5b6858=getGitBranch();if(!_0x21e39f&&!_0x5b6858)throw new Error('Not\x20in\x20a\x20git\x20repository.');console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x21e39f||_0x551edd(0x152))+'\x20/\x20'+(_0x5b6858||_0x206bb5[_0x551edd(0xfc)])+'...');const _0x367dfd=await listFeatures({'gitRepoUrl':_0x21e39f,'gitBranch':_0x5b6858}),_0xc50b6c=_0x367dfd[_0x551edd(0x105)]['filter'](_0x3b47ab=>_0x3b47ab[_0x551edd(0xcc)]?_0x3b47ab['status']!=='verified':!_0x3b47ab[_0x551edd(0x19c)]);if(_0x206bb5['XqKLa'](_0xc50b6c['length'],0x0)){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x551edd(0xff)](_0x206bb5[_0x551edd(0x157)]);return;}let _0x3a89cc;if(_0xc50b6c['length']===0x1)_0x3a89cc=_0xc50b6c[0x0];else{const _0x3e8552=process[_0x551edd(0x12b)]['isTTY']&&process['stdout']['isTTY'];if(!_0x3e8552){console['log'](_0x206bb5['satnn']);for(const _0xea23e6 of _0xc50b6c){console['log']('\x20\x20'+_0xea23e6[_0x551edd(0x11e)]),console[_0x551edd(0xff)]('\x20\x20\x20\x20\x20ID:\x20'+_0xea23e6['id']),_0xea23e6['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0xea23e6[_0x551edd(0xfb)])),_0xea23e6[_0x551edd(0x176)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0xea23e6['gitBranch']);}throw new Error(_0x206bb5['EakHB']);}const {selected:_0x92477b}=await _0x8c3609[_0x551edd(0xf9)]([{'type':_0x206bb5[_0x551edd(0xe0)],'name':_0x551edd(0xfd),'message':_0x206bb5['TQgdx'],'choices':_0xc50b6c[_0x551edd(0x124)](_0x57788f=>({'name':_0x57788f[_0x551edd(0x11e)]+'\x20('+_0x57788f['id']+')','value':_0x57788f['id']}))}]);_0x3a89cc=_0xc50b6c[_0x551edd(0x16d)](_0x51d05b=>_0x51d05b['id']===_0x92477b);}await setActiveFeatureId(_0x3a89cc['id']);_0x5b6858&&_0x5b6858!==_0x3a89cc[_0x551edd(0x176)]&&(await updateFeature(_0x3a89cc['id'],{'gitBranch':_0x5b6858}),console['log'](_0x551edd(0x131)+_0x5b6858));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3a89cc['name']+'\x20('+_0x3a89cc['id']+')'),await _0x206bb5[_0x551edd(0x180)](tryStartCurrentSession,_0x3a89cc['id']);const _0x137396=await getFeature(_0x3a89cc['id']),_0xe51ab9=process['env']['CLAUDE_SESSION_ID'];_0xe51ab9&®isterSession(_0xe51ab9,_0x137396['id']),displayFeature(_0x137396,_0x137396['checklistItems']),await _0x206bb5['TMoZz'](printFeedbackNudge,_0x137396['id']);}async function printFeedbackNudge(_0x3f5a9b){const _0x16220c=_0x48552e,_0x22177b={'EkdcM':function(_0x3b6b62,_0x5989f0,_0x3c06d7){return _0x3b6b62(_0x5989f0,_0x3c06d7);},'rRIFw':function(_0x386c5b,_0x35d3e5){return _0x386c5b>_0x35d3e5;},'dMydk':_0x16220c(0x153)};try{const {items:_0x2f024c}=await getActionItems(_0x3f5a9b);let _0x475fb8=0x0,_0x78892b=0x0;for(const _0x18ac4e of _0x2f024c){const _0x2d61ef=await _0x22177b['EkdcM'](getItemFeedback,_0x3f5a9b,_0x18ac4e['id']);_0x2d61ef[_0x16220c(0x114)]['length']>0x0&&(_0x475fb8+=_0x2d61ef[_0x16220c(0x114)]['length'],_0x78892b++);}_0x22177b[_0x16220c(0x12e)](_0x475fb8,0x0)&&(console['log']('\x0a⚠️\x20\x20'+_0x475fb8+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x78892b+_0x16220c(0xd5)),console['log'](_0x22177b[_0x16220c(0x149)]));}catch{}}async function tryStartCurrentSession(_0x47f0c1){const _0x54ed18=_0x48552e,_0x341618={'Qhley':function(_0x3c8acd,_0xa24ec1){return _0x3c8acd(_0xa24ec1);}};try{const {sessions:_0x576f0f}=await _0x341618['Qhley'](listFeatureSessions,_0x47f0c1),_0x127af0=_0x576f0f['find'](_0x4967e8=>_0x4967e8['status']===_0x54ed18(0x1a4));_0x127af0&&(await startSession(_0x47f0c1,_0x127af0['id']),console['log'](_0x54ed18(0x127)+_0x127af0['iteration']));}catch{}}export async function featureReport(_0x3119d9,_0x1a9980){const _0x1f39bb=_0x48552e,_0x4604e3={'IKeOf':function(_0x241c2d){return _0x241c2d();},'OGDrP':_0x1f39bb(0x115),'iBYDE':function(_0x473cba,_0x3189b3,_0x759f7,_0x4c594c){return _0x473cba(_0x3189b3,_0x759f7,_0x4c594c);},'DXFHn':function(_0x5f4856){return _0x5f4856();},'oVdUp':function(_0x511e89,_0x11f0d5,_0x2d94bc){return _0x511e89(_0x11f0d5,_0x2d94bc);},'qARiO':_0x1f39bb(0xfa)},_0x2515dc=_0x3119d9||await _0x4604e3['IKeOf'](getActiveFeatureId);if(!_0x2515dc)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x1f39bb(0xff)](_0x4604e3[_0x1f39bb(0xf2)]);const _0x2f6a0f=await getFeatureReportMarkdown(_0x2515dc,{'style':_0x1a9980[_0x1f39bb(0x110)]}),_0x29201d=_0x1a9980[_0x1f39bb(0x19f)]||_0x4604e3[_0x1f39bb(0x118)](join,_0x4604e3[_0x1f39bb(0x10f)](getRangerDir),_0x1f39bb(0x18f),_0x2515dc+_0x1f39bb(0x159)),_0x1bc85e=join(_0x29201d,'..');!existsSync(_0x1bc85e)&&await _0x4604e3['oVdUp'](mkdir,_0x1bc85e,{'recursive':!![]}),await writeFile(_0x29201d,_0x2f6a0f,_0x4604e3[_0x1f39bb(0x1a3)]),console[_0x1f39bb(0xff)]('\x0a✅\x20Report\x20generated:\x20'+_0x29201d);}function getScenarioResult(_0xffbe8a){const _0x2f7f0d=_0x48552e,_0x81a4d5={'lXpQI':'closed','EzNOI':function(_0x4a075e,_0x366ab2){return _0x4a075e===_0x366ab2;},'ZBvkH':'verification_in_progress','ROoit':'in_progress'};if(_0xffbe8a[_0x2f7f0d(0xcc)]===_0x2f7f0d(0x192))return _0xffbe8a[_0x2f7f0d(0x191)]??_0x81a4d5[_0x2f7f0d(0xd1)];if(_0x81a4d5[_0x2f7f0d(0x190)](_0xffbe8a[_0x2f7f0d(0xcc)],_0x81a4d5[_0x2f7f0d(0x155)]))return _0x81a4d5['ROoit'];return _0xffbe8a[_0x2f7f0d(0xcc)];}function getScenarioRationale(_0x5d2624,_0x478ed9){const _0x13ac13=_0x48552e;if(_0x478ed9)return _0x478ed9;if(_0x5d2624[_0x13ac13(0x196)])return _0x5d2624[_0x13ac13(0x196)];if(_0x5d2624[_0x13ac13(0xca)])return _0x5d2624[_0x13ac13(0xca)];if(_0x5d2624['canceledReason'])return _0x5d2624['canceledReason'];if(_0x5d2624[_0x13ac13(0xc4)])return _0x5d2624[_0x13ac13(0xc4)];return null;}export async function featureReportPrDescription(_0x3baf03,_0x5ae788){const _0x27e890=_0x48552e,_0x532b5d={'eSZzV':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','OjAoU':function(_0x47d0f2,_0x26f09f){return _0x47d0f2(_0x26f09f);},'ORVly':_0x27e890(0x1a6),'hCjGL':function(_0x4cef7e,_0x118242){return _0x4cef7e>_0x118242;},'QCKxZ':_0x27e890(0x14b),'orIrO':function(_0x58b9f8,_0x104e82){return _0x58b9f8<_0x104e82;},'bEAQv':function(_0x21190e,_0x11df28){return _0x21190e===_0x11df28;},'QEpDi':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x4d2ea1=_0x3baf03||await getActiveFeatureId();if(!_0x4d2ea1)throw new Error(_0x532b5d[_0x27e890(0xd6)]);const _0x2ba4cd=await _0x532b5d[_0x27e890(0x18b)](getFeature,_0x4d2ea1),_0x145c72=_0x2ba4cd[_0x27e890(0x156)]||[],_0x54363e=getCurrentSessionItems(_0x2ba4cd,_0x145c72);_0x54363e['length']===0x0&&(console[_0x27e890(0xe2)](_0x532b5d[_0x27e890(0x10d)]),process[_0x27e890(0x136)](0x1));const _0x2606b7=_0x5ae788[_0x27e890(0x138)]??[],_0x5dadff=_0x2606b7['filter'](_0x509915=>!Number['isInteger'](_0x509915)||_0x509915<0x1||_0x509915>_0x54363e['length']);if(_0x532b5d[_0x27e890(0x16b)](_0x5dadff[_0x27e890(0x188)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x5dadff[_0x27e890(0x172)](',\x20')),console['log'](_0x532b5d['QCKxZ']);for(let _0x59845a=0x0;_0x532b5d['orIrO'](_0x59845a,_0x54363e['length']);_0x59845a++){console[_0x27e890(0xff)]('\x20\x20'+(_0x59845a+0x1)+'.\x20'+_0x54363e[_0x59845a]['description']);}process['exit'](0x1);}const _0xe8d0df=new Set(_0x2606b7['map'](_0x1c09ae=>_0x1c09ae-0x1)),_0x515732=_0x54363e[_0x27e890(0xd3)]((_0x554e1e,_0x5d698c)=>!_0xe8d0df[_0x27e890(0x151)](_0x5d698c));_0x532b5d['bEAQv'](_0x515732['length'],0x0)&&(console[_0x27e890(0xe2)](_0x532b5d['QEpDi']),process['exit'](0x1));if(_0x5ae788['json'])await outputJsonReport(_0x4d2ea1,_0x2ba4cd,_0x515732);else{const _0x63d83f=await getFeatureReportMarkdown(_0x4d2ea1,{'itemIds':_0x515732['map'](_0x41703f=>_0x41703f['id'])});process['stdout']['write'](_0x63d83f[_0x27e890(0x1a1)]()+'\x0a');}}async function outputJsonReport(_0x374fa2,_0x28d09f,_0xac2d1){const _0xc2a81f=_0x48552e,_0x449032={'pABjf':function(_0x154cd5,_0x1c0a6){return _0x154cd5>_0x1c0a6;},'GqVMO':function(_0x4f51b5,_0x22096a){return _0x4f51b5(_0x22096a);}},_0x2f9660=getApiBaseUrl(),_0x5d049e=await _0x449032['GqVMO'](getFeatureReport,_0x374fa2),_0x49bd56=new Map(_0x5d049e['checklistItems'][_0xc2a81f(0x124)](_0x2cf423=>[_0x2cf423['id'],_0x2cf423])),_0x295bd3=await Promise['all'](_0xac2d1[_0xc2a81f(0x124)](async _0x4a210e=>{const _0x4b02d2=_0xc2a81f,_0x3e5fa3=_0x49bd56['get'](_0x4a210e['id']),_0x6242ea=_0x3e5fa3?.['linkedSession']??null;let _0x569ea3=[];if(_0x4a210e['browserSessionId'])try{const {steps:_0x3414a7}=await getBrowserSessionSteps(_0x4a210e[_0x4b02d2(0x117)]);_0x449032['pABjf'](_0x3414a7[_0x4b02d2(0x188)],0x0)&&(_0x569ea3=_0x3414a7['map'](_0x21b717=>{const _0x185369=_0x4b02d2,_0x4885e0=_0x21b717['assets']['find'](_0x11faf6=>_0x11faf6['assetType']===_0x185369(0x100)&&_0x11faf6['timing']==='after')??_0x21b717[_0x185369(0x17c)]['find'](_0x128ebe=>_0x128ebe['assetType']==='screenshot');let _0x137355=null,_0x47ef07=null;if(_0x4885e0){const _0x2eeff2=_0x4885e0[_0x185369(0x15a)][_0x185369(0x154)][_0x185369(0x167)]('/')['pop']();_0x137355=_0x2f9660+_0x185369(0x162)+_0x4a210e['browserSessionId']+'/artifacts/'+_0x2eeff2,_0x2eeff2&&(_0x47ef07=_0x2eeff2['replace'](/\.\w+$/,'')[_0x185369(0x122)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x47ef07||_0x21b717['description']||_0x21b717['stepName']||_0x185369(0xce)+_0x21b717[_0x185369(0x132)],'screenshot':_0x137355,'is_key_step':_0x21b717['isKeyStep']};}));}catch{}return _0x569ea3[_0x4b02d2(0x188)]===0x0&&_0x6242ea?.['screenshotUrls']&&(_0x569ea3=_0x6242ea['screenshotUrls']['map']((_0x38828b,_0x5a3fdc)=>({'description':'Screenshot\x20'+(_0x5a3fdc+0x1),'screenshot':_0x38828b,'is_key_step':![]}))),{'description':_0x4a210e['description'],'result':getScenarioResult(_0x4a210e),'rationale':getScenarioRationale(_0x4a210e,_0x6242ea?.[_0x4b02d2(0x197)]),'steps':_0x569ea3};})),_0x565961={'url':_0x28d09f['dashboardUrl'],'scenarios':_0x295bd3};process[_0xc2a81f(0x112)][_0xc2a81f(0x189)](JSON['stringify'](_0x565961,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x28bc96){const _0x50eac1=_0x48552e,_0x1db7b3={'AsorW':function(_0x2dcf16){return _0x2dcf16();},'GQqUY':function(_0x26d9b7,_0x958e69){return _0x26d9b7(_0x958e69);},'wfYEi':function(_0x196920,_0x1fba79){return _0x196920===_0x1fba79;},'PpOsO':_0x50eac1(0x17a),'BIoJX':function(_0x236e0b,_0x1ec0a6){return _0x236e0b!==_0x1ec0a6;},'BLeAP':_0x50eac1(0x1a0),'GoGqf':'\x0aConcluding\x20session...'},_0x228a2=_0x28bc96||await _0x1db7b3['AsorW'](getActiveFeatureId);if(!_0x228a2)throw new Error(_0x50eac1(0xd4));const _0x169f4a=await getFeature(_0x228a2);if(!_0x169f4a['currentSessionId'])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x24ea6}=await _0x1db7b3['GQqUY'](listFeatureSessions,_0x228a2),_0x3bdd91=_0x24ea6[_0x50eac1(0x16d)](_0x54d3ee=>_0x54d3ee['id']===_0x169f4a['currentSessionId']);if(!_0x3bdd91)throw new Error('Current\x20session\x20not\x20found.');if(_0x1db7b3[_0x50eac1(0x119)](_0x3bdd91[_0x50eac1(0xcc)],'completed')){console['log'](_0x1db7b3['PpOsO']);return;}if(_0x1db7b3[_0x50eac1(0x13f)](_0x3bdd91[_0x50eac1(0xcc)],_0x1db7b3['BLeAP']))throw new Error(_0x50eac1(0x125)+_0x3bdd91['status']);console['log'](_0x1db7b3['GoGqf']),await concludeSession(_0x228a2,_0x169f4a[_0x50eac1(0xdf)]),console['log']('\x0a✅\x20Session\x20'+_0x3bdd91['iteration']+_0x50eac1(0xcb)),console['log'](_0x50eac1(0x13d));}export async function featureSessions(_0x5ba7ae){const _0x4b2127=_0x48552e,_0x1a4501={'ChYkZ':function(_0x5a8907,_0x10324c){return _0x5a8907(_0x10324c);},'FzTqz':'completed'},_0x2f26fa=_0x5ba7ae||await getActiveFeatureId();if(!_0x2f26fa)throw new Error(_0x4b2127(0x15d));const _0x254fcc=await getFeature(_0x2f26fa);console['log'](_0x4b2127(0x17d)+_0x254fcc['name']+'\x0a');const {sessions:_0x181586}=await _0x1a4501[_0x4b2127(0x175)](listFeatureSessions,_0x2f26fa);if(_0x181586['length']===0x0){console['log'](_0x4b2127(0x1a2));return;}for(const _0x48ca02 of _0x181586){const _0x8ce256=_0x48ca02[_0x4b2127(0xcc)]===_0x1a4501['FzTqz']?'✅':_0x48ca02[_0x4b2127(0xcc)]==='in_progress'?'🔄':'▶️';console[_0x4b2127(0xff)](_0x8ce256+'\x20Session\x20'+_0x48ca02[_0x4b2127(0x147)]+'\x20('+_0x48ca02['id']+')'),console[_0x4b2127(0xff)](_0x4b2127(0x12d)+_0x48ca02[_0x4b2127(0xcc)]),console['log'](_0x4b2127(0xf7)+new Date(_0x48ca02[_0x4b2127(0x148)])['toLocaleString']()),_0x48ca02[_0x4b2127(0x19c)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x48ca02['completedAt'])[_0x4b2127(0xe1)]()),console[_0x4b2127(0xff)]('');}}export async function featureAddScenario(_0x365860,_0x27fce7){const _0x13a381=_0x48552e,_0x229828={'hANBS':function(_0x31412c,_0x10121d,_0x3f6e29){return _0x31412c(_0x10121d,_0x3f6e29);},'CMxJk':function(_0x7dceaa,_0x3df64f){return _0x7dceaa(_0x3df64f);}},_0xe05fd3=_0x27fce7||await getActiveFeatureId();if(!_0xe05fd3)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x587dea=await getFeature(_0xe05fd3);if(_0x587dea['latestReview']&&!_0x587dea[_0x13a381(0x14d)][_0x13a381(0x128)])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x587dea[_0x13a381(0x195)]);await _0x229828['hANBS'](createChecklistItem,_0xe05fd3,_0x365860);const _0x236b33=await _0x229828[_0x13a381(0x143)](getFeature,_0xe05fd3);console[_0x13a381(0xff)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x236b33,_0x236b33['checklistItems']);}export async function featureEditScenario(_0x9039b,_0x53549f){const _0xedc241=_0x48552e,_0x3bb430={'tDyet':_0xedc241(0x15e),'Aqles':function(_0x169bad,_0x5820e4){return _0x169bad(_0x5820e4);},'nkzja':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','bKlip':_0xedc241(0x18d),'uwfGZ':_0xedc241(0xee),'FJYuu':function(_0x268403,_0x7c171e){return _0x268403<_0x7c171e;},'umzwt':function(_0x4bd814,_0x261008){return _0x4bd814-_0x261008;},'qcQVA':function(_0x187c4b,_0x4b0c26){return _0x187c4b>=_0x4b0c26;},'ByhOG':function(_0x31b8e2,_0x3a093d){return _0x31b8e2+_0x3a093d;},'dSxZB':function(_0x160b62,_0x39e62a,_0x3c942a){return _0x160b62(_0x39e62a,_0x3c942a);}},_0x5f0fab=_0x53549f['id']||await getActiveFeatureId();!_0x5f0fab&&(console[_0xedc241(0xe2)](_0xedc241(0x15b)),console[_0xedc241(0xe2)](_0x3bb430['tDyet']),process[_0xedc241(0x136)](0x1));const _0xfc5693=await _0x3bb430['Aqles'](getFeature,_0x5f0fab);_0xfc5693[_0xedc241(0x14d)]&&!_0xfc5693[_0xedc241(0x14d)]['submittedAt']&&(console['error'](_0x3bb430[_0xedc241(0x144)]),console[_0xedc241(0xe2)]('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0xfc5693['dashboardUrl']),process[_0xedc241(0x136)](0x1));const _0x1cc31d=_0xfc5693[_0xedc241(0x156)]||[];_0x1cc31d[_0xedc241(0x188)]===0x0&&(console['error'](_0x3bb430['bKlip']),process[_0xedc241(0x136)](0x1));if(_0x53549f[_0xedc241(0x134)]===undefined){console[_0xedc241(0xe2)](_0x3bb430[_0xedc241(0x145)]),console[_0xedc241(0xff)]('\x0aAvailable\x20scenarios:');for(let _0x79ba26=0x0;_0x3bb430['FJYuu'](_0x79ba26,_0x1cc31d[_0xedc241(0x188)]);_0x79ba26++){console[_0xedc241(0xff)]('\x20\x20'+(_0x79ba26+0x1)+'.\x20'+_0x1cc31d[_0x79ba26][_0xedc241(0xe3)]);}process[_0xedc241(0x136)](0x1);}const _0x27fb25=_0x3bb430[_0xedc241(0xc8)](_0x53549f[_0xedc241(0x134)],0x1);if(_0x3bb430['FJYuu'](_0x27fb25,0x0)||_0x3bb430[_0xedc241(0x16a)](_0x27fb25,_0x1cc31d[_0xedc241(0x188)])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x53549f['scenario']+_0xedc241(0xde)+_0x1cc31d['length']+_0xedc241(0x164)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x4888b5=0x0;_0x3bb430[_0xedc241(0xd2)](_0x4888b5,_0x1cc31d['length']);_0x4888b5++){console['log']('\x20\x20'+_0x3bb430[_0xedc241(0xc7)](_0x4888b5,0x1)+'.\x20'+_0x1cc31d[_0x4888b5]['description']);}process[_0xedc241(0x136)](0x1);}const _0x3368d8=_0x1cc31d[_0x27fb25];await updateChecklistItem(_0x5f0fab,_0x3368d8['id'],{'description':_0x9039b});const _0x569e21=await getFeature(_0x5f0fab);console['log'](_0xedc241(0x184)),_0x3bb430[_0xedc241(0x158)](displayFeature,_0x569e21,_0x569e21[_0xedc241(0x156)]);}async function downloadFeedbackImage(_0x4c6414,_0x551731){const _0x4401fa=_0x48552e,_0x1909c0={'NozQw':function(_0x465a30){return _0x465a30();},'JZicb':_0x4401fa(0x15f),'dGxaH':function(_0x1bcefb,_0x57afd3,_0x1bee3a){return _0x1bcefb(_0x57afd3,_0x1bee3a);}};try{const _0x3e5949=join(_0x1909c0[_0x4401fa(0x11c)](getRangerDir),_0x1909c0['JZicb']);await mkdir(_0x3e5949,{'recursive':!![]});const _0x78eed3=_0x1909c0[_0x4401fa(0x16e)](join,_0x3e5949,_0x4401fa(0x106)+_0x551731+'.png'),_0x2e300f=await fetch(_0x4c6414);if(!_0x2e300f['ok'])return null;const _0x388cec=Buffer['from'](await _0x2e300f['arrayBuffer']());return await writeFile(_0x78eed3,_0x388cec),_0x78eed3;}catch{return null;}}export async function featureGetReview(_0x1ae7b2){const _0x12332b=_0x48552e,_0x4f484a={'GQYVK':function(_0x4d77ad,_0x5d5701){return _0x4d77ad(_0x5d5701);},'QCQoc':function(_0x43bbf6,_0x1d6e75){return _0x43bbf6(_0x1d6e75);},'npelk':function(_0x5f4338,_0x492bac){return _0x5f4338<_0x492bac;},'tpaTq':function(_0x759352,_0x39f6c2,_0x281046){return _0x759352(_0x39f6c2,_0x281046);},'yyVjM':function(_0x371a50,_0x1b2b1f){return _0x371a50+_0x1b2b1f;},'bnpmL':_0x12332b(0x141),'XbQML':_0x12332b(0x163)},_0x4ef99e=_0x1ae7b2||await getActiveFeatureId();if(!_0x4ef99e)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x4ac40e=await _0x4f484a['GQYVK'](getFeature,_0x4ef99e),{items:_0xd7cdc5}=await _0x4f484a['QCQoc'](getActionItems,_0x4ef99e);console['log'](_0x12332b(0x199)+_0x4ac40e[_0x12332b(0x11e)]+'\x20('+_0x4ac40e['id']+')\x0a');if(_0xd7cdc5['length']===0x0){console[_0x12332b(0xff)](_0x12332b(0x169));return;}for(let _0x2b1964=0x0;_0x4f484a['npelk'](_0x2b1964,_0xd7cdc5[_0x12332b(0x188)]);_0x2b1964++){const _0x5a195d=_0xd7cdc5[_0x2b1964],_0x2dabe3=_0x5a195d['version']>0x1?_0x12332b(0xf3)+_0x5a195d['version']+')':'',_0x47e1e9=await _0x4f484a['tpaTq'](getItemFeedback,_0x4ef99e,_0x5a195d['id']);if(_0x47e1e9['unaddressedComments']['length']>0x0){console[_0x12332b(0xff)]('Scenario\x20'+_0x4f484a[_0x12332b(0x14e)](_0x2b1964,0x1)+_0x12332b(0xcd)+_0x5a195d['description']+'\x22'+_0x2dabe3+'\x20—\x20'+_0x47e1e9['unaddressedComments'][_0x12332b(0x188)]+_0x12332b(0x146));for(const _0x476172 of _0x47e1e9[_0x12332b(0x114)]){const _0x33906f=new Date(_0x476172['createdAt'])[_0x12332b(0x165)](_0x4f484a[_0x12332b(0x178)],{'month':'short','day':'numeric'}),_0x2e245c=_0x476172['authorName']||_0x476172['authorEmail']||_0x4f484a[_0x12332b(0x13c)];console['log']('\x20\x20💬\x20'+_0x2e245c+'\x20('+_0x33906f+_0x12332b(0xf1)+_0x476172['content']+'\x22');if(_0x476172[_0x12332b(0xda)]){const _0x145bd8=await downloadFeedbackImage(_0x476172[_0x12332b(0xda)],_0x476172['id']);_0x145bd8&&console[_0x12332b(0xff)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x145bd8);}if(_0x476172['domRef']){const _0x3e0c33=_0x476172['domRef']['selector'][_0x12332b(0x167)]('\x20>\x20')['pop']()?.['split'](':')[0x0]||_0x12332b(0x14a),_0x580e6e=_0x476172['domRef']['textContent']?'\x20\x22'+_0x476172[_0x12332b(0x11d)]['textContent'][_0x12332b(0x111)](0x0,0x3c)+'\x22':'';console[_0x12332b(0xff)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x3e0c33+'>'+_0x580e6e),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x476172['domRef'][_0x12332b(0x17f)]);}else{if(_0x476172['spatial']){const _0x3947be=_0x476172['spatial']['coordinates'];_0x476172[_0x12332b(0x11f)][_0x12332b(0x185)]===_0x12332b(0x12a)&&_0x3947be['length']>=0x2?console['log'](_0x12332b(0xdc)+_0x3947be[0x0]['toFixed'](0x2)+',\x20'+_0x3947be[0x1][_0x12332b(0x129)](0x2)+')'):console[_0x12332b(0xff)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x476172['spatial'][_0x12332b(0x185)]+_0x12332b(0x161)+_0x3947be[_0x12332b(0x124)](_0x14e697=>_0x14e697['toFixed'](0x2))[_0x12332b(0x172)](',\x20')+']');}}}if(_0x47e1e9['canonicalFlow']){console[_0x12332b(0xff)](_0x12332b(0xd0));for(const _0x3909f9 of _0x47e1e9[_0x12332b(0x135)][_0x12332b(0x167)]('\x0a')){console['log']('\x20\x20\x20\x20'+_0x3909f9);}}}else console['log']('Scenario\x20'+(_0x2b1964+0x1)+_0x12332b(0xcd)+_0x5a195d[_0x12332b(0xe3)]+'\x22'+_0x2dabe3+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x5bbb58){const _0x37bc61=_0x48552e,_0x399b94={'gwILx':function(_0x389e90){return _0x389e90();},'mXLeL':_0x37bc61(0xd4),'ZKRnc':_0x37bc61(0x140)},_0x4a43de=_0x5bbb58||await _0x399b94['gwILx'](getActiveFeatureId);if(!_0x4a43de)throw new Error(_0x399b94['mXLeL']);const _0x642097=await getFeature(_0x4a43de);await softDeleteFeature(_0x4a43de),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x642097[_0x37bc61(0x11e)]+'\x20('+_0x4a43de+')'),console[_0x37bc61(0xff)](_0x399b94['ZKRnc']+_0x4a43de);}function _0x1bb3(){const _0x3359fb=['Step\x20','178850GUWVgm','\x20\x20Expected\x20flow:','lXpQI','FJYuu','filter','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20scenario(s).','eSZzV','770BtRLKa','\x20feature\x20review(s)\x20found','fwGls','assetUrl','Xenqx','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','kQRpx','.\x20Feature\x20review\x20has\x20','currentSessionId','mkPRu','toLocaleString','error','description','GlEKC','119189GnikRJ','DudCu','list','verification_in_progress','push','EVhZY','pwefr','blockedItems','WvESO','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','gitRepoUrl','\x20\x20\x20','):\x20\x22','OGDrP','\x20(v','CsjRy','33991620ZltRyW','pipe','\x20\x20\x20Created:\x20','\x1b[1m','prompt','utf-8','stats','TfgNf','selected','\x20\x20\x20ID:\x20','log','screenshot','186pMklPE','github.com/','bZAEY','\x0a✅\x20Restored\x20feature\x20review:\x20','items','comment_','LrGHH','tWkGg','\x20\x20\x20Branch:\x20','qSIiG','\x20\x20\x20\x20\x20\x20Cancelled:\x20','IjVbJ','ORVly','trim','DXFHn','style','slice','stdout','320523UHHxUU','unaddressedComments','\x0aGenerating\x20report...','totalCount','browserSessionId','iBYDE','wfYEi','pendingItems','aIiEh','NozQw','domRef','name','spatial','GaOur','\x20incomplete','replace','round','map','Cannot\x20conclude\x20session\x20with\x20status:\x20','5096cdBiYI','\x20\x20\x20▶️\x20Started\x20session\x20','submittedAt','toFixed','point','stdin','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20Status:\x20','rRIFw','currentBranch','\x20blocked','\x20\x20\x20Updated\x20branch\x20to:\x20','position','\x20\x20\x20Repository:\x20','scenario','canonicalFlow','exit','VBSMv','excludeScenarios','offset','7539165uawIaP','incomplete','XbQML','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','bsQET','BIoJX','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','en-US','8dogHHP','CMxJk','nkzja','uwfGZ','\x20unaddressed\x20comment(s)','iteration','createdAt','dMydk','element','\x0aAvailable\x20scenarios:','fdqgb','latestReview','yyVjM','\x20of\x20','1285968HxbKhk','has','any','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','location','ZBvkH','checklistItems','ucJCW','dSxZB','.md','storage','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','ORNBU','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','feedback-images','blocked','\x20at\x20[','/api/v1/mcp/browser-sessions/','Unknown','\x20scenarios.','toLocaleDateString','\x20--limit\x20','split','warn','No\x20scenarios\x20found.','qcQVA','hCjGL','parentItemId','find','dGxaH','active-feature.txt','\x20\x20\x20Completed:\x20','\x20\x20\x20\x20\x20\x20Incomplete:\x20','join','YLfCu','\x20--include-deleted','ChYkZ','gitBranch','InEYT','bnpmL','limit','\x0a✅\x20Session\x20is\x20already\x20completed.','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','assets','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','canceledReason','selector','TMoZz','sessionId','includeDeleted','bMWJb','\x0a✅\x20Scenario\x20updated','type','YfNkv','70tbOCfo','length','write','rchcY','OjAoU','rulIh','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','\x20\x20\x20\x20\x20\x20Blocked:\x20','reports','EzNOI','terminalReason','closed','incompleteItems','scenarios','dashboardUrl','blockedReason','agentResponse','EphBC','\x0a📋\x20Feedback\x20for:\x20','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','JkKlE','completedAt','26HGjOUb','\x20in\x20progress','output','in_progress','trimEnd','No\x20sessions\x20found.','qARiO','ready','gsQsA','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','env','tflCZ','version','notes','1|3|5|4|0|2','\x0aCreating\x20feature\x20review...','ByhOG','umzwt','git\x20rev-parse\x20--abbrev-ref\x20HEAD','incompleteReason','\x20concluded.','status',':\x20\x22'];_0x1bb3=function(){return _0x3359fb;};return _0x1bb3();}export async function featureRestore(_0x2011fb){const _0x3613c7=_0x48552e,_0x1649de={'WvESO':function(_0x4bc2eb,_0x2df1f0,_0x4623fa){return _0x4bc2eb(_0x2df1f0,_0x4623fa);}};await restoreFeature(_0x2011fb);const _0x1f4117=await getFeature(_0x2011fb);console['log'](_0x3613c7(0x104)+_0x1f4117[_0x3613c7(0x11e)]+'\x20('+_0x2011fb+')'),_0x1649de[_0x3613c7(0xed)](displayFeature,_0x1f4117,_0x1f4117['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x14ad71,_0x3a1b17){const _0x2c15f9=_0x4bd6,_0x12d9b2=_0x14ad71();while(!![]){try{const _0x18fbfa=parseInt(_0x2c15f9(0x10f))/0x1*(parseInt(_0x2c15f9(0x112))/0x2)+parseInt(_0x2c15f9(0x10b))/0x3+parseInt(_0x2c15f9(0x11e))/0x4*(-parseInt(_0x2c15f9(0x117))/0x5)+-parseInt(_0x2c15f9(0x115))/0x6+-parseInt(_0x2c15f9(0x119))/0x7*(parseInt(_0x2c15f9(0x111))/0x8)+parseInt(_0x2c15f9(0x110))/0x9+-parseInt(_0x2c15f9(0x10a))/0xa*(-parseInt(_0x2c15f9(0x10c))/0xb);if(_0x18fbfa===_0x3a1b17)break;else _0x12d9b2['push'](_0x12d9b2['shift']());}catch(_0x1bcca8){_0x12d9b2['push'](_0x12d9b2['shift']());}}}(_0x35a4,0xe42b1));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x4bd6(_0xcf114e,_0x2caf7e){_0xcf114e=_0xcf114e-0x10a;const _0x35a419=_0x35a4();let _0x4bd6aa=_0x35a419[_0xcf114e];return _0x4bd6aa;}function _0x35a4(){const _0x93f53a=['3238NyFrYX','5168592qJGzCJ','88qeclAy','964GvKGYz','exit','oJbZg','9753114RNgkpf','Unknown\x20hook:\x20','174855qYKrFG','Valid\x20hooks:\x20','1037757uLvGnD','SIGHUP','wBQhF','wqdtF','error','44mGeqUo','20ExlZxJ','103200RbVfOz','13233737rPccOa','once','SIGTERM'];_0x35a4=function(){return _0x93f53a;};return _0x35a4();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x2f1b55=_0x4bd6,_0x146d62={'wqdtF':'SIGINT','wBQhF':_0x2f1b55(0x10e)};if(cancellationHandlersInstalled)return;const _0x15496e=()=>{const _0x8c9875=_0x2f1b55;process[_0x8c9875(0x113)](0x0);};process['once'](_0x146d62[_0x2f1b55(0x11c)],_0x15496e),process[_0x2f1b55(0x10d)](_0x146d62[_0x2f1b55(0x11b)],_0x15496e),process[_0x2f1b55(0x10d)](_0x2f1b55(0x11a),_0x15496e),cancellationHandlersInstalled=!![];}export async function hook(_0x13630e,_0x54552d){const _0x4848df=_0x4bd6,_0x785774={'oJbZg':function(_0x58bc85,_0x4b1b99){return _0x58bc85(_0x4b1b99);}};installCancellationHandlers();const _0x441510=HOOKS[_0x13630e];if(!_0x441510){const _0x62a41a=Object['keys'](HOOKS)['join'](',\x20');console[_0x4848df(0x11d)](_0x4848df(0x116)+_0x13630e),console[_0x4848df(0x11d)](_0x4848df(0x118)+_0x62a41a),process[_0x4848df(0x113)](0x1);}await _0x785774[_0x4848df(0x114)](_0x441510,_0x54552d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x48fab5,_0x1dc38c){const _0xeee61b=_0x244b,_0x438ea3=_0x48fab5();while(!![]){try{const _0x4f3a9e=-parseInt(_0xeee61b(0x154))/0x1+parseInt(_0xeee61b(0x15b))/0x2+-parseInt(_0xeee61b(0x158))/0x3*(parseInt(_0xeee61b(0x153))/0x4)+-parseInt(_0xeee61b(0x156))/0x5+-parseInt(_0xeee61b(0x15a))/0x6+-parseInt(_0xeee61b(0x15c))/0x7+parseInt(_0xeee61b(0x157))/0x8;if(_0x4f3a9e===_0x1dc38c)break;else _0x438ea3['push'](_0x438ea3['shift']());}catch(_0x3e8118){_0x438ea3['push'](_0x438ea3['shift']());}}}(_0x18f1,0xeab4c));function _0x244b(_0x5b748b,_0x18b72b){_0x5b748b=_0x5b748b-0x153;const _0x18f1e1=_0x18f1();let _0x244bd8=_0x18f1e1[_0x5b748b];return _0x244bd8;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x18f1(){const _0x55fdc1=['oZODm','4500642xxVntj','2129756yelmoP','7344113VinKjI','2341516KkRYwy','707433dwhkOd','log','6170890EEmoBP','33781872nXpkkC','3AYIKIg'];_0x18f1=function(){return _0x55fdc1;};return _0x18f1();}const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';export async function autoPrompt(){const _0x202ebd=_0x244b,_0x1cd248={'oZODm':function(_0x4eb9dc,_0x188a30){return _0x4eb9dc(_0x188a30);}},_0x21d2d5=await readHookInput(),_0xade9c2=_0x21d2d5?.['session_id'];if(!_0xade9c2)return;if(isSessionEnabled(_0xade9c2)||_0x1cd248[_0x202ebd(0x159)](hasSessionBeenPrompted,_0xade9c2))return;_0x1cd248['oZODm'](markSessionPrompted,_0xade9c2),console[_0x202ebd(0x155)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3aaf0a,_0x36d8f7){const _0x2bd149=_0x74da,_0x40b898=_0x3aaf0a();while(!![]){try{const _0x513c1c=parseInt(_0x2bd149(0xe2))/0x1+parseInt(_0x2bd149(0xe0))/0x2*(parseInt(_0x2bd149(0xd8))/0x3)+-parseInt(_0x2bd149(0xda))/0x4*(parseInt(_0x2bd149(0xdd))/0x5)+-parseInt(_0x2bd149(0xe4))/0x6+parseInt(_0x2bd149(0xd9))/0x7+-parseInt(_0x2bd149(0xdb))/0x8*(parseInt(_0x2bd149(0xe8))/0x9)+-parseInt(_0x2bd149(0xdf))/0xa;if(_0x513c1c===_0x36d8f7)break;else _0x40b898['push'](_0x40b898['shift']());}catch(_0x3dbd38){_0x40b898['push'](_0x40b898['shift']());}}}(_0x5dc3,0x31a50));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x74da(_0x39ded9,_0x5b4fff){_0x39ded9=_0x39ded9-0xd7;const _0x5dc326=_0x5dc3();let _0x74dad1=_0x5dc326[_0x39ded9];return _0x74dad1;}export async function disable(_0x38d201){const _0x393031=_0x74da,_0x3d8397={'YBeHY':function(_0x32046d,_0x3bf70b){return _0x32046d(_0x3bf70b);},'pXRdR':function(_0x1ef71d,_0x2cddc3){return _0x1ef71d!==_0x2cddc3;},'gpZuo':_0x393031(0xdc),'VyBlg':_0x393031(0xe5),'UqVbm':function(_0x30a362,_0x3389e4){return _0x30a362!==_0x3389e4;}},_0x9358b6=_0x38d201||process['env'][_0x393031(0xe1)]||'';_0x9358b6&&_0x3d8397['YBeHY'](disableSession,_0x9358b6);const _0xdd8c=getCurrentBranch();_0xdd8c&&_0xdd8c!==_0x393031(0xe5)&&_0x3d8397[_0x393031(0xe6)](_0xdd8c,_0x3d8397['gpZuo'])&&disableBranch(_0xdd8c),printBlock(_0x393031(0xd7)+(_0xdd8c&&_0xdd8c!==_0x3d8397[_0x393031(0xe7)]&&_0x3d8397['UqVbm'](_0xdd8c,_0x3d8397['gpZuo'])?_0x393031(0xde)+_0xdd8c+'\x27':'')+_0x393031(0xe3));}function _0x5dc3(){const _0x46f06b=['#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','6PoNKWi','1370033QClPhs','29688anZvSn','72Buvowz','master','10mSYzjI','\x20and\x20branch\x20\x27','248510ewSQiM','288394PYQlaX','CLAUDE_SESSION_ID','385459eaJMbs','.\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`.','1967586LNqzie','main','pXRdR','VyBlg','298602PAEccQ'];_0x5dc3=function(){return _0x46f06b;};return _0x5dc3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x497e18,_0x4f6b82){const _0x22ac72=_0x5977,_0x1e13ce=_0x497e18();while(!![]){try{const _0x4600f4=parseInt(_0x22ac72(0xc7))/0x1+parseInt(_0x22ac72(0xc8))/0x2+parseInt(_0x22ac72(0xc2))/0x3+parseInt(_0x22ac72(0xc1))/0x4+parseInt(_0x22ac72(0xc9))/0x5+parseInt(_0x22ac72(0xc3))/0x6+-parseInt(_0x22ac72(0xc4))/0x7;if(_0x4600f4===_0x4f6b82)break;else _0x1e13ce['push'](_0x1e13ce['shift']());}catch(_0x57c6b1){_0x1e13ce['push'](_0x1e13ce['shift']());}}}(_0x3e35,0xaa523));function _0x3e35(){const _0x775a6=['985144foZFWt','3934848ZAKpdB','6419058qIPyFU','28074151vqkVxD','\x0a\x0a**Branch\x20\x27','ranger\x20setup','946809rOvBBh','2251288tYObSr','40150akPSUg','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','#\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`','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','bvCPs','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','env','BTOLF'];_0x3e35=function(){return _0x775a6;};return _0x3e35();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x5977(_0x667935,_0x2c4ab7){_0x667935=_0x667935-0xbf;const _0x3e35f0=_0x3e35();let _0x5977c6=_0x3e35f0[_0x667935];return _0x5977c6;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4e492c){const _0x58417e=_0x5977,_0xc45ca9={'DRLwy':_0x58417e(0xc6),'uinXP':_0x58417e(0xcc),'NQVqO':_0x58417e(0xcf),'BTOLF':function(_0x158f1b,_0x3f657c){return _0x158f1b(_0x3f657c);},'oHsee':'main','bvCPs':function(_0x5c60e8,_0x5bc8db){return _0x5c60e8!==_0x5bc8db;}},_0x169dde=_0x4e492c||process[_0x58417e(0xbf)]['CLAUDE_SESSION_ID']||'',_0x2cbc69=Boolean(_0x4e492c),_0x3f988d=await getToken();if(!_0x3f988d){const _0x586837=_0x2cbc69?'ranger\x20setup\x20--opencode':_0xc45ca9['DRLwy'],_0x3a0122=_0x2cbc69?_0xc45ca9['uinXP']:_0xc45ca9['NQVqO'];_0xc45ca9[_0x58417e(0xc0)](printBlock,_0x58417e(0xcb)+_0x586837+_0x58417e(0xca)+_0x3a0122);return;}try{await update();}catch{}_0x169dde&&_0xc45ca9['BTOLF'](enableSession,_0x169dde);const _0x5f5cde=getCurrentBranch(),_0x26f10f=_0x5f5cde&&_0x5f5cde!==_0xc45ca9['oHsee']&&_0xc45ca9[_0x58417e(0xcd)](_0x5f5cde,'master')?_0x58417e(0xc5)+_0x5f5cde+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x20a4b1=getRangerSkillContent();printBlock('#\x20RANGER\x20ENABLED'+_0x26f10f+_0x58417e(0xce)+_0x20a4b1+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2cfb(){const _0x4312ea=['622392fShnbe','127vqZSZh','1523490EQNanL','1155123pKiBJe','1641227fiJavx','1613854sMlDLJ','tqwPZ','436863SJZvWM','928heQvUs','5JWRukL','6VfLZRy','8kajifL'];_0x2cfb=function(){return _0x4312ea;};return _0x2cfb();}function _0x1ddf(_0xbb7a11,_0x4f9bb3){_0xbb7a11=_0xbb7a11-0x192;const _0x2cfbba=_0x2cfb();let _0x1ddf68=_0x2cfbba[_0xbb7a11];return _0x1ddf68;}(function(_0x5c5d65,_0xdda6e2){const _0xcc30a7=_0x1ddf,_0x1eb0e1=_0x5c5d65();while(!![]){try{const _0x4a6a12=-parseInt(_0xcc30a7(0x19b))/0x1*(parseInt(_0xcc30a7(0x196))/0x2)+parseInt(_0xcc30a7(0x195))/0x3+-parseInt(_0xcc30a7(0x19a))/0x4*(-parseInt(_0xcc30a7(0x197))/0x5)+-parseInt(_0xcc30a7(0x198))/0x6*(parseInt(_0xcc30a7(0x192))/0x7)+parseInt(_0xcc30a7(0x199))/0x8*(parseInt(_0xcc30a7(0x19d))/0x9)+parseInt(_0xcc30a7(0x19c))/0xa+-parseInt(_0xcc30a7(0x193))/0xb;if(_0x4a6a12===_0xdda6e2)break;else _0x1eb0e1['push'](_0x1eb0e1['shift']());}catch(_0xc54a78){_0x1eb0e1['push'](_0x1eb0e1['shift']());}}}(_0x2cfb,0x229f4));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1c1c74){const _0x1e1c2f=_0x1ddf,_0x39f900={'tqwPZ':function(_0x2df482,_0x1e40a0){return _0x2df482(_0x1e40a0);}},_0x5a18d7=await _0x39f900[_0x1e1c2f(0x194)](getEnabledSessionId,_0x1c1c74);if(!_0x5a18d7)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2736c3,_0x3aa1d7){var _0x993aba=_0x23b9,_0x34162a=_0x2736c3();while(!![]){try{var _0x9c642=parseInt(_0x993aba(0x1b0))/0x1+parseInt(_0x993aba(0x1a8))/0x2+-parseInt(_0x993aba(0x1ad))/0x3*(parseInt(_0x993aba(0x1ac))/0x4)+parseInt(_0x993aba(0x1a9))/0x5+parseInt(_0x993aba(0x1ae))/0x6+parseInt(_0x993aba(0x1ab))/0x7*(parseInt(_0x993aba(0x1aa))/0x8)+parseInt(_0x993aba(0x1af))/0x9*(-parseInt(_0x993aba(0x1a7))/0xa);if(_0x9c642===_0x3aa1d7)break;else _0x34162a['push'](_0x34162a['shift']());}catch(_0x4dda52){_0x34162a['push'](_0x34162a['shift']());}}}(_0x5469,0xa82ea));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x23b9(_0x4054ed,_0x3632c3){_0x4054ed=_0x4054ed-0x1a7;var _0x5469d5=_0x5469();var _0x23b9ee=_0x5469d5[_0x4054ed];return _0x23b9ee;}function _0x5469(){var _0x5404b9=['95819aNkCFJ','10ltySvw','2376248yntsuN','5338780NuMlYy','8929456KpvnHR','7OklXsy','4DjvIwc','2226081CvUEmf','6598068UnmEjW','28229922lcuiBe'];_0x5469=function(){return _0x5404b9;};return _0x5469();}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 _0x1e4e(_0x336f80,_0x25b314){_0x336f80=_0x336f80-0x1ce;const _0x356b3d=_0x356b();let _0x1e4e02=_0x356b3d[_0x336f80];return _0x1e4e02;}(function(_0x13ca5d,_0x545320){const _0x5add18=_0x1e4e,_0x554702=_0x13ca5d();while(!![]){try{const _0x74a88c=parseInt(_0x5add18(0x1d6))/0x1+parseInt(_0x5add18(0x1d1))/0x2+-parseInt(_0x5add18(0x1d3))/0x3*(-parseInt(_0x5add18(0x1d0))/0x4)+-parseInt(_0x5add18(0x1ce))/0x5+parseInt(_0x5add18(0x1d4))/0x6+-parseInt(_0x5add18(0x1db))/0x7+parseInt(_0x5add18(0x1cf))/0x8*(-parseInt(_0x5add18(0x1da))/0x9);if(_0x74a88c===_0x545320)break;else _0x554702['push'](_0x554702['shift']());}catch(_0xeb6541){_0x554702['push'](_0x554702['shift']());}}}(_0x356b,0xe84bb));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x226c8e){console['log'](_0x226c8e);}export async function readHookInput(){const _0x55dadb=_0x1e4e;let _0x1e5d50='';try{for await(const _0xb9dd2a of process['stdin']){_0x1e5d50+=_0xb9dd2a;}}catch{return null;}if(!_0x1e5d50[_0x55dadb(0x1d7)]())return null;try{return JSON[_0x55dadb(0x1d5)](_0x1e5d50);}catch{return null;}}export async function getEnabledSessionId(_0x28dfc7){const _0x39f755=_0x1e4e,_0x24a734={'xjQrl':function(_0x971550){return _0x971550();},'oDeyg':function(_0x540d68,_0x3559dc){return _0x540d68(_0x3559dc);}};if(_0x28dfc7)return isSessionEnabled(_0x28dfc7)?_0x28dfc7:null;const _0x33f906=await _0x24a734['xjQrl'](readHookInput),_0x1d9e41=_0x33f906?.['session_id'];if(!_0x1d9e41||!_0x24a734[_0x39f755(0x1d9)](isSessionEnabled,_0x1d9e41))return null;return _0x1d9e41;}function _0x356b(){const _0x105739=['8895544LeiNSe','1133270dCqzss','40wiNnYS','1176956aeNAmE','663078cUHWea','pbSXc','9KcbWsW','4394460nQhzKR','parse','1301318imyAti','trim','WsKCE','oDeyg','1438299tXzUbo'];_0x356b=function(){return _0x105739;};return _0x356b();}export async function getEnabledHookContext(_0x3b3800){const _0x17b259=_0x1e4e,_0x3fa271={'WsKCE':function(_0x2afdca,_0x55361f){return _0x2afdca(_0x55361f);},'pbSXc':function(_0x1fcab1){return _0x1fcab1();}};if(_0x3b3800){if(!_0x3fa271[_0x17b259(0x1d8)](isSessionEnabled,_0x3b3800))return null;return{'sessionId':_0x3b3800,'input':{'session_id':_0x3b3800}};}const _0x20eff9=await _0x3fa271[_0x17b259(0x1d2)](readHookInput),_0x311bc8=_0x20eff9?.['session_id'];if(!_0x311bc8||!isSessionEnabled(_0x311bc8))return null;return{'sessionId':_0x311bc8,'input':_0x20eff9};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x17281b,_0x44136b){const _0x474788=_0x419c,_0x1deae8=_0x17281b();while(!![]){try{const _0x57b920=parseInt(_0x474788(0x169))/0x1+parseInt(_0x474788(0x168))/0x2+parseInt(_0x474788(0x171))/0x3+parseInt(_0x474788(0x16b))/0x4*(parseInt(_0x474788(0x16f))/0x5)+parseInt(_0x474788(0x167))/0x6*(parseInt(_0x474788(0x170))/0x7)+parseInt(_0x474788(0x16a))/0x8+-parseInt(_0x474788(0x165))/0x9*(parseInt(_0x474788(0x16c))/0xa);if(_0x57b920===_0x44136b)break;else _0x1deae8['push'](_0x1deae8['shift']());}catch(_0x13fa2d){_0x1deae8['push'](_0x1deae8['shift']());}}}(_0x5834,0x68ecf));import{printBlock,getEnabledHookContext}from'./output.js';function _0x419c(_0x21bc77,_0x45499c){_0x21bc77=_0x21bc77-0x165;const _0x5834df=_0x5834();let _0x419c19=_0x5834df[_0x21bc77];return _0x419c19;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x5834(){const _0x3c6b2b=['2376tWeSPc','170PNkmjH','plan','sessionId','185KLYbAO','7Sjmjta','1445352PWjwNk','1004373nmsPBY','===\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===','807654jGllaM','1530548mUdHCi','304458KHGQbm','4950568NSJXwx'];_0x5834=function(){return _0x3c6b2b;};return _0x5834();}export async function planReminder(_0x542893){const _0x296dfa=_0x419c,_0x16296b={'CvWpP':function(_0xb7f1bf,_0x54c5b5){return _0xb7f1bf(_0x54c5b5);}},_0x28a261=await _0x16296b['CvWpP'](getEnabledHookContext,_0x542893);if(!_0x28a261)return;if(_0x28a261['input']['permission_mode']!==_0x296dfa(0x16d))return;if(!shouldShowPlanReminder(_0x28a261[_0x296dfa(0x16e)]))return;printBlock(_0x296dfa(0x166));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x350e(_0x1fa10b,_0x5bf3e8){_0x1fa10b=_0x1fa10b-0xbc;const _0x4343f5=_0x4343();let _0x350e8a=_0x4343f5[_0x1fa10b];return _0x350e8a;}(function(_0x400e76,_0x3eff04){const _0x2bb5df=_0x350e,_0x2e76d9=_0x400e76();while(!![]){try{const _0x1a2981=-parseInt(_0x2bb5df(0xc6))/0x1+parseInt(_0x2bb5df(0xbe))/0x2*(-parseInt(_0x2bb5df(0xc2))/0x3)+parseInt(_0x2bb5df(0xc3))/0x4+-parseInt(_0x2bb5df(0xc1))/0x5*(-parseInt(_0x2bb5df(0xc0))/0x6)+-parseInt(_0x2bb5df(0xc5))/0x7+parseInt(_0x2bb5df(0xbf))/0x8+-parseInt(_0x2bb5df(0xc4))/0x9*(-parseInt(_0x2bb5df(0xbc))/0xa);if(_0x1a2981===_0x3eff04)break;else _0x2e76d9['push'](_0x2e76d9['shift']());}catch(_0x510ba4){_0x2e76d9['push'](_0x2e76d9['shift']());}}}(_0x4343,0x76929));function _0x4343(){const _0x258dfe=['351306bPfMOf','knIam','12862730vTDmoz','YoJMv','2lbWhUG','1555096DcXCnT','1578HSqJjT','4105tXKdOr','1446186AcjWfE','798864kgWoow','9hUQPNl','4040806zYKbqt'];_0x4343=function(){return _0x258dfe;};return _0x4343();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x5c51f9){const _0x36130d=_0x350e,_0x58d7cc={'knIam':function(_0x6ff211,_0x26ad3c){return _0x6ff211(_0x26ad3c);},'YoJMv':function(_0x10d7b3,_0x246ff0){return _0x10d7b3(_0x246ff0);}},_0x5087aa=await _0x58d7cc[_0x36130d(0xc7)](getEnabledSessionId,_0x5c51f9);if(!_0x5087aa)return;_0x58d7cc[_0x36130d(0xbd)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1438(_0x407677,_0x25f3d3){_0x407677=_0x407677-0x194;const _0x319b71=_0x319b();let _0x143859=_0x319b71[_0x407677];return _0x143859;}(function(_0x2bb063,_0x337daf){const _0x3fe622=_0x1438,_0x35a183=_0x2bb063();while(!![]){try{const _0x4e5e16=parseInt(_0x3fe622(0x196))/0x1+parseInt(_0x3fe622(0x19d))/0x2+parseInt(_0x3fe622(0x19f))/0x3*(parseInt(_0x3fe622(0x19a))/0x4)+parseInt(_0x3fe622(0x198))/0x5+parseInt(_0x3fe622(0x195))/0x6*(parseInt(_0x3fe622(0x19c))/0x7)+parseInt(_0x3fe622(0x199))/0x8+parseInt(_0x3fe622(0x19b))/0x9*(-parseInt(_0x3fe622(0x194))/0xa);if(_0x4e5e16===_0x337daf)break;else _0x35a183['push'](_0x35a183['shift']());}catch(_0x2436e9){_0x35a183['push'](_0x35a183['shift']());}}}(_0x319b,0x44957));function _0x319b(){const _0x593478=['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.','1881340fsFPvC','1795496XaXkeL','244YrDSpQ','5514417LrHaKA','7xRArnx','986948WJpBRo','stringify','22476tLBmyW','PostToolUse','30JuFhZj','3129348jfsEXa','46309RtFNQy'];_0x319b=function(){return _0x593478;};return _0x319b();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x155535){const _0x22c939=_0x1438,_0x46895b={'ERrpZ':function(_0x36dc1e){return _0x36dc1e();},'RrBwL':_0x22c939(0x1a0)},_0x2d03de=await getEnabledSessionId(_0x155535);if(!_0x2d03de)return;updateBranchTracking(_0x2d03de);const _0x244d4a=await _0x46895b['ERrpZ'](getToken);if(!_0x244d4a)return;const _0x2243ad=getSessionEntry(_0x2d03de);if(_0x2243ad){const _0x14a01f={'hookSpecificOutput':{'hookEventName':_0x22c939(0x1a0),'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON['stringify'](_0x14a01f));return;}const _0x54b5d2={'hookSpecificOutput':{'hookEventName':_0x46895b['RrBwL'],'additionalContext':_0x22c939(0x197)}};console['log'](JSON[_0x22c939(0x19e)](_0x54b5d2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1e2a(){const _0x13f0e8=['3625152fLzFal','557268DeniYJ','7WiRxXL','===\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`.','7105505stqrVq','2047213TLkwxY','6409352CCROTT','144636bDVGNY','131126ciEajX'];_0x1e2a=function(){return _0x13f0e8;};return _0x1e2a();}function _0x3b46(_0x507b97,_0x3aa787){_0x507b97=_0x507b97-0x151;const _0x1e2aa0=_0x1e2a();let _0x3b46a0=_0x1e2aa0[_0x507b97];return _0x3b46a0;}(function(_0x407dcc,_0x333f18){const _0x141308=_0x3b46,_0x526baf=_0x407dcc();while(!![]){try{const _0x405c05=parseInt(_0x141308(0x155))/0x1*(-parseInt(_0x141308(0x152))/0x2)+parseInt(_0x141308(0x153))/0x3+-parseInt(_0x141308(0x154))/0x4+parseInt(_0x141308(0x157))/0x5+-parseInt(_0x141308(0x151))/0x6+-parseInt(_0x141308(0x158))/0x7+-parseInt(_0x141308(0x159))/0x8;if(_0x405c05===_0x333f18)break;else _0x526baf['push'](_0x526baf['shift']());}catch(_0x4da5eb){_0x526baf['push'](_0x526baf['shift']());}}}(_0x1e2a,0xdf055));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x4ac8a1){const _0x5d5da3=_0x3b46,_0x2204e0={'Xdccm':function(_0x3ac514,_0x2c6452){return _0x3ac514(_0x2c6452);}},_0x3cd629=await getEnabledSessionId(_0x4ac8a1);if(!_0x3cd629)return;try{const _0x525f1f=await getToken();if(!_0x525f1f)return;_0x2204e0['Xdccm'](printBlock,_0x5d5da3(0x156));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x115185,_0x3252e9){const _0x94d44=_0x403f,_0x3a1e71=_0x115185();while(!![]){try{const _0x4312d6=parseInt(_0x94d44(0x1b8))/0x1*(parseInt(_0x94d44(0x1be))/0x2)+parseInt(_0x94d44(0x1bd))/0x3+-parseInt(_0x94d44(0x1bb))/0x4+parseInt(_0x94d44(0x1b6))/0x5*(parseInt(_0x94d44(0x1bc))/0x6)+parseInt(_0x94d44(0x1b5))/0x7*(parseInt(_0x94d44(0x1b9))/0x8)+parseInt(_0x94d44(0x1b3))/0x9+parseInt(_0x94d44(0x1b4))/0xa*(-parseInt(_0x94d44(0x1ba))/0xb);if(_0x4312d6===_0x3252e9)break;else _0x3a1e71['push'](_0x3a1e71['shift']());}catch(_0x449423){_0x3a1e71['push'](_0x3a1e71['shift']());}}}(_0x2432,0x3e302));function _0x403f(_0x12a101,_0x5d2cbc){_0x12a101=_0x12a101-0x1b3;const _0x24322f=_0x2432();let _0x403fcf=_0x24322f[_0x12a101];return _0x403fcf;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x34b942){const _0x21371c=_0x403f,_0x5c0991={'MsJWc':function(_0x2bf542,_0x5e96da){return _0x2bf542===_0x5e96da;}},_0x5b5f94=process['env']['CLAUDE_SESSION_ID'];let _0x586d01=_0x34b942,_0x5177d6;if(!_0x34b942){if(_0x5b5f94&&!isSessionEnabled(_0x5b5f94))return;const _0x3321fe=await readHookInput();_0x586d01=_0x3321fe?.[_0x21371c(0x1bf)]||_0x5b5f94,_0x5177d6=_0x3321fe?.['reason'];}if(!_0x586d01)return;_0x5c0991['MsJWc'](_0x5177d6,_0x21371c(0x1b7))&&recordEnabledSessionCleared(_0x586d01);}function _0x2432(){const _0x1a255f=['120728jaCxUH','6JJpfss','295638DKgnkD','164tdYKGX','session_id','3357585STYeKK','285130PDpBft','287wpbYyT','2509735kHogDZ','clear','241qNyjsL','95440mLLGcI','462aHCNGZ'];_0x2432=function(){return _0x1a255f;};return _0x2432();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x374c(_0x19977e,_0x395994){_0x19977e=_0x19977e-0x191;const _0x26b6c5=_0x26b6();let _0x374cc5=_0x26b6c5[_0x19977e];return _0x374cc5;}(function(_0x47c68a,_0x14dd0e){const _0x593726=_0x374c,_0x31a220=_0x47c68a();while(!![]){try{const _0x5c6002=-parseInt(_0x593726(0x19c))/0x1*(parseInt(_0x593726(0x198))/0x2)+parseInt(_0x593726(0x194))/0x3+parseInt(_0x593726(0x197))/0x4*(parseInt(_0x593726(0x1a7))/0x5)+parseInt(_0x593726(0x19f))/0x6*(-parseInt(_0x593726(0x1a8))/0x7)+parseInt(_0x593726(0x1a9))/0x8+-parseInt(_0x593726(0x199))/0x9*(parseInt(_0x593726(0x196))/0xa)+parseInt(_0x593726(0x1a1))/0xb;if(_0x5c6002===_0x14dd0e)break;else _0x31a220['push'](_0x31a220['shift']());}catch(_0x33d75d){_0x31a220['push'](_0x31a220['shift']());}}}(_0x26b6,0x379ac));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x26b6(){const _0x3a33f0=['431379GFtrko','source','10sWyBIN','529468pZrgqI','49558GBEQgd','1787391fkxhGV','master','success','7BqyAFt','hook:session-start','JtavM','12fiHOre','log','4243294tMTtqg','main','export\x20CLAUDE_SESSION_ID=\x22','trackCommandEnd','stringify','eRcak','5xHiTuy','234871MLLLkD','40000hQaJwE','\x20(Branch:\x20','env','FXXcq','cvLlj','JOSPH'];_0x26b6=function(){return _0x3a33f0;};return _0x26b6();}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x5e6be1){const _0x40c653=_0x374c,_0x579947={'xzNwI':function(_0x2a83a6,_0x57078f){return _0x2a83a6||_0x57078f;},'eRcak':'session_id','cvLlj':_0x40c653(0x195),'BZoqv':function(_0xf5bd60,_0x13ea3f,_0xd887d0){return _0xf5bd60(_0x13ea3f,_0xd887d0);},'JOSPH':function(_0x355df3,_0x255ac3){return _0x355df3(_0x255ac3);},'JtavM':function(_0x48bad9,_0x10805c){return _0x48bad9(_0x10805c);},'ldNqS':_0x40c653(0x1a2),'FXXcq':_0x40c653(0x19a)};let _0x254345=_0x579947['xzNwI'](_0x5e6be1,''),_0x4c2d41;if(!_0x5e6be1){let _0x16a934='';for await(const _0x493978 of process['stdin']){_0x16a934+=_0x493978;}try{const _0x56ee2a=JSON['parse'](_0x16a934);_0x254345=_0x56ee2a[_0x579947[_0x40c653(0x1a6)]]||'',_0x4c2d41=_0x56ee2a[_0x579947[_0x40c653(0x192)]];}catch{}const _0x34af66=process[_0x40c653(0x1ab)]['CLAUDE_ENV_FILE'];if(_0x34af66&&_0x254345)try{await _0x579947['BZoqv'](appendFile,_0x34af66,_0x40c653(0x1a3)+_0x254345+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x254345){shouldAutoEnableAfterClear(_0x4c2d41)&&autoEnableAfterClear(_0x254345);_0x579947['JOSPH'](initBranchTracking,_0x254345);const _0x1352be=_0x579947[_0x40c653(0x19e)](isSessionEnabled,_0x254345);try{const _0x2fe50d=_0x579947[_0x40c653(0x193)](createTelemetryCollector,_0x40c653(0x19d));await _0x2fe50d['trackCommandStart']({'sessionId':_0x254345,'hooksEnabled':_0x1352be}),await _0x2fe50d[_0x40c653(0x1a4)](_0x40c653(0x19b));}catch{}if(_0x1352be){const _0x42ce69=getCurrentBranch(),_0x1420de=_0x42ce69&&_0x42ce69!==_0x579947['ldNqS']&&_0x42ce69!==_0x579947[_0x40c653(0x191)]?_0x40c653(0x1aa)+_0x42ce69+')':'',_0x58226f={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x1420de}};console[_0x40c653(0x1a0)](JSON[_0x40c653(0x1a5)](_0x58226f));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x597111,_0x499301){const _0xab2920=_0x43be,_0x140bbe=_0x597111();while(!![]){try{const _0x5b34a5=parseInt(_0xab2920(0x11c))/0x1*(-parseInt(_0xab2920(0x12e))/0x2)+-parseInt(_0xab2920(0x119))/0x3*(parseInt(_0xab2920(0x10d))/0x4)+parseInt(_0xab2920(0x125))/0x5*(-parseInt(_0xab2920(0x112))/0x6)+-parseInt(_0xab2920(0x117))/0x7+parseInt(_0xab2920(0x12c))/0x8*(parseInt(_0xab2920(0x11d))/0x9)+parseInt(_0xab2920(0x12a))/0xa*(parseInt(_0xab2920(0x123))/0xb)+parseInt(_0xab2920(0x12b))/0xc*(parseInt(_0xab2920(0x115))/0xd);if(_0x5b34a5===_0x499301)break;else _0x140bbe['push'](_0x140bbe['shift']());}catch(_0x3757bf){_0x140bbe['push'](_0x140bbe['shift']());}}}(_0x42df,0x51537));function _0x43be(_0xf89a52,_0x3a4168){_0xf89a52=_0xf89a52-0x10d;const _0x42dfe7=_0x42df();let _0x43be44=_0x42dfe7[_0xf89a52];return _0x43be44;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x42df(){const _0x226f0f=['NejNE','679461YQiFzc','Stop','incomplete','3ULksXL','9yBvoAI','YRoLW','trackCommandStart','sDUHS','geQTs','some','396UFJAtv','RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20','5CPOypz','OshPi','checklistItems','hook:stop','closed','116810NQOqBu','144WFCclS','2112008yErdPt','blocked','30586kJzMYY','4tRlVpb','sessionId','verified','OTBkx','featureId','3097818etHJYQ','currentSessionId','stringify','499642fSKxNY','status','167615KXSzyk'];_0x42df=function(){return _0x226f0f;};return _0x42df();}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x1e58c3){const _0x226aa3=_0x43be,_0x48370d={'OshPi':function(_0x2475c7,_0x5aad8e){return _0x2475c7(_0x5aad8e);},'NejNE':function(_0x160a3f,_0x41ebfd,_0x101844,_0xd8da2a){return _0x160a3f(_0x41ebfd,_0x101844,_0xd8da2a);},'sDUHS':function(_0x7ccda2){return _0x7ccda2();},'geQTs':function(_0x3702b7,_0xadb8d9){return _0x3702b7&&_0xadb8d9;},'tBYNQ':function(_0x55834e,_0x1f52ec){return _0x55834e(_0x1f52ec);},'OTBkx':_0x226aa3(0x11a),'YRoLW':function(_0x45874b,_0x28ca02,_0x25defd,_0x154c87){return _0x45874b(_0x28ca02,_0x25defd,_0x154c87);}},_0x1d131f=await _0x48370d[_0x226aa3(0x126)](getEnabledHookContext,_0x1e58c3),_0x5d09d4=_0x1d131f?.[_0x226aa3(0x10e)]??null;let _0x2040b2=!![];if(!_0x5d09d4){await _0x48370d[_0x226aa3(0x118)](trackStop,_0x5d09d4,![],_0x2040b2);return;}try{const _0xedd3cd=getSessionEntry(_0x5d09d4);if(!_0xedd3cd){await trackStop(_0x5d09d4,!![],_0x2040b2);return;}const _0x22651f=await _0x48370d[_0x226aa3(0x120)](getToken),_0x4b075e='https://dashboard.ranger.net/features/'+_0xedd3cd[_0x226aa3(0x111)];let _0x536cd2=null,_0x5012e2=![],_0x33c96d=![];if(_0x22651f)try{const _0x4d166d=await getFeature(_0xedd3cd[_0x226aa3(0x111)]);_0x536cd2=_0x4d166d[_0x226aa3(0x113)]??null;const _0x411d75=_0x4d166d[_0x226aa3(0x127)]['filter'](_0x1cf0fd=>_0x1cf0fd[_0x226aa3(0x10e)]===_0x536cd2);_0x5012e2=_0x411d75[_0x226aa3(0x122)](_0x5f2ffc=>_0x5f2ffc[_0x226aa3(0x116)]!==_0x226aa3(0x10f)&&_0x5f2ffc['status']!==_0x226aa3(0x12d)&&_0x5f2ffc['status']!==_0x226aa3(0x129)&&_0x5f2ffc[_0x226aa3(0x116)]!==_0x226aa3(0x11b)),_0x33c96d=_0x411d75[_0x226aa3(0x122)](_0x2293a7=>_0x2293a7[_0x226aa3(0x116)]==='verification_in_progress');}catch{}if(_0x48370d[_0x226aa3(0x121)](_0x22651f,_0x536cd2)&&_0x5012e2){if(!_0x33c96d&&_0x48370d['tBYNQ'](shouldShowStopReminder,_0x5d09d4)){const _0x31fa81={'hookSpecificOutput':{'hookEventName':_0x48370d[_0x226aa3(0x110)],'additionalContext':_0x226aa3(0x124)+_0x4b075e}};console['log'](JSON[_0x226aa3(0x114)](_0x31fa81));}}if(_0x48370d['geQTs'](_0x22651f,_0x536cd2)&&!_0x5012e2)try{await concludeSession(_0xedd3cd['featureId'],_0x536cd2);}catch{}await _0x48370d[_0x226aa3(0x11e)](trackStop,_0x5d09d4,!![],_0x2040b2);return;}catch{await trackStop(_0x5d09d4,!![],_0x2040b2);return;}}async function trackStop(_0x11c640,_0x461543,_0x5efb9a){const _0x10aaf0=_0x43be;try{const _0x4f0981=createTelemetryCollector(_0x10aaf0(0x128));await _0x4f0981[_0x10aaf0(0x11f)]({'sessionId':_0x11c640??undefined,'hooksEnabled':_0x461543,'stopAllowed':_0x5efb9a}),await _0x4f0981['trackCommandEnd']('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x19fdc0,_0x5345c8){var _0x27a7a8=_0x4941,_0x36d6e5=_0x19fdc0();while(!![]){try{var _0x649560=-parseInt(_0x27a7a8(0xf1))/0x1+parseInt(_0x27a7a8(0xf0))/0x2+-parseInt(_0x27a7a8(0xf6))/0x3+parseInt(_0x27a7a8(0xee))/0x4*(-parseInt(_0x27a7a8(0xef))/0x5)+-parseInt(_0x27a7a8(0xf4))/0x6+parseInt(_0x27a7a8(0xf2))/0x7+parseInt(_0x27a7a8(0xf5))/0x8*(parseInt(_0x27a7a8(0xf3))/0x9);if(_0x649560===_0x5345c8)break;else _0x36d6e5['push'](_0x36d6e5['shift']());}catch(_0x56c0d8){_0x36d6e5['push'](_0x36d6e5['shift']());}}}(_0x4696,0xbcd5c));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x4696(){var _0x39b3ea=['172360KxLCYz','1072176ThrKSC','2844108TvpkKe','3314934WaDomm','56QzoEKc','3900825pCLXdc','567620KnRNhP','5AdOuCI','1150490AKwRkL'];_0x4696=function(){return _0x39b3ea;};return _0x4696();}export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';function _0x4941(_0x415a08,_0x480d57){_0x415a08=_0x415a08-0xee;var _0x46960e=_0x4696();var _0x494122=_0x46960e[_0x415a08];return _0x494122;}export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|