@ranger-testing/ranger-cli 2.5.4-alpha.152f635-21 → 2.5.4-alpha.1b80607-25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -0
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -0
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -0
- package/build/skills/ranger/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3da61c=_0xcb7e;(function(_0x142250,_0x509ac4){const _0x23bdfd=_0xcb7e,_0x3ccb5b=_0x142250();while(!![]){try{const _0x596c63=parseInt(_0x23bdfd(0x1b5))/0x1*(-parseInt(_0x23bdfd(0x23b))/0x2)+-parseInt(_0x23bdfd(0x218))/0x3+parseInt(_0x23bdfd(0x201))/0x4*(parseInt(_0x23bdfd(0x1df))/0x5)+parseInt(_0x23bdfd(0x25a))/0x6*(parseInt(_0x23bdfd(0x1a7))/0x7)+parseInt(_0x23bdfd(0x1b3))/0x8*(parseInt(_0x23bdfd(0x1bc))/0x9)+parseInt(_0x23bdfd(0x225))/0xa+-parseInt(_0x23bdfd(0x24e))/0xb*(-parseInt(_0x23bdfd(0x1d2))/0xc);if(_0x596c63===_0x509ac4)break;else _0x3ccb5b['push'](_0x3ccb5b['shift']());}catch(_0x34e730){_0x3ccb5b['push'](_0x3ccb5b['shift']());}}}(_0x47b2,0xd4829));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';function _0x47b2(){const _0x4a0b43=['style','map','Please\x20finish\x20your\x20review\x20first:','jzKDl','submittedAt','browserSessionId','Current\x20session\x20not\x20found.','canonicalFlow','7iHjqxP','type','EIqRb','split','totalCount','\x20unaddressed\x20comment(s)','\x0aAvailable\x20scenarios:','BLlOK','incomplete','EGWKl','en-US','/artifacts/','119032XMiygw','No\x20sessions\x20found.','870mvjgir','iWtpj','DvVGB','QqCcz','Cannot\x20conclude\x20session\x20with\x20status:\x20','currentSessionId','unaddressedComments','18xSTyPC','authorName','JkXhy','jbpzG','Next\x20page:\x20ranger\x20list\x20--offset\x20','UAPje','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','repeat','VQiwv','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','isKeyStep','vQYfZ','\x20\x20💬\x20','BaJSp','toFixed','nDbQq','pZaDo','includeDeleted','assetType','pop','screenshotUrls','\x20/\x20','70044JqHAXZ','parentItemId','sessionId','gUrLQ','approved','filter','push','STuyz','feedback-images','scenario','\x20of\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','stepName','259645sSteUt','iteration','blockedItems','length','\x20>\x20','sOcDe','JGFyP','terminalReason','\x20\x20\x20Description:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','yYWEX','cIANK','\x0a✅\x20Scenario\x20updated','items','aHRnE','isTTY','AVFuL','\x20(v','canceledReason','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20Branch:\x20','spatial','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','exit','utf-8','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','stdout','completed','\x20\x20\x20\x20\x20Progress:\x20','dashboardUrl','element','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','toLocaleString','24BOCdVa','jLoij','position','name','CLAUDE_SESSION_ID','all','\x20\x20\x20Progress:\x20','HtGpd','description','log','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','feBKc','lpouT','\x20concluded.','\x20\x20\x20Completed:\x20','agentResponse','\x0a📋\x20Feedback\x20for:\x20','gitBranch','EAwRA','vnbpE','timing','ypOHW','3800007nGLVRB','join','\x1b[0m','\x20\x20\x20','\x20[has\x20reviewer\x20feedback]','avKwa','\x0aConcluding\x20session...','find','textContent','\x0a✅\x20Session\x20is\x20already\x20completed.','\x20\x20\x20\x20','completedAt','\x20at\x20[','2451930sYCxvY','DIJBj','\x0a✅\x20Report\x20generated:\x20','blocked','/api/v1/mcp/browser-sessions/','aBZuJ','scenarios','comment_','pLLUB','prompt','QkVGQ','any','incompleteItems','\x0a✅\x20Session\x20','stringify','xxWfZ','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','isInteger','\x20\x20\x20ID:\x20','toLocaleDateString','\x20--current-branch','\x20\x20\x20\x20\x20\x20Approved','1644eQbGGi','json','\x20scenarios.','QXIzJ','list','authorEmail','incompleteReason','\x0a✅\x20Resumed\x20feature\x20review:\x20','TODzP','XSBUr','WIGGc','after','NUdJK','latestReview','\x0a⚠️\x20\x20','QDblI','assetUrl','UWuhn','domRef','1166cJdlRk','zmKzS','jGkjA','version','ZkGtr','\x20\x20\x20\x20\x20📋\x20Selector:\x20','ZKWNy','\x20incomplete','verified','JBAOM','.png','No\x20active\x20session\x20for\x20this\x20feature\x20review.','9882018YeRvrb','pipe','BJEXi','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','status','verifiedItems','PYGZU','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','BkarQ','env','checklistItems','createdAt','assets','EYiEn','has','notes','aRRtd','error','replace','HQiWm','limit','wXHyn','stats','Scenario\x20','\x0aGenerating\x20report...','arrayBuffer','offset'];_0x47b2=function(){return _0x4a0b43;};return _0x47b2();}import _0xb771c4 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=_0x1abf80=>'\x1b[1m'+_0x1abf80+_0x3da61c(0x21a);function getGitRepoUrl(){const _0x4b7f41=_0x3da61c,_0x4c8b21={'aalMe':function(_0x471bd3,_0x57a7a4,_0x154622){return _0x471bd3(_0x57a7a4,_0x154622);},'cIANK':_0x4b7f41(0x25b)};try{const _0x2e777e=_0x4c8b21['aalMe'](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x4b7f41(0x1f7),'stdio':[_0x4c8b21[_0x4b7f41(0x1ea)],_0x4b7f41(0x25b),_0x4c8b21[_0x4b7f41(0x1ea)]]})['trim']();return _0x2e777e['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')[_0x4b7f41(0x26d)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x443872=_0x3da61c,_0x5ba9fe={'ssHcN':'utf-8','aRRtd':_0x443872(0x25b)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x5ba9fe['ssHcN'],'stdio':[_0x5ba9fe[_0x443872(0x26b)],'pipe',_0x443872(0x25b)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x53b3e5=_0x3da61c,_0x2415bf={'jLoij':function(_0x1657be,_0x503520,_0x2efe10){return _0x1657be(_0x503520,_0x2efe10);}},_0x51ddc6=_0x2415bf[_0x53b3e5(0x202)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x51ddc6))return null;try{const _0x1cfc88=await readFile(_0x51ddc6,'utf-8');return _0x1cfc88['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x5bb118){const _0x4258e3=_0x3da61c,_0x23c9d8={'pLLUB':function(_0x27ce77,_0xc1d3bd,_0x265574){return _0x27ce77(_0xc1d3bd,_0x265574);},'iKrrj':function(_0x568794,_0x4df154,_0x6e820c){return _0x568794(_0x4df154,_0x6e820c);},'POhus':function(_0x218712,_0x114001,_0x456141,_0x3ce0c6){return _0x218712(_0x114001,_0x456141,_0x3ce0c6);},'JBAOM':'utf-8'},_0xabcab4=getRangerDir(),_0x150610=_0x23c9d8[_0x4258e3(0x22d)](join,_0xabcab4,ACTIVE_FEATURE_FILE);!existsSync(_0xabcab4)&&await _0x23c9d8['iKrrj'](mkdir,_0xabcab4,{'recursive':!![]}),await _0x23c9d8['POhus'](writeFile,_0x150610,_0x5bb118,_0x23c9d8[_0x4258e3(0x257)]);}function getProgressDisplay(_0x2b1be4){const _0x49e9b7=_0x3da61c,_0x73b5d2={'IeNQf':function(_0x4dddff,_0x43c2fa){return _0x4dddff+_0x43c2fa;},'ISztd':function(_0x3e10f3,_0x5dbe55){return _0x3e10f3+_0x5dbe55;},'xdgTq':function(_0x1e57f3,_0x37e264){return _0x1e57f3+_0x37e264;},'DIJBj':function(_0x27279d,_0x5b1fe1){return _0x27279d===_0x5b1fe1;},'feBKc':function(_0x196266,_0x20dd8e){return _0x196266*_0x20dd8e;},'BLlOK':function(_0x4b7166,_0x3cee8e){return _0x4b7166/_0x3cee8e;},'EAwRA':function(_0x3a65de,_0xd7ec81){return _0x3a65de-_0xd7ec81;},'ABuWE':function(_0x50f6dd,_0x5e677e){return _0x50f6dd>_0x5e677e;},'ZKmGj':function(_0x3c3b70,_0x2eeb93){return _0x3c3b70>_0x2eeb93;}},_0x3c46d2=_0x2b1be4[_0x49e9b7(0x25f)]||0x0,_0x4a5a4b=_0x2b1be4['verificationInProgressItems']||0x0,_0x5ba602=_0x2b1be4[_0x49e9b7(0x1e1)]||0x0,_0x4a37cf=_0x2b1be4[_0x49e9b7(0x231)]||0x0,_0x5d67c3=_0x2b1be4['pendingItems']||0x0,_0x1ae3a5=_0x73b5d2['IeNQf'](_0x73b5d2['ISztd'](_0x73b5d2['xdgTq'](_0x3c46d2+_0x4a5a4b,_0x5ba602),_0x4a37cf),_0x5d67c3);if(_0x73b5d2[_0x49e9b7(0x226)](_0x1ae3a5,0x0))return'-';const _0x45180e=0xa,_0x27c5a1=Math['round'](_0x73b5d2[_0x49e9b7(0x20d)](_0x73b5d2[_0x49e9b7(0x1ae)](_0x3c46d2,_0x1ae3a5),_0x45180e)),_0xf2c86c='█'[_0x49e9b7(0x1c3)](_0x27c5a1)+'░'[_0x49e9b7(0x1c3)](_0x73b5d2[_0x49e9b7(0x214)](_0x45180e,_0x27c5a1)),_0x4e8a4b=[];if(_0x5ba602>0x0)_0x4e8a4b['push'](_0x5ba602+'\x20blocked');if(_0x4a37cf>0x0)_0x4e8a4b[_0x49e9b7(0x1d8)](_0x4a37cf+_0x49e9b7(0x255));if(_0x73b5d2['ABuWE'](_0x4a5a4b,0x0))_0x4e8a4b['push'](_0x4a5a4b+'\x20in\x20progress');const _0x2c204f=_0x73b5d2['ZKmGj'](_0x4e8a4b['length'],0x0)?'\x20('+_0x4e8a4b[_0x49e9b7(0x219)](',\x20')+')':'';return _0xf2c86c+'\x20'+_0x3c46d2+'/'+_0x1ae3a5+'\x20verified'+_0x2c204f;}function getCurrentSessionItems(_0x1967fd,_0x2ed5fc){const _0x5d1316=_0x3da61c;if(!_0x1967fd[_0x5d1316(0x1ba)])return _0x2ed5fc['filter'](_0x5cbec8=>!_0x5cbec8[_0x5d1316(0x1d4)]);return _0x2ed5fc[_0x5d1316(0x1d7)](_0x40106c=>_0x40106c['sessionId']===_0x1967fd['currentSessionId']||!_0x40106c[_0x5d1316(0x1d4)]);}function displayFeature(_0x3e2e70,_0x43ac2f){const _0x228e22=_0x3da61c,_0x30e3e2={'cvLIU':function(_0x15377f,_0x5e34fa){return _0x15377f>_0x5e34fa;},'SKVgv':'\x0a\x20\x20\x20Scenarios:','yYWEX':'closed','vnbpE':function(_0x18f07c,_0x650031){return _0x18f07c===_0x650031;},'IUzLf':function(_0x360f28,_0x35b8e2){return _0x360f28===_0x35b8e2;},'gUDol':function(_0x2e8bcd,_0x29b9df){return _0x2e8bcd===_0x29b9df;},'jURSy':function(_0x187575,_0x469a4b){return _0x187575===_0x469a4b;},'yNwCK':function(_0x2b4121,_0x28af9b){return _0x2b4121!==_0x28af9b;},'qqdho':'verified','lpouT':_0x228e22(0x21c),'LkQlj':function(_0x32b48e,_0x20bf0d){return _0x32b48e===_0x20bf0d;},'HvUhr':'incomplete','iWtpj':_0x228e22(0x1d6)};console['log']('\x0a'+_0x3e2e70[_0x228e22(0x204)]+'\x20('+_0x3e2e70[_0x228e22(0x1fc)]+')');_0x3e2e70['stats']&&console['log'](_0x228e22(0x207)+getProgressDisplay(_0x3e2e70['stats']));_0x3e2e70['description']&&console[_0x228e22(0x20a)](_0x228e22(0x1e7)+_0x3e2e70['description']);_0x3e2e70['gitRepoUrl']&&console[_0x228e22(0x20a)]('\x20\x20\x20Repository:\x20'+_0x3e2e70['gitRepoUrl']);_0x3e2e70[_0x228e22(0x213)]&&console[_0x228e22(0x20a)](_0x228e22(0x1f3)+_0x3e2e70[_0x228e22(0x213)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x3e2e70['createdAt'])[_0x228e22(0x200)]());_0x3e2e70['completedAt']&&console[_0x228e22(0x20a)](_0x228e22(0x210)+new Date(_0x3e2e70[_0x228e22(0x223)])['toLocaleString']());if(_0x43ac2f&&_0x30e3e2['cvLIU'](_0x43ac2f['length'],0x0)){console['log'](_0x30e3e2['SKVgv']);for(let _0x1404c6=0x0;_0x1404c6<_0x43ac2f['length'];_0x1404c6++){const _0x4dc288=_0x43ac2f[_0x1404c6];let _0x56c5c1;if(_0x4dc288['status']===_0x30e3e2[_0x228e22(0x1e9)]&&_0x30e3e2[_0x228e22(0x215)](_0x4dc288['terminalReason'],_0x228e22(0x1d6)))_0x56c5c1='✅';else{if(_0x30e3e2['IUzLf'](_0x4dc288['status'],_0x228e22(0x256)))_0x56c5c1='🟢';else{if(_0x30e3e2[_0x228e22(0x215)](_0x4dc288['status'],_0x228e22(0x1af)))_0x56c5c1='🟠';else{if(_0x30e3e2['gUDol'](_0x4dc288['status'],_0x228e22(0x228)))_0x56c5c1='🛑';else{if(_0x30e3e2['jURSy'](_0x4dc288['status'],_0x30e3e2[_0x228e22(0x1e9)]))_0x56c5c1='⛔';else _0x30e3e2['vnbpE'](_0x4dc288['status'],'verification_in_progress')?_0x56c5c1='⏳':_0x56c5c1='⬜';}}}}const _0x4248e3=_0x4dc288['version']>0x1?_0x228e22(0x1f0)+_0x4dc288['version']+')':'',_0x667ca3=_0x30e3e2['cvLIU'](_0x4dc288['version'],0x1)&&_0x4dc288[_0x228e22(0x1d3)]&&_0x4dc288[_0x228e22(0x25e)]!=='closed'&&_0x30e3e2['yNwCK'](_0x4dc288[_0x228e22(0x25e)],_0x30e3e2['qqdho'])?_0x30e3e2[_0x228e22(0x20e)]:'';console['log'](_0x228e22(0x21b)+(_0x1404c6+0x1)+'.\x20'+_0x56c5c1+'\x20'+_0x4dc288[_0x228e22(0x209)]+_0x4248e3+_0x667ca3);_0x30e3e2['LkQlj'](_0x4dc288['status'],_0x228e22(0x228))&&_0x4dc288['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x4dc288['blockedReason']);_0x4dc288[_0x228e22(0x25e)]===_0x30e3e2['HvUhr']&&_0x4dc288[_0x228e22(0x241)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x4dc288[_0x228e22(0x241)]);if(_0x30e3e2['jURSy'](_0x4dc288['status'],_0x30e3e2[_0x228e22(0x1e9)])&&_0x4dc288[_0x228e22(0x1e6)]===_0x30e3e2[_0x228e22(0x1b6)])console[_0x228e22(0x20a)](_0x228e22(0x23a));else _0x4dc288['status']==='closed'&&_0x4dc288['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x4dc288['canceledReason']);}}}export async function featureCreate(_0x30d8a0,_0x36a4e5){const _0x26c2a6=_0x3da61c,_0x18d766={'nDbQq':function(_0x36ce73){return _0x36ce73();},'zoifJ':function(_0x4e4554,_0x1279d5){return _0x4e4554===_0x1279d5;},'vaWbr':function(_0x3246ce,_0x36bf01){return _0x3246ce(_0x36bf01);},'kSCiW':function(_0x4e97c9,_0x47b79e,_0x2ac314){return _0x4e97c9(_0x47b79e,_0x2ac314);}},{envNames:_0x59e299}=await _0x18d766[_0x26c2a6(0x1cb)](getEnvNames);if(_0x18d766['zoifJ'](_0x59e299['length'],0x0)&&!process[_0x26c2a6(0x264)]['RANGER_TEST_USERNAME']){let _0x2c8ebc=0x0;try{_0x2c8ebc=(await listCloudProfiles())['length'];}catch{_0x2c8ebc=0x1;}_0x18d766['zoifJ'](_0x2c8ebc,0x0)&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x40f4c8=>bold(_0x40f4c8)));}const _0x54f76e=_0x36a4e5[_0x26c2a6(0x22b)]?_0x36a4e5[_0x26c2a6(0x22b)][_0x26c2a6(0x277)](_0x451e3e=>_0x451e3e['trim']()):[],_0x3efe9e=getGitRepoUrl(),_0xa733eb=_0x18d766['nDbQq'](getGitBranch);console['log']('\x0aCreating\x20feature\x20review...');const _0x209c63=await createFeature({'name':_0x30d8a0,'description':_0x36a4e5['description'],'checklist':_0x54f76e,'gitRepoUrl':_0x3efe9e,'gitBranch':_0xa733eb});await _0x18d766['vaWbr'](setActiveFeatureId,_0x209c63['id']),await tryStartCurrentSession(_0x209c63['id']);const _0x22ab9f=process[_0x26c2a6(0x264)][_0x26c2a6(0x205)];_0x22ab9f&®isterSession(_0x22ab9f,_0x209c63['id']),console[_0x26c2a6(0x20a)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x209c63['id']),_0x18d766['kSCiW'](displayFeature,_0x209c63,_0x209c63[_0x26c2a6(0x265)]),console['log'](_0x26c2a6(0x1f5));}export async function featureList(_0x52f9ea){const _0x59b21e=_0x3da61c,_0x43b4ea={'qhrlz':function(_0x412816,_0x57ac17){return _0x412816(_0x57ac17);},'XAkAX':_0x59b21e(0x1f2),'uIXRZ':function(_0x289c68,_0x2a265e){return _0x289c68!==_0x2a265e;}},_0xcbdefb={'limit':_0x52f9ea[_0x59b21e(0x26f)]??0xa,'offset':_0x52f9ea['offset']??0x0,'includeDeleted':_0x52f9ea[_0x59b21e(0x1cd)]};_0x52f9ea['currentBranch']&&(_0xcbdefb['gitRepoUrl']=getGitRepoUrl(),_0xcbdefb[_0x59b21e(0x213)]=getGitBranch());const _0x4df761=await _0x43b4ea['qhrlz'](listFeatures,_0xcbdefb);if(_0x4df761['items']['length']===0x0){console['log'](_0x43b4ea['XAkAX']);return;}const _0x590a9e=_0x4df761['totalCount']>_0x4df761[_0x59b21e(0x1ec)]['length']?'Showing\x20'+_0x4df761[_0x59b21e(0x1ec)][_0x59b21e(0x1e2)]+_0x59b21e(0x1dc)+_0x4df761[_0x59b21e(0x1ab)]:_0x4df761['totalCount']+'\x20feature\x20review(s)\x20found';console[_0x59b21e(0x20a)]('\x0a'+_0x590a9e+':\x0a');for(const _0x35b0e1 of _0x4df761['items']){console['log'](''+_0x35b0e1['name']),console['log'](_0x59b21e(0x237)+_0x35b0e1['id']),_0x35b0e1['stats']&&console[_0x59b21e(0x20a)](_0x59b21e(0x207)+getProgressDisplay(_0x35b0e1[_0x59b21e(0x271)])),_0x35b0e1[_0x59b21e(0x213)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x35b0e1[_0x59b21e(0x213)]),console[_0x59b21e(0x20a)]('\x20\x20\x20Created:\x20'+new Date(_0x35b0e1[_0x59b21e(0x266)])[_0x59b21e(0x238)]()),console['log']('');}const _0x1ba2f8=_0xcbdefb[_0x59b21e(0x26f)]??0xa,_0x5752cb=(_0xcbdefb[_0x59b21e(0x275)]??0x0)+_0x4df761[_0x59b21e(0x1ec)][_0x59b21e(0x1e2)];if(_0x5752cb<_0x4df761[_0x59b21e(0x1ab)]){const _0x19b9c4=_0x43b4ea['uIXRZ'](_0x1ba2f8,0xa)?'\x20--limit\x20'+_0x1ba2f8:'',_0x144786=_0x52f9ea['currentBranch']?_0x59b21e(0x239):'',_0x5461fe=_0x52f9ea[_0x59b21e(0x1cd)]?'\x20--include-deleted':'';console['log'](_0x59b21e(0x1c0)+_0x5752cb+_0x19b9c4+_0x144786+_0x5461fe);}}function _0xcb7e(_0x52d42c,_0x5d3a6b){_0x52d42c=_0x52d42c-0x1a7;const _0x47b223=_0x47b2();let _0xcb7e06=_0x47b223[_0x52d42c];return _0xcb7e06;}export async function featureShow(_0x1542ba){const _0x1cdbcd=_0x3da61c,_0x36ba52={'CpUvt':_0x1cdbcd(0x25d)},_0x5940eb=_0x1542ba||await getActiveFeatureId();if(!_0x5940eb)throw new Error(_0x36ba52['CpUvt']);const _0x4fcfa4=await getFeature(_0x5940eb);displayFeature(_0x4fcfa4,_0x4fcfa4['checklistItems']);}export async function featureResume(_0x43b4d2){const _0x526975=_0x3da61c,_0x486a62={'AVFuL':function(_0x24399d,_0x5423fd){return _0x24399d(_0x5423fd);},'gGiZb':function(_0x1ddcf8,_0x1dd322){return _0x1ddcf8(_0x1dd322);},'VQiwv':function(_0x49feea,_0x2afef,_0x3419f5){return _0x49feea(_0x2afef,_0x3419f5);},'ToVWH':'any','BaJSp':function(_0x1c0833,_0x188540){return _0x1c0833===_0x188540;},'CktzH':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','EIqRb':function(_0x463c29,_0x122784){return _0x463c29===_0x122784;},'QDblI':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','cfeNT':_0x526975(0x23f),'ZkGtr':'selected','TODzP':_0x526975(0x1ff),'pavec':function(_0x28e3d7,_0x55d668){return _0x28e3d7!==_0x55d668;},'xxWfZ':function(_0x68c398,_0xf0ee){return _0x68c398(_0xf0ee);},'QXIzJ':function(_0x1a37b3,_0x55724d,_0x297392){return _0x1a37b3(_0x55724d,_0x297392);}};if(_0x43b4d2){const _0x39297c=await _0x486a62['AVFuL'](getFeature,_0x43b4d2);await _0x486a62['gGiZb'](setActiveFeatureId,_0x39297c['id']);const _0x2a4bdf=getGitBranch();_0x2a4bdf&&_0x2a4bdf!==_0x39297c[_0x526975(0x213)]&&(await updateFeature(_0x39297c['id'],{'gitBranch':_0x2a4bdf}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x2a4bdf));console['log'](_0x526975(0x242)+_0x39297c[_0x526975(0x204)]+'\x20('+_0x39297c['id']+')'),await _0x486a62[_0x526975(0x1ef)](tryStartCurrentSession,_0x39297c['id']);const _0x4c61c1=process['env'][_0x526975(0x205)];_0x4c61c1&&_0x486a62['VQiwv'](registerSession,_0x4c61c1,_0x39297c['id']);displayFeature(_0x39297c,_0x39297c['checklistItems']),await _0x486a62['AVFuL'](printFeedbackNudge,_0x39297c['id']);return;}const _0x2a46e9=getGitRepoUrl(),_0x1f9a44=getGitBranch();if(!_0x2a46e9&&!_0x1f9a44)throw new Error('Not\x20in\x20a\x20git\x20repository.');console[_0x526975(0x20a)](_0x526975(0x1e8)+(_0x2a46e9||_0x526975(0x230))+_0x526975(0x1d1)+(_0x1f9a44||_0x486a62['ToVWH'])+'...');const _0x5c51b8=await listFeatures({'gitRepoUrl':_0x2a46e9,'gitBranch':_0x1f9a44}),_0x7df236=_0x5c51b8['items'][_0x526975(0x1d7)](_0x9a9a15=>_0x9a9a15['status']?_0x9a9a15['status']!==_0x526975(0x256):!_0x9a9a15[_0x526975(0x223)]);if(_0x486a62[_0x526975(0x1c9)](_0x7df236[_0x526975(0x1e2)],0x0)){console['log'](_0x526975(0x1fe)),console[_0x526975(0x20a)](_0x486a62['CktzH']);return;}let _0x4a72db;if(_0x486a62[_0x526975(0x1a9)](_0x7df236['length'],0x1))_0x4a72db=_0x7df236[0x0];else{const _0x4e1d86=process['stdin'][_0x526975(0x1ee)]&&process[_0x526975(0x1f9)][_0x526975(0x1ee)];if(!_0x4e1d86){console['log'](_0x486a62[_0x526975(0x24a)]);for(const _0x3c1282 of _0x7df236){console[_0x526975(0x20a)]('\x20\x20'+_0x3c1282['name']),console[_0x526975(0x20a)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3c1282['id']),_0x3c1282[_0x526975(0x271)]&&console['log'](_0x526975(0x1fb)+_0x486a62[_0x526975(0x1ef)](getProgressDisplay,_0x3c1282['stats'])),_0x3c1282[_0x526975(0x213)]&&console[_0x526975(0x20a)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3c1282['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0xc2c073}=await _0xb771c4[_0x526975(0x22e)]([{'type':_0x486a62['cfeNT'],'name':_0x486a62[_0x526975(0x252)],'message':_0x486a62[_0x526975(0x243)],'choices':_0x7df236[_0x526975(0x277)](_0x5f253d=>({'name':_0x5f253d['name']+'\x20('+_0x5f253d['id']+')','value':_0x5f253d['id']}))}]);_0x4a72db=_0x7df236[_0x526975(0x21f)](_0x4878f9=>_0x4878f9['id']===_0xc2c073);}await _0x486a62['gGiZb'](setActiveFeatureId,_0x4a72db['id']);_0x1f9a44&&_0x486a62['pavec'](_0x1f9a44,_0x4a72db['gitBranch'])&&(await updateFeature(_0x4a72db['id'],{'gitBranch':_0x1f9a44}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x1f9a44));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x4a72db['name']+'\x20('+_0x4a72db['id']+')'),await _0x486a62[_0x526975(0x234)](tryStartCurrentSession,_0x4a72db['id']);const _0x488dde=await getFeature(_0x4a72db['id']),_0x28aeff=process[_0x526975(0x264)]['CLAUDE_SESSION_ID'];_0x28aeff&&_0x486a62[_0x526975(0x1c4)](registerSession,_0x28aeff,_0x488dde['id']),_0x486a62[_0x526975(0x23e)](displayFeature,_0x488dde,_0x488dde['checklistItems']),await printFeedbackNudge(_0x488dde['id']);}async function printFeedbackNudge(_0x3c3715){const _0x57d48f=_0x3da61c,_0x4f508e={'mCbaW':function(_0x591d56,_0x133e22,_0x5a2497){return _0x591d56(_0x133e22,_0x5a2497);}};try{const {items:_0x5190b1}=await getActionItems(_0x3c3715);let _0x25da1c=0x0,_0x2c3bde=0x0;for(const _0x82fb96 of _0x5190b1){const _0x468d4e=await _0x4f508e['mCbaW'](getItemFeedback,_0x3c3715,_0x82fb96['id']);_0x468d4e[_0x57d48f(0x1bb)][_0x57d48f(0x1e2)]>0x0&&(_0x25da1c+=_0x468d4e['unaddressedComments'][_0x57d48f(0x1e2)],_0x2c3bde++);}_0x25da1c>0x0&&(console['log'](_0x57d48f(0x249)+_0x25da1c+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x2c3bde+'\x20scenario(s).'),console[_0x57d48f(0x20a)](_0x57d48f(0x261)));}catch{}}async function tryStartCurrentSession(_0x3e9259){const _0x1aa7de=_0x3da61c,_0x54b106={'NUGGv':function(_0x4cc3ed,_0x25279a,_0x40cae7){return _0x4cc3ed(_0x25279a,_0x40cae7);}};try{const {sessions:_0x5a2f09}=await listFeatureSessions(_0x3e9259),_0xe5dfd6=_0x5a2f09[_0x1aa7de(0x21f)](_0x2b868d=>_0x2b868d[_0x1aa7de(0x25e)]==='ready');_0xe5dfd6&&(await _0x54b106['NUGGv'](startSession,_0x3e9259,_0xe5dfd6['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0xe5dfd6['iteration']));}catch{}}export async function featureReport(_0x14b3a6,_0x2c6903){const _0x17302b=_0x3da61c,_0x1e14ae={'NUdJK':_0x17302b(0x273),'avKwa':function(_0x167167,_0x55b619,_0x287a68,_0x17a3ff){return _0x167167(_0x55b619,_0x287a68,_0x17a3ff);},'QqCcz':function(_0x2e9f0a){return _0x2e9f0a();},'VVjfG':function(_0x1271a3,_0x8be13f,_0x355283){return _0x1271a3(_0x8be13f,_0x355283);},'hkrSj':function(_0x236121,_0x54151a,_0x383385){return _0x236121(_0x54151a,_0x383385);},'jGkjA':'utf-8'},_0x551f80=_0x14b3a6||await getActiveFeatureId();if(!_0x551f80)throw new Error(_0x17302b(0x20b));console[_0x17302b(0x20a)](_0x1e14ae[_0x17302b(0x247)]);const _0x6c7139=await getFeatureReportMarkdown(_0x551f80,{'style':_0x2c6903[_0x17302b(0x276)]}),_0x346784=_0x2c6903['output']||_0x1e14ae[_0x17302b(0x21d)](join,_0x1e14ae[_0x17302b(0x1b8)](getRangerDir),'reports',_0x551f80+'.md'),_0x49bcf7=_0x1e14ae['VVjfG'](join,_0x346784,'..');!existsSync(_0x49bcf7)&&await _0x1e14ae['hkrSj'](mkdir,_0x49bcf7,{'recursive':!![]}),await writeFile(_0x346784,_0x6c7139,_0x1e14ae[_0x17302b(0x250)]),console[_0x17302b(0x20a)](_0x17302b(0x227)+_0x346784);}function getScenarioResult(_0x3068dd){const _0x53e256=_0x3da61c,_0x14d4a7={'UAPje':'closed','STuyz':'in_progress'};if(_0x3068dd[_0x53e256(0x25e)]===_0x14d4a7[_0x53e256(0x1c1)])return _0x3068dd[_0x53e256(0x1e6)]??'closed';if(_0x3068dd['status']==='verification_in_progress')return _0x14d4a7[_0x53e256(0x1d9)];return _0x3068dd[_0x53e256(0x25e)];}function getScenarioRationale(_0xadc25e,_0x28b095){const _0x4309e1=_0x3da61c;if(_0x28b095)return _0x28b095;if(_0xadc25e['blockedReason'])return _0xadc25e['blockedReason'];if(_0xadc25e['incompleteReason'])return _0xadc25e[_0x4309e1(0x241)];if(_0xadc25e[_0x4309e1(0x1f1)])return _0xadc25e[_0x4309e1(0x1f1)];if(_0xadc25e[_0x4309e1(0x26a)])return _0xadc25e['notes'];return null;}export async function featureReportPrDescription(_0x16497b,_0x1dc509){const _0x27c9fc=_0x3da61c,_0x528299={'OsJME':function(_0x16f3d2,_0x24fe8){return _0x16f3d2(_0x24fe8);},'JkXhy':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','wHczx':function(_0x6dd8ad,_0x3eb06a){return _0x6dd8ad>_0x3eb06a;},'Tdemy':_0x27c9fc(0x1ad),'JbdUP':function(_0x1ccc42,_0x8eb3b6){return _0x1ccc42<_0x8eb3b6;},'oahov':function(_0x1aaba9,_0x27a42b){return _0x1aaba9+_0x27a42b;}},_0x1d0656=_0x16497b||await getActiveFeatureId();if(!_0x1d0656)throw new Error(_0x27c9fc(0x20b));const _0x4dc75d=await _0x528299['OsJME'](getFeature,_0x1d0656),_0xd747c1=_0x4dc75d[_0x27c9fc(0x265)]||[],_0x180fd4=getCurrentSessionItems(_0x4dc75d,_0xd747c1);_0x180fd4['length']===0x0&&(console[_0x27c9fc(0x26c)](_0x528299[_0x27c9fc(0x1be)]),process[_0x27c9fc(0x1f6)](0x1));const _0x58548d=_0x1dc509['excludeScenarios']??[],_0x21cec5=_0x58548d['filter'](_0x478726=>!Number[_0x27c9fc(0x236)](_0x478726)||_0x478726<0x1||_0x478726>_0x180fd4[_0x27c9fc(0x1e2)]);if(_0x528299['wHczx'](_0x21cec5['length'],0x0)){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x21cec5['join'](',\x20')),console[_0x27c9fc(0x20a)](_0x528299['Tdemy']);for(let _0x41c989=0x0;_0x528299['JbdUP'](_0x41c989,_0x180fd4[_0x27c9fc(0x1e2)]);_0x41c989++){console['log']('\x20\x20'+_0x528299['oahov'](_0x41c989,0x1)+'.\x20'+_0x180fd4[_0x41c989]['description']);}process['exit'](0x1);}const _0x251a48=new Set(_0x58548d['map'](_0x1f6da8=>_0x1f6da8-0x1)),_0x41c37b=_0x180fd4['filter']((_0x58cc19,_0x4df4d8)=>!_0x251a48[_0x27c9fc(0x269)](_0x4df4d8));_0x41c37b[_0x27c9fc(0x1e2)]===0x0&&(console['error'](_0x27c9fc(0x1dd)),process['exit'](0x1));if(_0x1dc509[_0x27c9fc(0x23c)])await outputJsonReport(_0x1d0656,_0x4dc75d,_0x41c37b);else{const _0x4e6a42=await getFeatureReportMarkdown(_0x1d0656,{'itemIds':_0x41c37b['map'](_0x159b0c=>_0x159b0c['id'])});process[_0x27c9fc(0x1f9)]['write'](_0x4e6a42['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x594b59,_0x2ea75b,_0x5e8045){const _0x13f646=_0x3da61c,_0x1f7c1d={'gUrLQ':function(_0x1d485e,_0x5c77e1){return _0x1d485e>_0x5c77e1;},'HtGpd':function(_0x497c4f,_0x21ee18){return _0x497c4f(_0x21ee18);}},_0x409e77=getApiBaseUrl(),_0xa108b2=await getFeatureReport(_0x594b59),_0x4ee069=new Map(_0xa108b2['checklistItems']['map'](_0x4a2566=>[_0x4a2566['id'],_0x4a2566])),_0x27ac40=await Promise[_0x13f646(0x206)](_0x5e8045['map'](async _0x23386c=>{const _0xc02e8b=_0x13f646,_0x4de697=_0x4ee069['get'](_0x23386c['id']),_0x460e5a=_0x4de697?.['linkedSession']??null;let _0x501bcb=[];if(_0x23386c[_0xc02e8b(0x27b)])try{const {steps:_0x1928f3}=await getBrowserSessionSteps(_0x23386c[_0xc02e8b(0x27b)]);_0x1f7c1d[_0xc02e8b(0x1d5)](_0x1928f3['length'],0x0)&&(_0x501bcb=_0x1928f3[_0xc02e8b(0x277)](_0x5832dd=>{const _0x3f5428=_0xc02e8b,_0x2e0f9c=_0x5832dd['assets']['find'](_0x4bba5e=>_0x4bba5e[_0x3f5428(0x1ce)]==='screenshot'&&_0x4bba5e[_0x3f5428(0x216)]===_0x3f5428(0x246))??_0x5832dd[_0x3f5428(0x267)][_0x3f5428(0x21f)](_0x26c198=>_0x26c198[_0x3f5428(0x1ce)]==='screenshot');let _0x289e23=null,_0x4b0492=null;if(_0x2e0f9c){const _0x14719f=_0x2e0f9c['storage']['location'][_0x3f5428(0x1aa)]('/')['pop']();_0x289e23=_0x409e77+_0x3f5428(0x229)+_0x23386c['browserSessionId']+_0x3f5428(0x1b2)+_0x14719f,_0x14719f&&(_0x4b0492=_0x14719f['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x3f5428(0x26d)](/[-_]/g,'\x20'));}return{'description':_0x4b0492||_0x5832dd['description']||_0x5832dd[_0x3f5428(0x1de)]||'Step\x20'+_0x5832dd[_0x3f5428(0x203)],'screenshot':_0x289e23,'is_key_step':_0x5832dd[_0x3f5428(0x1c6)]};}));}catch{}return _0x501bcb[_0xc02e8b(0x1e2)]===0x0&&_0x460e5a?.[_0xc02e8b(0x1d0)]&&(_0x501bcb=_0x460e5a[_0xc02e8b(0x1d0)]['map']((_0x2dc032,_0x494cbc)=>({'description':'Screenshot\x20'+(_0x494cbc+0x1),'screenshot':_0x2dc032,'is_key_step':![]}))),{'description':_0x23386c['description'],'result':_0x1f7c1d[_0xc02e8b(0x208)](getScenarioResult,_0x23386c),'rationale':getScenarioRationale(_0x23386c,_0x460e5a?.[_0xc02e8b(0x211)]),'steps':_0x501bcb};})),_0x4b52a9={'url':_0x2ea75b[_0x13f646(0x1fc)],'scenarios':_0x27ac40};process[_0x13f646(0x1f9)]['write'](JSON[_0x13f646(0x233)](_0x4b52a9,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2c06e3){const _0x40a1e2=_0x3da61c,_0x4901e0={'KivSp':function(_0x290dba){return _0x290dba();},'GapOz':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','PYGZU':function(_0x4fb59e,_0xe84871){return _0x4fb59e(_0xe84871);},'XSBUr':_0x40a1e2(0x259),'GaTjZ':_0x40a1e2(0x1fa),'NVIao':_0x40a1e2(0x221),'vQYfZ':function(_0x5ac015,_0x503f14){return _0x5ac015!==_0x503f14;},'UWuhn':'in_progress','FKmKV':_0x40a1e2(0x21e)},_0x417b2e=_0x2c06e3||await _0x4901e0['KivSp'](getActiveFeatureId);if(!_0x417b2e)throw new Error(_0x4901e0['GapOz']);const _0x16bb80=await _0x4901e0[_0x40a1e2(0x260)](getFeature,_0x417b2e);if(!_0x16bb80[_0x40a1e2(0x1ba)])throw new Error(_0x4901e0[_0x40a1e2(0x244)]);const {sessions:_0x34caa7}=await listFeatureSessions(_0x417b2e),_0x5c7caa=_0x34caa7['find'](_0x404935=>_0x404935['id']===_0x16bb80[_0x40a1e2(0x1ba)]);if(!_0x5c7caa)throw new Error(_0x40a1e2(0x27c));if(_0x5c7caa[_0x40a1e2(0x25e)]===_0x4901e0['GaTjZ']){console['log'](_0x4901e0['NVIao']);return;}if(_0x4901e0[_0x40a1e2(0x1c7)](_0x5c7caa[_0x40a1e2(0x25e)],_0x4901e0[_0x40a1e2(0x24c)]))throw new Error(_0x40a1e2(0x1b9)+_0x5c7caa['status']);console['log'](_0x4901e0['FKmKV']),await concludeSession(_0x417b2e,_0x16bb80[_0x40a1e2(0x1ba)]),console[_0x40a1e2(0x20a)](_0x40a1e2(0x232)+_0x5c7caa[_0x40a1e2(0x1e0)]+_0x40a1e2(0x20f)),console[_0x40a1e2(0x20a)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5844bd){const _0x3f2b4a=_0x3da61c,_0x610b31={'hEdDD':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','sOcDe':function(_0x40ed42,_0x4c315f){return _0x40ed42(_0x4c315f);},'XjVHs':_0x3f2b4a(0x1b4),'EGWKl':function(_0x30c805,_0x5429df){return _0x30c805===_0x5429df;}},_0x37d3b6=_0x5844bd||await getActiveFeatureId();if(!_0x37d3b6)throw new Error(_0x610b31['hEdDD']);const _0x22348c=await _0x610b31[_0x3f2b4a(0x1e4)](getFeature,_0x37d3b6);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x22348c[_0x3f2b4a(0x204)]+'\x0a');const {sessions:_0x25a188}=await listFeatureSessions(_0x37d3b6);if(_0x25a188['length']===0x0){console['log'](_0x610b31['XjVHs']);return;}for(const _0x20848e of _0x25a188){const _0x506abf=_0x610b31[_0x3f2b4a(0x1b0)](_0x20848e['status'],'completed')?'✅':_0x610b31['EGWKl'](_0x20848e['status'],'in_progress')?'🔄':'▶️';console[_0x3f2b4a(0x20a)](_0x506abf+'\x20Session\x20'+_0x20848e['iteration']+'\x20('+_0x20848e['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x20848e[_0x3f2b4a(0x25e)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x20848e[_0x3f2b4a(0x266)])[_0x3f2b4a(0x200)]()),_0x20848e['completedAt']&&console[_0x3f2b4a(0x20a)](_0x3f2b4a(0x210)+new Date(_0x20848e[_0x3f2b4a(0x223)])[_0x3f2b4a(0x200)]()),console['log']('');}}export async function featureAddScenario(_0x2d9f1e,_0xc80f47){const _0x276f35=_0x3da61c,_0x38ab70={'vXACl':function(_0x22d4aa){return _0x22d4aa();},'RIiZE':function(_0x3459ce,_0x6cf14a,_0x5f5565){return _0x3459ce(_0x6cf14a,_0x5f5565);}},_0x504c8a=_0xc80f47||await _0x38ab70['vXACl'](getActiveFeatureId);if(!_0x504c8a)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 _0x50875a=await getFeature(_0x504c8a);if(_0x50875a['latestReview']&&!_0x50875a[_0x276f35(0x248)][_0x276f35(0x27a)])throw new Error(_0x276f35(0x1c5)+_0x50875a[_0x276f35(0x1fc)]);await createChecklistItem(_0x504c8a,_0x2d9f1e);const _0x19e1e7=await getFeature(_0x504c8a);console['log']('\x0a✅\x20Scenario\x20added'),_0x38ab70['RIiZE'](displayFeature,_0x19e1e7,_0x19e1e7[_0x276f35(0x265)]);}export async function featureEditScenario(_0x277efb,_0x40a964){const _0x42745a=_0x3da61c,_0x57feba={'EYiEn':function(_0x42fb70){return _0x42fb70();},'BkarQ':_0x42745a(0x20c),'noanm':function(_0x3bf293,_0x445a8a){return _0x3bf293(_0x445a8a);},'GCurx':_0x42745a(0x278),'htqlS':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','QkVGQ':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','pZaDo':_0x42745a(0x1ad),'jbpzG':function(_0x69dbfa,_0x2bb2e6){return _0x69dbfa<_0x2bb2e6;},'DvVGB':function(_0x2d83ea,_0x46bfbc){return _0x2d83ea-_0x46bfbc;},'BGHzS':function(_0x2c35f4,_0x498375){return _0x2c35f4>=_0x498375;},'HQiWm':function(_0x9326,_0x4ff720){return _0x9326<_0x4ff720;},'zIfst':function(_0x5ef909,_0x2ecc41,_0x34af80){return _0x5ef909(_0x2ecc41,_0x34af80);}},_0x108c8b=_0x40a964['id']||await _0x57feba[_0x42745a(0x268)](getActiveFeatureId);!_0x108c8b&&(console[_0x42745a(0x26c)](_0x57feba[_0x42745a(0x263)]),console['error'](_0x42745a(0x1c2)),process[_0x42745a(0x1f6)](0x1));const _0x3f1cdd=await _0x57feba['noanm'](getFeature,_0x108c8b);_0x3f1cdd['latestReview']&&!_0x3f1cdd['latestReview'][_0x42745a(0x27a)]&&(console[_0x42745a(0x26c)](_0x42745a(0x235)),console[_0x42745a(0x26c)](_0x57feba['GCurx']),console[_0x42745a(0x26c)]('\x20\x20'+_0x3f1cdd['dashboardUrl']),process[_0x42745a(0x1f6)](0x1));const _0x4baaf3=_0x3f1cdd['checklistItems']||[];_0x4baaf3['length']===0x0&&(console[_0x42745a(0x26c)](_0x57feba['htqlS']),process[_0x42745a(0x1f6)](0x1));if(_0x40a964[_0x42745a(0x1db)]===undefined){console['error'](_0x57feba[_0x42745a(0x22f)]),console['log'](_0x57feba[_0x42745a(0x1cc)]);for(let _0x433255=0x0;_0x57feba[_0x42745a(0x1bf)](_0x433255,_0x4baaf3['length']);_0x433255++){console[_0x42745a(0x20a)]('\x20\x20'+(_0x433255+0x1)+'.\x20'+_0x4baaf3[_0x433255][_0x42745a(0x209)]);}process[_0x42745a(0x1f6)](0x1);}const _0x42f964=_0x57feba[_0x42745a(0x1b7)](_0x40a964['scenario'],0x1);if(_0x57feba[_0x42745a(0x1bf)](_0x42f964,0x0)||_0x57feba['BGHzS'](_0x42f964,_0x4baaf3[_0x42745a(0x1e2)])){console[_0x42745a(0x26c)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x40a964['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x4baaf3[_0x42745a(0x1e2)]+_0x42745a(0x23d)),console[_0x42745a(0x20a)]('\x0aAvailable\x20scenarios:');for(let _0x16fd93=0x0;_0x57feba[_0x42745a(0x26e)](_0x16fd93,_0x4baaf3['length']);_0x16fd93++){console[_0x42745a(0x20a)]('\x20\x20'+(_0x16fd93+0x1)+'.\x20'+_0x4baaf3[_0x16fd93][_0x42745a(0x209)]);}process['exit'](0x1);}const _0x2baf36=_0x4baaf3[_0x42f964];await updateChecklistItem(_0x108c8b,_0x2baf36['id'],{'description':_0x277efb});const _0x31e990=await getFeature(_0x108c8b);console[_0x42745a(0x20a)](_0x42745a(0x1eb)),_0x57feba['zIfst'](displayFeature,_0x31e990,_0x31e990['checklistItems']);}async function downloadFeedbackImage(_0x14749b,_0x489a15){const _0x4ed86e=_0x3da61c,_0x5e21bd={'FYNDn':function(_0x3ceeb9){return _0x3ceeb9();},'pbMZi':_0x4ed86e(0x1da),'fjkFN':function(_0x5cdb9b,_0x32dae0,_0x10598d){return _0x5cdb9b(_0x32dae0,_0x10598d);},'xHCAp':function(_0x5f2e9e,_0x13c645){return _0x5f2e9e(_0x13c645);}};try{const _0x30d5f7=join(_0x5e21bd['FYNDn'](getRangerDir),_0x5e21bd['pbMZi']);await mkdir(_0x30d5f7,{'recursive':!![]});const _0x3cee72=_0x5e21bd['fjkFN'](join,_0x30d5f7,_0x4ed86e(0x22c)+_0x489a15+_0x4ed86e(0x258)),_0x5474c7=await _0x5e21bd['xHCAp'](fetch,_0x14749b);if(!_0x5474c7['ok'])return null;const _0x319534=Buffer['from'](await _0x5474c7[_0x4ed86e(0x274)]());return await writeFile(_0x3cee72,_0x319534),_0x3cee72;}catch{return null;}}export async function featureGetReview(_0x117bd7){const _0x3e3a39=_0x3da61c,_0x491fdb={'aBZuJ':function(_0x48d627){return _0x48d627();},'aHRnE':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','JGFyP':function(_0x11e888,_0xd1c835){return _0x11e888===_0xd1c835;},'wXHyn':'No\x20scenarios\x20found.','ZKWNy':function(_0x3cdad6,_0x3f6503){return _0x3cdad6>_0x3f6503;},'jzKDl':function(_0x5e0ea9,_0x481659,_0xe812e1){return _0x5e0ea9(_0x481659,_0xe812e1);},'ytviH':'short','JHdYz':'numeric','BJEXi':_0x3e3a39(0x1e3),'cAaxi':_0x3e3a39(0x1fd),'WIGGc':'point','TpsFa':function(_0x49e082,_0x359293){return _0x49e082+_0x359293;}},_0x3b16ef=_0x117bd7||await _0x491fdb[_0x3e3a39(0x22a)](getActiveFeatureId);if(!_0x3b16ef)throw new Error(_0x491fdb[_0x3e3a39(0x1ed)]);const _0x4d4537=await getFeature(_0x3b16ef),{items:_0x395dfa}=await getActionItems(_0x3b16ef);console['log'](_0x3e3a39(0x212)+_0x4d4537['name']+'\x20('+_0x4d4537['id']+')\x0a');if(_0x491fdb[_0x3e3a39(0x1e5)](_0x395dfa['length'],0x0)){console['log'](_0x491fdb[_0x3e3a39(0x270)]);return;}for(let _0xd42734=0x0;_0xd42734<_0x395dfa['length'];_0xd42734++){const _0x8721a7=_0x395dfa[_0xd42734],_0x51598d=_0x491fdb[_0x3e3a39(0x254)](_0x8721a7[_0x3e3a39(0x251)],0x1)?'\x20(v'+_0x8721a7[_0x3e3a39(0x251)]+')':'',_0x24a702=await _0x491fdb[_0x3e3a39(0x279)](getItemFeedback,_0x3b16ef,_0x8721a7['id']);if(_0x24a702['unaddressedComments']['length']>0x0){console[_0x3e3a39(0x20a)](_0x3e3a39(0x272)+(_0xd42734+0x1)+':\x20\x22'+_0x8721a7[_0x3e3a39(0x209)]+'\x22'+_0x51598d+'\x20—\x20'+_0x24a702[_0x3e3a39(0x1bb)][_0x3e3a39(0x1e2)]+_0x3e3a39(0x1ac));for(const _0x17b2ac of _0x24a702['unaddressedComments']){const _0x470afb=new Date(_0x17b2ac[_0x3e3a39(0x266)])[_0x3e3a39(0x238)](_0x3e3a39(0x1b1),{'month':_0x491fdb['ytviH'],'day':_0x491fdb['JHdYz']}),_0x1a5ce8=_0x17b2ac[_0x3e3a39(0x1bd)]||_0x17b2ac[_0x3e3a39(0x240)]||'Unknown';console['log'](_0x3e3a39(0x1c8)+_0x1a5ce8+'\x20('+_0x470afb+'):\x20\x22'+_0x17b2ac['content']+'\x22');if(_0x17b2ac[_0x3e3a39(0x24b)]){const _0x2f5be0=await _0x491fdb['jzKDl'](downloadFeedbackImage,_0x17b2ac[_0x3e3a39(0x24b)],_0x17b2ac['id']);_0x2f5be0&&console[_0x3e3a39(0x20a)](_0x3e3a39(0x262)+_0x2f5be0);}if(_0x17b2ac[_0x3e3a39(0x24d)]){const _0x38de3f=_0x17b2ac[_0x3e3a39(0x24d)]['selector']['split'](_0x491fdb[_0x3e3a39(0x25c)])[_0x3e3a39(0x1cf)]()?.['split'](':')[0x0]||_0x491fdb['cAaxi'],_0x223973=_0x17b2ac['domRef'][_0x3e3a39(0x220)]?'\x20\x22'+_0x17b2ac[_0x3e3a39(0x24d)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x3e3a39(0x20a)](_0x3e3a39(0x1f8)+_0x38de3f+'>'+_0x223973),console['log'](_0x3e3a39(0x253)+_0x17b2ac['domRef']['selector']);}else{if(_0x17b2ac[_0x3e3a39(0x1f4)]){const _0x51db69=_0x17b2ac[_0x3e3a39(0x1f4)]['coordinates'];_0x17b2ac['spatial'][_0x3e3a39(0x1a8)]===_0x491fdb[_0x3e3a39(0x245)]&&_0x51db69['length']>=0x2?console[_0x3e3a39(0x20a)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x51db69[0x0]['toFixed'](0x2)+',\x20'+_0x51db69[0x1][_0x3e3a39(0x1ca)](0x2)+')'):console[_0x3e3a39(0x20a)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x17b2ac['spatial'][_0x3e3a39(0x1a8)]+_0x3e3a39(0x224)+_0x51db69[_0x3e3a39(0x277)](_0x46c0a9=>_0x46c0a9[_0x3e3a39(0x1ca)](0x2))['join'](',\x20')+']');}}}if(_0x24a702['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x3225e3 of _0x24a702[_0x3e3a39(0x27d)]['split']('\x0a')){console[_0x3e3a39(0x20a)](_0x3e3a39(0x222)+_0x3225e3);}}}else console['log'](_0x3e3a39(0x272)+_0x491fdb['TpsFa'](_0xd42734,0x1)+':\x20\x22'+_0x8721a7['description']+'\x22'+_0x51598d+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x5620b5){const _0x22f5e7=_0x3da61c,_0x142290={'ypOHW':function(_0x336849,_0xf076ca){return _0x336849(_0xf076ca);},'KYJPg':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x1b8b65=_0x5620b5||await getActiveFeatureId();if(!_0x1b8b65)throw new Error(_0x22f5e7(0x25d));const _0x3e6ddf=await getFeature(_0x1b8b65);await _0x142290[_0x22f5e7(0x217)](softDeleteFeature,_0x1b8b65),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x3e6ddf['name']+'\x20('+_0x1b8b65+')'),console[_0x22f5e7(0x20a)](_0x142290['KYJPg']+_0x1b8b65);}export async function featureRestore(_0x1544b1){const _0x300a2b=_0x3da61c,_0x46d9fa={'zmKzS':function(_0x2ce786,_0x3c0c47){return _0x2ce786(_0x3c0c47);},'XgIZe':function(_0x14e689,_0x1112a0,_0x4c0b27){return _0x14e689(_0x1112a0,_0x4c0b27);}};await _0x46d9fa[_0x300a2b(0x24f)](restoreFeature,_0x1544b1);const _0x5f76bb=await getFeature(_0x1544b1);console[_0x300a2b(0x20a)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x5f76bb['name']+'\x20('+_0x1544b1+')'),_0x46d9fa['XgIZe'](displayFeature,_0x5f76bb,_0x5f76bb[_0x300a2b(0x265)]);}
|
|
1
|
+
const _0x1307aa=_0x4254;(function(_0x43ab5a,_0x4d747b){const _0x1bc995=_0x4254,_0x2f7458=_0x43ab5a();while(!![]){try{const _0x3951d6=parseInt(_0x1bc995(0x1c4))/0x1+-parseInt(_0x1bc995(0x26d))/0x2*(parseInt(_0x1bc995(0x22d))/0x3)+-parseInt(_0x1bc995(0x273))/0x4+-parseInt(_0x1bc995(0x20c))/0x5*(parseInt(_0x1bc995(0x1f3))/0x6)+parseInt(_0x1bc995(0x24b))/0x7+-parseInt(_0x1bc995(0x220))/0x8*(-parseInt(_0x1bc995(0x239))/0x9)+parseInt(_0x1bc995(0x1e7))/0xa*(parseInt(_0x1bc995(0x1dd))/0xb);if(_0x3951d6===_0x4d747b)break;else _0x2f7458['push'](_0x2f7458['shift']());}catch(_0x52fdb1){_0x2f7458['push'](_0x2f7458['shift']());}}}(_0x65c8,0x3363c));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2c2b56 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';function _0x4254(_0x568cab,_0x5da6f9){_0x568cab=_0x568cab-0x19a;const _0x65c8ea=_0x65c8();let _0x425468=_0x65c8ea[_0x568cab];return _0x425468;}import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x3489a2=>_0x1307aa(0x25f)+_0x3489a2+_0x1307aa(0x1cf);function getGitRepoUrl(){const _0x21bc4=_0x1307aa,_0x3a52ae={'hnrPO':'pipe'};try{const _0x2bfe43=execSync(_0x21bc4(0x1ea),{'encoding':'utf-8','stdio':[_0x21bc4(0x24c),'pipe',_0x3a52ae[_0x21bc4(0x1c3)]]})[_0x21bc4(0x1cb)]();return _0x2bfe43['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x285b75=_0x1307aa,_0xb4d2bb={'iNgwR':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','cwRAf':_0x285b75(0x24c)};try{return execSync(_0xb4d2bb['iNgwR'],{'encoding':_0x285b75(0x27a),'stdio':[_0xb4d2bb[_0x285b75(0x1b9)],_0xb4d2bb['cwRAf'],_0xb4d2bb[_0x285b75(0x1b9)]]})[_0x285b75(0x1cb)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x22b635=_0x1307aa,_0x43dc4d={'eENTs':function(_0x15475e){return _0x15475e();},'qawaU':'utf-8'},_0x137675=join(_0x43dc4d[_0x22b635(0x274)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x137675))return null;try{const _0x230f1a=await readFile(_0x137675,_0x43dc4d[_0x22b635(0x1c1)]);return _0x230f1a[_0x22b635(0x1cb)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x53d643){const _0x133f39=_0x1307aa,_0x32b818={'bIPFn':function(_0x4ade02,_0x1821f4){return _0x4ade02(_0x1821f4);},'tBsws':function(_0x3267c1,_0x59277e,_0xb9c1a0){return _0x3267c1(_0x59277e,_0xb9c1a0);}},_0x22cb42=getRangerDir(),_0x2e8000=join(_0x22cb42,ACTIVE_FEATURE_FILE);!_0x32b818[_0x133f39(0x248)](existsSync,_0x22cb42)&&await _0x32b818['tBsws'](mkdir,_0x22cb42,{'recursive':!![]}),await writeFile(_0x2e8000,_0x53d643,'utf-8');}function _0x65c8(){const _0x239b2b=['location','ZrvAV','DmjZw','\x0a✅\x20Scenario\x20updated','xYRSp','after','isTTY','all','WptYv','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','No\x20scenarios\x20found.','NhlrW','\x20\x20\x20Completed:\x20','verified','8yRogzL','UvJaR','.md','\x0aNo\x20feature\x20reviews\x20found.','\x20\x20\x20\x20\x20\x20Cancelled:\x20','agentResponse','gqqfS','rXBHY','/artifacts/','QgidZ','vqYOS','\x20\x20\x20','ready','225xjfkSS','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20concluded.','dFuzY','arARz','ctnnp','warn','RANGER_TEST_USERNAME','\x20\x20\x20▶️\x20Started\x20session\x20','tbhhl','write','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','2634804CnPrPe','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','filter','\x20\x20\x20Progress:\x20','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','QseRJ','cnTDD','comment_','GTxDf','ksZjI','env','\x0a✅\x20Report\x20generated:\x20','uLOSK','screenshotUrls','tKKfM','bIPFn','join','gitBranch','2075801FGbEHf','pipe','iteration','YYOqP','content','\x0aGenerating\x20report...','\x20\x20\x20\x20\x20Progress:\x20','feedback-images','MjoQF','includeDeleted','\x20Session\x20','exit','HTKJM','stepName','\x0a⚠️\x20\x20','push','5|3|2|1|0|4','BzbMz','PxZpT','\x20(v','\x1b[1m','repeat','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','closed','selected','mjxGa','MVxgi','No\x20active\x20session\x20for\x20this\x20feature\x20review.','wMVcV','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','stringify','stdin','tqOly','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','4838yEvjAS','parentItemId','completedAt','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','excludeScenarios','Please\x20finish\x20your\x20review\x20first:','586964UflDiI','eENTs','tZoBL','find','XBUKK','spatial','from','utf-8','\x0aAvailable\x20scenarios:','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','/api/v1/mcp/browser-sessions/','pendingItems','\x0a📋\x20Feedback\x20for:\x20','items','\x20\x20\x20ID:\x20','\x0aCreating\x20feature\x20review...','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','browserSessionId','length','dfKyh','\x20verified','log','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','IXUnq','\x20\x20\x20\x20\x20📋\x20Selector:\x20','\x20at\x20[','yLLod','checklistItems','latestReview','toFixed','CYOXO','CUNkc','incomplete','...','map','\x20\x20\x20Repository:\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','mDCzI','JlQmL','cwRAf','oojsP','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','MUtOY','HSPNQ','RPMRZ','name','textContent','qawaU','dashboardUrl','hnrPO','25920PPAvyc','AuFbq','cbqmi','offset','MIwdM','description','\x20\x20\x20Created:\x20','trim','blockedReason','version','status','\x1b[0m','canceledReason','VDFfH','sessionId','\x20in\x20progress','verificationInProgressItems','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','replace','completed','stats','fpImh','\x20\x20\x20\x20\x20\x20Approved','YkhOe','type','533654vdKHxZ','incompleteReason','currentSessionId','stdout','style','has','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','puBkR','Unknown','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','50GmZAPp','gitRepoUrl','scenario','git\x20remote\x20get-url\x20origin','\x20\x20\x20Description:\x20','\x20scenario(s).','YJDyH','QGeLZ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','tQhBY','terminalReason',':\x20\x22','638262djUPIT','OiyOt','blocked','WxVMZ','assets','verifiedItems','\x0a✅\x20Session\x20','\x0a\x20\x20\x20Scenarios:','screenshot','MFTlL','domRef','nRegP','verification_in_progress','SIJmY','\x0a✅\x20Resumed\x20feature\x20review:\x20','any','Not\x20in\x20a\x20git\x20repository.','\x20unaddressed\x20comment(s)','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','unaddressedComments','split','\x20\x20\x20Updated\x20branch\x20to:\x20','VvRXP','totalCount','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','15LCwDiZ','createdAt','Gmvwe','error','limit','selector'];_0x65c8=function(){return _0x239b2b;};return _0x65c8();}function getProgressDisplay(_0x181c83){const _0x5d30e1=_0x1307aa,_0x50d731={'YJDyH':function(_0x54a860,_0x5e8e4e){return _0x54a860+_0x5e8e4e;},'hkjLm':function(_0x52234e,_0x1dd0ec){return _0x52234e-_0x1dd0ec;},'HTKJM':function(_0x419d94,_0x5b79b7){return _0x419d94>_0x5b79b7;}},_0x300d15=_0x181c83[_0x5d30e1(0x1f8)]||0x0,_0x449f52=_0x181c83[_0x5d30e1(0x1d4)]||0x0,_0x4f2c98=_0x181c83['blockedItems']||0x0,_0x414480=_0x181c83['incompleteItems']||0x0,_0x1e6d0c=_0x181c83[_0x5d30e1(0x19d)]||0x0,_0x3ffe97=_0x50d731[_0x5d30e1(0x1ed)](_0x300d15,_0x449f52)+_0x4f2c98+_0x414480+_0x1e6d0c;if(_0x3ffe97===0x0)return'-';const _0x2efb54=0xa,_0x1b8e42=Math['round'](_0x300d15/_0x3ffe97*_0x2efb54),_0x329743='█'['repeat'](_0x1b8e42)+'░'[_0x5d30e1(0x260)](_0x50d731['hkjLm'](_0x2efb54,_0x1b8e42)),_0x50fd2b=[];if(_0x50d731['HTKJM'](_0x4f2c98,0x0))_0x50fd2b[_0x5d30e1(0x25a)](_0x4f2c98+'\x20blocked');if(_0x414480>0x0)_0x50fd2b[_0x5d30e1(0x25a)](_0x414480+'\x20incomplete');if(_0x50d731['HTKJM'](_0x449f52,0x0))_0x50fd2b[_0x5d30e1(0x25a)](_0x449f52+_0x5d30e1(0x1d3));const _0x49b6a8=_0x50d731[_0x5d30e1(0x257)](_0x50fd2b['length'],0x0)?'\x20('+_0x50fd2b['join'](',\x20')+')':'';return _0x329743+'\x20'+_0x300d15+'/'+_0x3ffe97+_0x5d30e1(0x1a6)+_0x49b6a8;}function getCurrentSessionItems(_0x3f3030,_0x490b36){const _0x43325b=_0x1307aa;if(!_0x3f3030[_0x43325b(0x1df)])return _0x490b36['filter'](_0x556ae3=>!_0x556ae3['sessionId']);return _0x490b36['filter'](_0x2b665d=>_0x2b665d[_0x43325b(0x1d2)]===_0x3f3030['currentSessionId']||!_0x2b665d[_0x43325b(0x1d2)]);}function displayFeature(_0x370fb0,_0x3ba0ac){const _0x11973a=_0x1307aa,_0x27578b={'vKBQQ':function(_0x1976a2,_0x392cb3){return _0x1976a2(_0x392cb3);},'YyWRy':function(_0x3bbc15,_0x1ee57e){return _0x3bbc15>_0x1ee57e;},'fpzDt':_0x11973a(0x1fa),'PxZpT':function(_0x303cc6,_0x3edd0a){return _0x303cc6<_0x3edd0a;},'oojsP':function(_0x4f6547,_0x3be222){return _0x4f6547===_0x3be222;},'VvRXP':'approved','MUtOY':'verified','BItJm':function(_0x581112,_0x30791e){return _0x581112!==_0x30791e;},'tqOly':'closed','ctnnp':'blocked'};console[_0x11973a(0x1a7)]('\x0a'+_0x370fb0[_0x11973a(0x1bf)]+'\x20('+_0x370fb0['dashboardUrl']+')');_0x370fb0[_0x11973a(0x1d8)]&&console['log'](_0x11973a(0x23c)+_0x27578b['vKBQQ'](getProgressDisplay,_0x370fb0[_0x11973a(0x1d8)]));_0x370fb0[_0x11973a(0x1c9)]&&console['log'](_0x11973a(0x1eb)+_0x370fb0['description']);_0x370fb0[_0x11973a(0x1e8)]&&console['log'](_0x11973a(0x1b5)+_0x370fb0[_0x11973a(0x1e8)]);_0x370fb0[_0x11973a(0x24a)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x370fb0['gitBranch']);console[_0x11973a(0x1a7)]('\x20\x20\x20Created:\x20'+new Date(_0x370fb0[_0x11973a(0x20d)])['toLocaleString']());_0x370fb0['completedAt']&&console['log'](_0x11973a(0x21e)+new Date(_0x370fb0[_0x11973a(0x26f)])['toLocaleString']());if(_0x3ba0ac&&_0x27578b['YyWRy'](_0x3ba0ac[_0x11973a(0x1a4)],0x0)){console['log'](_0x27578b['fpzDt']);for(let _0x47844a=0x0;_0x27578b[_0x11973a(0x25d)](_0x47844a,_0x3ba0ac['length']);_0x47844a++){const _0x88b953=_0x3ba0ac[_0x47844a];let _0x4b5e93;if(_0x88b953[_0x11973a(0x1ce)]===_0x11973a(0x262)&&_0x27578b[_0x11973a(0x1ba)](_0x88b953['terminalReason'],_0x27578b['VvRXP']))_0x4b5e93='✅';else{if(_0x88b953['status']===_0x27578b[_0x11973a(0x1bc)])_0x4b5e93='🟢';else{if(_0x27578b['oojsP'](_0x88b953['status'],_0x11973a(0x1b2)))_0x4b5e93='🟠';else{if(_0x27578b['oojsP'](_0x88b953['status'],_0x11973a(0x1f5)))_0x4b5e93='🛑';else{if(_0x88b953['status']==='closed')_0x4b5e93='⛔';else _0x88b953['status']===_0x11973a(0x1ff)?_0x4b5e93='⏳':_0x4b5e93='⬜';}}}}const _0x9258d2=_0x88b953[_0x11973a(0x1cd)]>0x1?_0x11973a(0x25e)+_0x88b953['version']+')':'',_0xa54c85=_0x88b953[_0x11973a(0x1cd)]>0x1&&_0x88b953[_0x11973a(0x26e)]&&_0x27578b['BItJm'](_0x88b953[_0x11973a(0x1ce)],_0x27578b['tqOly'])&&_0x88b953[_0x11973a(0x1ce)]!==_0x27578b['MUtOY']?'\x20[has\x20reviewer\x20feedback]':'';console['log'](_0x11973a(0x22b)+(_0x47844a+0x1)+'.\x20'+_0x4b5e93+'\x20'+_0x88b953['description']+_0x9258d2+_0xa54c85);_0x27578b[_0x11973a(0x1ba)](_0x88b953[_0x11973a(0x1ce)],_0x27578b[_0x11973a(0x232)])&&_0x88b953['blockedReason']&&console[_0x11973a(0x1a7)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x88b953[_0x11973a(0x1cc)]);_0x88b953['status']==='incomplete'&&_0x88b953['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x88b953[_0x11973a(0x1de)]);if(_0x27578b[_0x11973a(0x1ba)](_0x88b953[_0x11973a(0x1ce)],_0x27578b[_0x11973a(0x26b)])&&_0x27578b[_0x11973a(0x1ba)](_0x88b953[_0x11973a(0x1f1)],_0x27578b[_0x11973a(0x209)]))console[_0x11973a(0x1a7)](_0x11973a(0x1da));else _0x27578b['oojsP'](_0x88b953[_0x11973a(0x1ce)],_0x27578b[_0x11973a(0x26b)])&&_0x88b953['canceledReason']&&console['log'](_0x11973a(0x224)+_0x88b953['canceledReason']);}}}export async function featureCreate(_0x947b84,_0x590e5b){const _0xacf4fd=_0x1307aa,_0xd14dcd={'qfJqf':function(_0x428089,_0x37dd69){return _0x428089===_0x37dd69;},'ROwyt':function(_0x53cf12){return _0x53cf12();},'gTFPq':_0xacf4fd(0x1a1),'MjoQF':function(_0x4f59d1,_0x591c5d){return _0x4f59d1(_0x591c5d);},'Vmixe':function(_0x5f2f56,_0x13b3cc,_0x3e8cbe){return _0x5f2f56(_0x13b3cc,_0x3e8cbe);}},{envNames:_0x546d92}=await getEnvNames();if(_0x546d92[_0xacf4fd(0x1a4)]===0x0&&!process['env'][_0xacf4fd(0x234)]){let _0x12a134=0x0;try{_0x12a134=(await listCloudProfiles())[_0xacf4fd(0x1a4)];}catch{_0x12a134=0x1;}_0xd14dcd['qfJqf'](_0x12a134,0x0)&&console[_0xacf4fd(0x233)]('\x0a'+formatProfileRequiredMessage(_0x12464c=>bold(_0x12464c)));}const _0x4f436b=_0x590e5b['scenarios']?_0x590e5b['scenarios']['map'](_0x424c80=>_0x424c80['trim']()):[],_0x57f4b7=getGitRepoUrl(),_0x20ca57=_0xd14dcd['ROwyt'](getGitBranch);console[_0xacf4fd(0x1a7)](_0xd14dcd['gTFPq']);const _0x5a0247=await createFeature({'name':_0x947b84,'description':_0x590e5b[_0xacf4fd(0x1c9)],'checklist':_0x4f436b,'gitRepoUrl':_0x57f4b7,'gitBranch':_0x20ca57});await _0xd14dcd[_0xacf4fd(0x253)](setActiveFeatureId,_0x5a0247['id']),await tryStartCurrentSession(_0x5a0247['id']);const _0x4a0a9e=process['env']['CLAUDE_SESSION_ID'];_0x4a0a9e&®isterSession(_0x4a0a9e,_0x5a0247['id']),console[_0xacf4fd(0x1a7)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x5a0247['id']),_0xd14dcd['Vmixe'](displayFeature,_0x5a0247,_0x5a0247['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x21de41){const _0xfbf58d=_0x1307aa,_0x389add={'ZOByB':function(_0x189452){return _0x189452();},'xSbys':function(_0x1edb88,_0x1f1efb){return _0x1edb88(_0x1f1efb);},'lXaRB':function(_0x9f4a1e,_0x6d6f35){return _0x9f4a1e===_0x6d6f35;},'JlQmL':_0xfbf58d(0x223),'WxVMZ':function(_0x7148ac,_0x4a018c){return _0x7148ac+_0x4a018c;},'FxEjA':function(_0x3c2fb2,_0xecd2b4){return _0x3c2fb2<_0xecd2b4;},'uLOSK':'\x20--current-branch'},_0x318273={'limit':_0x21de41['limit']??0xa,'offset':_0x21de41['offset']??0x0,'includeDeleted':_0x21de41['includeDeleted']};_0x21de41['currentBranch']&&(_0x318273[_0xfbf58d(0x1e8)]=_0x389add['ZOByB'](getGitRepoUrl),_0x318273[_0xfbf58d(0x24a)]=_0x389add['ZOByB'](getGitBranch));const _0x56fda0=await _0x389add['xSbys'](listFeatures,_0x318273);if(_0x389add['lXaRB'](_0x56fda0['items'][_0xfbf58d(0x1a4)],0x0)){console[_0xfbf58d(0x1a7)](_0x389add[_0xfbf58d(0x1b8)]);return;}const _0x121b02=_0x56fda0['totalCount']>_0x56fda0['items'][_0xfbf58d(0x1a4)]?'Showing\x20'+_0x56fda0['items'][_0xfbf58d(0x1a4)]+'\x20of\x20'+_0x56fda0['totalCount']:_0x56fda0['totalCount']+'\x20feature\x20review(s)\x20found';console[_0xfbf58d(0x1a7)]('\x0a'+_0x121b02+':\x0a');for(const _0x25d6d4 of _0x56fda0['items']){const _0x36c8a0='5|4|3|2|0|1'['split']('|');let _0x177455=0x0;while(!![]){switch(_0x36c8a0[_0x177455++]){case'0':console['log'](_0xfbf58d(0x1ca)+new Date(_0x25d6d4[_0xfbf58d(0x20d)])['toLocaleDateString']());continue;case'1':console['log']('');continue;case'2':_0x25d6d4[_0xfbf58d(0x24a)]&&console[_0xfbf58d(0x1a7)]('\x20\x20\x20Branch:\x20'+_0x25d6d4['gitBranch']);continue;case'3':_0x25d6d4[_0xfbf58d(0x1d8)]&&console['log'](_0xfbf58d(0x23c)+getProgressDisplay(_0x25d6d4[_0xfbf58d(0x1d8)]));continue;case'4':console[_0xfbf58d(0x1a7)](_0xfbf58d(0x1a0)+_0x25d6d4['id']);continue;case'5':console['log'](''+_0x25d6d4[_0xfbf58d(0x1bf)]);continue;}break;}}const _0x25b687=_0x318273[_0xfbf58d(0x210)]??0xa,_0x46a7e8=_0x389add[_0xfbf58d(0x1f6)](_0x318273[_0xfbf58d(0x1c7)]??0x0,_0x56fda0[_0xfbf58d(0x19f)]['length']);if(_0x389add['FxEjA'](_0x46a7e8,_0x56fda0[_0xfbf58d(0x20a)])){const _0x4e9fb7=_0x25b687!==0xa?'\x20--limit\x20'+_0x25b687:'',_0x4d392c=_0x21de41['currentBranch']?_0x389add[_0xfbf58d(0x245)]:'',_0x569238=_0x21de41[_0xfbf58d(0x254)]?'\x20--include-deleted':'';console[_0xfbf58d(0x1a7)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x46a7e8+_0x4e9fb7+_0x4d392c+_0x569238);}}export async function featureShow(_0xe3a50){const _0x5526f5=_0x1307aa,_0xb62c3d={'mjxGa':function(_0x552365){return _0x552365();},'mKJOs':_0x5526f5(0x1a8),'sUvIg':function(_0x16f5ab,_0x2bd395,_0x20a015){return _0x16f5ab(_0x2bd395,_0x20a015);}},_0x1b168e=_0xe3a50||await _0xb62c3d[_0x5526f5(0x264)](getActiveFeatureId);if(!_0x1b168e)throw new Error(_0xb62c3d['mKJOs']);const _0x7daeb0=await getFeature(_0x1b168e);_0xb62c3d['sUvIg'](displayFeature,_0x7daeb0,_0x7daeb0['checklistItems']);}export async function featureResume(_0x45129b){const _0x5cff50=_0x1307aa,_0x27a5e0={'EgRBs':function(_0x518b9e,_0x18f19b){return _0x518b9e(_0x18f19b);},'IuOyx':function(_0x4b9c8b){return _0x4b9c8b();},'cnTDD':function(_0x12ae8e,_0x2074ac,_0x5e792f){return _0x12ae8e(_0x2074ac,_0x5e792f);},'GTxDf':function(_0x1ac1c8,_0x192edc,_0x1e0c25){return _0x1ac1c8(_0x192edc,_0x1e0c25);},'PQCeJ':function(_0x43d9ea){return _0x43d9ea();},'pYpMf':function(_0x5353d0,_0x2915d3){return _0x5353d0(_0x2915d3);},'Gmvwe':function(_0x207b48,_0x5cf4a6){return _0x207b48===_0x5cf4a6;},'VKAvW':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','vqYOS':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','SHJdr':function(_0x545c2c,_0x3e73a0){return _0x545c2c(_0x3e73a0);},'tQhBY':'list','BzbMz':_0x5cff50(0x263),'fDXWl':function(_0x2e9110,_0x225162){return _0x2e9110!==_0x225162;},'RPMRZ':function(_0x301a5a,_0x65872b){return _0x301a5a(_0x65872b);}};if(_0x45129b){const _0x5938e4=await _0x27a5e0['EgRBs'](getFeature,_0x45129b);await setActiveFeatureId(_0x5938e4['id']);const _0x11e0f7=_0x27a5e0['IuOyx'](getGitBranch);_0x11e0f7&&_0x11e0f7!==_0x5938e4['gitBranch']&&(await _0x27a5e0[_0x5cff50(0x23f)](updateFeature,_0x5938e4['id'],{'gitBranch':_0x11e0f7}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x11e0f7));console[_0x5cff50(0x1a7)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x5938e4['name']+'\x20('+_0x5938e4['id']+')'),await tryStartCurrentSession(_0x5938e4['id']);const _0x10619a=process[_0x5cff50(0x243)]['CLAUDE_SESSION_ID'];_0x10619a&&_0x27a5e0[_0x5cff50(0x241)](registerSession,_0x10619a,_0x5938e4['id']);displayFeature(_0x5938e4,_0x5938e4[_0x5cff50(0x1ad)]),await printFeedbackNudge(_0x5938e4['id']);return;}const _0x9deba=_0x27a5e0['PQCeJ'](getGitRepoUrl),_0x37cf70=getGitBranch();if(!_0x9deba&&!_0x37cf70)throw new Error(_0x5cff50(0x203));console[_0x5cff50(0x1a7)](_0x5cff50(0x205)+(_0x9deba||'any')+'\x20/\x20'+(_0x37cf70||_0x5cff50(0x202))+_0x5cff50(0x1b3));const _0x400dc5=await _0x27a5e0['pYpMf'](listFeatures,{'gitRepoUrl':_0x9deba,'gitBranch':_0x37cf70}),_0x9d80f1=_0x400dc5['items'][_0x5cff50(0x23b)](_0xc12478=>_0xc12478[_0x5cff50(0x1ce)]?_0xc12478['status']!==_0x5cff50(0x21f):!_0xc12478[_0x5cff50(0x26f)]);if(_0x27a5e0['Gmvwe'](_0x9d80f1[_0x5cff50(0x1a4)],0x0)){console[_0x5cff50(0x1a7)](_0x27a5e0['VKAvW']),console['log'](_0x27a5e0[_0x5cff50(0x22a)]);return;}let _0x484283;if(_0x27a5e0[_0x5cff50(0x20e)](_0x9d80f1['length'],0x1))_0x484283=_0x9d80f1[0x0];else{const _0x222f56=process[_0x5cff50(0x26a)]['isTTY']&&process[_0x5cff50(0x1e0)][_0x5cff50(0x218)];if(!_0x222f56){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x3afffa of _0x9d80f1){console[_0x5cff50(0x1a7)]('\x20\x20'+_0x3afffa['name']),console[_0x5cff50(0x1a7)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3afffa['id']),_0x3afffa['stats']&&console[_0x5cff50(0x1a7)](_0x5cff50(0x251)+_0x27a5e0['SHJdr'](getProgressDisplay,_0x3afffa['stats'])),_0x3afffa[_0x5cff50(0x24a)]&&console[_0x5cff50(0x1a7)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3afffa['gitBranch']);}throw new Error(_0x5cff50(0x1e3));}const {selected:_0x53e053}=await _0x2c2b56['prompt']([{'type':_0x27a5e0[_0x5cff50(0x1f0)],'name':_0x27a5e0[_0x5cff50(0x25c)],'message':_0x5cff50(0x1b6),'choices':_0x9d80f1['map'](_0x163057=>({'name':_0x163057[_0x5cff50(0x1bf)]+'\x20('+_0x163057['id']+')','value':_0x163057['id']}))}]);_0x484283=_0x9d80f1[_0x5cff50(0x276)](_0x40f328=>_0x40f328['id']===_0x53e053);}await setActiveFeatureId(_0x484283['id']);_0x37cf70&&_0x27a5e0['fDXWl'](_0x37cf70,_0x484283[_0x5cff50(0x24a)])&&(await updateFeature(_0x484283['id'],{'gitBranch':_0x37cf70}),console['log'](_0x5cff50(0x208)+_0x37cf70));console[_0x5cff50(0x1a7)](_0x5cff50(0x201)+_0x484283['name']+'\x20('+_0x484283['id']+')'),await _0x27a5e0[_0x5cff50(0x1be)](tryStartCurrentSession,_0x484283['id']);const _0x4b3cc1=await getFeature(_0x484283['id']),_0x27c95f=process[_0x5cff50(0x243)]['CLAUDE_SESSION_ID'];_0x27c95f&®isterSession(_0x27c95f,_0x4b3cc1['id']),displayFeature(_0x4b3cc1,_0x4b3cc1[_0x5cff50(0x1ad)]),await printFeedbackNudge(_0x4b3cc1['id']);}async function printFeedbackNudge(_0x221a8c){const _0x425de2=_0x1307aa,_0x4400b9={'DmjZw':function(_0xf5d420,_0x59d594){return _0xf5d420(_0x59d594);},'pumAU':function(_0x2e1bd7,_0x2878c1,_0x115347){return _0x2e1bd7(_0x2878c1,_0x115347);},'CUNkc':function(_0x5d8f91,_0x46a5ed){return _0x5d8f91>_0x46a5ed;},'bUCUn':function(_0x291f13,_0x1fd208){return _0x291f13>_0x1fd208;}};try{const {items:_0x43b49f}=await _0x4400b9[_0x425de2(0x214)](getActionItems,_0x221a8c);let _0x563cb9=0x0,_0x201b78=0x0;for(const _0x4e7982 of _0x43b49f){const _0x28d8c6=await _0x4400b9['pumAU'](getItemFeedback,_0x221a8c,_0x4e7982['id']);_0x4400b9[_0x425de2(0x1b1)](_0x28d8c6[_0x425de2(0x206)][_0x425de2(0x1a4)],0x0)&&(_0x563cb9+=_0x28d8c6['unaddressedComments']['length'],_0x201b78++);}_0x4400b9['bUCUn'](_0x563cb9,0x0)&&(console['log'](_0x425de2(0x259)+_0x563cb9+_0x425de2(0x23a)+_0x201b78+_0x425de2(0x1ec)),console[_0x425de2(0x1a7)](_0x425de2(0x268)));}catch{}}async function tryStartCurrentSession(_0x15aa3f){const _0x4529bf=_0x1307aa;try{const {sessions:_0x7fcceb}=await listFeatureSessions(_0x15aa3f),_0x1649ae=_0x7fcceb['find'](_0x2dbe13=>_0x2dbe13[_0x4529bf(0x1ce)]===_0x4529bf(0x22c));_0x1649ae&&(await startSession(_0x15aa3f,_0x1649ae['id']),console[_0x4529bf(0x1a7)](_0x4529bf(0x235)+_0x1649ae[_0x4529bf(0x24d)]));}catch{}}export async function featureReport(_0xfe1cb6,_0xf458e8){const _0x1d98b0=_0x1307aa,_0x3d608a={'HSPNQ':function(_0x137251){return _0x137251();},'bVnxw':_0x1d98b0(0x21b),'QGeLZ':_0x1d98b0(0x250),'QseRJ':function(_0x1bc63c,_0x5c87d9,_0x2d9c22,_0x599150){return _0x1bc63c(_0x5c87d9,_0x2d9c22,_0x599150);},'VDFfH':function(_0x53f65e,_0x407482){return _0x53f65e(_0x407482);},'IXUnq':_0x1d98b0(0x27a)},_0x37ff09=_0xfe1cb6||await _0x3d608a[_0x1d98b0(0x1bd)](getActiveFeatureId);if(!_0x37ff09)throw new Error(_0x3d608a['bVnxw']);console[_0x1d98b0(0x1a7)](_0x3d608a[_0x1d98b0(0x1ee)]);const _0x52ebc6=await getFeatureReportMarkdown(_0x37ff09,{'style':_0xf458e8[_0x1d98b0(0x1e1)]}),_0x32f3ec=_0xf458e8['output']||_0x3d608a[_0x1d98b0(0x23e)](join,_0x3d608a['HSPNQ'](getRangerDir),'reports',_0x37ff09+_0x1d98b0(0x222)),_0x18d950=join(_0x32f3ec,'..');!_0x3d608a[_0x1d98b0(0x1d1)](existsSync,_0x18d950)&&await mkdir(_0x18d950,{'recursive':!![]}),await _0x3d608a[_0x1d98b0(0x23e)](writeFile,_0x32f3ec,_0x52ebc6,_0x3d608a[_0x1d98b0(0x1a9)]),console['log'](_0x1d98b0(0x244)+_0x32f3ec);}function getScenarioResult(_0xea883f){const _0x1d355e=_0x1307aa,_0x10bfea={'evkSX':function(_0x4868f1,_0x2c63c8){return _0x4868f1===_0x2c63c8;},'dfKyh':_0x1d355e(0x262)};if(_0x10bfea['evkSX'](_0xea883f[_0x1d355e(0x1ce)],_0x1d355e(0x262)))return _0xea883f['terminalReason']??_0x10bfea[_0x1d355e(0x1a5)];if(_0xea883f['status']===_0x1d355e(0x1ff))return'in_progress';return _0xea883f[_0x1d355e(0x1ce)];}function getScenarioRationale(_0x3449bf,_0x35004a){const _0x2964f2=_0x1307aa,_0xd25710={'prixI':_0x2964f2(0x25b)},_0x138fcf=_0xd25710['prixI']['split']('|');let _0x2762d4=0x0;while(!![]){switch(_0x138fcf[_0x2762d4++]){case'0':if(_0x3449bf['notes'])return _0x3449bf['notes'];continue;case'1':if(_0x3449bf['canceledReason'])return _0x3449bf[_0x2964f2(0x1d0)];continue;case'2':if(_0x3449bf[_0x2964f2(0x1de)])return _0x3449bf[_0x2964f2(0x1de)];continue;case'3':if(_0x3449bf[_0x2964f2(0x1cc)])return _0x3449bf['blockedReason'];continue;case'4':return null;case'5':if(_0x35004a)return _0x35004a;continue;}break;}}export async function featureReportPrDescription(_0x54fdb0,_0x21adc7){const _0x1d939=_0x1307aa,_0x309c88={'yLLod':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','mDCzI':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','vvGMY':function(_0x5b4d6b,_0x4ef074){return _0x5b4d6b>_0x4ef074;},'UvJaR':_0x1d939(0x19a),'QgidZ':function(_0x3b08dc,_0x1cecdc){return _0x3b08dc<_0x1cecdc;},'cbqmi':function(_0x4a8422,_0x12519e,_0x32e9f2,_0x7f78c3){return _0x4a8422(_0x12519e,_0x32e9f2,_0x7f78c3);}},_0x424bce=_0x54fdb0||await getActiveFeatureId();if(!_0x424bce)throw new Error(_0x309c88[_0x1d939(0x1ac)]);const _0x52eae7=await getFeature(_0x424bce),_0x2c9153=_0x52eae7['checklistItems']||[],_0x5faa06=getCurrentSessionItems(_0x52eae7,_0x2c9153);_0x5faa06[_0x1d939(0x1a4)]===0x0&&(console['error'](_0x309c88[_0x1d939(0x1b7)]),process['exit'](0x1));const _0x265b21=_0x21adc7[_0x1d939(0x271)]??[],_0x28d462=_0x265b21[_0x1d939(0x23b)](_0x484e99=>!Number['isInteger'](_0x484e99)||_0x484e99<0x1||_0x484e99>_0x5faa06['length']);if(_0x309c88['vvGMY'](_0x28d462['length'],0x0)){console['error'](_0x1d939(0x26c)+_0x28d462[_0x1d939(0x249)](',\x20')),console['log'](_0x309c88[_0x1d939(0x221)]);for(let _0x2cb1d4=0x0;_0x309c88[_0x1d939(0x229)](_0x2cb1d4,_0x5faa06[_0x1d939(0x1a4)]);_0x2cb1d4++){console['log']('\x20\x20'+(_0x2cb1d4+0x1)+'.\x20'+_0x5faa06[_0x2cb1d4]['description']);}process['exit'](0x1);}const _0x1164fa=new Set(_0x265b21['map'](_0x2fd2e5=>_0x2fd2e5-0x1)),_0x47cda2=_0x5faa06[_0x1d939(0x23b)]((_0x2f9039,_0x1e493a)=>!_0x1164fa[_0x1d939(0x1e2)](_0x1e493a));_0x47cda2[_0x1d939(0x1a4)]===0x0&&(console['error'](_0x1d939(0x22e)),process[_0x1d939(0x256)](0x1));if(_0x21adc7['json'])await _0x309c88[_0x1d939(0x1c6)](outputJsonReport,_0x424bce,_0x52eae7,_0x47cda2);else{const _0x475fe8=await getFeatureReportMarkdown(_0x424bce,{'itemIds':_0x47cda2[_0x1d939(0x1b4)](_0x15635a=>_0x15635a['id'])});process[_0x1d939(0x1e0)][_0x1d939(0x237)](_0x475fe8['trimEnd']()+'\x0a');}}async function outputJsonReport(_0xd75fa5,_0x6571e5,_0x4b3506){const _0x285133=_0x1307aa,_0x556741={'LRKNQ':function(_0x5c14b5,_0x13a60c){return _0x5c14b5(_0x13a60c);}},_0x45ded3=getApiBaseUrl(),_0x409f1f=await getFeatureReport(_0xd75fa5),_0x5b2944=new Map(_0x409f1f['checklistItems'][_0x285133(0x1b4)](_0x4224e3=>[_0x4224e3['id'],_0x4224e3])),_0x40fe94=await Promise[_0x285133(0x219)](_0x4b3506['map'](async _0x34ca20=>{const _0x225672=_0x285133,_0xaf0864=_0x5b2944['get'](_0x34ca20['id']),_0x1f89bd=_0xaf0864?.['linkedSession']??null;let _0x422e0f=[];if(_0x34ca20['browserSessionId'])try{const {steps:_0x5c39ff}=await _0x556741['LRKNQ'](getBrowserSessionSteps,_0x34ca20['browserSessionId']);_0x5c39ff['length']>0x0&&(_0x422e0f=_0x5c39ff[_0x225672(0x1b4)](_0x1468a6=>{const _0x345380=_0x225672,_0x32d380=_0x1468a6[_0x345380(0x1f7)][_0x345380(0x276)](_0x92d5fb=>_0x92d5fb['assetType']==='screenshot'&&_0x92d5fb['timing']===_0x345380(0x217))??_0x1468a6['assets'][_0x345380(0x276)](_0x4377b4=>_0x4377b4['assetType']===_0x345380(0x1fb));let _0x49b91b=null,_0x1833bc=null;if(_0x32d380){const _0x452190=_0x32d380['storage'][_0x345380(0x212)][_0x345380(0x207)]('/')['pop']();_0x49b91b=_0x45ded3+_0x345380(0x19c)+_0x34ca20[_0x345380(0x1a3)]+_0x345380(0x228)+_0x452190,_0x452190&&(_0x1833bc=_0x452190[_0x345380(0x1d6)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x345380(0x1d6)](/[-_]/g,'\x20'));}return{'description':_0x1833bc||_0x1468a6['description']||_0x1468a6[_0x345380(0x258)]||'Step\x20'+_0x1468a6['position'],'screenshot':_0x49b91b,'is_key_step':_0x1468a6['isKeyStep']};}));}catch{}return _0x422e0f[_0x225672(0x1a4)]===0x0&&_0x1f89bd?.['screenshotUrls']&&(_0x422e0f=_0x1f89bd[_0x225672(0x246)]['map']((_0x6f6b38,_0x1980bd)=>({'description':'Screenshot\x20'+(_0x1980bd+0x1),'screenshot':_0x6f6b38,'is_key_step':![]}))),{'description':_0x34ca20['description'],'result':getScenarioResult(_0x34ca20),'rationale':getScenarioRationale(_0x34ca20,_0x1f89bd?.[_0x225672(0x225)]),'steps':_0x422e0f};})),_0x3b33c5={'url':_0x6571e5['dashboardUrl'],'scenarios':_0x40fe94};process[_0x285133(0x1e0)]['write'](JSON[_0x285133(0x269)](_0x3b33c5,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x579e5a){const _0x401412=_0x1307aa,_0x51d155={'NhlrW':function(_0x1a4336,_0x56b03f){return _0x1a4336(_0x56b03f);},'EsdRG':'Current\x20session\x20not\x20found.','RqnmC':function(_0x476b68,_0xeb16ce){return _0x476b68===_0xeb16ce;},'XGbSr':_0x401412(0x1d7),'wMVcV':'\x0a✅\x20Session\x20is\x20already\x20completed.','CYOXO':function(_0x3bfe4b,_0x5027c8){return _0x3bfe4b!==_0x5027c8;},'ZrvAV':'in_progress','BDNwL':'\x0aConcluding\x20session...','LwQqp':function(_0x1398a9,_0x498883,_0x362cfe){return _0x1398a9(_0x498883,_0x362cfe);}},_0x4ff520=_0x579e5a||await getActiveFeatureId();if(!_0x4ff520)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 _0x234878=await getFeature(_0x4ff520);if(!_0x234878[_0x401412(0x1df)])throw new Error(_0x401412(0x266));const {sessions:_0x1e7c28}=await _0x51d155[_0x401412(0x21d)](listFeatureSessions,_0x4ff520),_0x569c6a=_0x1e7c28[_0x401412(0x276)](_0x2b3d2b=>_0x2b3d2b['id']===_0x234878[_0x401412(0x1df)]);if(!_0x569c6a)throw new Error(_0x51d155['EsdRG']);if(_0x51d155['RqnmC'](_0x569c6a['status'],_0x51d155['XGbSr'])){console['log'](_0x51d155[_0x401412(0x267)]);return;}if(_0x51d155[_0x401412(0x1b0)](_0x569c6a['status'],_0x51d155[_0x401412(0x213)]))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x569c6a[_0x401412(0x1ce)]);console['log'](_0x51d155['BDNwL']),await _0x51d155['LwQqp'](concludeSession,_0x4ff520,_0x234878['currentSessionId']),console['log'](_0x401412(0x1f9)+_0x569c6a[_0x401412(0x24d)]+_0x401412(0x22f)),console[_0x401412(0x1a7)](_0x401412(0x1e6));}export async function featureSessions(_0x41b250){const _0xf5cacf=_0x1307aa,_0xb26cfe={'rXBHY':function(_0x576403){return _0x576403();},'ksZjI':_0xf5cacf(0x21b),'PVadE':function(_0x5b01e2,_0x3b3671){return _0x5b01e2(_0x3b3671);},'XBUKK':'No\x20sessions\x20found.','dFuzY':'completed','eeroS':'in_progress'},_0xe415d1=_0x41b250||await _0xb26cfe[_0xf5cacf(0x227)](getActiveFeatureId);if(!_0xe415d1)throw new Error(_0xb26cfe[_0xf5cacf(0x242)]);const _0x1a8286=await getFeature(_0xe415d1);console[_0xf5cacf(0x1a7)](_0xf5cacf(0x23d)+_0x1a8286[_0xf5cacf(0x1bf)]+'\x0a');const {sessions:_0x4312df}=await _0xb26cfe['PVadE'](listFeatureSessions,_0xe415d1);if(_0x4312df['length']===0x0){console[_0xf5cacf(0x1a7)](_0xb26cfe[_0xf5cacf(0x277)]);return;}for(const _0x434e59 of _0x4312df){const _0x151a3e=_0x434e59['status']===_0xb26cfe[_0xf5cacf(0x230)]?'✅':_0x434e59['status']===_0xb26cfe['eeroS']?'🔄':'▶️';console[_0xf5cacf(0x1a7)](_0x151a3e+_0xf5cacf(0x255)+_0x434e59[_0xf5cacf(0x24d)]+'\x20('+_0x434e59['id']+')'),console[_0xf5cacf(0x1a7)]('\x20\x20\x20Status:\x20'+_0x434e59['status']),console[_0xf5cacf(0x1a7)]('\x20\x20\x20Created:\x20'+new Date(_0x434e59['createdAt'])['toLocaleString']()),_0x434e59[_0xf5cacf(0x26f)]&&console['log'](_0xf5cacf(0x21e)+new Date(_0x434e59['completedAt'])['toLocaleString']()),console[_0xf5cacf(0x1a7)]('');}}export async function featureAddScenario(_0x54cc90,_0x38b552){const _0x4632f7=_0x1307aa,_0x516768={'MIwdM':_0x4632f7(0x1a8),'PIglV':function(_0x319a48,_0x39452a){return _0x319a48(_0x39452a);},'AuFbq':function(_0x4fcaae,_0xcdacd5,_0xd4cb42){return _0x4fcaae(_0xcdacd5,_0xd4cb42);}},_0x1f9652=_0x38b552||await getActiveFeatureId();if(!_0x1f9652)throw new Error(_0x516768[_0x4632f7(0x1c8)]);const _0x45aa5b=await _0x516768['PIglV'](getFeature,_0x1f9652);if(_0x45aa5b[_0x4632f7(0x1ae)]&&!_0x45aa5b[_0x4632f7(0x1ae)]['submittedAt'])throw new Error(_0x4632f7(0x1d5)+_0x45aa5b[_0x4632f7(0x1c2)]);await _0x516768[_0x4632f7(0x1c5)](createChecklistItem,_0x1f9652,_0x54cc90);const _0x210477=await _0x516768['PIglV'](getFeature,_0x1f9652);console[_0x4632f7(0x1a7)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x210477,_0x210477[_0x4632f7(0x1ad)]);}export async function featureEditScenario(_0x144b45,_0x260a39){const _0x2e0da5=_0x1307aa,_0x42c8a5={'KdzhY':function(_0x2e8e86){return _0x2e8e86();},'tbhhl':_0x2e0da5(0x1a2),'tZoBL':function(_0x2ec56d,_0x184b8a){return _0x2ec56d(_0x184b8a);},'arARz':_0x2e0da5(0x20b),'OiyOt':function(_0x48a083,_0x6a134a){return _0x48a083===_0x6a134a;},'PEtzy':_0x2e0da5(0x19a),'FOBPF':function(_0x58eba9,_0x4a476e){return _0x58eba9<_0x4a476e;},'MFTlL':function(_0x393734,_0x448bbb){return _0x393734-_0x448bbb;},'fpImh':function(_0x258c8c,_0x4be317){return _0x258c8c<_0x4be317;},'FYLqW':function(_0x342494,_0x239f7f){return _0x342494<_0x239f7f;}},_0x497502=_0x260a39['id']||await _0x42c8a5['KdzhY'](getActiveFeatureId);!_0x497502&&(console[_0x2e0da5(0x20f)]('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x42c8a5[_0x2e0da5(0x236)]),process[_0x2e0da5(0x256)](0x1));const _0x3454a3=await _0x42c8a5[_0x2e0da5(0x275)](getFeature,_0x497502);_0x3454a3[_0x2e0da5(0x1ae)]&&!_0x3454a3[_0x2e0da5(0x1ae)]['submittedAt']&&(console[_0x2e0da5(0x20f)](_0x2e0da5(0x261)),console['error'](_0x2e0da5(0x272)),console['error']('\x20\x20'+_0x3454a3['dashboardUrl']),process['exit'](0x1));const _0x5797ea=_0x3454a3['checklistItems']||[];_0x5797ea['length']===0x0&&(console['error'](_0x42c8a5[_0x2e0da5(0x231)]),process[_0x2e0da5(0x256)](0x1));if(_0x42c8a5[_0x2e0da5(0x1f4)](_0x260a39['scenario'],undefined)){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log'](_0x42c8a5['PEtzy']);for(let _0x362485=0x0;_0x42c8a5['FOBPF'](_0x362485,_0x5797ea['length']);_0x362485++){console[_0x2e0da5(0x1a7)]('\x20\x20'+(_0x362485+0x1)+'.\x20'+_0x5797ea[_0x362485][_0x2e0da5(0x1c9)]);}process[_0x2e0da5(0x256)](0x1);}const _0x62ecf3=_0x42c8a5[_0x2e0da5(0x1fc)](_0x260a39[_0x2e0da5(0x1e9)],0x1);if(_0x42c8a5[_0x2e0da5(0x1d9)](_0x62ecf3,0x0)||_0x62ecf3>=_0x5797ea[_0x2e0da5(0x1a4)]){console['error'](_0x2e0da5(0x1ef)+_0x260a39[_0x2e0da5(0x1e9)]+'.\x20Feature\x20review\x20has\x20'+_0x5797ea['length']+'\x20scenarios.'),console['log'](_0x2e0da5(0x19a));for(let _0x8b17d9=0x0;_0x42c8a5['FYLqW'](_0x8b17d9,_0x5797ea['length']);_0x8b17d9++){console[_0x2e0da5(0x1a7)]('\x20\x20'+(_0x8b17d9+0x1)+'.\x20'+_0x5797ea[_0x8b17d9]['description']);}process['exit'](0x1);}const _0x463b6a=_0x5797ea[_0x62ecf3];await updateChecklistItem(_0x497502,_0x463b6a['id'],{'description':_0x144b45});const _0x42798c=await _0x42c8a5[_0x2e0da5(0x275)](getFeature,_0x497502);console['log'](_0x2e0da5(0x215)),displayFeature(_0x42798c,_0x42798c['checklistItems']);}async function downloadFeedbackImage(_0x591bb2,_0x422d4b){const _0x267c70=_0x1307aa,_0x26ff9d={'TRLAE':function(_0x2be416,_0x2e2f2a,_0x4d8187){return _0x2be416(_0x2e2f2a,_0x4d8187);},'tKKfM':function(_0x1498f4,_0x12d128,_0x5efbc1){return _0x1498f4(_0x12d128,_0x5efbc1);},'YkhOe':function(_0x4c8ba4,_0x7051c){return _0x4c8ba4(_0x7051c);}};try{const _0x2e0603=join(getRangerDir(),_0x267c70(0x252));await _0x26ff9d['TRLAE'](mkdir,_0x2e0603,{'recursive':!![]});const _0x32a10b=_0x26ff9d[_0x267c70(0x247)](join,_0x2e0603,_0x267c70(0x240)+_0x422d4b+'.png'),_0x1f87fd=await _0x26ff9d[_0x267c70(0x1db)](fetch,_0x591bb2);if(!_0x1f87fd['ok'])return null;const _0x290b39=Buffer[_0x267c70(0x279)](await _0x1f87fd['arrayBuffer']());return await writeFile(_0x32a10b,_0x290b39),_0x32a10b;}catch{return null;}}export async function featureGetReview(_0x12696b){const _0x65ecd5=_0x1307aa,_0x4d8cb1={'eWbVl':function(_0x7099df){return _0x7099df();},'MVxgi':_0x65ecd5(0x1a8),'gJuyl':function(_0x5dcb9f,_0x5a61a0){return _0x5dcb9f(_0x5a61a0);},'WptYv':_0x65ecd5(0x21c),'gqqfS':function(_0x43fce9,_0xdd4f68,_0x262403){return _0x43fce9(_0xdd4f68,_0x262403);},'xYRSp':function(_0x4991f2,_0x2723ce){return _0x4991f2+_0x2723ce;},'XquJv':'short','yosfs':'\x20>\x20','YYOqP':function(_0x678120,_0x54d674){return _0x678120===_0x54d674;},'nRegP':function(_0x22a021,_0xc5fc21){return _0x22a021>=_0xc5fc21;}},_0x38e1b8=_0x12696b||await _0x4d8cb1['eWbVl'](getActiveFeatureId);if(!_0x38e1b8)throw new Error(_0x4d8cb1[_0x65ecd5(0x265)]);const _0x297a0a=await _0x4d8cb1['gJuyl'](getFeature,_0x38e1b8),{items:_0x483151}=await _0x4d8cb1['gJuyl'](getActionItems,_0x38e1b8);console[_0x65ecd5(0x1a7)](_0x65ecd5(0x19e)+_0x297a0a['name']+'\x20('+_0x297a0a['id']+')\x0a');if(_0x483151[_0x65ecd5(0x1a4)]===0x0){console[_0x65ecd5(0x1a7)](_0x4d8cb1[_0x65ecd5(0x21a)]);return;}for(let _0x452c2b=0x0;_0x452c2b<_0x483151[_0x65ecd5(0x1a4)];_0x452c2b++){const _0x5e927c=_0x483151[_0x452c2b],_0x20561d=_0x5e927c['version']>0x1?'\x20(v'+_0x5e927c[_0x65ecd5(0x1cd)]+')':'',_0x54ce8f=await _0x4d8cb1[_0x65ecd5(0x226)](getItemFeedback,_0x38e1b8,_0x5e927c['id']);if(_0x54ce8f['unaddressedComments'][_0x65ecd5(0x1a4)]>0x0){console['log']('Scenario\x20'+_0x4d8cb1[_0x65ecd5(0x216)](_0x452c2b,0x1)+_0x65ecd5(0x1f2)+_0x5e927c['description']+'\x22'+_0x20561d+'\x20—\x20'+_0x54ce8f[_0x65ecd5(0x206)][_0x65ecd5(0x1a4)]+_0x65ecd5(0x204));for(const _0x22aa81 of _0x54ce8f['unaddressedComments']){const _0x404a20=new Date(_0x22aa81[_0x65ecd5(0x20d)])['toLocaleDateString']('en-US',{'month':_0x4d8cb1['XquJv'],'day':'numeric'}),_0x54848b=_0x22aa81['authorName']||_0x22aa81['authorEmail']||_0x65ecd5(0x1e5);console[_0x65ecd5(0x1a7)]('\x20\x20💬\x20'+_0x54848b+'\x20('+_0x404a20+'):\x20\x22'+_0x22aa81[_0x65ecd5(0x24f)]+'\x22');if(_0x22aa81['assetUrl']){const _0x27af27=await downloadFeedbackImage(_0x22aa81['assetUrl'],_0x22aa81['id']);_0x27af27&&console[_0x65ecd5(0x1a7)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x27af27);}if(_0x22aa81[_0x65ecd5(0x1fd)]){const _0x2867c9=_0x22aa81[_0x65ecd5(0x1fd)]['selector']['split'](_0x4d8cb1['yosfs'])['pop']()?.[_0x65ecd5(0x207)](':')[0x0]||'element',_0x2b6661=_0x22aa81[_0x65ecd5(0x1fd)][_0x65ecd5(0x1c0)]?'\x20\x22'+_0x22aa81['domRef']['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x65ecd5(0x270)+_0x2867c9+'>'+_0x2b6661),console[_0x65ecd5(0x1a7)](_0x65ecd5(0x1aa)+_0x22aa81[_0x65ecd5(0x1fd)][_0x65ecd5(0x211)]);}else{if(_0x22aa81['spatial']){const _0x30f790=_0x22aa81[_0x65ecd5(0x278)]['coordinates'];_0x4d8cb1[_0x65ecd5(0x24e)](_0x22aa81['spatial']['type'],'point')&&_0x4d8cb1[_0x65ecd5(0x1fe)](_0x30f790['length'],0x2)?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x30f790[0x0]['toFixed'](0x2)+',\x20'+_0x30f790[0x1]['toFixed'](0x2)+')'):console[_0x65ecd5(0x1a7)](_0x65ecd5(0x238)+_0x22aa81['spatial'][_0x65ecd5(0x1dc)]+_0x65ecd5(0x1ab)+_0x30f790['map'](_0x1c7b45=>_0x1c7b45[_0x65ecd5(0x1af)](0x2))[_0x65ecd5(0x249)](',\x20')+']');}}}if(_0x54ce8f['canonicalFlow']){console[_0x65ecd5(0x1a7)]('\x20\x20Expected\x20flow:');for(const _0x509fa6 of _0x54ce8f['canonicalFlow']['split']('\x0a')){console[_0x65ecd5(0x1a7)]('\x20\x20\x20\x20'+_0x509fa6);}}}else console['log']('Scenario\x20'+(_0x452c2b+0x1)+_0x65ecd5(0x1f2)+_0x5e927c['description']+'\x22'+_0x20561d+'\x20—\x20no\x20comments'),console[_0x65ecd5(0x1a7)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x45ebbf){const _0x2340a5=_0x1307aa,_0x270d75={'FxbZd':function(_0x5fa0b9,_0x6d9dd0){return _0x5fa0b9(_0x6d9dd0);},'puBkR':function(_0x56b420,_0x5b9b35){return _0x56b420(_0x5b9b35);},'SIJmY':function(_0x1b0898,_0x3f90b3){return _0x1b0898+_0x3f90b3;}},_0x24cae4=_0x45ebbf||await getActiveFeatureId();if(!_0x24cae4)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 _0x2eb0b9=await _0x270d75['FxbZd'](getFeature,_0x24cae4);await _0x270d75[_0x2340a5(0x1e4)](softDeleteFeature,_0x24cae4),console['log'](_0x2340a5(0x19b)+_0x2eb0b9[_0x2340a5(0x1bf)]+'\x20('+_0x24cae4+')'),console[_0x2340a5(0x1a7)](_0x270d75[_0x2340a5(0x200)](_0x2340a5(0x1bb),_0x24cae4));}export async function featureRestore(_0x75b73){const _0x4655c2=_0x1307aa,_0x23dab8={'ftoeT':function(_0x2d2761,_0x94b23d){return _0x2d2761(_0x94b23d);}};await _0x23dab8['ftoeT'](restoreFeature,_0x75b73);const _0x1bf5bf=await getFeature(_0x75b73);console[_0x4655c2(0x1a7)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1bf5bf[_0x4655c2(0x1bf)]+'\x20('+_0x75b73+')'),displayFeature(_0x1bf5bf,_0x1bf5bf['checklistItems']);}
|
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2348(_0x1fb616,_0x8d829e){_0x1fb616=_0x1fb616-0xc6;const _0x5358f8=_0x5358();let _0x234813=_0x5358f8[_0x1fb616];return _0x234813;}(function(_0x5f4339,_0x32d82b){const _0x27b4f0=_0x2348,_0x422101=_0x5f4339();while(!![]){try{const _0x226b21=parseInt(_0x27b4f0(0xce))/0x1*(parseInt(_0x27b4f0(0xcc))/0x2)+parseInt(_0x27b4f0(0xd5))/0x3*(parseInt(_0x27b4f0(0xc9))/0x4)+-parseInt(_0x27b4f0(0xd2))/0x5*(parseInt(_0x27b4f0(0xc8))/0x6)+parseInt(_0x27b4f0(0xd3))/0x7*(parseInt(_0x27b4f0(0xc6))/0x8)+parseInt(_0x27b4f0(0xd7))/0x9+-parseInt(_0x27b4f0(0xcf))/0xa+-parseInt(_0x27b4f0(0xca))/0xb;if(_0x226b21===_0x32d82b)break;else _0x422101['push'](_0x422101['shift']());}catch(_0x4417e7){_0x422101['push'](_0x422101['shift']());}}}(_0x5358,0xa643d));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x5358(){const _0x52c19d=['493JPvFFt','1004830pUbzhT','SIGINT','exit','2207765QTyFwo','133539YrjYGH','Unknown\x20hook:\x20','797073jPVWYW','SIGHUP','8535168vdAceS','SIGTERM','152MCtmMg','error','12CVSTDk','16czaNRX','22212993vCqdwj','once','5316qdprgf','FIYaA'];_0x5358=function(){return _0x52c19d;};return _0x5358();}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 _0x515651=_0x2348,_0x346c43={'FIYaA':_0x515651(0xd0)};if(cancellationHandlersInstalled)return;const _0x4b3961=()=>{const _0x3c8280=_0x515651;process[_0x3c8280(0xd1)](0x0);};process[_0x515651(0xcb)](_0x346c43[_0x515651(0xcd)],_0x4b3961),process[_0x515651(0xcb)](_0x515651(0xd8),_0x4b3961),process[_0x515651(0xcb)](_0x515651(0xd6),_0x4b3961),cancellationHandlersInstalled=!![];}export async function hook(_0xe60b4f,_0x22583c){const _0xb320a0=_0x2348;installCancellationHandlers();const _0x383ba3=HOOKS[_0xe60b4f];if(!_0x383ba3){const _0x51ed02=Object['keys'](HOOKS)['join'](',\x20');console[_0xb320a0(0xc7)](_0xb320a0(0xd4)+_0xe60b4f),console[_0xb320a0(0xc7)]('Valid\x20hooks:\x20'+_0x51ed02),process['exit'](0x1);}await _0x383ba3(_0x22583c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa9ad39,_0x1bb8b0){const _0xe322de=_0x3a33,_0x32ae56=_0xa9ad39();while(!![]){try{const _0x3689f3=parseInt(_0xe322de(0x14c))/0x1+parseInt(_0xe322de(0x148))/0x2+parseInt(_0xe322de(0x142))/0x3*(-parseInt(_0xe322de(0x144))/0x4)+parseInt(_0xe322de(0x145))/0x5*(-parseInt(_0xe322de(0x147))/0x6)+-parseInt(_0xe322de(0x14b))/0x7+-parseInt(_0xe322de(0x149))/0x8+-parseInt(_0xe322de(0x143))/0x9*(-parseInt(_0xe322de(0x14a))/0xa);if(_0x3689f3===_0x1bb8b0)break;else _0x32ae56['push'](_0x32ae56['shift']());}catch(_0xb2b8e4){_0x32ae56['push'](_0x32ae56['shift']());}}}(_0x3e5f,0x1bbfb));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';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 _0x6107c1=_0x3a33,_0x1879c9={'UJYSE':function(_0x1e0418){return _0x1e0418();},'StyMZ':function(_0x256db4,_0x554517){return _0x256db4(_0x554517);},'VqHrK':function(_0x112c5b,_0x3edc5a){return _0x112c5b(_0x3edc5a);}},_0x4187f9=await _0x1879c9['UJYSE'](readHookInput),_0x3c2fd4=_0x4187f9?.['session_id'];if(!_0x3c2fd4)return;if(_0x1879c9[_0x6107c1(0x140)](isSessionEnabled,_0x3c2fd4)||_0x1879c9[_0x6107c1(0x146)](hasSessionBeenPrompted,_0x3c2fd4))return;_0x1879c9[_0x6107c1(0x140)](markSessionPrompted,_0x3c2fd4),console[_0x6107c1(0x141)](AUTO_PROMPT_TEXT);}function _0x3a33(_0x411b32,_0x14f620){_0x411b32=_0x411b32-0x140;const _0x3e5f73=_0x3e5f();let _0x3a3321=_0x3e5f73[_0x411b32];return _0x3a3321;}function _0x3e5f(){const _0x3777e8=['135SftHKL','VqHrK','13770yflDWp','148424sYZXfN','605264XqJgkn','60CAhDWa','976451FHHIKU','78113atNcRo','StyMZ','log','86484ntztZL','444159rbJVPb','8StaSxh'];_0x3e5f=function(){return _0x3777e8;};return _0x3e5f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4b47a6,_0x35bafc){const _0x3d313c=_0x82d5,_0x124eb3=_0x4b47a6();while(!![]){try{const _0x5ea219=-parseInt(_0x3d313c(0x1e9))/0x1*(parseInt(_0x3d313c(0x1ea))/0x2)+parseInt(_0x3d313c(0x1ec))/0x3*(-parseInt(_0x3d313c(0x1eb))/0x4)+parseInt(_0x3d313c(0x1f1))/0x5*(-parseInt(_0x3d313c(0x1ef))/0x6)+-parseInt(_0x3d313c(0x1e6))/0x7+-parseInt(_0x3d313c(0x1f3))/0x8+-parseInt(_0x3d313c(0x1e7))/0x9+parseInt(_0x3d313c(0x1ee))/0xa;if(_0x5ea219===_0x35bafc)break;else _0x124eb3['push'](_0x124eb3['shift']());}catch(_0x2aae6b){_0x124eb3['push'](_0x124eb3['shift']());}}}(_0x398a,0x7da20));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x398a(){const _0x3c83fe=['\x20and\x20branch\x20\x27','8660eLsmRI','HIepL','2586504jKuWrl','PBaQJ','master','main','5596598PnScut','3572181bEMGiQ','tcOwI','23926DuUJsa','18vVXrWI','14824mGOrJo','216tWBPpz','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','34396500ERyTbR','3198YXzUvg'];_0x398a=function(){return _0x3c83fe;};return _0x398a();}import{printBlock}from'./output.js';function _0x82d5(_0x37753e,_0x2afb4f){_0x37753e=_0x37753e-0x1e6;const _0x398a69=_0x398a();let _0x82d5de=_0x398a69[_0x37753e];return _0x82d5de;}export async function disable(_0x1bfbcd){const _0x5a3c3c=_0x82d5,_0x8eea4e={'RIwrw':function(_0x4001d7,_0x24065c){return _0x4001d7(_0x24065c);},'tcOwI':_0x5a3c3c(0x1f6),'PBaQJ':function(_0x5783ec,_0x38d71d){return _0x5783ec!==_0x38d71d;},'TxIWb':_0x5a3c3c(0x1f5),'HIepL':function(_0x3e4b6c,_0x12653f){return _0x3e4b6c(_0x12653f);}},_0x2b4f23=_0x1bfbcd||process['env']['CLAUDE_SESSION_ID']||'';_0x2b4f23&&_0x8eea4e['RIwrw'](disableSession,_0x2b4f23);const _0x2f1a5c=getCurrentBranch();_0x2f1a5c&&_0x2f1a5c!==_0x8eea4e['tcOwI']&&_0x8eea4e[_0x5a3c3c(0x1f4)](_0x2f1a5c,_0x8eea4e['TxIWb'])&&_0x8eea4e[_0x5a3c3c(0x1f2)](disableBranch,_0x2f1a5c),printBlock(_0x5a3c3c(0x1ed)+(_0x2f1a5c&&_0x2f1a5c!==_0x8eea4e[_0x5a3c3c(0x1e8)]&&_0x8eea4e[_0x5a3c3c(0x1f4)](_0x2f1a5c,'master')?_0x5a3c3c(0x1f0)+_0x2f1a5c+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2f3a(_0x4a56e3,_0x3d583b){_0x4a56e3=_0x4a56e3-0xdf;const _0x51e000=_0x51e0();let _0x2f3ae7=_0x51e000[_0x4a56e3];return _0x2f3ae7;}(function(_0x40450b,_0x569901){const _0x151241=_0x2f3a,_0x60bd8c=_0x40450b();while(!![]){try{const _0x5051e=parseInt(_0x151241(0xdf))/0x1+-parseInt(_0x151241(0xec))/0x2+parseInt(_0x151241(0xee))/0x3*(parseInt(_0x151241(0xe3))/0x4)+-parseInt(_0x151241(0xf3))/0x5+parseInt(_0x151241(0xe6))/0x6+parseInt(_0x151241(0xf0))/0x7*(-parseInt(_0x151241(0xe9))/0x8)+parseInt(_0x151241(0xe5))/0x9*(-parseInt(_0x151241(0xf2))/0xa);if(_0x5051e===_0x569901)break;else _0x60bd8c['push'](_0x60bd8c['shift']());}catch(_0x10c053){_0x60bd8c['push'](_0x60bd8c['shift']());}}}(_0x51e0,0x5ae36));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x51e0(){const _0x579b93=['gxkUk','287151bsIreW','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','543200igixMC','main','2690kNSPGO','2669910jKHmpr','384758ByXYxJ','\x0a\x0a**Branch\x20\x27','env','\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`.','16zOpzIY','LqqLU','387xTbFUI','3388914kcsmNm','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','WKIjb','40XHNbKd','ranger\x20setup','oVpSe','53236IbSciL'];_0x51e0=function(){return _0x579b93;};return _0x51e0();}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4aaeca){const _0xb063c8=_0x2f3a,_0x3abc30={'oVpSe':'ranger\x20setup\x20--opencode','tvQRl':_0xb063c8(0xea),'gxkUk':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','bjkiD':_0xb063c8(0xe7),'WKIjb':function(_0x43eb36,_0x53ca6c){return _0x43eb36(_0x53ca6c);},'ZgKOi':function(_0x301124,_0x2e0e1e){return _0x301124!==_0x2e0e1e;},'LqqLU':function(_0x59ad30){return _0x59ad30();}},_0x4d2a64=_0x4aaeca||process[_0xb063c8(0xe1)]['CLAUDE_SESSION_ID']||'',_0x4173d8=Boolean(_0x4aaeca),_0x3723ea=await getToken();if(!_0x3723ea){const _0xee4a7d=_0x4173d8?_0x3abc30[_0xb063c8(0xeb)]:_0x3abc30['tvQRl'],_0xff2b55=_0x4173d8?_0x3abc30[_0xb063c8(0xed)]:_0x3abc30['bjkiD'];_0x3abc30[_0xb063c8(0xe8)](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`'+_0xee4a7d+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0xff2b55);return;}try{await update();}catch{}_0x4d2a64&&enableSession(_0x4d2a64);const _0x2e9ed3=getCurrentBranch(),_0xe8c7e=_0x2e9ed3&&_0x2e9ed3!==_0xb063c8(0xf1)&&_0x3abc30['ZgKOi'](_0x2e9ed3,'master')?_0xb063c8(0xe0)+_0x2e9ed3+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x3be31a=_0x3abc30[_0xb063c8(0xe4)](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0xe8c7e+_0xb063c8(0xef)+_0x3be31a+_0xb063c8(0xe2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x581ce3,_0x1f1da6){const _0x172a86=_0xd24b,_0x1c9623=_0x581ce3();while(!![]){try{const _0x346853=parseInt(_0x172a86(0x1ac))/0x1*(-parseInt(_0x172a86(0x1a5))/0x2)+parseInt(_0x172a86(0x1a2))/0x3+-parseInt(_0x172a86(0x1a7))/0x4*(-parseInt(_0x172a86(0x1a3))/0x5)+parseInt(_0x172a86(0x1a4))/0x6+-parseInt(_0x172a86(0x1ab))/0x7+parseInt(_0x172a86(0x1a6))/0x8+parseInt(_0x172a86(0x1a9))/0x9*(-parseInt(_0x172a86(0x1aa))/0xa);if(_0x346853===_0x1f1da6)break;else _0x1c9623['push'](_0x1c9623['shift']());}catch(_0x452da3){_0x1c9623['push'](_0x1c9623['shift']());}}}(_0x5659,0xeb2d7));function _0xd24b(_0x2ce207,_0x5d25a6){_0x2ce207=_0x2ce207-0x1a2;const _0x5659e8=_0x5659();let _0xd24beb=_0x5659e8[_0x2ce207];return _0xd24beb;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x789084){const _0x2d7334=_0xd24b,_0x8a01f5={'VPxws':function(_0x312a12,_0x559897){return _0x312a12(_0x559897);}},_0x2498bd=await getEnabledSessionId(_0x789084);if(!_0x2498bd)return;_0x8a01f5[_0x2d7334(0x1a8)](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x5659(){const _0x2ff526=['6532DebUvn','VPxws','81IUSFMw','743810qNGfRC','1032059ZMeltG','223217kUnYpU','1691460LEHzuM','115IqmDxz','485820Clddyr','2CgxnCT','10568168WXoZLA'];_0x5659=function(){return _0x2ff526;};return _0x5659();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4026d1,_0x3a0e5f){var _0xe493e8=_0x239b,_0x347702=_0x4026d1();while(!![]){try{var _0x350bf5=-parseInt(_0xe493e8(0xb1))/0x1+-parseInt(_0xe493e8(0xb8))/0x2*(parseInt(_0xe493e8(0xb4))/0x3)+parseInt(_0xe493e8(0xb9))/0x4*(parseInt(_0xe493e8(0xb3))/0x5)+parseInt(_0xe493e8(0xb5))/0x6*(-parseInt(_0xe493e8(0xba))/0x7)+parseInt(_0xe493e8(0xb7))/0x8+-parseInt(_0xe493e8(0xb6))/0x9+parseInt(_0xe493e8(0xb2))/0xa;if(_0x350bf5===_0x3a0e5f)break;else _0x347702['push'](_0x347702['shift']());}catch(_0x5f24ef){_0x347702['push'](_0x347702['shift']());}}}(_0x3767,0x724b9));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x239b(_0x1d75c5,_0x198586){_0x1d75c5=_0x1d75c5-0xb1;var _0x37673a=_0x3767();var _0x239b37=_0x37673a[_0x1d75c5];return _0x239b37;}export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';function _0x3767(){var _0x1c11de=['286064ajDtfj','16321490oGDCMz','5SHJUBS','1824594TKNfZo','610050wpnRFP','5756409OfoOiC','75528phoNaU','2byQwMj','3475204tGeTsI','35QafcKq'];_0x3767=function(){return _0x1c11de;};return _0x3767();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1dff40,_0x39328a){const _0x2c697d=_0x3204,_0x148ac8=_0x1dff40();while(!![]){try{const _0xfd540c=parseInt(_0x2c697d(0xcb))/0x1*(parseInt(_0x2c697d(0xcc))/0x2)+parseInt(_0x2c697d(0xc8))/0x3+-parseInt(_0x2c697d(0xc3))/0x4+parseInt(_0x2c697d(0xc5))/0x5+parseInt(_0x2c697d(0xca))/0x6+parseInt(_0x2c697d(0xc7))/0x7+-parseInt(_0x2c697d(0xcd))/0x8*(parseInt(_0x2c697d(0xc6))/0x9);if(_0xfd540c===_0x39328a)break;else _0x148ac8['push'](_0x148ac8['shift']());}catch(_0x57b2ee){_0x148ac8['push'](_0x148ac8['shift']());}}}(_0xac2e,0x7b0e7));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x2f5e6c){console['log'](_0x2f5e6c);}function _0x3204(_0x592308,_0x4d207d){_0x592308=_0x592308-0xc3;const _0xac2e0f=_0xac2e();let _0x320451=_0xac2e0f[_0x592308];return _0x320451;}export async function readHookInput(){const _0x23e852=_0x3204;let _0x267fc9='';try{for await(const _0x17ca3d of process['stdin']){_0x267fc9+=_0x17ca3d;}}catch{return null;}if(!_0x267fc9[_0x23e852(0xc9)]())return null;try{return JSON['parse'](_0x267fc9);}catch{return null;}}export async function getEnabledSessionId(_0x2170d0){const _0x94a15c={'wbZEF':function(_0xbe142f,_0x3534e7){return _0xbe142f(_0x3534e7);}};if(_0x2170d0)return isSessionEnabled(_0x2170d0)?_0x2170d0:null;const _0x4b0dc9=await readHookInput(),_0x4e01e0=_0x4b0dc9?.['session_id'];if(!_0x4e01e0||!_0x94a15c['wbZEF'](isSessionEnabled,_0x4e01e0))return null;return _0x4e01e0;}export async function getEnabledHookContext(_0x3494f2){const _0xf51472=_0x3204,_0x32153d={'dsvWN':function(_0x1b1f42){return _0x1b1f42();}};if(_0x3494f2){if(!isSessionEnabled(_0x3494f2))return null;return{'sessionId':_0x3494f2,'input':{'session_id':_0x3494f2}};}const _0x3ca602=await _0x32153d[_0xf51472(0xc4)](readHookInput),_0x5bee4f=_0x3ca602?.['session_id'];if(!_0x5bee4f||!isSessionEnabled(_0x5bee4f))return null;return{'sessionId':_0x5bee4f,'input':_0x3ca602};}function _0xac2e(){const _0x1b1365=['1441518ycopgi','109ENvdrG','16222xHlvte','232xySrEL','1767668gFiuBL','dsvWN','4034280BiXrxc','699768DxdqkP','3126487DXJcNB','2468745XATtbZ','trim'];_0xac2e=function(){return _0x1b1365;};return _0xac2e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x37bc(){const _0xa32ca0=['49VyBAHF','584346KWbFzT','12147773ICareX','510231njKmoi','permission_mode','1818FUAHvX','16547210FHMgfv','28bLSFxR','3740265GTHbFx','128079crmdjJ','4tQkSTf','7928yCbVQx'];_0x37bc=function(){return _0xa32ca0;};return _0x37bc();}(function(_0x85fda4,_0x546c39){const _0x580eef=_0x9498,_0x33bc03=_0x85fda4();while(!![]){try{const _0x41c287=parseInt(_0x580eef(0x109))/0x1+parseInt(_0x580eef(0x10d))/0x2*(-parseInt(_0x580eef(0x10f))/0x3)+parseInt(_0x580eef(0x110))/0x4*(parseInt(_0x580eef(0x10e))/0x5)+-parseInt(_0x580eef(0x113))/0x6*(-parseInt(_0x580eef(0x112))/0x7)+parseInt(_0x580eef(0x111))/0x8*(parseInt(_0x580eef(0x10b))/0x9)+-parseInt(_0x580eef(0x10c))/0xa+parseInt(_0x580eef(0x108))/0xb;if(_0x41c287===_0x546c39)break;else _0x33bc03['push'](_0x33bc03['shift']());}catch(_0x4b4af6){_0x33bc03['push'](_0x33bc03['shift']());}}}(_0x37bc,0xf237b));import{printBlock,getEnabledHookContext}from'./output.js';function _0x9498(_0x4be626,_0x30a8e6){_0x4be626=_0x4be626-0x108;const _0x37bcc0=_0x37bc();let _0x949894=_0x37bcc0[_0x4be626];return _0x949894;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x468e24){const _0x18c0e4=_0x9498,_0x106adf={'vZbmC':function(_0x376bdc,_0x43b83d){return _0x376bdc(_0x43b83d);}},_0x588406=await getEnabledHookContext(_0x468e24);if(!_0x588406)return;if(_0x588406['input'][_0x18c0e4(0x10a)]!=='plan')return;if(!shouldShowPlanReminder(_0x588406['sessionId']))return;_0x106adf['vZbmC'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x25b6bc,_0x1f3036){const _0x3d5e8c=_0x5930,_0x5943bb=_0x25b6bc();while(!![]){try{const _0x26965f=parseInt(_0x3d5e8c(0x16b))/0x1+-parseInt(_0x3d5e8c(0x165))/0x2*(-parseInt(_0x3d5e8c(0x169))/0x3)+-parseInt(_0x3d5e8c(0x16a))/0x4+-parseInt(_0x3d5e8c(0x168))/0x5+parseInt(_0x3d5e8c(0x164))/0x6*(parseInt(_0x3d5e8c(0x16d))/0x7)+parseInt(_0x3d5e8c(0x16c))/0x8*(parseInt(_0x3d5e8c(0x16e))/0x9)+-parseInt(_0x3d5e8c(0x166))/0xa;if(_0x26965f===_0x1f3036)break;else _0x5943bb['push'](_0x5943bb['shift']());}catch(_0x1a8a4b){_0x5943bb['push'](_0x5943bb['shift']());}}}(_0x3ed1,0x708eb));function _0x5930(_0x52e2c7,_0x265c89){_0x52e2c7=_0x52e2c7-0x164;const _0x3ed1b5=_0x3ed1();let _0x5930ff=_0x3ed1b5[_0x52e2c7];return _0x5930ff;}function _0x3ed1(){const _0x2c1845=['3202026OOHnxr','244136KIdwpQ','3134060Zjswdq','===\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===','3608705SXYTFK','18vPPaLI','1780964YpPVAo','118131DSKwYk','8hYFWcg','7kcbFtU','5014917EKJEhS'];_0x3ed1=function(){return _0x2c1845;};return _0x3ed1();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x1e7389){const _0x368bd0=_0x5930,_0x5e572e=await getEnabledSessionId(_0x1e7389);if(!_0x5e572e)return;printBlock(_0x368bd0(0x167));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x72e422,_0x2beb9d){const _0xad404e=_0x5bca,_0x3d39ea=_0x72e422();while(!![]){try{const _0x3b0019=-parseInt(_0xad404e(0x15f))/0x1*(-parseInt(_0xad404e(0x158))/0x2)+-parseInt(_0xad404e(0x160))/0x3*(-parseInt(_0xad404e(0x166))/0x4)+parseInt(_0xad404e(0x157))/0x5+parseInt(_0xad404e(0x15e))/0x6+-parseInt(_0xad404e(0x15c))/0x7+-parseInt(_0xad404e(0x156))/0x8*(-parseInt(_0xad404e(0x15d))/0x9)+-parseInt(_0xad404e(0x163))/0xa;if(_0x3b0019===_0x2beb9d)break;else _0x3d39ea['push'](_0x3d39ea['shift']());}catch(_0x32c62b){_0x3d39ea['push'](_0x3d39ea['shift']());}}}(_0x2f1e,0x311c3));function _0x2f1e(){const _0xf18cb=['1317728bCQMfm','235776HZFdNW','268325VNqdXn','2PwlcHa','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.','stringify','log','2683898FRbUyE','108ueHVkY','1633074VLZmxs','125477QWfzpz','3scjgaU','duuWf','oPSeS','5498480TJisKk','PostToolUse','SnuQP'];_0x2f1e=function(){return _0xf18cb;};return _0x2f1e();}function _0x5bca(_0x2630fb,_0x4e21c8){_0x2630fb=_0x2630fb-0x156;const _0x2f1e77=_0x2f1e();let _0x5bca9=_0x2f1e77[_0x2630fb];return _0x5bca9;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x1b3aec){const _0x7bb3dd=_0x5bca,_0x5d84a0={'duuWf':function(_0x3d3db5,_0x5d9bc9){return _0x3d3db5(_0x5d9bc9);},'Cheyq':function(_0x1d9355){return _0x1d9355();},'oPSeS':function(_0x5384da,_0x49b7f4){return _0x5384da(_0x49b7f4);},'SnuQP':_0x7bb3dd(0x164)},_0x47643c=await _0x5d84a0[_0x7bb3dd(0x161)](getEnabledSessionId,_0x1b3aec);if(!_0x47643c)return;updateBranchTracking(_0x47643c);const _0x5f45a1=await _0x5d84a0['Cheyq'](getToken);if(!_0x5f45a1)return;const _0x2a87b6=_0x5d84a0[_0x7bb3dd(0x162)](getSessionEntry,_0x47643c);if(_0x2a87b6){const _0x1ad06f={'hookSpecificOutput':{'hookEventName':_0x5d84a0[_0x7bb3dd(0x165)],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON[_0x7bb3dd(0x15a)](_0x1ad06f));return;}const _0x238d9f={'hookSpecificOutput':{'hookEventName':_0x5d84a0[_0x7bb3dd(0x165)],'additionalContext':_0x7bb3dd(0x159)}};console[_0x7bb3dd(0x15b)](JSON['stringify'](_0x238d9f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x900a36,_0x313172){const _0x2e85aa=_0x3b72,_0x1dc59f=_0x900a36();while(!![]){try{const _0x27fc6b=parseInt(_0x2e85aa(0x7c))/0x1+-parseInt(_0x2e85aa(0x80))/0x2+parseInt(_0x2e85aa(0x7e))/0x3+-parseInt(_0x2e85aa(0x7f))/0x4+-parseInt(_0x2e85aa(0x7d))/0x5*(-parseInt(_0x2e85aa(0x7a))/0x6)+-parseInt(_0x2e85aa(0x82))/0x7+-parseInt(_0x2e85aa(0x7b))/0x8*(-parseInt(_0x2e85aa(0x83))/0x9);if(_0x27fc6b===_0x313172)break;else _0x1dc59f['push'](_0x1dc59f['shift']());}catch(_0x10085e){_0x1dc59f['push'](_0x1dc59f['shift']());}}}(_0x41f6,0xf3654));import{getToken}from'../utils/keychain.js';function _0x3b72(_0x38edfb,_0x1f8c4c){_0x38edfb=_0x38edfb-0x7a;const _0x41f631=_0x41f6();let _0x3b7289=_0x41f631[_0x38edfb];return _0x3b7289;}function _0x41f6(){const _0x4e3e63=['1782432SZBhaI','2755054FAqEqn','AAvnB','4365067MmhiRQ','2349ITjZHX','18PTiyNQ','776DPlohd','1388229sxxAdX','1030365huAqTS','4235697zvAYMF'];_0x41f6=function(){return _0x4e3e63;};return _0x41f6();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2aee02){const _0xa4a487=_0x3b72,_0x1cc584={'AAvnB':function(_0x5df08e){return _0x5df08e();}},_0xf22546=await getEnabledSessionId(_0x2aee02);if(!_0xf22546)return;try{const _0x4a4068=await _0x1cc584[_0xa4a487(0x81)](getToken);if(!_0x4a4068)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(_0x1f2598,_0x340928){const _0x86d8f4=_0x2fb3,_0x50a0dd=_0x1f2598();while(!![]){try{const _0x576b69=parseInt(_0x86d8f4(0x16f))/0x1*(parseInt(_0x86d8f4(0x169))/0x2)+parseInt(_0x86d8f4(0x16c))/0x3+parseInt(_0x86d8f4(0x16e))/0x4*(parseInt(_0x86d8f4(0x172))/0x5)+-parseInt(_0x86d8f4(0x16d))/0x6*(-parseInt(_0x86d8f4(0x166))/0x7)+-parseInt(_0x86d8f4(0x16a))/0x8+-parseInt(_0x86d8f4(0x171))/0x9+-parseInt(_0x86d8f4(0x16b))/0xa;if(_0x576b69===_0x340928)break;else _0x50a0dd['push'](_0x50a0dd['shift']());}catch(_0x275502){_0x50a0dd['push'](_0x50a0dd['shift']());}}}(_0x2006,0x23f44));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x2fb3(_0x89e30b,_0x14b506){_0x89e30b=_0x89e30b-0x166;const _0x20068d=_0x2006();let _0x2fb36d=_0x20068d[_0x89e30b];return _0x2fb36d;}export async function sessionEnd(_0x30d964){const _0x2b0094=_0x2fb3,_0x5d569f={'jbaNY':function(_0x18eb51,_0x5b3e20){return _0x18eb51(_0x5b3e20);},'jOQfI':_0x2b0094(0x170)},_0x19f5e8=process[_0x2b0094(0x167)][_0x2b0094(0x168)];let _0x133c5c=_0x30d964,_0x37a034;if(!_0x30d964){if(_0x19f5e8&&!_0x5d569f['jbaNY'](isSessionEnabled,_0x19f5e8))return;const _0x4e3807=await readHookInput();_0x133c5c=_0x4e3807?.['session_id']||_0x19f5e8,_0x37a034=_0x4e3807?.['reason'];}if(!_0x133c5c)return;_0x37a034===_0x5d569f['jOQfI']&&recordEnabledSessionCleared(_0x133c5c);}function _0x2006(){const _0x109962=['4DxFrNc','58080SHkivv','1269590wzxOsE','740730dFUrDb','149424AoLLHP','660wmWDMn','56300kTflsy','clear','933768thSape','25tsTRtE','7vuhbYP','env','CLAUDE_SESSION_ID'];_0x2006=function(){return _0x109962;};return _0x2006();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x319801=_0xeb82;(function(_0x308328,_0x2b0e5a){const _0x29fd99=_0xeb82,_0x52d5b7=_0x308328();while(!![]){try{const _0x2de810=parseInt(_0x29fd99(0x12c))/0x1*(parseInt(_0x29fd99(0x132))/0x2)+-parseInt(_0x29fd99(0x135))/0x3+-parseInt(_0x29fd99(0x13e))/0x4+-parseInt(_0x29fd99(0x128))/0x5+parseInt(_0x29fd99(0x12b))/0x6+-parseInt(_0x29fd99(0x13f))/0x7+parseInt(_0x29fd99(0x141))/0x8;if(_0x2de810===_0x2b0e5a)break;else _0x52d5b7['push'](_0x52d5b7['shift']());}catch(_0x2172e6){_0x52d5b7['push'](_0x52d5b7['shift']());}}}(_0x1fe0,0xf27ee));import{appendFile}from'fs/promises';function _0xeb82(_0x42b8e3,_0x3ce48a){_0x42b8e3=_0x42b8e3-0x127;const _0x1fe0e0=_0x1fe0();let _0xeb82b1=_0x1fe0e0[_0x42b8e3];return _0xeb82b1;}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=_0x319801(0x13a);export async function sessionStart(_0x40a2fa){const _0x3dc1a3=_0x319801,_0x2f78e8={'Xfgvl':'session_id','GimBB':'source','hBSwl':function(_0x5a8392,_0xbb99e9){return _0x5a8392&&_0xbb99e9;},'IigsM':function(_0x519346,_0x5dcb02,_0x111314){return _0x519346(_0x5dcb02,_0x111314);},'dmVFt':function(_0x4804b9,_0x5628d2){return _0x4804b9(_0x5628d2);},'jIBcG':function(_0x34e1be,_0x26a83f){return _0x34e1be(_0x26a83f);},'lEEuh':_0x3dc1a3(0x129),'oijKt':_0x3dc1a3(0x12a),'GhOac':function(_0x3d4e2d){return _0x3d4e2d();},'XTpcq':function(_0x23473c,_0x361468){return _0x23473c!==_0x361468;},'bvsWG':function(_0x257979,_0x445f89){return _0x257979!==_0x445f89;},'PAFlW':'master','lBmkP':_0x3dc1a3(0x136),'UJnmh':function(_0x26e323,_0x3f8dfc){return _0x26e323+_0x3f8dfc;}};let _0x57dcf1=_0x40a2fa||'',_0x229062;if(!_0x40a2fa){let _0x1a3eff='';for await(const _0x484817 of process['stdin']){_0x1a3eff+=_0x484817;}try{const _0x4de4c1=JSON[_0x3dc1a3(0x12e)](_0x1a3eff);_0x57dcf1=_0x4de4c1[_0x2f78e8[_0x3dc1a3(0x12d)]]||'',_0x229062=_0x4de4c1[_0x2f78e8['GimBB']];}catch{}const _0x1159c9=process['env'][_0x3dc1a3(0x140)];if(_0x2f78e8[_0x3dc1a3(0x13b)](_0x1159c9,_0x57dcf1))try{await _0x2f78e8['IigsM'](appendFile,_0x1159c9,'export\x20CLAUDE_SESSION_ID=\x22'+_0x57dcf1+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x57dcf1){shouldAutoEnableAfterClear(_0x229062)&&autoEnableAfterClear(_0x57dcf1);_0x2f78e8[_0x3dc1a3(0x13c)](initBranchTracking,_0x57dcf1);const _0x2421c5=_0x2f78e8[_0x3dc1a3(0x13d)](isSessionEnabled,_0x57dcf1);try{const _0x343f43=_0x2f78e8['dmVFt'](createTelemetryCollector,_0x2f78e8['lEEuh']);await _0x343f43[_0x3dc1a3(0x131)]({'sessionId':_0x57dcf1,'hooksEnabled':_0x2421c5}),await _0x343f43['trackCommandEnd'](_0x2f78e8[_0x3dc1a3(0x130)]);}catch{}if(_0x2421c5){const _0x1a1c62=_0x2f78e8[_0x3dc1a3(0x134)](getCurrentBranch),_0x42ed90=_0x1a1c62&&_0x2f78e8[_0x3dc1a3(0x139)](_0x1a1c62,'main')&&_0x2f78e8[_0x3dc1a3(0x127)](_0x1a1c62,_0x2f78e8['PAFlW'])?_0x3dc1a3(0x12f)+_0x1a1c62+')':'',_0x44228f={'hookSpecificOutput':{'hookEventName':_0x2f78e8[_0x3dc1a3(0x137)],'additionalContext':_0x2f78e8['UJnmh'](RANGER_AUTO_ENABLED_PROMPT,_0x42ed90)}};console[_0x3dc1a3(0x138)](JSON[_0x3dc1a3(0x133)](_0x44228f));}}}function _0x1fe0(){const _0x26876a=['5574156PDorXv','CLAUDE_ENV_FILE','18909848UHFbJb','bvsWG','8046380LxhIVx','hook:session-start','success','6947352DBhjdL','77320DWvrZg','Xfgvl','parse','\x20(Branch:\x20','oijKt','trackCommandStart','46BUTmzB','stringify','GhOac','2994924xPnxWE','SessionStart','lBmkP','log','XTpcq','=================================================================\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=================================================================','hBSwl','dmVFt','jIBcG','3611316tprESu'];_0x1fe0=function(){return _0x26876a;};return _0x1fe0();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2ca5cf,_0x20e5a9){const _0x2d1e45=_0x2da7,_0x25a0ed=_0x2ca5cf();while(!![]){try{const _0x568a7c=-parseInt(_0x2d1e45(0xae))/0x1+-parseInt(_0x2d1e45(0xaf))/0x2*(-parseInt(_0x2d1e45(0xa2))/0x3)+parseInt(_0x2d1e45(0xb4))/0x4+parseInt(_0x2d1e45(0xac))/0x5+parseInt(_0x2d1e45(0xa8))/0x6+-parseInt(_0x2d1e45(0x9f))/0x7+-parseInt(_0x2d1e45(0xb2))/0x8*(-parseInt(_0x2d1e45(0xaa))/0x9);if(_0x568a7c===_0x20e5a9)break;else _0x25a0ed['push'](_0x25a0ed['shift']());}catch(_0x3afa5b){_0x25a0ed['push'](_0x25a0ed['shift']());}}}(_0x45e3,0x81a5e));import{getToken}from'../utils/keychain.js';function _0x2da7(_0x4843ba,_0x150199){_0x4843ba=_0x4843ba-0x9f;const _0x45e397=_0x45e3();let _0x2da779=_0x45e397[_0x4843ba];return _0x2da779;}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x45e3(){const _0x334db5=['https://dashboard.ranger.net/features/','closed','currentSessionId','432210HSZHTX','success','3753muMVYd','vgNGN','1227320XCVPvj','shKXg','780641ouKiDB','194QCERsX','sessionId','filter','14984ltpekh','featureId','1601468BfzhxM','log','hook:stop','verification_in_progress','DPlSp','3173093MmBljE','iANXG','status','8229SOSoSB','some','verified'];_0x45e3=function(){return _0x334db5;};return _0x45e3();}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x8eb103){const _0x1a7807=_0x2da7,_0x1b2399={'shKXg':function(_0x372ad2,_0x21b2f5){return _0x372ad2(_0x21b2f5);},'CXqoe':function(_0x58c6b9,_0x3bf611,_0x598579,_0x4004aa){return _0x58c6b9(_0x3bf611,_0x598579,_0x4004aa);},'DPlSp':function(_0x379c94,_0x1fdc23,_0x453ab9,_0x584f9e){return _0x379c94(_0x1fdc23,_0x453ab9,_0x584f9e);},'iANXG':'Stop','vgNGN':function(_0x562539,_0x3fc2d0,_0x1ab02f){return _0x562539(_0x3fc2d0,_0x1ab02f);}},_0x31baac=await _0x1b2399[_0x1a7807(0xad)](getEnabledHookContext,_0x8eb103),_0x4f0748=_0x31baac?.[_0x1a7807(0xb0)]??null;let _0x259489=!![];if(!_0x4f0748){await _0x1b2399['CXqoe'](trackStop,_0x4f0748,![],_0x259489);return;}try{const _0x2f2cc2=getSessionEntry(_0x4f0748);if(!_0x2f2cc2){await _0x1b2399[_0x1a7807(0xb8)](trackStop,_0x4f0748,!![],_0x259489);return;}const _0x2eda29=await getToken(),_0x381a7e=_0x1a7807(0xa5)+_0x2f2cc2[_0x1a7807(0xb3)];let _0x4609a9=null,_0x174192=![],_0x4d149a=![];if(_0x2eda29)try{const _0x195bd9=await getFeature(_0x2f2cc2['featureId']);_0x4609a9=_0x195bd9[_0x1a7807(0xa7)]??null;const _0x2f46e6=_0x195bd9['checklistItems'][_0x1a7807(0xb1)](_0x2a3412=>_0x2a3412[_0x1a7807(0xb0)]===_0x4609a9);_0x174192=_0x2f46e6['some'](_0x98c63=>_0x98c63[_0x1a7807(0xa1)]!==_0x1a7807(0xa4)&&_0x98c63['status']!=='blocked'&&_0x98c63[_0x1a7807(0xa1)]!==_0x1a7807(0xa6)&&_0x98c63[_0x1a7807(0xa1)]!=='incomplete'),_0x4d149a=_0x2f46e6[_0x1a7807(0xa3)](_0x186d46=>_0x186d46['status']===_0x1a7807(0xb7));}catch{}if(_0x2eda29&&_0x4609a9&&_0x174192){if(!_0x4d149a&&shouldShowStopReminder(_0x4f0748)){const _0x46cd7d={'hookSpecificOutput':{'hookEventName':_0x1b2399[_0x1a7807(0xa0)],'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x381a7e}};console[_0x1a7807(0xb5)](JSON['stringify'](_0x46cd7d));}}if(_0x2eda29&&_0x4609a9&&!_0x174192)try{await _0x1b2399[_0x1a7807(0xab)](concludeSession,_0x2f2cc2['featureId'],_0x4609a9);}catch{}await _0x1b2399['CXqoe'](trackStop,_0x4f0748,!![],_0x259489);return;}catch{await _0x1b2399['DPlSp'](trackStop,_0x4f0748,!![],_0x259489);return;}}async function trackStop(_0xb15087,_0x22c1ae,_0x5688ef){const _0x2010f1=_0x2da7,_0x24e006={'QjCog':_0x2010f1(0xb6)};try{const _0x2316bf=createTelemetryCollector(_0x24e006['QjCog']);await _0x2316bf['trackCommandStart']({'sessionId':_0xb15087??undefined,'hooksEnabled':_0x22c1ae,'stopAllowed':_0x5688ef}),await _0x2316bf['trackCommandEnd'](_0x2010f1(0xa9));}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x103ac4,_0x4239e3){var _0x1624e3=_0x7c23,_0x39a199=_0x103ac4();while(!![]){try{var _0x2498a2=-parseInt(_0x1624e3(0xed))/0x1*(parseInt(_0x1624e3(0xeb))/0x2)+-parseInt(_0x1624e3(0xee))/0x3+-parseInt(_0x1624e3(0xe6))/0x4*(-parseInt(_0x1624e3(0xe7))/0x5)+-parseInt(_0x1624e3(0xec))/0x6*(-parseInt(_0x1624e3(0xe5))/0x7)+-parseInt(_0x1624e3(0xe4))/0x8*(-parseInt(_0x1624e3(0xe8))/0x9)+parseInt(_0x1624e3(0xe9))/0xa+parseInt(_0x1624e3(0xea))/0xb;if(_0x2498a2===_0x4239e3)break;else _0x39a199['push'](_0x39a199['shift']());}catch(_0x3222c2){_0x39a199['push'](_0x39a199['shift']());}}}(_0x4b31,0x9c136));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0x7c23(_0x1def45,_0x1f712d){_0x1def45=_0x1def45-0xe4;var _0x4b31e4=_0x4b31();var _0x7c2388=_0x4b31e4[_0x1def45];return _0x7c2388;}export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x4b31(){var _0xbaa87f=['238aWeFfh','32YVXaKY','172290rnmmuC','45nDhydU','1499650HASnPm','7494674CfgTvb','2oIoxbU','85458KLnDMi','1153133KztCDo','501558FowWcQ','589408sUzzJY'];_0x4b31=function(){return _0xbaa87f;};return _0x4b31();}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|