@ranger-testing/ranger-cli 2.5.4-alpha.1f7a251-7 → 2.5.4-alpha.2709b75-22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -14
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -0
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +24 -8
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +37 -18
- package/package.json +3 -2
|
@@ -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 _0x315c8e=_0x56b6;(function(_0x1194cb,_0x11ce44){const _0x5d53ca=_0x56b6,_0x5afe7d=_0x1194cb();while(!![]){try{const _0x1dd2af=-parseInt(_0x5d53ca(0x17c))/0x1+parseInt(_0x5d53ca(0x141))/0x2+-parseInt(_0x5d53ca(0x154))/0x3+-parseInt(_0x5d53ca(0x17a))/0x4*(parseInt(_0x5d53ca(0x194))/0x5)+parseInt(_0x5d53ca(0x1a6))/0x6*(parseInt(_0x5d53ca(0x146))/0x7)+-parseInt(_0x5d53ca(0xfb))/0x8*(-parseInt(_0x5d53ca(0x1a7))/0x9)+-parseInt(_0x5d53ca(0x171))/0xa*(parseInt(_0x5d53ca(0xfc))/0xb);if(_0x1dd2af===_0x11ce44)break;else _0x5afe7d['push'](_0x5afe7d['shift']());}catch(_0x200558){_0x5afe7d['push'](_0x5afe7d['shift']());}}}(_0x5ed3,0x4eece));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x51fc58 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=_0x315c8e(0x144),bold=_0x12f250=>'\x1b[1m'+_0x12f250+'\x1b[0m';function getGitRepoUrl(){const _0x34c976=_0x315c8e,_0x59ab33={'EWzfp':_0x34c976(0x192)};try{const _0x5f31cd=execSync('git\x20remote\x20get-url\x20origin',{'encoding':'utf-8','stdio':[_0x34c976(0x192),'pipe',_0x59ab33['EWzfp']]})['trim']();return _0x5f31cd[_0x34c976(0x1b0)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x34c976(0x1aa))[_0x34c976(0x1b0)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x1065fb=_0x315c8e,_0x33d176={'erfbA':function(_0x19a91c,_0x63213b,_0x3740a7){return _0x19a91c(_0x63213b,_0x3740a7);},'thYzC':'pipe'};try{return _0x33d176['erfbA'](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x1065fb(0x196),'stdio':[_0x33d176[_0x1065fb(0x173)],_0x33d176['thYzC'],_0x33d176['thYzC']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x48fa7d=_0x315c8e,_0x29f3f9={'KRfCz':function(_0x45ebbc,_0x42f8a0,_0x5b94e7){return _0x45ebbc(_0x42f8a0,_0x5b94e7);}},_0x314dc3=_0x29f3f9[_0x48fa7d(0x108)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x314dc3))return null;try{const _0x446241=await _0x29f3f9[_0x48fa7d(0x108)](readFile,_0x314dc3,'utf-8');return _0x446241[_0x48fa7d(0x125)]()||null;}catch{return null;}}function _0x56b6(_0xf24a03,_0x1bbde6){_0xf24a03=_0xf24a03-0xd0;const _0x5ed358=_0x5ed3();let _0x56b601=_0x5ed358[_0xf24a03];return _0x56b601;}async function setActiveFeatureId(_0x4cd7cd){const _0x1f1ef8=_0x315c8e,_0x109020={'nAEhp':function(_0x179225){return _0x179225();},'PszRp':function(_0x58ddc2,_0x5ede3d,_0x435b49){return _0x58ddc2(_0x5ede3d,_0x435b49);},'mxxvc':function(_0x203943,_0x559ed1){return _0x203943(_0x559ed1);},'kwYgf':function(_0x5e501d,_0x22c72c,_0x493704,_0x1277b6){return _0x5e501d(_0x22c72c,_0x493704,_0x1277b6);}},_0x305ab5=_0x109020[_0x1f1ef8(0x126)](getRangerDir),_0x41c717=_0x109020[_0x1f1ef8(0xe1)](join,_0x305ab5,ACTIVE_FEATURE_FILE);!_0x109020[_0x1f1ef8(0x12a)](existsSync,_0x305ab5)&&await mkdir(_0x305ab5,{'recursive':!![]}),await _0x109020[_0x1f1ef8(0x1b8)](writeFile,_0x41c717,_0x4cd7cd,_0x1f1ef8(0x196));}function getProgressDisplay(_0x3ac65b){const _0x108f63=_0x315c8e,_0xd5b37b={'jwjKW':function(_0xe3c48c,_0x1d06ac){return _0xe3c48c+_0x1d06ac;},'DYuBs':function(_0x1bcfad,_0x3e6e93){return _0x1bcfad+_0x3e6e93;},'lVKYr':function(_0x25013b,_0x56e184){return _0x25013b+_0x56e184;},'VbGzI':function(_0x32dbc7,_0x231e63){return _0x32dbc7*_0x231e63;},'htcod':function(_0x242fe4,_0x28d3fb){return _0x242fe4-_0x28d3fb;}},_0x205291=_0x3ac65b['verifiedItems']||0x0,_0x1a21df=_0x3ac65b[_0x108f63(0xe2)]||0x0,_0x52f181=_0x3ac65b['blockedItems']||0x0,_0x311070=_0x3ac65b[_0x108f63(0x142)]||0x0,_0x5d1f92=_0x3ac65b['pendingItems']||0x0,_0x3a69b3=_0xd5b37b[_0x108f63(0x150)](_0xd5b37b['DYuBs'](_0xd5b37b['lVKYr'](_0xd5b37b[_0x108f63(0x122)](_0x205291,_0x1a21df),_0x52f181),_0x311070),_0x5d1f92);if(_0x3a69b3===0x0)return'-';const _0x1a3a20=0xa,_0x30e45f=Math['round'](_0xd5b37b['VbGzI'](_0x205291/_0x3a69b3,_0x1a3a20)),_0x32c245='█'['repeat'](_0x30e45f)+'░'[_0x108f63(0x112)](_0xd5b37b[_0x108f63(0x115)](_0x1a3a20,_0x30e45f)),_0x59e40b=[];if(_0x52f181>0x0)_0x59e40b['push'](_0x52f181+_0x108f63(0x13f));if(_0x311070>0x0)_0x59e40b['push'](_0x311070+_0x108f63(0xdd));if(_0x1a21df>0x0)_0x59e40b['push'](_0x1a21df+_0x108f63(0x19e));const _0x17c9c9=_0x59e40b[_0x108f63(0x16b)]>0x0?'\x20('+_0x59e40b[_0x108f63(0xd8)](',\x20')+')':'';return _0x32c245+'\x20'+_0x205291+'/'+_0x3a69b3+_0x108f63(0xf4)+_0x17c9c9;}function getCurrentSessionItems(_0x55b544,_0x5b86bb){const _0x3144ef=_0x315c8e;if(!_0x55b544[_0x3144ef(0x135)])return _0x5b86bb[_0x3144ef(0xf8)](_0x77b141=>!_0x77b141[_0x3144ef(0x1b7)]);return _0x5b86bb[_0x3144ef(0xf8)](_0x550cb4=>_0x550cb4['sessionId']===_0x55b544['currentSessionId']||!_0x550cb4[_0x3144ef(0x1b7)]);}function displayFeature(_0x405e9f,_0x1ffb06){const _0x2cddee=_0x315c8e,_0xa3abbd={'BABKa':function(_0x2f54af,_0x7b5a9){return _0x2f54af(_0x7b5a9);},'erKkn':'\x0a\x20\x20\x20Scenarios:','bARMZ':function(_0x4eefcf,_0x2d572c){return _0x4eefcf<_0x2d572c;},'JFrEV':function(_0x3ed6a1,_0x441937){return _0x3ed6a1===_0x441937;},'bfaaW':_0x2cddee(0x18a),'loipd':function(_0xd87c18,_0x360eb3){return _0xd87c18===_0x360eb3;},'LHEGg':_0x2cddee(0xdc),'XTfpc':function(_0x28ac75,_0xae36dc){return _0x28ac75===_0xae36dc;},'smxwP':function(_0x8d5745,_0x59ec8d){return _0x8d5745!==_0x59ec8d;},'lhuIX':function(_0x17a3cd,_0x50e7d0){return _0x17a3cd===_0x50e7d0;},'qmphN':_0x2cddee(0x107)};console['log']('\x0a'+_0x405e9f[_0x2cddee(0xeb)]+'\x20('+_0x405e9f['dashboardUrl']+')');_0x405e9f[_0x2cddee(0x14b)]&&console['log'](_0x2cddee(0x10d)+_0xa3abbd['BABKa'](getProgressDisplay,_0x405e9f['stats']));_0x405e9f['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x405e9f['description']);_0x405e9f['gitRepoUrl']&&console[_0x2cddee(0xf3)]('\x20\x20\x20Repository:\x20'+_0x405e9f[_0x2cddee(0x1ac)]);_0x405e9f[_0x2cddee(0xd7)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x405e9f['gitBranch']);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x405e9f['createdAt'])[_0x2cddee(0x175)]());_0x405e9f['completedAt']&&console[_0x2cddee(0xf3)](_0x2cddee(0x15c)+new Date(_0x405e9f[_0x2cddee(0xe9)])[_0x2cddee(0x175)]());if(_0x1ffb06&&_0x1ffb06[_0x2cddee(0x16b)]>0x0){console[_0x2cddee(0xf3)](_0xa3abbd['erKkn']);for(let _0x3d9363=0x0;_0xa3abbd['bARMZ'](_0x3d9363,_0x1ffb06[_0x2cddee(0x16b)]);_0x3d9363++){const _0x3c1eea=_0x1ffb06[_0x3d9363];let _0x335694;if(_0xa3abbd['JFrEV'](_0x3c1eea[_0x2cddee(0x189)],_0xa3abbd[_0x2cddee(0x153)])&&_0x3c1eea[_0x2cddee(0x138)]==='approved')_0x335694='✅';else{if(_0xa3abbd['loipd'](_0x3c1eea['status'],'verified'))_0x335694='🟢';else{if(_0x3c1eea[_0x2cddee(0x189)]===_0xa3abbd['LHEGg'])_0x335694='🟠';else{if(_0xa3abbd['XTfpc'](_0x3c1eea['status'],'blocked'))_0x335694='🛑';else{if(_0xa3abbd[_0x2cddee(0x15b)](_0x3c1eea[_0x2cddee(0x189)],_0xa3abbd['bfaaW']))_0x335694='⛔';else _0xa3abbd['XTfpc'](_0x3c1eea[_0x2cddee(0x189)],_0x2cddee(0x174))?_0x335694='⏳':_0x335694='⬜';}}}}const _0x345b25=_0x3c1eea['version']>0x1?_0x2cddee(0x12f)+_0x3c1eea['version']+')':'',_0x22c9d9=_0x3c1eea[_0x2cddee(0x106)]>0x1&&_0x3c1eea[_0x2cddee(0x151)]&&_0xa3abbd['smxwP'](_0x3c1eea['status'],_0x2cddee(0x18a))&&_0xa3abbd[_0x2cddee(0x19b)](_0x3c1eea[_0x2cddee(0x189)],_0x2cddee(0xed))?_0x2cddee(0xd4):'';console['log']('\x20\x20\x20'+(_0x3d9363+0x1)+'.\x20'+_0x335694+'\x20'+_0x3c1eea[_0x2cddee(0x123)]+_0x345b25+_0x22c9d9);_0xa3abbd[_0x2cddee(0x15a)](_0x3c1eea[_0x2cddee(0x189)],_0x2cddee(0x179))&&_0x3c1eea['blockedReason']&&console['log'](_0x2cddee(0xe3)+_0x3c1eea['blockedReason']);_0xa3abbd[_0x2cddee(0x15b)](_0x3c1eea[_0x2cddee(0x189)],_0xa3abbd[_0x2cddee(0x19f)])&&_0x3c1eea[_0x2cddee(0x14f)]&&console['log'](_0x2cddee(0x14e)+_0x3c1eea['incompleteReason']);if(_0x3c1eea['status']===_0xa3abbd[_0x2cddee(0x153)]&&_0xa3abbd['lhuIX'](_0x3c1eea['terminalReason'],_0xa3abbd[_0x2cddee(0x18c)]))console['log'](_0x2cddee(0x188));else _0xa3abbd['loipd'](_0x3c1eea[_0x2cddee(0x189)],_0x2cddee(0x18a))&&_0x3c1eea[_0x2cddee(0x15e)]&&console['log'](_0x2cddee(0xf5)+_0x3c1eea[_0x2cddee(0x15e)]);}}}export async function featureCreate(_0x2c0a56,_0x3c680f){const _0x176139=_0x315c8e,_0x12cb94={'rETeK':function(_0x550363,_0xa5a289){return _0x550363===_0xa5a289;},'QtzJq':function(_0x40e1d5){return _0x40e1d5();},'gJpwc':function(_0x41bf42,_0x367f9e){return _0x41bf42(_0x367f9e);},'YCDGR':_0x176139(0x19c),'showe':function(_0x45df79,_0x114cc6){return _0x45df79(_0x114cc6);},'kuKIz':function(_0x200513,_0x4886f1,_0x44413a){return _0x200513(_0x4886f1,_0x44413a);}},{envNames:_0x10aeac}=await getEnvNames();if(_0x12cb94['rETeK'](_0x10aeac[_0x176139(0x16b)],0x0)&&!process[_0x176139(0x184)]['RANGER_TEST_USERNAME']){let _0xa14de8=0x0;try{_0xa14de8=(await _0x12cb94['QtzJq'](listCloudProfiles))[_0x176139(0x16b)];}catch{_0xa14de8=0x1;}_0xa14de8===0x0&&console['warn']('\x0a'+_0x12cb94[_0x176139(0x102)](formatProfileRequiredMessage,_0x206ff3=>bold(_0x206ff3)));}const _0x91405c=_0x3c680f['scenarios']?_0x3c680f[_0x176139(0x11e)]['map'](_0x431d22=>_0x431d22['trim']()):[],_0x259ecc=getGitRepoUrl(),_0x316291=getGitBranch();console[_0x176139(0xf3)](_0x12cb94[_0x176139(0x13e)]);const _0x365670=await _0x12cb94['showe'](createFeature,{'name':_0x2c0a56,'description':_0x3c680f['description'],'checklist':_0x91405c,'gitRepoUrl':_0x259ecc,'gitBranch':_0x316291});await setActiveFeatureId(_0x365670['id']),await tryStartCurrentSession(_0x365670['id']);const _0x707bff=process[_0x176139(0x184)][_0x176139(0x129)];_0x707bff&®isterSession(_0x707bff,_0x365670['id']),console['log'](_0x176139(0x117)+_0x365670['id']),_0x12cb94[_0x176139(0x1ae)](displayFeature,_0x365670,_0x365670[_0x176139(0xd3)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x19f555){const _0x10ab9f=_0x315c8e,_0x317bed={'PVTxP':function(_0xf47fd9){return _0xf47fd9();},'mzpBe':function(_0x343409,_0x3d5e9f){return _0x343409(_0x3d5e9f);},'nyuZO':function(_0x56e9c8,_0x418b0a){return _0x56e9c8===_0x418b0a;},'gaFSc':'\x0aNo\x20feature\x20reviews\x20found.','PzfUC':function(_0x189c06,_0x39384d){return _0x189c06>_0x39384d;},'WAlRl':_0x10ab9f(0xef),'lXOdm':function(_0x755745,_0x8f4632){return _0x755745(_0x8f4632);},'nJbjM':function(_0x1fceb7,_0x3d675e){return _0x1fceb7!==_0x3d675e;},'XLfLA':'\x20--include-deleted'},_0x598e0f={'limit':_0x19f555['limit']??0xa,'offset':_0x19f555[_0x10ab9f(0x17b)]??0x0,'includeDeleted':_0x19f555['includeDeleted']};_0x19f555[_0x10ab9f(0x1b4)]&&(_0x598e0f[_0x10ab9f(0x1ac)]=getGitRepoUrl(),_0x598e0f[_0x10ab9f(0xd7)]=_0x317bed[_0x10ab9f(0x1b3)](getGitBranch));const _0x59b4c5=await _0x317bed[_0x10ab9f(0xfd)](listFeatures,_0x598e0f);if(_0x317bed[_0x10ab9f(0x1b5)](_0x59b4c5[_0x10ab9f(0x147)][_0x10ab9f(0x16b)],0x0)){console['log'](_0x317bed['gaFSc']);return;}const _0x189749=_0x317bed['PzfUC'](_0x59b4c5[_0x10ab9f(0xfe)],_0x59b4c5[_0x10ab9f(0x147)]['length'])?'Showing\x20'+_0x59b4c5[_0x10ab9f(0x147)][_0x10ab9f(0x16b)]+_0x10ab9f(0xf9)+_0x59b4c5['totalCount']:_0x59b4c5['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x189749+':\x0a');for(const _0x5b85af of _0x59b4c5['items']){const _0x247e7f=_0x317bed[_0x10ab9f(0x11a)][_0x10ab9f(0x16c)]('|');let _0x531193=0x0;while(!![]){switch(_0x247e7f[_0x531193++]){case'0':_0x5b85af['stats']&&console[_0x10ab9f(0xf3)]('\x20\x20\x20Progress:\x20'+_0x317bed['lXOdm'](getProgressDisplay,_0x5b85af[_0x10ab9f(0x14b)]));continue;case'1':console['log'](_0x10ab9f(0x10c)+_0x5b85af['id']);continue;case'2':_0x5b85af[_0x10ab9f(0xd7)]&&console[_0x10ab9f(0xf3)]('\x20\x20\x20Branch:\x20'+_0x5b85af[_0x10ab9f(0xd7)]);continue;case'3':console['log'](_0x10ab9f(0x177)+new Date(_0x5b85af[_0x10ab9f(0xec)])[_0x10ab9f(0x111)]());continue;case'4':console['log'](''+_0x5b85af[_0x10ab9f(0xeb)]);continue;case'5':console[_0x10ab9f(0xf3)]('');continue;}break;}}const _0x246b5a=_0x598e0f[_0x10ab9f(0x165)]??0xa,_0xe6fc6b=(_0x598e0f[_0x10ab9f(0x17b)]??0x0)+_0x59b4c5[_0x10ab9f(0x147)]['length'];if(_0xe6fc6b<_0x59b4c5[_0x10ab9f(0xfe)]){const _0x205db8=_0x317bed[_0x10ab9f(0x1a3)](_0x246b5a,0xa)?'\x20--limit\x20'+_0x246b5a:'',_0x1d4170=_0x19f555['currentBranch']?'\x20--current-branch':'',_0x125dbd=_0x19f555[_0x10ab9f(0x182)]?_0x317bed[_0x10ab9f(0x15d)]:'';console[_0x10ab9f(0xf3)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0xe6fc6b+_0x205db8+_0x1d4170+_0x125dbd);}}export async function featureShow(_0x2b1b86){const _0x459c58=_0x315c8e,_0x4b441f={'RMomL':function(_0xe9145b,_0xb9a164,_0x175b01){return _0xe9145b(_0xb9a164,_0x175b01);}},_0x4641e1=_0x2b1b86||await getActiveFeatureId();if(!_0x4641e1)throw new Error(_0x459c58(0x161));const _0x352f47=await getFeature(_0x4641e1);_0x4b441f[_0x459c58(0x1b2)](displayFeature,_0x352f47,_0x352f47['checklistItems']);}export async function featureResume(_0x57d7f9){const _0x2eb025=_0x315c8e,_0x48556d={'DqvIt':function(_0x9b5a62,_0x7900a1){return _0x9b5a62(_0x7900a1);},'DopPO':function(_0x7c0e17){return _0x7c0e17();},'gHUJY':function(_0x4a5709,_0x5f3136){return _0x4a5709(_0x5f3136);},'Zwxzk':function(_0x4133ca,_0x107702,_0x1ab690){return _0x4133ca(_0x107702,_0x1ab690);},'wZvPh':function(_0x3f7bff,_0x12aa42){return _0x3f7bff(_0x12aa42);},'MHTpJ':function(_0x2e7fae,_0x40a97c){return _0x2e7fae&&_0x40a97c;},'Knpje':function(_0x7032c8,_0x33bffd){return _0x7032c8||_0x33bffd;},'FpYzm':function(_0x10c9cd,_0xb310a3){return _0x10c9cd(_0xb310a3);},'HHUfc':_0x2eb025(0x152),'nBtpC':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','IDjMS':function(_0x2d1741,_0x212c43){return _0x2d1741!==_0x212c43;},'UVFcD':function(_0x16eb62,_0x3a5b8b,_0x1c7c5b){return _0x16eb62(_0x3a5b8b,_0x1c7c5b);}};if(_0x57d7f9){const _0x1455eb=await _0x48556d['DqvIt'](getFeature,_0x57d7f9);await setActiveFeatureId(_0x1455eb['id']);const _0x19e4fe=_0x48556d['DopPO'](getGitBranch);_0x19e4fe&&_0x19e4fe!==_0x1455eb[_0x2eb025(0xd7)]&&(await updateFeature(_0x1455eb['id'],{'gitBranch':_0x19e4fe}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x19e4fe));console[_0x2eb025(0xf3)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x1455eb[_0x2eb025(0xeb)]+'\x20('+_0x1455eb['id']+')'),await _0x48556d[_0x2eb025(0x18d)](tryStartCurrentSession,_0x1455eb['id']);const _0x46a915=process['env']['CLAUDE_SESSION_ID'];_0x46a915&®isterSession(_0x46a915,_0x1455eb['id']);_0x48556d['Zwxzk'](displayFeature,_0x1455eb,_0x1455eb['checklistItems']),await _0x48556d['wZvPh'](printFeedbackNudge,_0x1455eb['id']);return;}const _0x5ec5e6=getGitRepoUrl(),_0x256a89=_0x48556d['DopPO'](getGitBranch);if(_0x48556d['MHTpJ'](!_0x5ec5e6,!_0x256a89))throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x2eb025(0xf3)](_0x2eb025(0x170)+(_0x5ec5e6||_0x2eb025(0xf0))+_0x2eb025(0x16d)+_0x48556d[_0x2eb025(0x12e)](_0x256a89,'any')+_0x2eb025(0x116));const _0x40b8eb=await _0x48556d[_0x2eb025(0x183)](listFeatures,{'gitRepoUrl':_0x5ec5e6,'gitBranch':_0x256a89}),_0x1da2e1=_0x40b8eb['items'][_0x2eb025(0xf8)](_0x568af7=>_0x568af7['status']?_0x568af7['status']!==_0x2eb025(0xed):!_0x568af7['completedAt']);if(_0x1da2e1[_0x2eb025(0x16b)]===0x0){console['log']('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console[_0x2eb025(0xf3)](_0x48556d[_0x2eb025(0x157)]);return;}let _0x3661a4;if(_0x1da2e1[_0x2eb025(0x16b)]===0x1)_0x3661a4=_0x1da2e1[0x0];else{const _0x4b012d=process['stdin'][_0x2eb025(0x120)]&&process[_0x2eb025(0x16e)][_0x2eb025(0x120)];if(!_0x4b012d){console[_0x2eb025(0xf3)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x1cba07 of _0x1da2e1){console['log']('\x20\x20'+_0x1cba07['name']),console['log'](_0x2eb025(0xe0)+_0x1cba07['id']),_0x1cba07[_0x2eb025(0x14b)]&&console[_0x2eb025(0xf3)](_0x2eb025(0x1ad)+getProgressDisplay(_0x1cba07['stats'])),_0x1cba07[_0x2eb025(0xd7)]&&console[_0x2eb025(0xf3)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x1cba07['gitBranch']);}throw new Error(_0x48556d[_0x2eb025(0xd2)]);}const {selected:_0x56715a}=await _0x51fc58[_0x2eb025(0x14c)]([{'type':_0x2eb025(0xfa),'name':'selected','message':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','choices':_0x1da2e1[_0x2eb025(0xda)](_0x5a0fa=>({'name':_0x5a0fa[_0x2eb025(0xeb)]+'\x20('+_0x5a0fa['id']+')','value':_0x5a0fa['id']}))}]);_0x3661a4=_0x1da2e1[_0x2eb025(0x12d)](_0x4042ac=>_0x4042ac['id']===_0x56715a);}await _0x48556d[_0x2eb025(0x159)](setActiveFeatureId,_0x3661a4['id']);_0x256a89&&_0x48556d['IDjMS'](_0x256a89,_0x3661a4['gitBranch'])&&(await _0x48556d[_0x2eb025(0x195)](updateFeature,_0x3661a4['id'],{'gitBranch':_0x256a89}),console[_0x2eb025(0xf3)](_0x2eb025(0x17f)+_0x256a89));console[_0x2eb025(0xf3)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3661a4[_0x2eb025(0xeb)]+'\x20('+_0x3661a4['id']+')'),await tryStartCurrentSession(_0x3661a4['id']);const _0x161baf=await getFeature(_0x3661a4['id']),_0x4cbb35=process['env']['CLAUDE_SESSION_ID'];_0x4cbb35&®isterSession(_0x4cbb35,_0x161baf['id']),_0x48556d[_0x2eb025(0xd9)](displayFeature,_0x161baf,_0x161baf['checklistItems']),await _0x48556d[_0x2eb025(0x18d)](printFeedbackNudge,_0x161baf['id']);}async function printFeedbackNudge(_0x14e863){const _0x4aece1=_0x315c8e,_0x44a05f={'XFvbS':function(_0xd3ce64,_0xe7fbe2){return _0xd3ce64(_0xe7fbe2);},'kjeqb':function(_0x525406,_0x1a2a0b){return _0x525406>_0x1a2a0b;}};try{const {items:_0x42781c}=await _0x44a05f['XFvbS'](getActionItems,_0x14e863);let _0x499b4d=0x0,_0x2af85c=0x0;for(const _0x1ef3c8 of _0x42781c){const _0x4f3526=await getItemFeedback(_0x14e863,_0x1ef3c8['id']);_0x4f3526[_0x4aece1(0x14a)][_0x4aece1(0x16b)]>0x0&&(_0x499b4d+=_0x4f3526['unaddressedComments'][_0x4aece1(0x16b)],_0x2af85c++);}_0x44a05f['kjeqb'](_0x499b4d,0x0)&&(console[_0x4aece1(0xf3)]('\x0a⚠️\x20\x20'+_0x499b4d+_0x4aece1(0x181)+_0x2af85c+'\x20scenario(s).'),console[_0x4aece1(0xf3)](_0x4aece1(0x10f)));}catch{}}async function tryStartCurrentSession(_0x4b2f3b){const _0x118fe3=_0x315c8e,_0x1f7d74={'iZGBf':function(_0x130c03,_0x27af6a){return _0x130c03(_0x27af6a);}};try{const {sessions:_0xff5d25}=await _0x1f7d74['iZGBf'](listFeatureSessions,_0x4b2f3b),_0x3239c7=_0xff5d25['find'](_0x1575c6=>_0x1575c6[_0x118fe3(0x189)]===_0x118fe3(0x136));_0x3239c7&&(await startSession(_0x4b2f3b,_0x3239c7['id']),console['log'](_0x118fe3(0x100)+_0x3239c7['iteration']));}catch{}}export async function featureReport(_0x91940d,_0x5e52a0){const _0x3f586b=_0x315c8e,_0x5ad9b9={'DDyPo':_0x3f586b(0xd1),'viYZK':function(_0x377510){return _0x377510();},'ZrRYF':function(_0x254602,_0x26cfff){return _0x254602(_0x26cfff);},'TUNGc':function(_0x3b2b25,_0x3cef79,_0x34b688){return _0x3b2b25(_0x3cef79,_0x34b688);}},_0x18f986=_0x91940d||await getActiveFeatureId();if(!_0x18f986)throw new Error(_0x5ad9b9[_0x3f586b(0x118)]);console[_0x3f586b(0xf3)](_0x3f586b(0x119));const _0x320cdd=await getFeatureReportMarkdown(_0x18f986,{'style':_0x5e52a0[_0x3f586b(0x114)]}),_0x36782e=_0x5e52a0['output']||join(_0x5ad9b9[_0x3f586b(0x131)](getRangerDir),_0x3f586b(0x168),_0x18f986+'.md'),_0x57721b=join(_0x36782e,'..');!_0x5ad9b9[_0x3f586b(0x11c)](existsSync,_0x57721b)&&await _0x5ad9b9[_0x3f586b(0x1a5)](mkdir,_0x57721b,{'recursive':!![]}),await writeFile(_0x36782e,_0x320cdd,'utf-8'),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x36782e);}function getScenarioResult(_0x41d36d){const _0x23e857=_0x315c8e,_0x529c0c={'nsKYT':'closed'};if(_0x41d36d[_0x23e857(0x189)]===_0x529c0c['nsKYT'])return _0x41d36d[_0x23e857(0x138)]??'closed';if(_0x41d36d['status']===_0x23e857(0x174))return _0x23e857(0x1af);return _0x41d36d['status'];}function getScenarioRationale(_0x341308,_0x521acb){const _0x2dfbcb=_0x315c8e,_0x2084c2='0|2|1|4|3|5'[_0x2dfbcb(0x16c)]('|');let _0x55ce0c=0x0;while(!![]){switch(_0x2084c2[_0x55ce0c++]){case'0':if(_0x521acb)return _0x521acb;continue;case'1':if(_0x341308[_0x2dfbcb(0x14f)])return _0x341308['incompleteReason'];continue;case'2':if(_0x341308['blockedReason'])return _0x341308[_0x2dfbcb(0xdb)];continue;case'3':if(_0x341308['notes'])return _0x341308[_0x2dfbcb(0xde)];continue;case'4':if(_0x341308['canceledReason'])return _0x341308['canceledReason'];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0xcfaf8d,_0x56fa43){const _0x480841=_0x315c8e,_0x4075e4={'BTuEO':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','GZLlI':function(_0x314efa,_0x4dd23d){return _0x314efa(_0x4dd23d);},'lHqax':function(_0x23db67,_0x2d9944,_0x86d1fb){return _0x23db67(_0x2d9944,_0x86d1fb);},'WRLIW':function(_0x57a8b4,_0x45e27f){return _0x57a8b4===_0x45e27f;},'oCRtE':_0x480841(0xe6),'gRvNc':function(_0xd51895,_0x5ba0fb){return _0xd51895>_0x5ba0fb;},'bYmtF':'\x0aAvailable\x20scenarios:','coFoI':function(_0x11474b,_0x1289b4){return _0x11474b<_0x1289b4;},'ygqMs':function(_0x211b64,_0x116636){return _0x211b64+_0x116636;},'vKpKs':function(_0x5ee232,_0x678829){return _0x5ee232===_0x678829;},'OMWgt':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','iBpZN':function(_0x145e01,_0x2db67c,_0x12033a,_0x3b4dd0){return _0x145e01(_0x2db67c,_0x12033a,_0x3b4dd0);}},_0x131d29=_0xcfaf8d||await getActiveFeatureId();if(!_0x131d29)throw new Error(_0x4075e4[_0x480841(0x164)]);const _0x5a6494=await _0x4075e4[_0x480841(0x124)](getFeature,_0x131d29),_0x474d6d=_0x5a6494[_0x480841(0xd3)]||[],_0x3f3249=_0x4075e4['lHqax'](getCurrentSessionItems,_0x5a6494,_0x474d6d);_0x4075e4[_0x480841(0x15f)](_0x3f3249['length'],0x0)&&(console[_0x480841(0x185)](_0x4075e4[_0x480841(0x10e)]),process['exit'](0x1));const _0x33810f=_0x56fa43['excludeScenarios']??[],_0x3c2e6f=_0x33810f[_0x480841(0xf8)](_0x328246=>!Number[_0x480841(0x176)](_0x328246)||_0x328246<0x1||_0x328246>_0x3f3249[_0x480841(0x16b)]);if(_0x4075e4['gRvNc'](_0x3c2e6f[_0x480841(0x16b)],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x3c2e6f[_0x480841(0xd8)](',\x20')),console['log'](_0x4075e4['bYmtF']);for(let _0x6f2734=0x0;_0x4075e4['coFoI'](_0x6f2734,_0x3f3249[_0x480841(0x16b)]);_0x6f2734++){console['log']('\x20\x20'+_0x4075e4['ygqMs'](_0x6f2734,0x1)+'.\x20'+_0x3f3249[_0x6f2734]['description']);}process['exit'](0x1);}const _0xf8520d=new Set(_0x33810f[_0x480841(0xda)](_0x2c0273=>_0x2c0273-0x1)),_0x1f40e0=_0x3f3249[_0x480841(0xf8)]((_0x5b26c3,_0x58330a)=>!_0xf8520d[_0x480841(0x172)](_0x58330a));_0x4075e4[_0x480841(0x1a4)](_0x1f40e0[_0x480841(0x16b)],0x0)&&(console[_0x480841(0x185)](_0x4075e4['OMWgt']),process['exit'](0x1));if(_0x56fa43['json'])await _0x4075e4[_0x480841(0x13a)](outputJsonReport,_0x131d29,_0x5a6494,_0x1f40e0);else{const _0x4b4d90=await _0x4075e4['lHqax'](getFeatureReportMarkdown,_0x131d29,{'itemIds':_0x1f40e0[_0x480841(0xda)](_0x5a26a8=>_0x5a26a8['id'])});process[_0x480841(0x16e)]['write'](_0x4b4d90[_0x480841(0x160)]()+'\x0a');}}async function outputJsonReport(_0x32cf43,_0xb78d29,_0x2fd27a){const _0x2ca86e=_0x315c8e,_0x3d3cf3={'aSElt':function(_0x4b5465,_0x53333d){return _0x4b5465(_0x53333d);},'UFbHw':function(_0x6c40fa,_0x371aa0){return _0x6c40fa+_0x371aa0;}},_0x5970d2=getApiBaseUrl(),_0x499d38=await _0x3d3cf3['aSElt'](getFeatureReport,_0x32cf43),_0xc31072=new Map(_0x499d38['checklistItems']['map'](_0x158288=>[_0x158288['id'],_0x158288])),_0x4e2add=await Promise[_0x2ca86e(0x130)](_0x2fd27a['map'](async _0x294815=>{const _0x52accc=_0x2ca86e,_0x153955=_0xc31072['get'](_0x294815['id']),_0x1ae63e=_0x153955?.[_0x52accc(0x190)]??null;let _0x3ee1f4=[];if(_0x294815['browserSessionId'])try{const {steps:_0x3d51c0}=await getBrowserSessionSteps(_0x294815['browserSessionId']);_0x3d51c0['length']>0x0&&(_0x3ee1f4=_0x3d51c0[_0x52accc(0xda)](_0xbc3424=>{const _0x11acd1=_0x52accc,_0x5c7df7=_0xbc3424[_0x11acd1(0x11f)]['find'](_0x4f4677=>_0x4f4677[_0x11acd1(0x140)]==='screenshot'&&_0x4f4677['timing']==='after')??_0xbc3424['assets']['find'](_0x3beb62=>_0x3beb62[_0x11acd1(0x140)]==='screenshot');let _0x146ad1=null,_0x242bff=null;if(_0x5c7df7){const _0xa247b9=_0x5c7df7[_0x11acd1(0x1a9)]['location'][_0x11acd1(0x16c)]('/')[_0x11acd1(0x163)]();_0x146ad1=_0x5970d2+_0x11acd1(0x134)+_0x294815[_0x11acd1(0x193)]+_0x11acd1(0x137)+_0xa247b9,_0xa247b9&&(_0x242bff=_0xa247b9[_0x11acd1(0x1b0)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x242bff||_0xbc3424[_0x11acd1(0x123)]||_0xbc3424['stepName']||'Step\x20'+_0xbc3424['position'],'screenshot':_0x146ad1,'is_key_step':_0xbc3424[_0x11acd1(0xe7)]};}));}catch{}return _0x3ee1f4[_0x52accc(0x16b)]===0x0&&_0x1ae63e?.[_0x52accc(0x155)]&&(_0x3ee1f4=_0x1ae63e[_0x52accc(0x155)]['map']((_0x11bb82,_0x427b59)=>({'description':'Screenshot\x20'+(_0x427b59+0x1),'screenshot':_0x11bb82,'is_key_step':![]}))),{'description':_0x294815['description'],'result':getScenarioResult(_0x294815),'rationale':getScenarioRationale(_0x294815,_0x1ae63e?.['agentResponse']),'steps':_0x3ee1f4};})),_0x42c2bb={'url':_0xb78d29[_0x2ca86e(0xd0)],'scenarios':_0x4e2add};process[_0x2ca86e(0x16e)][_0x2ca86e(0x191)](_0x3d3cf3['UFbHw'](JSON['stringify'](_0x42c2bb,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x2bebba){const _0x11c4a9=_0x315c8e,_0x36c829={'DKAhd':function(_0x30e07d){return _0x30e07d();},'PKiOX':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','QHKeK':function(_0x5c82b8,_0xde596a){return _0x5c82b8(_0xde596a);},'PqJlo':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','uZITl':'Current\x20session\x20not\x20found.','oIAgr':function(_0xdf627,_0x4380aa){return _0xdf627===_0x4380aa;},'AhcHs':_0x11c4a9(0xf6),'IvExV':_0x11c4a9(0x113),'zbwoW':function(_0x34ab91,_0x1f1dca,_0x451db9){return _0x34ab91(_0x1f1dca,_0x451db9);}},_0x12b3f9=_0x2bebba||await _0x36c829[_0x11c4a9(0x19a)](getActiveFeatureId);if(!_0x12b3f9)throw new Error(_0x36c829['PKiOX']);const _0x25ff6d=await _0x36c829['QHKeK'](getFeature,_0x12b3f9);if(!_0x25ff6d[_0x11c4a9(0x135)])throw new Error(_0x36c829['PqJlo']);const {sessions:_0x5b797b}=await _0x36c829[_0x11c4a9(0x133)](listFeatureSessions,_0x12b3f9),_0x1673e6=_0x5b797b['find'](_0x3ca272=>_0x3ca272['id']===_0x25ff6d[_0x11c4a9(0x135)]);if(!_0x1673e6)throw new Error(_0x36c829['uZITl']);if(_0x36c829[_0x11c4a9(0x13c)](_0x1673e6[_0x11c4a9(0x189)],_0x36c829[_0x11c4a9(0xf1)])){console['log'](_0x11c4a9(0x178));return;}if(_0x1673e6['status']!=='in_progress')throw new Error(_0x11c4a9(0x104)+_0x1673e6['status']);console['log'](_0x36c829['IvExV']),await _0x36c829[_0x11c4a9(0x1a2)](concludeSession,_0x12b3f9,_0x25ff6d[_0x11c4a9(0x135)]),console[_0x11c4a9(0xf3)](_0x11c4a9(0x1b6)+_0x1673e6[_0x11c4a9(0xe4)]+'\x20concluded.'),console['log'](_0x11c4a9(0x105));}export async function featureSessions(_0x4abb39){const _0x64fedf=_0x315c8e,_0x5c9f29={'wdqwB':function(_0x4f9812){return _0x4f9812();},'jGBFe':function(_0x18551e,_0x1a552d){return _0x18551e(_0x1a552d);},'sMOij':function(_0x337719,_0x714920){return _0x337719===_0x714920;},'oqnaz':function(_0x2731e6,_0x179afe){return _0x2731e6===_0x179afe;},'LjOIa':'in_progress'},_0x484643=_0x4abb39||await _0x5c9f29[_0x64fedf(0x18b)](getActiveFeatureId);if(!_0x484643)throw new Error(_0x64fedf(0xd1));const _0x7b8faf=await _0x5c9f29['jGBFe'](getFeature,_0x484643);console[_0x64fedf(0xf3)](_0x64fedf(0xea)+_0x7b8faf['name']+'\x0a');const {sessions:_0x367a80}=await listFeatureSessions(_0x484643);if(_0x5c9f29['sMOij'](_0x367a80[_0x64fedf(0x16b)],0x0)){console['log'](_0x64fedf(0x145));return;}for(const _0x1b2773 of _0x367a80){const _0x59cefc=_0x1b2773[_0x64fedf(0x189)]===_0x64fedf(0xf6)?'✅':_0x5c9f29['oqnaz'](_0x1b2773['status'],_0x5c9f29[_0x64fedf(0x198)])?'🔄':'▶️';console['log'](_0x59cefc+_0x64fedf(0x110)+_0x1b2773['iteration']+'\x20('+_0x1b2773['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x1b2773['status']),console[_0x64fedf(0xf3)]('\x20\x20\x20Created:\x20'+new Date(_0x1b2773[_0x64fedf(0xec)])['toLocaleString']()),_0x1b2773[_0x64fedf(0xe9)]&&console['log'](_0x64fedf(0x15c)+new Date(_0x1b2773['completedAt'])[_0x64fedf(0x175)]()),console['log']('');}}export async function featureAddScenario(_0x47603f,_0x2479c9){const _0x141119=_0x315c8e,_0x48c9e7={'MYWXj':function(_0x3aafeb){return _0x3aafeb();},'Cgytc':function(_0xa8406b,_0x2e2e0a,_0x54b974){return _0xa8406b(_0x2e2e0a,_0x54b974);},'zhFnR':function(_0x4836ab,_0x14e689){return _0x4836ab(_0x14e689);},'stZBL':function(_0xcc0d63,_0x5840bf,_0x43b6b5){return _0xcc0d63(_0x5840bf,_0x43b6b5);}},_0x2ef93c=_0x2479c9||await _0x48c9e7['MYWXj'](getActiveFeatureId);if(!_0x2ef93c)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 _0x167078=await getFeature(_0x2ef93c);if(_0x167078[_0x141119(0x128)]&&!_0x167078['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x167078['dashboardUrl']);await _0x48c9e7['Cgytc'](createChecklistItem,_0x2ef93c,_0x47603f);const _0x4b9081=await _0x48c9e7[_0x141119(0x12b)](getFeature,_0x2ef93c);console[_0x141119(0xf3)](_0x141119(0x180)),_0x48c9e7['stZBL'](displayFeature,_0x4b9081,_0x4b9081['checklistItems']);}export async function featureEditScenario(_0x46cce1,_0x588d8b){const _0x1097ca=_0x315c8e,_0x6481bd={'aohEe':function(_0xec7ecf){return _0xec7ecf();},'gukLZ':function(_0x2f79c7,_0x4b1b83){return _0x2f79c7===_0x4b1b83;},'vsHkn':_0x1097ca(0x139),'ihbin':function(_0x258d46,_0x1417f1){return _0x258d46+_0x1417f1;},'dfEjJ':function(_0x4f5da0,_0x768817){return _0x4f5da0-_0x768817;},'UkzNF':function(_0x4563a3,_0xde356e){return _0x4563a3<_0xde356e;},'DGWbj':'\x0aAvailable\x20scenarios:','UyUzH':function(_0x2e367f,_0x120669){return _0x2e367f+_0x120669;},'uPWTV':function(_0x210ebc,_0x4a0c04){return _0x210ebc(_0x4a0c04);}},_0x694629=_0x588d8b['id']||await _0x6481bd[_0x1097ca(0xe5)](getActiveFeatureId);!_0x694629&&(console[_0x1097ca(0x185)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x1097ca(0x199)),process['exit'](0x1));const _0x4ad014=await getFeature(_0x694629);_0x4ad014['latestReview']&&!_0x4ad014[_0x1097ca(0x128)]['submittedAt']&&(console['error'](_0x1097ca(0x12c)),console['error']('Please\x20finish\x20your\x20review\x20first:'),console['error']('\x20\x20'+_0x4ad014[_0x1097ca(0xd0)]),process['exit'](0x1));const _0x2d4d40=_0x4ad014[_0x1097ca(0xd3)]||[];_0x6481bd[_0x1097ca(0x121)](_0x2d4d40['length'],0x0)&&(console['error'](_0x6481bd[_0x1097ca(0xe8)]),process['exit'](0x1));if(_0x6481bd[_0x1097ca(0x121)](_0x588d8b['scenario'],undefined)){console['error'](_0x1097ca(0x103)),console[_0x1097ca(0xf3)](_0x1097ca(0x1b1));for(let _0x5c8d26=0x0;_0x5c8d26<_0x2d4d40[_0x1097ca(0x16b)];_0x5c8d26++){console['log']('\x20\x20'+_0x6481bd['ihbin'](_0x5c8d26,0x1)+'.\x20'+_0x2d4d40[_0x5c8d26][_0x1097ca(0x123)]);}process['exit'](0x1);}const _0x4b3300=_0x6481bd[_0x1097ca(0x10b)](_0x588d8b[_0x1097ca(0x1a1)],0x1);if(_0x6481bd['UkzNF'](_0x4b3300,0x0)||_0x4b3300>=_0x2d4d40['length']){console[_0x1097ca(0x185)](_0x1097ca(0x18e)+_0x588d8b['scenario']+_0x1097ca(0x13b)+_0x2d4d40['length']+'\x20scenarios.'),console[_0x1097ca(0xf3)](_0x6481bd[_0x1097ca(0x197)]);for(let _0x2e3e70=0x0;_0x2e3e70<_0x2d4d40['length'];_0x2e3e70++){console['log']('\x20\x20'+_0x6481bd[_0x1097ca(0x162)](_0x2e3e70,0x1)+'.\x20'+_0x2d4d40[_0x2e3e70]['description']);}process['exit'](0x1);}const _0x3d9e82=_0x2d4d40[_0x4b3300];await updateChecklistItem(_0x694629,_0x3d9e82['id'],{'description':_0x46cce1});const _0x37e65c=await _0x6481bd[_0x1097ca(0x156)](getFeature,_0x694629);console[_0x1097ca(0xf3)](_0x1097ca(0xd5)),displayFeature(_0x37e65c,_0x37e65c['checklistItems']);}async function downloadFeedbackImage(_0x48de6f,_0x190bac){const _0x495a1a=_0x315c8e,_0x5b06df={'sUSvR':function(_0xfb4c09,_0x198337,_0xcff51b){return _0xfb4c09(_0x198337,_0xcff51b);},'JetyY':function(_0x57d6db){return _0x57d6db();},'GMgiG':_0x495a1a(0x16f)};try{const _0x265f10=_0x5b06df['sUSvR'](join,_0x5b06df['JetyY'](getRangerDir),_0x5b06df[_0x495a1a(0x13d)]);await _0x5b06df['sUSvR'](mkdir,_0x265f10,{'recursive':!![]});const _0x5379c2=join(_0x265f10,'comment_'+_0x190bac+'.png'),_0x4ef710=await fetch(_0x48de6f);if(!_0x4ef710['ok'])return null;const _0x506820=Buffer['from'](await _0x4ef710['arrayBuffer']());return await writeFile(_0x5379c2,_0x506820),_0x5379c2;}catch{return null;}}export async function featureGetReview(_0x37becd){const _0xd4a525=_0x315c8e,_0x557229={'qBLxt':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','wfHGi':_0xd4a525(0x18f),'Kkfqq':function(_0x436a39,_0x11dc79){return _0x436a39<_0x11dc79;},'OYgQD':function(_0x3a6e70,_0x55e8b0){return _0x3a6e70>_0x55e8b0;},'DVFbj':'en-US','Mqxla':_0xd4a525(0xee),'jAVaV':'\x20>\x20','cXNWI':function(_0x14097b,_0x2c59cb){return _0x14097b===_0x2c59cb;},'UOSJM':function(_0x3a1adb,_0xc84bc3){return _0x3a1adb>=_0xc84bc3;}},_0x59acb0=_0x37becd||await getActiveFeatureId();if(!_0x59acb0)throw new Error(_0x557229['qBLxt']);const _0x14e748=await getFeature(_0x59acb0),{items:_0x24fb8b}=await getActionItems(_0x59acb0);console[_0xd4a525(0xf3)](_0xd4a525(0x1a8)+_0x14e748['name']+'\x20('+_0x14e748['id']+')\x0a');if(_0x24fb8b[_0xd4a525(0x16b)]===0x0){console[_0xd4a525(0xf3)](_0x557229['wfHGi']);return;}for(let _0x420451=0x0;_0x557229[_0xd4a525(0x10a)](_0x420451,_0x24fb8b[_0xd4a525(0x16b)]);_0x420451++){const _0x2e11bb=_0x24fb8b[_0x420451],_0x4893e5=_0x557229['OYgQD'](_0x2e11bb['version'],0x1)?'\x20(v'+_0x2e11bb[_0xd4a525(0x106)]+')':'',_0x137dfd=await getItemFeedback(_0x59acb0,_0x2e11bb['id']);if(_0x137dfd['unaddressedComments'][_0xd4a525(0x16b)]>0x0){console[_0xd4a525(0xf3)](_0xd4a525(0x166)+(_0x420451+0x1)+':\x20\x22'+_0x2e11bb['description']+'\x22'+_0x4893e5+'\x20—\x20'+_0x137dfd['unaddressedComments']['length']+'\x20unaddressed\x20comment(s)');for(const _0x5ccfc2 of _0x137dfd[_0xd4a525(0x14a)]){const _0x56e6a2=new Date(_0x5ccfc2['createdAt'])[_0xd4a525(0x111)](_0x557229['DVFbj'],{'month':_0xd4a525(0x11d),'day':'numeric'}),_0x284875=_0x5ccfc2[_0xd4a525(0x101)]||_0x5ccfc2[_0xd4a525(0x109)]||_0x557229['Mqxla'];console[_0xd4a525(0xf3)]('\x20\x20💬\x20'+_0x284875+'\x20('+_0x56e6a2+_0xd4a525(0x158)+_0x5ccfc2['content']+'\x22');if(_0x5ccfc2[_0xd4a525(0x169)]){const _0x16a94a=await downloadFeedbackImage(_0x5ccfc2['assetUrl'],_0x5ccfc2['id']);_0x16a94a&&console[_0xd4a525(0xf3)](_0xd4a525(0x1ab)+_0x16a94a);}if(_0x5ccfc2['domRef']){const _0x346589=_0x5ccfc2[_0xd4a525(0xdf)]['selector']['split'](_0x557229[_0xd4a525(0x17e)])[_0xd4a525(0x163)]()?.['split'](':')[0x0]||'element',_0x3637dd=_0x5ccfc2[_0xd4a525(0xdf)]['textContent']?'\x20\x22'+_0x5ccfc2['domRef'][_0xd4a525(0xf2)][_0xd4a525(0x19d)](0x0,0x3c)+'\x22':'';console[_0xd4a525(0xf3)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x346589+'>'+_0x3637dd),console[_0xd4a525(0xf3)](_0xd4a525(0xff)+_0x5ccfc2[_0xd4a525(0xdf)][_0xd4a525(0x167)]);}else{if(_0x5ccfc2[_0xd4a525(0x149)]){const _0x2fe56d=_0x5ccfc2[_0xd4a525(0x149)][_0xd4a525(0x17d)];_0x557229['cXNWI'](_0x5ccfc2['spatial']['type'],_0xd4a525(0x127))&&_0x557229[_0xd4a525(0x16a)](_0x2fe56d['length'],0x2)?console[_0xd4a525(0xf3)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x2fe56d[0x0]['toFixed'](0x2)+',\x20'+_0x2fe56d[0x1][_0xd4a525(0x143)](0x2)+')'):console[_0xd4a525(0xf3)](_0xd4a525(0x186)+_0x5ccfc2[_0xd4a525(0x149)]['type']+_0xd4a525(0x14d)+_0x2fe56d['map'](_0x20cceb=>_0x20cceb[_0xd4a525(0x143)](0x2))[_0xd4a525(0xd8)](',\x20')+']');}}}if(_0x137dfd['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x208f54 of _0x137dfd['canonicalFlow'][_0xd4a525(0x16c)]('\x0a')){console[_0xd4a525(0xf3)]('\x20\x20\x20\x20'+_0x208f54);}}}else console['log']('Scenario\x20'+(_0x420451+0x1)+_0xd4a525(0x1a0)+_0x2e11bb[_0xd4a525(0x123)]+'\x22'+_0x4893e5+_0xd4a525(0x148)),console['log'](_0xd4a525(0x132));console['log']('');}}export async function featureDelete(_0x5468b1){const _0x4c9856=_0x315c8e,_0x514315={'ymyxj':function(_0x487b0e){return _0x487b0e();},'HjGua':function(_0x3c65a9,_0x3d40e1){return _0x3c65a9+_0x3d40e1;},'YJctC':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x4d6e02=_0x5468b1||await _0x514315[_0x4c9856(0xd6)](getActiveFeatureId);if(!_0x4d6e02)throw new Error(_0x4c9856(0x161));const _0x34b52e=await getFeature(_0x4d6e02);await softDeleteFeature(_0x4d6e02),console[_0x4c9856(0xf3)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x34b52e[_0x4c9856(0xeb)]+'\x20('+_0x4d6e02+')'),console['log'](_0x514315[_0x4c9856(0x11b)](_0x514315['YJctC'],_0x4d6e02));}function _0x5ed3(){const _0x3e6483=['\x0aCreating\x20feature\x20review...','slice','\x20in\x20progress','LHEGg',':\x20\x22','scenario','zbwoW','nJbjM','vKpKs','TUNGc','382728XpvfmA','9DpDMqX','\x0a📋\x20Feedback\x20for:\x20','storage','github.com/','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','gitRepoUrl','\x20\x20\x20\x20\x20Progress:\x20','kuKIz','in_progress','replace','\x0aAvailable\x20scenarios:','RMomL','PVTxP','currentBranch','nyuZO','\x0a✅\x20Session\x20','sessionId','kwYgf','dashboardUrl','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','nBtpC','checklistItems','\x20[has\x20reviewer\x20feedback]','\x0a✅\x20Scenario\x20updated','ymyxj','gitBranch','join','UVFcD','map','blockedReason','incomplete','\x20incomplete','notes','domRef','\x20\x20\x20\x20\x20ID:\x20','PszRp','verificationInProgressItems','\x20\x20\x20\x20\x20\x20Blocked:\x20','iteration','aohEe','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','isKeyStep','vsHkn','completedAt','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','name','createdAt','verified','Unknown','4|1|0|2|3|5','any','AhcHs','textContent','log','\x20verified','\x20\x20\x20\x20\x20\x20Cancelled:\x20','completed','\x0a✅\x20Restored\x20feature\x20review:\x20','filter','\x20of\x20','list','2470504LPNCVf','629519jXnugf','mzpBe','totalCount','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20\x20\x20▶️\x20Started\x20session\x20','authorName','gJpwc','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','version','approved','KRfCz','authorEmail','Kkfqq','dfEjJ','\x20\x20\x20ID:\x20','\x20\x20\x20Progress:\x20','oCRtE','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20Session\x20','toLocaleDateString','repeat','\x0aConcluding\x20session...','style','htcod','...','\x0a✅\x20Feature\x20review\x20created:\x20','DDyPo','\x0aGenerating\x20report...','WAlRl','HjGua','ZrRYF','short','scenarios','assets','isTTY','gukLZ','lVKYr','description','GZLlI','trim','nAEhp','point','latestReview','CLAUDE_SESSION_ID','mxxvc','zhFnR','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','find','Knpje','\x20(v','all','viYZK','\x20\x20✅\x20No\x20feedback\x20to\x20address','QHKeK','/api/v1/mcp/browser-sessions/','currentSessionId','ready','/artifacts/','terminalReason','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','iBpZN','.\x20Feature\x20review\x20has\x20','oIAgr','GMgiG','YCDGR','\x20blocked','assetType','881614TTrKSA','incompleteItems','toFixed','active-feature.txt','No\x20sessions\x20found.','42AMydob','items','\x20—\x20no\x20comments','spatial','unaddressedComments','stats','prompt','\x20at\x20[','\x20\x20\x20\x20\x20\x20Incomplete:\x20','incompleteReason','jwjKW','parentItemId','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','bfaaW','620163LuqXOX','screenshotUrls','uPWTV','HHUfc','):\x20\x22','DqvIt','JFrEV','loipd','\x20\x20\x20Completed:\x20','XLfLA','canceledReason','WRLIW','trimEnd','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','UyUzH','pop','BTuEO','limit','Scenario\x20','selector','reports','assetUrl','UOSJM','length','split','\x20/\x20','stdout','feedback-images','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','10Ceazss','has','thYzC','verification_in_progress','toLocaleString','isInteger','\x20\x20\x20Created:\x20','\x0a✅\x20Session\x20is\x20already\x20completed.','blocked','353084Ewvkmx','offset','280307MoKNqx','coordinates','jAVaV','\x20\x20\x20Updated\x20branch\x20to:\x20','\x0a✅\x20Scenario\x20added','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','includeDeleted','FpYzm','env','error','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','NqBwg','\x20\x20\x20\x20\x20\x20Approved','status','closed','wdqwB','qmphN','gHUJY','\x0a❌\x20Invalid\x20scenario\x20index:\x20','No\x20scenarios\x20found.','linkedSession','write','pipe','browserSessionId','15fNWflB','Zwxzk','utf-8','DGWbj','LjOIa','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','DKAhd','smxwP'];_0x5ed3=function(){return _0x3e6483;};return _0x5ed3();}export async function featureRestore(_0x1b889b){const _0x388c5b=_0x315c8e,_0x1ea799={'NqBwg':function(_0x31acd0,_0xa8372e){return _0x31acd0(_0xa8372e);}};await restoreFeature(_0x1b889b);const _0x516277=await _0x1ea799[_0x388c5b(0x187)](getFeature,_0x1b889b);console['log'](_0x388c5b(0xf7)+_0x516277[_0x388c5b(0xeb)]+'\x20('+_0x1b889b+')'),displayFeature(_0x516277,_0x516277[_0x388c5b(0xd3)]);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3ae847,_0x169e4a){const _0x56103e=_0x2050,_0x29d7cf=_0x3ae847();while(!![]){try{const _0x4558b1=parseInt(_0x56103e(0x11c))/0x1*(parseInt(_0x56103e(0x11e))/0x2)+-parseInt(_0x56103e(0x11f))/0x3+-parseInt(_0x56103e(0x122))/0x4*(-parseInt(_0x56103e(0x11b))/0x5)+parseInt(_0x56103e(0x11d))/0x6+-parseInt(_0x56103e(0x121))/0x7*(-parseInt(_0x56103e(0x113))/0x8)+-parseInt(_0x56103e(0x117))/0x9*(parseInt(_0x56103e(0x114))/0xa)+-parseInt(_0x56103e(0x116))/0xb;if(_0x4558b1===_0x169e4a)break;else _0x29d7cf['push'](_0x29d7cf['shift']());}catch(_0x488e8b){_0x29d7cf['push'](_0x29d7cf['shift']());}}}(_0x40e2,0x2fe25));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x2050(_0x319aa4,_0x5a7572){_0x319aa4=_0x319aa4-0x112;const _0x40e209=_0x40e2();let _0x2050fc=_0x40e209[_0x319aa4];return _0x2050fc;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x59ff11=_0x2050,_0x333046={'odWWK':_0x59ff11(0x119)};if(cancellationHandlersInstalled)return;const _0x493eca=()=>{process['exit'](0x0);};process[_0x59ff11(0x120)](_0x59ff11(0x11a),_0x493eca),process['once'](_0x333046['odWWK'],_0x493eca),process[_0x59ff11(0x120)]('SIGHUP',_0x493eca),cancellationHandlersInstalled=!![];}function _0x40e2(){const _0x279a4f=['42410JEVXqs','error','4734213vzcDlM','63jSlxFB','join','SIGTERM','SIGINT','66860EawOnI','3VNfCuo','2230440yPmVtG','137044NRwVRf','778680WTcIgM','once','7UJuUfk','8IzNCVe','Valid\x20hooks:\x20','2493704EoUkTW'];_0x40e2=function(){return _0x279a4f;};return _0x40e2();}export async function hook(_0x8ed898,_0x2004eb){const _0x596190=_0x2050;installCancellationHandlers();const _0x19626b=HOOKS[_0x8ed898];if(!_0x19626b){const _0x553518=Object['keys'](HOOKS)[_0x596190(0x118)](',\x20');console['error']('Unknown\x20hook:\x20'+_0x8ed898),console[_0x596190(0x115)](_0x596190(0x112)+_0x553518),process['exit'](0x1);}await _0x19626b(_0x2004eb);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1d7fc1,_0x281283){const _0x5edbf3=_0x4698,_0xdf004c=_0x1d7fc1();while(!![]){try{const _0x512183=-parseInt(_0x5edbf3(0xdc))/0x1*(parseInt(_0x5edbf3(0xd9))/0x2)+parseInt(_0x5edbf3(0xd3))/0x3*(parseInt(_0x5edbf3(0xd5))/0x4)+-parseInt(_0x5edbf3(0xd0))/0x5+-parseInt(_0x5edbf3(0xd1))/0x6*(-parseInt(_0x5edbf3(0xd8))/0x7)+-parseInt(_0x5edbf3(0xda))/0x8*(-parseInt(_0x5edbf3(0xd6))/0x9)+-parseInt(_0x5edbf3(0xd4))/0xa*(-parseInt(_0x5edbf3(0xdb))/0xb)+parseInt(_0x5edbf3(0xd7))/0xc*(-parseInt(_0x5edbf3(0xdd))/0xd);if(_0x512183===_0x281283)break;else _0xdf004c['push'](_0xdf004c['shift']());}catch(_0xb96fde){_0xdf004c['push'](_0xdf004c['shift']());}}}(_0x5db9,0x1907d));function _0x4698(_0x582514,_0x3d2e37){_0x582514=_0x582514-0xd0;const _0x5db934=_0x5db9();let _0x46989a=_0x5db934[_0x582514];return _0x46989a;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x5db9(){const _0x185814=['session_id','448385roSCZN','564HfykGn','oMGUr','2199qrPvWc','1070iBrzkR','356pHAOTP','9TfqWgb','1598424cSRWLD','6881XulqHc','108olseGR','1063288YzhoDR','18326QPbZMJ','189nuVlCs','26UHSVGk','log'];_0x5db9=function(){return _0x185814;};return _0x5db9();}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 _0xdd0e50=_0x4698,_0x59910b={'jJDUa':function(_0x1a3808){return _0x1a3808();},'oMGUr':function(_0x145bdf,_0x34859c){return _0x145bdf(_0x34859c);}},_0x58c513=await _0x59910b['jJDUa'](readHookInput),_0x4622e3=_0x58c513?.[_0xdd0e50(0xdf)];if(!_0x4622e3)return;if(isSessionEnabled(_0x4622e3)||_0x59910b[_0xdd0e50(0xd2)](hasSessionBeenPrompted,_0x4622e3))return;_0x59910b[_0xdd0e50(0xd2)](markSessionPrompted,_0x4622e3),console[_0xdd0e50(0xde)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x31b4a2,_0x169bc0){const _0x52fb01=_0x2c56,_0x5d9058=_0x31b4a2();while(!![]){try{const _0x168ec9=-parseInt(_0x52fb01(0xdd))/0x1*(parseInt(_0x52fb01(0xe5))/0x2)+-parseInt(_0x52fb01(0xde))/0x3*(parseInt(_0x52fb01(0xe1))/0x4)+parseInt(_0x52fb01(0xec))/0x5+parseInt(_0x52fb01(0xe4))/0x6+parseInt(_0x52fb01(0xe2))/0x7*(-parseInt(_0x52fb01(0xe7))/0x8)+-parseInt(_0x52fb01(0xea))/0x9*(-parseInt(_0x52fb01(0xe0))/0xa)+parseInt(_0x52fb01(0xda))/0xb*(parseInt(_0x52fb01(0xdc))/0xc);if(_0x168ec9===_0x169bc0)break;else _0x5d9058['push'](_0x5d9058['shift']());}catch(_0x4527c8){_0x5d9058['push'](_0x5d9058['shift']());}}}(_0x2537,0x91eb5));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x2537(){const _0x532e28=['422417AphzWI','30xBTqpy','PWasK','30bPqley','375704VITvhU','19117QGQzGt','main','3314970RBCvav','2TAxiet','CLAUDE_SESSION_ID','232dMltOg','master','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','2331081qjLODj','jUCrg','2939770iCziei','.\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`.','266387eTvBfm','env','60LRuNwB'];_0x2537=function(){return _0x532e28;};return _0x2537();}function _0x2c56(_0x2e0b16,_0x24565b){_0x2e0b16=_0x2e0b16-0xd9;const _0x2537da=_0x2537();let _0x2c56d2=_0x2537da[_0x2e0b16];return _0x2c56d2;}export async function disable(_0x70127f){const _0x9ffb31=_0x2c56,_0x38341d={'ZLHWK':function(_0x33c815){return _0x33c815();},'zSNeg':function(_0x3bfebe,_0x14eed1){return _0x3bfebe!==_0x14eed1;},'PWasK':function(_0x136a66,_0x4e4a76){return _0x136a66!==_0x4e4a76;},'jUCrg':function(_0x5836f0,_0x6dd235){return _0x5836f0(_0x6dd235);},'pNCDa':_0x9ffb31(0xe8)},_0x4133de=_0x70127f||process[_0x9ffb31(0xdb)][_0x9ffb31(0xe6)]||'';_0x4133de&&disableSession(_0x4133de);const _0x23d60b=_0x38341d['ZLHWK'](getCurrentBranch);_0x23d60b&&_0x38341d['zSNeg'](_0x23d60b,_0x9ffb31(0xe3))&&_0x38341d[_0x9ffb31(0xdf)](_0x23d60b,'master')&&disableBranch(_0x23d60b),_0x38341d[_0x9ffb31(0xeb)](printBlock,_0x9ffb31(0xe9)+(_0x23d60b&&_0x23d60b!==_0x9ffb31(0xe3)&&_0x23d60b!==_0x38341d['pNCDa']?'\x20and\x20branch\x20\x27'+_0x23d60b+'\x27':'')+_0x9ffb31(0xd9));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2e42(){const _0xa8569b=['cPBFz','385852maUBGo','1403717BfqQUS','4tYoROu','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','3410409wAEwAy','28706576cAxfOD','master','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','lJiVX','7993250mkdfes','UWkVb','ranger\x20setup','#\x20RANGER\x20ENABLED','WZtMu','mjGXe','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','3593748UjVgfe','main','5469380qooayI'];_0x2e42=function(){return _0xa8569b;};return _0x2e42();}(function(_0x1c0e15,_0x265ecb){const _0x105cce=_0x3494,_0x10708a=_0x1c0e15();while(!![]){try{const _0x16adc2=parseInt(_0x105cce(0x1a6))/0x1+parseInt(_0x105cce(0x1a5))/0x2+-parseInt(_0x105cce(0x1a9))/0x3*(-parseInt(_0x105cce(0x1a7))/0x4)+parseInt(_0x105cce(0x1ae))/0x5+-parseInt(_0x105cce(0x1a1))/0x6+parseInt(_0x105cce(0x1a3))/0x7+-parseInt(_0x105cce(0x1aa))/0x8;if(_0x16adc2===_0x265ecb)break;else _0x10708a['push'](_0x10708a['shift']());}catch(_0x55f23e){_0x10708a['push'](_0x10708a['shift']());}}}(_0x2e42,0xe21cc));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x3494(_0x35756b,_0x393874){_0x35756b=_0x35756b-0x19d;const _0x2e4298=_0x2e42();let _0x349431=_0x2e4298[_0x35756b];return _0x349431;}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x285170){const _0x1ab072=_0x3494,_0x24378d={'UWkVb':function(_0x31b65b,_0x285322){return _0x31b65b(_0x285322);},'wOTfI':function(_0x52d828){return _0x52d828();},'FxqrX':_0x1ab072(0x1b0),'mjGXe':_0x1ab072(0x1a0),'bYkye':_0x1ab072(0x1a8),'cPBFz':function(_0x1b092d){return _0x1b092d();},'WZtMu':function(_0xce2041,_0x3788d8){return _0xce2041!==_0x3788d8;},'LLNwm':_0x1ab072(0x1a2),'lJiVX':function(_0x1a4c93){return _0x1a4c93();}},_0x1b629e=_0x285170||process['env']['CLAUDE_SESSION_ID']||'',_0x276c16=_0x24378d[_0x1ab072(0x1af)](Boolean,_0x285170),_0x4a4979=await _0x24378d['wOTfI'](getToken);if(!_0x4a4979){const _0x1c9f4c=_0x276c16?'ranger\x20setup\x20--opencode':_0x24378d['FxqrX'],_0x23a13f=_0x276c16?_0x24378d[_0x1ab072(0x19f)]:_0x24378d['bYkye'];_0x24378d[_0x1ab072(0x1af)](printBlock,'#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x1c9f4c+_0x1ab072(0x1ac)+_0x23a13f);return;}try{await update();}catch{}_0x1b629e&&_0x24378d[_0x1ab072(0x1af)](enableSession,_0x1b629e);const _0x154e37=_0x24378d[_0x1ab072(0x1a4)](getCurrentBranch),_0x3a3eed=_0x154e37&&_0x24378d[_0x1ab072(0x19e)](_0x154e37,_0x24378d['LLNwm'])&&_0x154e37!==_0x1ab072(0x1ab)?'\x0a\x0a**Branch\x20\x27'+_0x154e37+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x2fb5e2=_0x24378d[_0x1ab072(0x1ad)](getRangerSkillContent);printBlock(_0x1ab072(0x19d)+_0x3a3eed+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x2fb5e2+'\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
|
-
|
|
1
|
+
function _0x11ea(_0x42de8e,_0x440962){_0x42de8e=_0x42de8e-0xb1;const _0x4c954c=_0x4c95();let _0x11eab2=_0x4c954c[_0x42de8e];return _0x11eab2;}function _0x4c95(){const _0x377bfc=['===\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===','117XTsCds','14462HlwQmc','2nMOLdv','663307vrbYVG','396355oOAZiJ','748875erugsn','11hWsYFm','7453668swMrdO','60UYLIVE','415696lvZOfp','8518690OyTnZb','26fXbZZG','4050xJrpmb'];_0x4c95=function(){return _0x377bfc;};return _0x4c95();}(function(_0x2f9b94,_0x2fca45){const _0x3fa021=_0x11ea,_0x575614=_0x2f9b94();while(!![]){try{const _0x47dc44=parseInt(_0x3fa021(0xbc))/0x1*(-parseInt(_0x3fa021(0xbb))/0x2)+parseInt(_0x3fa021(0xbe))/0x3+-parseInt(_0x3fa021(0xb3))/0x4*(-parseInt(_0x3fa021(0xbd))/0x5)+parseInt(_0x3fa021(0xb7))/0x6*(parseInt(_0x3fa021(0xba))/0x7)+-parseInt(_0x3fa021(0xb4))/0x8*(-parseInt(_0x3fa021(0xb9))/0x9)+parseInt(_0x3fa021(0xb5))/0xa*(-parseInt(_0x3fa021(0xb1))/0xb)+-parseInt(_0x3fa021(0xb2))/0xc*(parseInt(_0x3fa021(0xb6))/0xd);if(_0x47dc44===_0x2fca45)break;else _0x575614['push'](_0x575614['shift']());}catch(_0x3a1583){_0x575614['push'](_0x575614['shift']());}}}(_0x4c95,0xb76bc));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x4b9531){const _0x58fba9=_0x11ea,_0x2f2393={'pDjod':function(_0x4a5c3a,_0x21e32f){return _0x4a5c3a(_0x21e32f);}},_0xb207f9=await _0x2f2393['pDjod'](getEnabledSessionId,_0x4b9531);if(!_0xb207f9)return;printBlock(_0x58fba9(0xb8));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x38fe13,_0x1db658){var _0x31450c=_0x3aed,_0x193321=_0x38fe13();while(!![]){try{var _0x2b8790=-parseInt(_0x31450c(0x15f))/0x1+parseInt(_0x31450c(0x160))/0x2*(-parseInt(_0x31450c(0x167))/0x3)+-parseInt(_0x31450c(0x168))/0x4+-parseInt(_0x31450c(0x163))/0x5+-parseInt(_0x31450c(0x162))/0x6*(parseInt(_0x31450c(0x166))/0x7)+-parseInt(_0x31450c(0x161))/0x8+-parseInt(_0x31450c(0x164))/0x9*(-parseInt(_0x31450c(0x165))/0xa);if(_0x2b8790===_0x1db658)break;else _0x193321['push'](_0x193321['shift']());}catch(_0x3099e6){_0x193321['push'](_0x193321['shift']());}}}(_0x3c2a,0x4a42e));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';function _0x3aed(_0x54e23b,_0xe4dd4d){_0x54e23b=_0x54e23b-0x15f;var _0x3c2a21=_0x3c2a();var _0x3aedc2=_0x3c2a21[_0x54e23b];return _0x3aedc2;}function _0x3c2a(){var _0x1868db=['24gOzdjN','385835VYnNpT','153ctiPvk','939490ATFyzQ','368844IvfrdU','877623RtrVob','1646008aRZNuw','255355raLTkE','2UqfSeh','365008ANaZxQ'];_0x3c2a=function(){return _0x1868db;};return _0x3c2a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x140638,_0x3ac5aa){const _0x5c49b7=_0x2503,_0x783530=_0x140638();while(!![]){try{const _0x3a62ef=parseInt(_0x5c49b7(0x131))/0x1*(-parseInt(_0x5c49b7(0x127))/0x2)+parseInt(_0x5c49b7(0x12c))/0x3*(parseInt(_0x5c49b7(0x12a))/0x4)+-parseInt(_0x5c49b7(0x130))/0x5*(parseInt(_0x5c49b7(0x129))/0x6)+parseInt(_0x5c49b7(0x126))/0x7+parseInt(_0x5c49b7(0x12e))/0x8+parseInt(_0x5c49b7(0x132))/0x9+-parseInt(_0x5c49b7(0x125))/0xa*(parseInt(_0x5c49b7(0x12f))/0xb);if(_0x3a62ef===_0x3ac5aa)break;else _0x783530['push'](_0x783530['shift']());}catch(_0x40affa){_0x783530['push'](_0x783530['shift']());}}}(_0x4048,0x61ac7));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x22de67){const _0x25389e=_0x2503;console[_0x25389e(0x128)](_0x22de67);}function _0x2503(_0x2e36a6,_0x2562ea){_0x2e36a6=_0x2e36a6-0x124;const _0x404880=_0x4048();let _0x250307=_0x404880[_0x2e36a6];return _0x250307;}export async function readHookInput(){const _0x1e5b5a=_0x2503;let _0x3da3c8='';try{for await(const _0x496f88 of process[_0x1e5b5a(0x12d)]){_0x3da3c8+=_0x496f88;}}catch{return null;}if(!_0x3da3c8['trim']())return null;try{return JSON['parse'](_0x3da3c8);}catch{return null;}}function _0x4048(){const _0x17d38d=['2862104pFLXbg','177412WblGBS','log','31866MPemFP','401780assMPG','HlZqI','6MszlKe','stdin','4369216tEgLYG','11vKXvoe','395zpFMgb','6OAvYvo','4047075fkcbSa','session_id','2537130IwbEWi'];_0x4048=function(){return _0x17d38d;};return _0x4048();}export async function getEnabledSessionId(_0x37381d){if(_0x37381d)return isSessionEnabled(_0x37381d)?_0x37381d:null;const _0x244067=await readHookInput(),_0xe6e9df=_0x244067?.['session_id'];if(!_0xe6e9df||!isSessionEnabled(_0xe6e9df))return null;return _0xe6e9df;}export async function getEnabledHookContext(_0x2f1b48){const _0x481d48=_0x2503,_0x51f65b={'HlZqI':function(_0x374fc5,_0x2516ef){return _0x374fc5(_0x2516ef);}};if(_0x2f1b48){if(!isSessionEnabled(_0x2f1b48))return null;return{'sessionId':_0x2f1b48,'input':{'session_id':_0x2f1b48}};}const _0x517a2e=await readHookInput(),_0x2097c0=_0x517a2e?.[_0x481d48(0x124)];if(!_0x2097c0||!_0x51f65b[_0x481d48(0x12b)](isSessionEnabled,_0x2097c0))return null;return{'sessionId':_0x2097c0,'input':_0x517a2e};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x400bd5,_0x366cb5){const _0x2b65b7=_0x239d,_0x1452ce=_0x400bd5();while(!![]){try{const _0x1dbfec=parseInt(_0x2b65b7(0xf8))/0x1*(-parseInt(_0x2b65b7(0xfe))/0x2)+-parseInt(_0x2b65b7(0xfd))/0x3*(-parseInt(_0x2b65b7(0xf3))/0x4)+parseInt(_0x2b65b7(0xf9))/0x5*(parseInt(_0x2b65b7(0xf2))/0x6)+parseInt(_0x2b65b7(0xf5))/0x7+-parseInt(_0x2b65b7(0xfc))/0x8+-parseInt(_0x2b65b7(0xf6))/0x9+-parseInt(_0x2b65b7(0xf1))/0xa*(parseInt(_0x2b65b7(0xfb))/0xb);if(_0x1dbfec===_0x366cb5)break;else _0x1452ce['push'](_0x1452ce['shift']());}catch(_0x13f0d2){_0x1452ce['push'](_0x1452ce['shift']());}}}(_0x2436,0x5af2c));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x239d(_0x2b481b,_0x2c7dad){_0x2b481b=_0x2b481b-0xf1;const _0x2436b2=_0x2436();let _0x239dda=_0x2436b2[_0x2b481b];return _0x239dda;}export async function planReminder(_0x5a8405){const _0x2e9eb1=_0x239d,_0x207e23={'fzsFh':function(_0x17967f,_0x554111){return _0x17967f!==_0x554111;}},_0x595373=await getEnabledHookContext(_0x5a8405);if(!_0x595373)return;if(_0x207e23['fzsFh'](_0x595373[_0x2e9eb1(0xf4)][_0x2e9eb1(0xfa)],_0x2e9eb1(0xf7)))return;if(!shouldShowPlanReminder(_0x595373['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x2436(){const _0x3a70d4=['plan','4HGfDSZ','10ohIKIO','permission_mode','99561lkbjvt','268480hHSCUU','9vtxMuv','310054BnFHeg','580webJaL','2182794RPBgoi','735400AkezFA','input','3439485qjaXHN','1974177mxPOtR'];_0x2436=function(){return _0x3a70d4;};return _0x2436();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x160a(){const _0x370433=['===\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===','6096896wOECof','25UwunqF','2227980YtGDOV','401850gERWqN','1428996AVFNlP','1694660yclbAp','KbNHK','1907934MsgGtC','4IovqhO','1017133xQgYSA'];_0x160a=function(){return _0x370433;};return _0x160a();}(function(_0x984dfc,_0x3c1f53){const _0x3b55d8=_0x3dc2,_0x2439fc=_0x984dfc();while(!![]){try{const _0x438ba7=parseInt(_0x3b55d8(0x94))/0x1+-parseInt(_0x3b55d8(0x9b))/0x2+parseInt(_0x3b55d8(0x98))/0x3*(parseInt(_0x3b55d8(0x93))/0x4)+-parseInt(_0x3b55d8(0x97))/0x5*(parseInt(_0x3b55d8(0x9a))/0x6)+parseInt(_0x3b55d8(0x9d))/0x7+parseInt(_0x3b55d8(0x96))/0x8+-parseInt(_0x3b55d8(0x99))/0x9;if(_0x438ba7===_0x3c1f53)break;else _0x2439fc['push'](_0x2439fc['shift']());}catch(_0x524b72){_0x2439fc['push'](_0x2439fc['shift']());}}}(_0x160a,0xadbe9));import{printBlock,getEnabledSessionId}from'./output.js';function _0x3dc2(_0x166bf4,_0x3140e5){_0x166bf4=_0x166bf4-0x93;const _0x160a8e=_0x160a();let _0x3dc280=_0x160a8e[_0x166bf4];return _0x3dc280;}export async function planStart(_0x3499fb){const _0x343e93=_0x3dc2,_0x42b215={'KbNHK':function(_0x5b2099,_0x3c7c37){return _0x5b2099(_0x3c7c37);}},_0x570f6c=await _0x42b215[_0x343e93(0x9c)](getEnabledSessionId,_0x3499fb);if(!_0x570f6c)return;printBlock(_0x343e93(0x95));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4b19(){const _0x8b7541=['TSQKK','7351623XrvMYe','8pZPqpS','8jkXEhg','4711SPEKsx','7005510YwLmPm','606oMnLOs','log','HxFZf','450783WoogNZ','1209940dXZzbH','4500475txsTAm','2OMBpme','7504640FGbQLI'];_0x4b19=function(){return _0x8b7541;};return _0x4b19();}function _0x1b45(_0x35424c,_0x5ed570){_0x35424c=_0x35424c-0x12f;const _0x4b19f7=_0x4b19();let _0x1b45f6=_0x4b19f7[_0x35424c];return _0x1b45f6;}(function(_0x39d8d2,_0x30d4f4){const _0x2b0afa=_0x1b45,_0x1c5263=_0x39d8d2();while(!![]){try{const _0x31edf6=-parseInt(_0x2b0afa(0x13c))/0x1*(-parseInt(_0x2b0afa(0x130))/0x2)+parseInt(_0x2b0afa(0x13b))/0x3*(-parseInt(_0x2b0afa(0x135))/0x4)+-parseInt(_0x2b0afa(0x12f))/0x5+parseInt(_0x2b0afa(0x138))/0x6*(-parseInt(_0x2b0afa(0x136))/0x7)+parseInt(_0x2b0afa(0x134))/0x8*(parseInt(_0x2b0afa(0x133))/0x9)+-parseInt(_0x2b0afa(0x137))/0xa+parseInt(_0x2b0afa(0x131))/0xb;if(_0x31edf6===_0x30d4f4)break;else _0x1c5263['push'](_0x1c5263['shift']());}catch(_0x3f2971){_0x1c5263['push'](_0x1c5263['shift']());}}}(_0x4b19,0xb4a2e));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x279892){const _0x5c2885=_0x1b45,_0x4dbd31={'HxFZf':function(_0x20b443,_0x17afb5){return _0x20b443(_0x17afb5);},'nJEOY':function(_0x1a9bbd){return _0x1a9bbd();},'TSQKK':'PostToolUse'},_0x1f31d1=await _0x4dbd31[_0x5c2885(0x13a)](getEnabledSessionId,_0x279892);if(!_0x1f31d1)return;updateBranchTracking(_0x1f31d1);const _0x5e4c52=await _0x4dbd31['nJEOY'](getToken);if(!_0x5e4c52)return;const _0x3e81df=getSessionEntry(_0x1f31d1);if(_0x3e81df){const _0x50fff7={'hookSpecificOutput':{'hookEventName':_0x4dbd31[_0x5c2885(0x132)],'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[_0x5c2885(0x139)](JSON['stringify'](_0x50fff7));return;}const _0x307a98={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x307a98));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4c44(_0xab9890,_0x475c16){_0xab9890=_0xab9890-0xd8;const _0x5463f3=_0x5463();let _0x4c441e=_0x5463f3[_0xab9890];return _0x4c441e;}(function(_0x88e42b,_0x9a3507){const _0x2898db=_0x4c44,_0x2fb274=_0x88e42b();while(!![]){try{const _0x58e71a=parseInt(_0x2898db(0xdf))/0x1+-parseInt(_0x2898db(0xdb))/0x2*(-parseInt(_0x2898db(0xe1))/0x3)+-parseInt(_0x2898db(0xe0))/0x4+-parseInt(_0x2898db(0xdc))/0x5+-parseInt(_0x2898db(0xde))/0x6+-parseInt(_0x2898db(0xd8))/0x7*(-parseInt(_0x2898db(0xda))/0x8)+parseInt(_0x2898db(0xdd))/0x9*(parseInt(_0x2898db(0xd9))/0xa);if(_0x58e71a===_0x9a3507)break;else _0x2fb274['push'](_0x2fb274['shift']());}catch(_0x24b018){_0x2fb274['push'](_0x2fb274['shift']());}}}(_0x5463,0x39e27));import{getToken}from'../utils/keychain.js';function _0x5463(){const _0x4c3a65=['4605WptNPo','1311205EPyuJi','14990uxGxLp','16INhSRW','602meqntk','2367590cWEORM','2277NJkUjw','2529636taFpev','70245uPIgAf','615752lQNkdN'];_0x5463=function(){return _0x4c3a65;};return _0x5463();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2b7135){const _0x2ce9fb={'RivSt':function(_0x35ce0f){return _0x35ce0f();}},_0x4d08a7=await getEnabledSessionId(_0x2b7135);if(!_0x4d08a7)return;try{const _0x51b9f7=await _0x2ce9fb['RivSt'](getToken);if(!_0x51b9f7)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3e06(_0x18121b,_0x3ce4e4){_0x18121b=_0x18121b-0xf3;const _0x2aaafc=_0x2aaa();let _0x3e06bc=_0x2aaafc[_0x18121b];return _0x3e06bc;}(function(_0x4704a4,_0x46623a){const _0x184293=_0x3e06,_0x54d964=_0x4704a4();while(!![]){try{const _0x4571d7=-parseInt(_0x184293(0xfd))/0x1*(-parseInt(_0x184293(0xf3))/0x2)+-parseInt(_0x184293(0xfe))/0x3+-parseInt(_0x184293(0xf5))/0x4+-parseInt(_0x184293(0xf9))/0x5*(parseInt(_0x184293(0xff))/0x6)+-parseInt(_0x184293(0xfc))/0x7+parseInt(_0x184293(0xfa))/0x8*(parseInt(_0x184293(0xf6))/0x9)+parseInt(_0x184293(0xfb))/0xa;if(_0x4571d7===_0x46623a)break;else _0x54d964['push'](_0x54d964['shift']());}catch(_0x1a5b50){_0x54d964['push'](_0x54d964['shift']());}}}(_0x2aaa,0xcaa40));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x2aaa(){const _0x1b5d55=['325MeNhmu','40WeLORK','26205380TRklWB','5173819BnGjBH','11TYTpPH','4233996abDAla','84570hEaPnr','261278RMXNdf','CLAUDE_SESSION_ID','5164848Srawqh','2034513rPLeFg','gvCDj','reason'];_0x2aaa=function(){return _0x1b5d55;};return _0x2aaa();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x39f40d){const _0x2d51bd=_0x3e06,_0x589095={'gvCDj':function(_0x2364df){return _0x2364df();},'QqvjT':function(_0x83cbd3,_0xa6e480){return _0x83cbd3(_0xa6e480);}},_0xe62bda=process['env'][_0x2d51bd(0xf4)];let _0xccdbf5=_0x39f40d,_0x1c9501;if(!_0x39f40d){if(_0xe62bda&&!isSessionEnabled(_0xe62bda))return;const _0x44ad29=await _0x589095[_0x2d51bd(0xf7)](readHookInput);_0xccdbf5=_0x44ad29?.['session_id']||_0xe62bda,_0x1c9501=_0x44ad29?.[_0x2d51bd(0xf8)];}if(!_0xccdbf5)return;_0x1c9501==='clear'&&_0x589095['QqvjT'](recordEnabledSessionCleared,_0xccdbf5);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x354602=_0x9a3a;(function(_0x27f330,_0x261336){const _0x88b692=_0x9a3a,_0x5d2635=_0x27f330();while(!![]){try{const _0x198229=parseInt(_0x88b692(0x7d))/0x1+-parseInt(_0x88b692(0x7b))/0x2*(parseInt(_0x88b692(0x7a))/0x3)+-parseInt(_0x88b692(0x7c))/0x4+parseInt(_0x88b692(0x74))/0x5+parseInt(_0x88b692(0x77))/0x6+parseInt(_0x88b692(0x73))/0x7+parseInt(_0x88b692(0x85))/0x8*(-parseInt(_0x88b692(0x7e))/0x9);if(_0x198229===_0x261336)break;else _0x5d2635['push'](_0x5d2635['shift']());}catch(_0x294e16){_0x5d2635['push'](_0x5d2635['shift']());}}}(_0x1341,0x7aaa9));import{appendFile}from'fs/promises';function _0x1341(){const _0x144712=['16UhvnlD','lmyPD','CLAUDE_ENV_FILE','session_id','export\x20CLAUDE_SESSION_ID=\x22','log','master','env','6530440tAQDtK','1509325bTXofE','trackCommandStart','=================================================================\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=================================================================','5329842JYfOBj','BCLge','success','1962663HFtsud','2cleBUT','1430192gqlHLe','69764YQChge','3053907BCJlQN','AEzpL','kIWrB','MJFOC','AXyol','FUUwl','\x20(Branch:\x20'];_0x1341=function(){return _0x144712;};return _0x1341();}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x354602(0x76);function _0x9a3a(_0x935225,_0x412f01){_0x935225=_0x935225-0x6d;const _0x13419f=_0x1341();let _0x9a3abd=_0x13419f[_0x935225];return _0x9a3abd;}export async function sessionStart(_0x383091){const _0x56841b=_0x354602,_0x3a7293={'JgToy':_0x56841b(0x6e),'AEzpL':'source','kWxli':function(_0x5ae6f5,_0x479436){return _0x5ae6f5&&_0x479436;},'kIWrB':function(_0x162281,_0xa3d3fc,_0x3cac81){return _0x162281(_0xa3d3fc,_0x3cac81);},'lmyPD':function(_0x259124,_0xdc5b72){return _0x259124(_0xdc5b72);},'MJFOC':function(_0x574bd1,_0x336a83){return _0x574bd1(_0x336a83);},'BcfLt':'hook:session-start','BCLge':function(_0x112324,_0x1e614d){return _0x112324!==_0x1e614d;},'FUUwl':_0x56841b(0x71),'AXyol':'SessionStart'};let _0xc5c9ae=_0x383091||'',_0x462c3e;if(!_0x383091){let _0x22689c='';for await(const _0x213d07 of process['stdin']){_0x22689c+=_0x213d07;}try{const _0x3b4c8d=JSON['parse'](_0x22689c);_0xc5c9ae=_0x3b4c8d[_0x3a7293['JgToy']]||'',_0x462c3e=_0x3b4c8d[_0x3a7293[_0x56841b(0x7f)]];}catch{}const _0x28949d=process[_0x56841b(0x72)][_0x56841b(0x6d)];if(_0x3a7293['kWxli'](_0x28949d,_0xc5c9ae))try{await _0x3a7293[_0x56841b(0x80)](appendFile,_0x28949d,_0x56841b(0x6f)+_0xc5c9ae+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0xc5c9ae){_0x3a7293[_0x56841b(0x86)](shouldAutoEnableAfterClear,_0x462c3e)&&autoEnableAfterClear(_0xc5c9ae);initBranchTracking(_0xc5c9ae);const _0x77d7ad=_0x3a7293[_0x56841b(0x81)](isSessionEnabled,_0xc5c9ae);try{const _0x1d3013=_0x3a7293['MJFOC'](createTelemetryCollector,_0x3a7293['BcfLt']);await _0x1d3013[_0x56841b(0x75)]({'sessionId':_0xc5c9ae,'hooksEnabled':_0x77d7ad}),await _0x1d3013['trackCommandEnd'](_0x56841b(0x79));}catch{}if(_0x77d7ad){const _0x14cc94=getCurrentBranch(),_0x204503=_0x14cc94&&_0x3a7293[_0x56841b(0x78)](_0x14cc94,'main')&&_0x3a7293[_0x56841b(0x78)](_0x14cc94,_0x3a7293[_0x56841b(0x83)])?_0x56841b(0x84)+_0x14cc94+')':'',_0x1df9ba={'hookSpecificOutput':{'hookEventName':_0x3a7293[_0x56841b(0x82)],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x204503}};console[_0x56841b(0x70)](JSON['stringify'](_0x1df9ba));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x26522f,_0x429f86){const _0x2fa88a=_0xd63f,_0x358101=_0x26522f();while(!![]){try{const _0x495e71=parseInt(_0x2fa88a(0x89))/0x1*(parseInt(_0x2fa88a(0x8c))/0x2)+parseInt(_0x2fa88a(0x8d))/0x3*(-parseInt(_0x2fa88a(0x8f))/0x4)+parseInt(_0x2fa88a(0x95))/0x5*(-parseInt(_0x2fa88a(0x87))/0x6)+parseInt(_0x2fa88a(0x8b))/0x7*(-parseInt(_0x2fa88a(0x85))/0x8)+parseInt(_0x2fa88a(0x86))/0x9*(-parseInt(_0x2fa88a(0x8e))/0xa)+-parseInt(_0x2fa88a(0x84))/0xb+parseInt(_0x2fa88a(0x88))/0xc;if(_0x495e71===_0x429f86)break;else _0x358101['push'](_0x358101['shift']());}catch(_0x33f1d7){_0x358101['push'](_0x358101['shift']());}}}(_0x5859,0x41164));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x5859(){const _0xa04b96=['hook:stop','5IqZbUL','status','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','currentSessionId','trackCommandStart','some','KbHcw','verification_in_progress','3306061fLxkqx','448RMYcAq','18WUkPGC','1820472PciffJ','21260640yeTNeg','311197FxlfPX','MDqHm','47159ZLdHVQ','2OjvprG','1041936hMXsAW','2438870AeyQBx','4VCfNBF','sessionId','trackCommandEnd','featureId','log'];_0x5859=function(){return _0xa04b96;};return _0x5859();}function _0xd63f(_0x5ef4d3,_0x28624c){_0x5ef4d3=_0x5ef4d3-0x81;const _0x58592a=_0x5859();let _0xd63f4d=_0x58592a[_0x5ef4d3];return _0xd63f4d;}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x57d250){const _0x551e61=_0xd63f,_0x256e07={'UUOsW':function(_0x3911db,_0x237910,_0x3c418e,_0x1f29fe){return _0x3911db(_0x237910,_0x3c418e,_0x1f29fe);},'RNnji':function(_0x5dccd4,_0x358ac7){return _0x5dccd4(_0x358ac7);},'MDqHm':function(_0x3b6290,_0x14e263,_0x5cfc80,_0x30f6cd){return _0x3b6290(_0x14e263,_0x5cfc80,_0x30f6cd);}},_0x3b9bbd=await getEnabledHookContext(_0x57d250),_0x13f2cd=_0x3b9bbd?.[_0x551e61(0x90)]??null;let _0x4fbd81=!![];if(!_0x13f2cd){await _0x256e07['UUOsW'](trackStop,_0x13f2cd,![],_0x4fbd81);return;}try{const _0x497f9e=_0x256e07['RNnji'](getSessionEntry,_0x13f2cd);if(!_0x497f9e){await trackStop(_0x13f2cd,!![],_0x4fbd81);return;}const _0x40d5f0=await getToken(),_0x1e17b1='https://dashboard.ranger.net/features/'+_0x497f9e[_0x551e61(0x92)];let _0x56d5a1=null,_0x5e1761=![],_0x846f81=![];if(_0x40d5f0)try{const _0x401e58=await getFeature(_0x497f9e[_0x551e61(0x92)]);_0x56d5a1=_0x401e58[_0x551e61(0x98)]??null;const _0x39791=_0x401e58['checklistItems']['filter'](_0x75c296=>_0x75c296[_0x551e61(0x90)]===_0x56d5a1);_0x5e1761=_0x39791[_0x551e61(0x81)](_0x461d98=>_0x461d98['status']!=='verified'&&_0x461d98['status']!=='blocked'&&_0x461d98[_0x551e61(0x96)]!=='closed'&&_0x461d98[_0x551e61(0x96)]!=='incomplete'),_0x846f81=_0x39791[_0x551e61(0x81)](_0x3c2299=>_0x3c2299[_0x551e61(0x96)]===_0x551e61(0x83));}catch{}if(_0x40d5f0&&_0x56d5a1&&_0x5e1761){if(!_0x846f81&&shouldShowStopReminder(_0x13f2cd)){const _0x3b5216={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':_0x551e61(0x97)+_0x1e17b1}};console[_0x551e61(0x93)](JSON['stringify'](_0x3b5216));}}if(_0x40d5f0&&_0x56d5a1&&!_0x5e1761)try{await concludeSession(_0x497f9e['featureId'],_0x56d5a1);}catch{}await _0x256e07[_0x551e61(0x8a)](trackStop,_0x13f2cd,!![],_0x4fbd81);return;}catch{await trackStop(_0x13f2cd,!![],_0x4fbd81);return;}}async function trackStop(_0x300343,_0x469b3a,_0x26add9){const _0xf69bb1=_0xd63f,_0x252567={'BDAKN':_0xf69bb1(0x94),'KbHcw':function(_0x4d3fcd,_0x14be23){return _0x4d3fcd??_0x14be23;}};try{const _0xe18769=createTelemetryCollector(_0x252567['BDAKN']);await _0xe18769[_0xf69bb1(0x99)]({'sessionId':_0x252567[_0xf69bb1(0x82)](_0x300343,undefined),'hooksEnabled':_0x469b3a,'stopAllowed':_0x26add9}),await _0xe18769[_0xf69bb1(0x91)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3745(_0x5c68ba,_0x5ede38){_0x5c68ba=_0x5c68ba-0x1e4;var _0x38e363=_0x38e3();var _0x374503=_0x38e363[_0x5c68ba];return _0x374503;}(function(_0xe26d7d,_0x12b73f){var _0x3b9f9d=_0x3745,_0xa5b6a8=_0xe26d7d();while(!![]){try{var _0x331b0b=parseInt(_0x3b9f9d(0x1ea))/0x1*(parseInt(_0x3b9f9d(0x1e5))/0x2)+parseInt(_0x3b9f9d(0x1e9))/0x3+-parseInt(_0x3b9f9d(0x1e7))/0x4*(parseInt(_0x3b9f9d(0x1e8))/0x5)+-parseInt(_0x3b9f9d(0x1ed))/0x6+parseInt(_0x3b9f9d(0x1e4))/0x7+parseInt(_0x3b9f9d(0x1e6))/0x8+parseInt(_0x3b9f9d(0x1ec))/0x9*(-parseInt(_0x3b9f9d(0x1eb))/0xa);if(_0x331b0b===_0x12b73f)break;else _0xa5b6a8['push'](_0xa5b6a8['shift']());}catch(_0x47294e){_0xa5b6a8['push'](_0xa5b6a8['shift']());}}}(_0x38e3,0xa6fef));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';function _0x38e3(){var _0xcb24b0=['4YDcfoS','417265wmkFwE','2055336TEvgdQ','221qnlcdL','9769590CspObB','27ZcvYfO','14460DNSyBH','7238364pCRBEc','8822UBbjnF','8054080eragBc'];_0x38e3=function(){return _0xcb24b0;};return _0x38e3();}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|