@ranger-testing/ranger-cli 2.5.4-alpha.bc88254-5 → 2.5.4-alpha.f4657dc-23

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.
Files changed (83) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/deleteProfile.js +1 -0
  8. package/build/commands/env.js +1 -1
  9. package/build/commands/feature.js +1 -1
  10. package/build/commands/hook.js +1 -1
  11. package/build/commands/hooks/autoPrompt.js +1 -1
  12. package/build/commands/hooks/disable.js +1 -1
  13. package/build/commands/hooks/enable.js +1 -1
  14. package/build/commands/hooks/exitPlanMode.js +1 -1
  15. package/build/commands/hooks/index.js +1 -1
  16. package/build/commands/hooks/output.js +1 -1
  17. package/build/commands/hooks/planReminder.js +1 -1
  18. package/build/commands/hooks/planStart.js +1 -1
  19. package/build/commands/hooks/postEdit.js +1 -1
  20. package/build/commands/hooks/preCompact.js +1 -1
  21. package/build/commands/hooks/sessionEnd.js +1 -1
  22. package/build/commands/hooks/sessionStart.js +1 -1
  23. package/build/commands/hooks/stopHook.js +1 -1
  24. package/build/commands/index.js +1 -1
  25. package/build/commands/login.js +1 -1
  26. package/build/commands/mcpBootstrap.js +1 -1
  27. package/build/commands/migrateProfile.js +1 -1
  28. package/build/commands/setup/claude.js +1 -1
  29. package/build/commands/setup/opencode.js +1 -1
  30. package/build/commands/setupCi.js +1 -1
  31. package/build/commands/skillup.js +1 -1
  32. package/build/commands/start.js +1 -1
  33. package/build/commands/status.js +1 -1
  34. package/build/commands/update.js +1 -1
  35. package/build/commands/updateEnv.js +1 -1
  36. package/build/commands/useEnv.js +1 -1
  37. package/build/commands/utils/activeProfile.js +1 -1
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -0
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/playwrightCli.js +1 -1
  60. package/build/commands/utils/profileMessages.js +1 -1
  61. package/build/commands/utils/profileSetupBanner.js +1 -1
  62. package/build/commands/utils/projectsConfig.js +1 -1
  63. package/build/commands/utils/rangerConfig.js +1 -1
  64. package/build/commands/utils/rangerRoot.js +1 -1
  65. package/build/commands/utils/resolveProfileContext.js +1 -1
  66. package/build/commands/utils/resolveProfileUrl.js +1 -1
  67. package/build/commands/utils/retry.js +1 -1
  68. package/build/commands/utils/sessionCache.js +1 -1
  69. package/build/commands/utils/settings.js +1 -1
  70. package/build/commands/utils/skillContent.js +1 -1
  71. package/build/commands/utils/skills.js +1 -1
  72. package/build/commands/utils/stitchWebmFiles.js +1 -1
  73. package/build/commands/utils/telemetry.js +1 -1
  74. package/build/commands/utils/tokenRefresh.js +1 -1
  75. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  76. package/build/commands/utils/userApi.js +1 -1
  77. package/build/commands/utils/version.js +1 -1
  78. package/build/commands/verifyFeature.js +1 -1
  79. package/build/commands/verifyFeatureCli.js +1 -1
  80. package/build/skills/ranger/SKILL.md +35 -6
  81. package/build/skills/ranger/create.md +19 -0
  82. package/build/skills/ranger/verify.md +42 -15
  83. package/package.json +3 -2
@@ -1 +1 @@
1
- const _0x3cf8e8=_0x3c68;function _0x3c68(_0x70ab06,_0x295dc7){_0x70ab06=_0x70ab06-0x88;const _0x27108b=_0x2710();let _0x3c68d0=_0x27108b[_0x70ab06];return _0x3c68d0;}(function(_0x1b5759,_0x3fd7c0){const _0x1fa817=_0x3c68,_0x450840=_0x1b5759();while(!![]){try{const _0xa22292=-parseInt(_0x1fa817(0x107))/0x1*(-parseInt(_0x1fa817(0xfc))/0x2)+-parseInt(_0x1fa817(0x15d))/0x3+-parseInt(_0x1fa817(0x8d))/0x4*(-parseInt(_0x1fa817(0x11b))/0x5)+parseInt(_0x1fa817(0xaa))/0x6*(-parseInt(_0x1fa817(0x118))/0x7)+-parseInt(_0x1fa817(0xcd))/0x8+parseInt(_0x1fa817(0x144))/0x9+-parseInt(_0x1fa817(0xee))/0xa*(-parseInt(_0x1fa817(0x157))/0xb);if(_0xa22292===_0x3fd7c0)break;else _0x450840['push'](_0x450840['shift']());}catch(_0x4c09a1){_0x450840['push'](_0x450840['shift']());}}}(_0x2710,0x34045));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x24d7a5 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';const ACTIVE_FEATURE_FILE=_0x3cf8e8(0xad),bold=_0x27e9ac=>'\x1b[1m'+_0x27e9ac+_0x3cf8e8(0xbe);function getGitRepoUrl(){const _0xa84489=_0x3cf8e8,_0x127a03={'HaoMe':_0xa84489(0x101),'qpafj':'utf-8','qGtTk':_0xa84489(0x112),'ScMum':'github.com/'};try{const _0x29e005=execSync(_0x127a03[_0xa84489(0x14e)],{'encoding':_0x127a03[_0xa84489(0xd9)],'stdio':[_0x127a03['qGtTk'],_0x127a03[_0xa84489(0xd4)],_0xa84489(0x112)]})[_0xa84489(0x134)]();return _0x29e005[_0xa84489(0x94)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x127a03['ScMum'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x461fae=_0x3cf8e8,_0x2d06db={'tbOie':_0x461fae(0xd3)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x2d06db['tbOie'],'stdio':['pipe',_0x461fae(0x112),_0x461fae(0x112)]})[_0x461fae(0x134)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x374e2e=_0x3cf8e8,_0x10e47d={'xmObE':function(_0x3fc8c1,_0x380f15){return _0x3fc8c1(_0x380f15);}},_0x33d8e1=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x10e47d[_0x374e2e(0xe3)](existsSync,_0x33d8e1))return null;try{const _0x1ca9df=await readFile(_0x33d8e1,_0x374e2e(0xd3));return _0x1ca9df[_0x374e2e(0x134)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x58bbc8){const _0x3f9a3d=_0x3cf8e8,_0x444459={'WeKHy':function(_0x48716f,_0x31b43a,_0x30d4a7){return _0x48716f(_0x31b43a,_0x30d4a7);},'asxeF':function(_0x1e1f84,_0x231260,_0x21fd16){return _0x1e1f84(_0x231260,_0x21fd16);},'uGOuu':'utf-8'},_0x54b2f7=getRangerDir(),_0xa1f90c=_0x444459['WeKHy'](join,_0x54b2f7,ACTIVE_FEATURE_FILE);!existsSync(_0x54b2f7)&&await _0x444459[_0x3f9a3d(0x155)](mkdir,_0x54b2f7,{'recursive':!![]}),await writeFile(_0xa1f90c,_0x58bbc8,_0x444459['uGOuu']);}function getProgressDisplay(_0xf59e29){const _0x5bdd34=_0x3cf8e8,_0x3fd3ab={'ydPAb':function(_0x12fdb2,_0x111769){return _0x12fdb2+_0x111769;},'VHqov':function(_0x51882a,_0x5a7fa9){return _0x51882a+_0x5a7fa9;},'DLFEy':function(_0xc2fc20,_0x36a4de){return _0xc2fc20>_0x36a4de;}},_0x32c670=_0xf59e29['verifiedItems']||0x0,_0x3f05fe=_0xf59e29[_0x5bdd34(0xb4)]||0x0,_0x896a42=_0xf59e29['blockedItems']||0x0,_0x13ce52=_0xf59e29['incompleteItems']||0x0,_0x44e065=_0xf59e29['pendingItems']||0x0,_0x404136=_0x3fd3ab[_0x5bdd34(0x120)](_0x3fd3ab['VHqov'](_0x32c670,_0x3f05fe)+_0x896a42,_0x13ce52)+_0x44e065;if(_0x404136===0x0)return'-';const _0x51c990=0xa,_0x35fb13=Math['round'](_0x32c670/_0x404136*_0x51c990),_0x1ec493=_0x3fd3ab['VHqov']('█'[_0x5bdd34(0x126)](_0x35fb13),'░'[_0x5bdd34(0x126)](_0x51c990-_0x35fb13)),_0x4b21ce=[];if(_0x896a42>0x0)_0x4b21ce['push'](_0x896a42+'\x20blocked');if(_0x3fd3ab['DLFEy'](_0x13ce52,0x0))_0x4b21ce[_0x5bdd34(0x135)](_0x13ce52+'\x20incomplete');if(_0x3fd3ab[_0x5bdd34(0x128)](_0x3f05fe,0x0))_0x4b21ce[_0x5bdd34(0x135)](_0x3f05fe+_0x5bdd34(0x10d));const _0x2c07b6=_0x4b21ce[_0x5bdd34(0x89)]>0x0?'\x20('+_0x4b21ce['join'](',\x20')+')':'';return _0x1ec493+'\x20'+_0x32c670+'/'+_0x404136+'\x20verified'+_0x2c07b6;}function getCurrentSessionItems(_0x3dc446,_0x68dfa8){const _0x3406a8=_0x3cf8e8;if(!_0x3dc446['currentSessionId'])return _0x68dfa8[_0x3406a8(0x12d)](_0x474fd6=>!_0x474fd6[_0x3406a8(0x123)]);return _0x68dfa8['filter'](_0x583e1e=>_0x583e1e[_0x3406a8(0x123)]===_0x3dc446[_0x3406a8(0x13b)]||!_0x583e1e[_0x3406a8(0x123)]);}function displayFeature(_0x3334ae,_0x26e288){const _0xd3d650=_0x3cf8e8,_0x2f1669={'IxoYa':_0xd3d650(0x160),'lhiUr':function(_0x429c93,_0x3dba86){return _0x429c93<_0x3dba86;},'LpCpH':function(_0x56ea48,_0x1395c6){return _0x56ea48===_0x1395c6;},'Ejsod':'closed','FdJht':_0xd3d650(0x142),'rWwMk':function(_0x270b37,_0x4d438e){return _0x270b37===_0x4d438e;},'ENZAI':function(_0x39e7a2,_0x530b94){return _0x39e7a2===_0x530b94;},'TGqtd':_0xd3d650(0x161),'DVAAX':'verification_in_progress','lNWig':function(_0x28eb45,_0x9c3221){return _0x28eb45>_0x9c3221;},'Xetdj':function(_0x587b3f,_0x27fe0f){return _0x587b3f!==_0x27fe0f;},'WCyin':'\x20[has\x20reviewer\x20feedback]','wbBsr':function(_0x2261ec,_0x1b2b1a){return _0x2261ec+_0x1b2b1a;},'GmBEd':'blocked','DbOwG':function(_0x51d5c8,_0xad914d){return _0x51d5c8===_0xad914d;}};console['log']('\x0a'+_0x3334ae[_0xd3d650(0xfe)]+'\x20('+_0x3334ae[_0xd3d650(0xe2)]+')');_0x3334ae[_0xd3d650(0x117)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3334ae['stats']));_0x3334ae[_0xd3d650(0xf2)]&&console['log'](_0xd3d650(0x92)+_0x3334ae['description']);_0x3334ae['gitRepoUrl']&&console[_0xd3d650(0xae)]('\x20\x20\x20Repository:\x20'+_0x3334ae[_0xd3d650(0x9a)]);_0x3334ae[_0xd3d650(0x154)]&&console[_0xd3d650(0xae)]('\x20\x20\x20Branch:\x20'+_0x3334ae['gitBranch']);console[_0xd3d650(0xae)]('\x20\x20\x20Created:\x20'+new Date(_0x3334ae['createdAt'])[_0xd3d650(0x15a)]());_0x3334ae[_0xd3d650(0x163)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3334ae[_0xd3d650(0x163)])[_0xd3d650(0x15a)]());if(_0x26e288&&_0x26e288['length']>0x0){console[_0xd3d650(0xae)](_0x2f1669[_0xd3d650(0xba)]);for(let _0xc85000=0x0;_0x2f1669['lhiUr'](_0xc85000,_0x26e288[_0xd3d650(0x89)]);_0xc85000++){const _0x3e09c8=_0x26e288[_0xc85000];let _0x227dc9;if(_0x2f1669[_0xd3d650(0xc7)](_0x3e09c8[_0xd3d650(0xe1)],_0x2f1669['Ejsod'])&&_0x3e09c8[_0xd3d650(0x12a)]===_0x2f1669['FdJht'])_0x227dc9='✅';else{if(_0x2f1669['rWwMk'](_0x3e09c8[_0xd3d650(0xe1)],'verified'))_0x227dc9='🟢';else{if(_0x2f1669['ENZAI'](_0x3e09c8[_0xd3d650(0xe1)],_0x2f1669[_0xd3d650(0xa9)]))_0x227dc9='🟠';else{if(_0x3e09c8[_0xd3d650(0xe1)]===_0xd3d650(0xce))_0x227dc9='🛑';else{if(_0x3e09c8['status']==='closed')_0x227dc9='⛔';else _0x3e09c8[_0xd3d650(0xe1)]===_0x2f1669[_0xd3d650(0xa3)]?_0x227dc9='⏳':_0x227dc9='⬜';}}}}const _0x1dd432=_0x2f1669['lNWig'](_0x3e09c8['version'],0x1)?_0xd3d650(0xab)+_0x3e09c8['version']+')':'',_0x2483eb=_0x3e09c8['version']>0x1&&_0x3e09c8[_0xd3d650(0x105)]&&_0x2f1669[_0xd3d650(0x106)](_0x3e09c8[_0xd3d650(0xe1)],'closed')&&_0x3e09c8[_0xd3d650(0xe1)]!==_0xd3d650(0x102)?_0x2f1669['WCyin']:'';console['log']('\x20\x20\x20'+_0x2f1669['wbBsr'](_0xc85000,0x1)+'.\x20'+_0x227dc9+'\x20'+_0x3e09c8['description']+_0x1dd432+_0x2483eb);_0x3e09c8['status']===_0x2f1669['GmBEd']&&_0x3e09c8['blockedReason']&&console['log'](_0xd3d650(0xbf)+_0x3e09c8[_0xd3d650(0xb3)]);_0x2f1669['DbOwG'](_0x3e09c8['status'],'incomplete')&&_0x3e09c8['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x3e09c8[_0xd3d650(0xc5)]);if(_0x3e09c8[_0xd3d650(0xe1)]===_0x2f1669[_0xd3d650(0xe9)]&&_0x3e09c8['terminalReason']===_0x2f1669['FdJht'])console['log'](_0xd3d650(0xcc));else _0x2f1669['DbOwG'](_0x3e09c8[_0xd3d650(0xe1)],_0x2f1669[_0xd3d650(0xe9)])&&_0x3e09c8[_0xd3d650(0x147)]&&console[_0xd3d650(0xae)](_0xd3d650(0x151)+_0x3e09c8['canceledReason']);}}}function _0x2710(){const _0x936c8f=['browserSessionId','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','currentSessionId','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','iteration','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','selector','list','canonicalFlow','approved','Next\x20page:\x20ranger\x20list\x20--offset\x20','340407amWxRk','after','\x20\x20\x20Completed:\x20','canceledReason','efYYX','DGggg','short','OSVTY','CAPRo','map','HaoMe','selected','split','\x20\x20\x20\x20\x20\x20Cancelled:\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0a✅\x20Restored\x20feature\x20review:\x20','gitBranch','asxeF','unaddressedComments','7270153piZzeB','isKeyStep','YjUXj','toLocaleString','json','numeric','1010067OVIuSm','\x20\x20\x20\x20','scenarios','\x0a\x20\x20\x20Scenarios:','incomplete','currentBranch','completedAt','linkedSession','NnIxF','length','nFcjQ','\x20--current-branch','includeDeleted','20FSIAaU','\x20concluded.','Please\x20finish\x20your\x20review\x20first:','reports','style','\x20\x20\x20Description:\x20','write','replace','woNBo','\x0a✅\x20Scenario\x20added','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','output','No\x20sessions\x20found.','gitRepoUrl','hnhAa','spatial','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20Session\x20','Scenario\x20','sleNx','ogUZT','No\x20active\x20session\x20for\x20this\x20feature\x20review.','DVAAX','assetType','RXARO','ready','isTTY','EEpoT','TGqtd','150qibXSq','\x20(v','hJfiC','active-feature.txt','log','Current\x20session\x20not\x20found.','assetUrl','completed','zmJaR','blockedReason','verificationInProgressItems','aUrNP','stdin','EbObT','.png','exit','IxoYa','NTBIC','gDAHq','checklistItems','\x1b[0m','\x20\x20\x20\x20\x20\x20Blocked:\x20','createdAt','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','onjGN','arrayBuffer','storage','incompleteReason','submittedAt','LpCpH','POUUR','ORUJA','\x0a❌\x20Invalid\x20scenario\x20index:\x20','element','\x20\x20\x20\x20\x20\x20Approved','3383080JWuFXi','blocked','gulpL','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','screenshotUrls','gdOOd','utf-8','qGtTk','comment_','ijhsF','totalCount','assets','qpafj','version','\x20\x20\x20Created:\x20','find','EYDJF','\x0aNo\x20feature\x20reviews\x20found.','coordinates','\x20scenarios.','status','dashboardUrl','xmObE','feedback-images','stepName','XglEk','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','content','Ejsod','items','screenshot','tQcSb','EIgpN','10JxGqeD','timing','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','pop','description','type','stdout','trimEnd','zZOjn','env','verification_in_progress','goofP','ovUBW','en-US','4tNayKz','domRef','name','\x20—\x20no\x20comments','FEEZQ','git\x20remote\x20get-url\x20origin','verified','get','tZRgw','parentItemId','Xetdj','115602gzUPrz','\x0a✅\x20Session\x20is\x20already\x20completed.','latestReview','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x0a✅\x20Feature\x20review\x20created:\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x20in\x20progress','position','AcHUt','in_progress','toLocaleDateString','pipe','...','\x0aCreating\x20feature\x20review...','notes','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','stats','74452ZFcuUh','AZfBZ','.\x20Feature\x20review\x20has\x20','308585QcOoCm','error','textContent','\x20>\x20','\x0aConcluding\x20session...','ydPAb','SzUDR','\x20\x20\x20\x20\x20Branch:\x20','sessionId','\x20at\x20[','GouJi','repeat','pPMXl','DLFEy','limit','terminalReason','GBrHH','\x0a⚠️\x20\x20','filter','TPMqa','offset','eQIiv','CLAUDE_SESSION_ID','slice','scenario','trim','push','\x20\x20\x20Updated\x20branch\x20to:\x20','agentResponse','HbxCR'];_0x2710=function(){return _0x936c8f;};return _0x2710();}export async function featureCreate(_0x33a9ab,_0x24a856){const _0x31ffc4=_0x3cf8e8,_0x423f6d={'woNBo':function(_0x1e0222){return _0x1e0222();},'cYKaE':function(_0x5c1a95,_0x105970){return _0x5c1a95(_0x105970);}},{envNames:_0x36713a}=await _0x423f6d[_0x31ffc4(0x95)](getEnvNames);_0x36713a['length']===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x3720d2=>bold(_0x3720d2)));const _0x509302=_0x24a856['scenarios']?_0x24a856[_0x31ffc4(0x15f)][_0x31ffc4(0x14d)](_0x10c912=>_0x10c912[_0x31ffc4(0x134)]()):[],_0x3d9331=getGitRepoUrl(),_0x48bbef=getGitBranch();console['log'](_0x31ffc4(0x114));const _0xc11e5=await _0x423f6d['cYKaE'](createFeature,{'name':_0x33a9ab,'description':_0x24a856[_0x31ffc4(0xf2)],'checklist':_0x509302,'gitRepoUrl':_0x3d9331,'gitBranch':_0x48bbef});await setActiveFeatureId(_0xc11e5['id']),await tryStartCurrentSession(_0xc11e5['id']);const _0x44f5ae=process[_0x31ffc4(0xf7)][_0x31ffc4(0x131)];_0x44f5ae&&registerSession(_0x44f5ae,_0xc11e5['id']),console['log'](_0x31ffc4(0x10b)+_0xc11e5['id']),displayFeature(_0xc11e5,_0xc11e5['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x539cd5){const _0x34ccb5=_0x3cf8e8,_0x1f7406={'XglEk':function(_0x4d5546){return _0x4d5546();},'POUUR':function(_0x3cfbd9,_0x285cf4){return _0x3cfbd9(_0x285cf4);},'wPYda':function(_0xaa8b0f,_0x5b431f){return _0xaa8b0f(_0x5b431f);},'NnIxF':_0x34ccb5(0x8b)},_0x56ebc3={'limit':_0x539cd5[_0x34ccb5(0x129)]??0xa,'offset':_0x539cd5[_0x34ccb5(0x12f)]??0x0,'includeDeleted':_0x539cd5['includeDeleted']};_0x539cd5[_0x34ccb5(0x162)]&&(_0x56ebc3['gitRepoUrl']=_0x1f7406['XglEk'](getGitRepoUrl),_0x56ebc3['gitBranch']=_0x1f7406[_0x34ccb5(0xe6)](getGitBranch));const _0x1b99b2=await _0x1f7406[_0x34ccb5(0xc8)](listFeatures,_0x56ebc3);if(_0x1b99b2[_0x34ccb5(0xea)]['length']===0x0){console[_0x34ccb5(0xae)](_0x34ccb5(0xde));return;}const _0x3ab9cc=_0x1b99b2['totalCount']>_0x1b99b2[_0x34ccb5(0xea)]['length']?'Showing\x20'+_0x1b99b2[_0x34ccb5(0xea)][_0x34ccb5(0x89)]+'\x20of\x20'+_0x1b99b2[_0x34ccb5(0xd7)]:_0x1b99b2['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x3ab9cc+':\x0a');for(const _0x2e4b04 of _0x1b99b2[_0x34ccb5(0xea)]){console['log'](''+_0x2e4b04[_0x34ccb5(0xfe)]),console[_0x34ccb5(0xae)]('\x20\x20\x20ID:\x20'+_0x2e4b04['id']),_0x2e4b04[_0x34ccb5(0x117)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x1f7406['wPYda'](getProgressDisplay,_0x2e4b04[_0x34ccb5(0x117)])),_0x2e4b04['gitBranch']&&console[_0x34ccb5(0xae)]('\x20\x20\x20Branch:\x20'+_0x2e4b04[_0x34ccb5(0x154)]),console['log'](_0x34ccb5(0xdb)+new Date(_0x2e4b04[_0x34ccb5(0xc0)])[_0x34ccb5(0x111)]()),console[_0x34ccb5(0xae)]('');}const _0xc8ca90=_0x56ebc3['limit']??0xa,_0xe8ea38=(_0x56ebc3[_0x34ccb5(0x12f)]??0x0)+_0x1b99b2[_0x34ccb5(0xea)]['length'];if(_0xe8ea38<_0x1b99b2['totalCount']){const _0x55f0d2=_0xc8ca90!==0xa?'\x20--limit\x20'+_0xc8ca90:'',_0x41a084=_0x539cd5[_0x34ccb5(0x162)]?_0x1f7406[_0x34ccb5(0x88)]:'',_0x5a743a=_0x539cd5[_0x34ccb5(0x8c)]?'\x20--include-deleted':'';console[_0x34ccb5(0xae)](_0x34ccb5(0x143)+_0xe8ea38+_0x55f0d2+_0x41a084+_0x5a743a);}}export async function featureShow(_0x2b448a){const _0x47d764=_0x3cf8e8,_0x1a9ec9={'SzUDR':function(_0x5dd08f,_0x4c9c51){return _0x5dd08f(_0x4c9c51);}},_0x37da1c=_0x2b448a||await getActiveFeatureId();if(!_0x37da1c)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 _0x1bf3c7=await _0x1a9ec9[_0x47d764(0x121)](getFeature,_0x37da1c);displayFeature(_0x1bf3c7,_0x1bf3c7[_0x47d764(0xbd)]);}export async function featureResume(_0x35407f){const _0x51375b=_0x3cf8e8,_0x59087c={'YjUXj':function(_0x72b190){return _0x72b190();},'FlVGl':function(_0x19f4f0,_0x56a734,_0x1af8be){return _0x19f4f0(_0x56a734,_0x1af8be);},'ORUJA':function(_0x11d78b,_0x56b1d2,_0x53ae83){return _0x11d78b(_0x56b1d2,_0x53ae83);},'oShLt':function(_0x5410c5,_0x5928d4){return _0x5410c5(_0x5928d4);},'goofP':function(_0x26effc,_0x4be00c){return _0x26effc&&_0x4be00c;},'tZRgw':'Not\x20in\x20a\x20git\x20repository.','DGggg':function(_0x3d9b06,_0x4562e7){return _0x3d9b06===_0x4562e7;},'ovUBW':function(_0x188867,_0x406817){return _0x188867===_0x406817;},'ogUZT':_0x51375b(0x116),'lrOEJ':_0x51375b(0x140),'qVlAG':_0x51375b(0x14f),'qpiYH':function(_0x4adadb,_0x2204a0){return _0x4adadb(_0x2204a0);},'NSggy':function(_0x3bbf71,_0x631176,_0x3debcc){return _0x3bbf71(_0x631176,_0x3debcc);},'cJFCO':function(_0x40542c,_0x3e6ed8,_0x33ab89){return _0x40542c(_0x3e6ed8,_0x33ab89);}};if(_0x35407f){const _0x44c021=await getFeature(_0x35407f);await setActiveFeatureId(_0x44c021['id']);const _0x422ed8=_0x59087c[_0x51375b(0x159)](getGitBranch);_0x422ed8&&_0x422ed8!==_0x44c021[_0x51375b(0x154)]&&(await _0x59087c['FlVGl'](updateFeature,_0x44c021['id'],{'gitBranch':_0x422ed8}),console[_0x51375b(0xae)](_0x51375b(0x136)+_0x422ed8));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x44c021[_0x51375b(0xfe)]+'\x20('+_0x44c021['id']+')'),await tryStartCurrentSession(_0x44c021['id']);const _0x1f0010=process[_0x51375b(0xf7)]['CLAUDE_SESSION_ID'];_0x1f0010&&registerSession(_0x1f0010,_0x44c021['id']);_0x59087c[_0x51375b(0xc9)](displayFeature,_0x44c021,_0x44c021['checklistItems']),await _0x59087c['oShLt'](printFeedbackNudge,_0x44c021['id']);return;}const _0xe18ab=getGitRepoUrl(),_0x56f190=_0x59087c[_0x51375b(0x159)](getGitBranch);if(_0x59087c[_0x51375b(0xf9)](!_0xe18ab,!_0x56f190))throw new Error(_0x59087c[_0x51375b(0x104)]);console[_0x51375b(0xae)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0xe18ab||'any')+'\x20/\x20'+(_0x56f190||'any')+_0x51375b(0x113));const _0x33b079=await _0x59087c['oShLt'](listFeatures,{'gitRepoUrl':_0xe18ab,'gitBranch':_0x56f190}),_0x22ddba=_0x33b079[_0x51375b(0xea)]['filter'](_0x5641da=>_0x5641da[_0x51375b(0xe1)]?_0x5641da[_0x51375b(0xe1)]!=='verified':!_0x5641da['completedAt']);if(_0x59087c[_0x51375b(0x149)](_0x22ddba['length'],0x0)){console['log'](_0x51375b(0x97)),console[_0x51375b(0xae)](_0x51375b(0xf0));return;}let _0x9beadd;if(_0x59087c[_0x51375b(0xfa)](_0x22ddba[_0x51375b(0x89)],0x1))_0x9beadd=_0x22ddba[0x0];else{const _0x5bf23d=process[_0x51375b(0xb6)][_0x51375b(0xa7)]&&process['stdout']['isTTY'];if(!_0x5bf23d){console['log'](_0x59087c[_0x51375b(0xa1)]);for(const _0x9869e5 of _0x22ddba){console[_0x51375b(0xae)]('\x20\x20'+_0x9869e5['name']),console[_0x51375b(0xae)]('\x20\x20\x20\x20\x20ID:\x20'+_0x9869e5['id']),_0x9869e5['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x9869e5['stats'])),_0x9869e5['gitBranch']&&console[_0x51375b(0xae)](_0x51375b(0x122)+_0x9869e5['gitBranch']);}throw new Error(_0x51375b(0x13c));}const {selected:_0x280302}=await _0x24d7a5['prompt']([{'type':_0x59087c['lrOEJ'],'name':_0x59087c['qVlAG'],'message':_0x51375b(0x10c),'choices':_0x22ddba['map'](_0x4a3373=>({'name':_0x4a3373[_0x51375b(0xfe)]+'\x20('+_0x4a3373['id']+')','value':_0x4a3373['id']}))}]);_0x9beadd=_0x22ddba[_0x51375b(0xdc)](_0x43344c=>_0x43344c['id']===_0x280302);}await setActiveFeatureId(_0x9beadd['id']);_0x56f190&&_0x56f190!==_0x9beadd['gitBranch']&&(await updateFeature(_0x9beadd['id'],{'gitBranch':_0x56f190}),console[_0x51375b(0xae)](_0x51375b(0x136)+_0x56f190));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x9beadd[_0x51375b(0xfe)]+'\x20('+_0x9beadd['id']+')'),await _0x59087c['qpiYH'](tryStartCurrentSession,_0x9beadd['id']);const _0x1f8a1f=await getFeature(_0x9beadd['id']),_0x26cdca=process[_0x51375b(0xf7)][_0x51375b(0x131)];_0x26cdca&&_0x59087c['NSggy'](registerSession,_0x26cdca,_0x1f8a1f['id']),_0x59087c['cJFCO'](displayFeature,_0x1f8a1f,_0x1f8a1f['checklistItems']),await _0x59087c['oShLt'](printFeedbackNudge,_0x1f8a1f['id']);}async function printFeedbackNudge(_0x495491){const _0x246555=_0x3cf8e8,_0x5b5774={'NjaxT':function(_0x5c69ae,_0x578bc5,_0x5895a5){return _0x5c69ae(_0x578bc5,_0x5895a5);},'eQIiv':function(_0x352eef,_0x4f0a03){return _0x352eef>_0x4f0a03;},'CAPRo':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x44b1cf}=await getActionItems(_0x495491);let _0x202812=0x0,_0x32b65b=0x0;for(const _0x294ace of _0x44b1cf){const _0x3a29f5=await _0x5b5774['NjaxT'](getItemFeedback,_0x495491,_0x294ace['id']);_0x5b5774[_0x246555(0x130)](_0x3a29f5[_0x246555(0x156)][_0x246555(0x89)],0x0)&&(_0x202812+=_0x3a29f5['unaddressedComments'][_0x246555(0x89)],_0x32b65b++);}_0x202812>0x0&&(console['log'](_0x246555(0x12c)+_0x202812+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x32b65b+'\x20scenario(s).'),console['log'](_0x5b5774[_0x246555(0x14c)]));}catch{}}async function tryStartCurrentSession(_0x371190){const _0x567ab9=_0x3cf8e8,_0x5461cb={'cakAO':function(_0x5b46c7,_0x4a2d26){return _0x5b46c7(_0x4a2d26);}};try{const {sessions:_0x5b5521}=await _0x5461cb['cakAO'](listFeatureSessions,_0x371190),_0x5e497e=_0x5b5521[_0x567ab9(0xdc)](_0x2a3516=>_0x2a3516[_0x567ab9(0xe1)]===_0x567ab9(0xa6));_0x5e497e&&(await startSession(_0x371190,_0x5e497e['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x5e497e[_0x567ab9(0x13d)]));}catch{}}export async function featureReport(_0x18fb9c,_0x2dac80){const _0x30e08e=_0x3cf8e8,_0xa31959={'hnhAa':function(_0x132bde){return _0x132bde();},'zmJaR':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','efYYX':'\x0aGenerating\x20report...','AZfBZ':function(_0xeca17d,_0x2149cb,_0x5bc9a7){return _0xeca17d(_0x2149cb,_0x5bc9a7);},'TpqZf':function(_0x52f555,_0x1f0e70,_0x4bd904,_0x35ab5a){return _0x52f555(_0x1f0e70,_0x4bd904,_0x35ab5a);},'tFfnr':_0x30e08e(0xd3)},_0x2a6b7a=_0x18fb9c||await _0xa31959[_0x30e08e(0x9b)](getActiveFeatureId);if(!_0x2a6b7a)throw new Error(_0xa31959[_0x30e08e(0xb2)]);console['log'](_0xa31959[_0x30e08e(0x148)]);const _0x312ebc=await _0xa31959[_0x30e08e(0x119)](getFeatureReportMarkdown,_0x2a6b7a,{'style':_0x2dac80[_0x30e08e(0x91)]}),_0x2cd9e4=_0x2dac80[_0x30e08e(0x98)]||join(_0xa31959['hnhAa'](getRangerDir),_0x30e08e(0x90),_0x2a6b7a+'.md'),_0x2e8f02=join(_0x2cd9e4,'..');!existsSync(_0x2e8f02)&&await _0xa31959[_0x30e08e(0x119)](mkdir,_0x2e8f02,{'recursive':!![]}),await _0xa31959['TpqZf'](writeFile,_0x2cd9e4,_0x312ebc,_0xa31959['tFfnr']),console[_0x30e08e(0xae)]('\x0a✅\x20Report\x20generated:\x20'+_0x2cd9e4);}function getScenarioResult(_0x3800f0){const _0x1d809b=_0x3cf8e8;if(_0x3800f0[_0x1d809b(0xe1)]==='closed')return _0x3800f0[_0x1d809b(0x12a)]??'closed';if(_0x3800f0['status']===_0x1d809b(0xf8))return _0x1d809b(0x110);return _0x3800f0[_0x1d809b(0xe1)];}function getScenarioRationale(_0x276964,_0x106bc3){const _0x35106a=_0x3cf8e8;if(_0x106bc3)return _0x106bc3;if(_0x276964[_0x35106a(0xb3)])return _0x276964[_0x35106a(0xb3)];if(_0x276964[_0x35106a(0xc5)])return _0x276964[_0x35106a(0xc5)];if(_0x276964['canceledReason'])return _0x276964['canceledReason'];if(_0x276964[_0x35106a(0x115)])return _0x276964['notes'];return null;}export async function featureReportPrDescription(_0x8a014d,_0x2ee810){const _0xf9c3ba=_0x3cf8e8,_0x1decda={'zZOjn':function(_0x310d14){return _0x310d14();},'eyrxU':_0xf9c3ba(0xe7),'OyNaY':function(_0xeb465b,_0x1119b9){return _0xeb465b+_0x1119b9;}},_0x2bcffa=_0x8a014d||await _0x1decda[_0xf9c3ba(0xf6)](getActiveFeatureId);if(!_0x2bcffa)throw new Error(_0x1decda['eyrxU']);const _0x45eb93=await getFeature(_0x2bcffa),_0x39a694=_0x45eb93[_0xf9c3ba(0xbd)]||[],_0x368503=getCurrentSessionItems(_0x45eb93,_0x39a694);_0x368503[_0xf9c3ba(0x89)]===0x0&&(console[_0xf9c3ba(0x11c)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x7e3094=_0x2ee810['excludeScenarios']??[],_0x4d9ed4=_0x7e3094[_0xf9c3ba(0x12d)](_0xd134d1=>!Number['isInteger'](_0xd134d1)||_0xd134d1<0x1||_0xd134d1>_0x368503[_0xf9c3ba(0x89)]);if(_0x4d9ed4['length']>0x0){console[_0xf9c3ba(0x11c)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4d9ed4['join'](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2c30fe=0x0;_0x2c30fe<_0x368503[_0xf9c3ba(0x89)];_0x2c30fe++){console['log']('\x20\x20'+_0x1decda['OyNaY'](_0x2c30fe,0x1)+'.\x20'+_0x368503[_0x2c30fe][_0xf9c3ba(0xf2)]);}process['exit'](0x1);}const _0x5f2a80=new Set(_0x7e3094['map'](_0x465b5f=>_0x465b5f-0x1)),_0x3c448a=_0x368503[_0xf9c3ba(0x12d)]((_0x520d99,_0x20c23a)=>!_0x5f2a80['has'](_0x20c23a));_0x3c448a['length']===0x0&&(console[_0xf9c3ba(0x11c)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process['exit'](0x1));if(_0x2ee810[_0xf9c3ba(0x15b)])await outputJsonReport(_0x2bcffa,_0x45eb93,_0x3c448a);else{const _0x2d156b=await getFeatureReportMarkdown(_0x2bcffa,{'itemIds':_0x3c448a['map'](_0x248433=>_0x248433['id'])});process['stdout']['write'](_0x2d156b[_0xf9c3ba(0xf5)]()+'\x0a');}}async function outputJsonReport(_0x59c093,_0x138e42,_0x3dbecb){const _0x3821cf=_0x3cf8e8,_0x50610e={'nIjTN':function(_0x18061e,_0x465b30){return _0x18061e(_0x465b30);},'nBWcc':function(_0x25fa8b,_0x46fbdb){return _0x25fa8b>_0x46fbdb;},'FDURR':function(_0x1a9fdb){return _0x1a9fdb();},'ijhsF':function(_0x5db5b5,_0x3bdd80){return _0x5db5b5(_0x3bdd80);}},_0x576d0b=_0x50610e['FDURR'](getApiBaseUrl),_0x17aed9=await _0x50610e[_0x3821cf(0xd6)](getFeatureReport,_0x59c093),_0x11810f=new Map(_0x17aed9[_0x3821cf(0xbd)]['map'](_0x30ebed=>[_0x30ebed['id'],_0x30ebed])),_0x569947=await Promise['all'](_0x3dbecb['map'](async _0x119812=>{const _0x346f69=_0x3821cf,_0x4a35fb=_0x11810f[_0x346f69(0x103)](_0x119812['id']),_0x586dd4=_0x4a35fb?.[_0x346f69(0x164)]??null;let _0x355471=[];if(_0x119812[_0x346f69(0x139)])try{const {steps:_0xfe7ab3}=await _0x50610e['nIjTN'](getBrowserSessionSteps,_0x119812[_0x346f69(0x139)]);_0x50610e['nBWcc'](_0xfe7ab3['length'],0x0)&&(_0x355471=_0xfe7ab3['map'](_0x194289=>{const _0x49d25d=_0x346f69,_0x13b1d7=_0x194289[_0x49d25d(0xd8)][_0x49d25d(0xdc)](_0x3e438e=>_0x3e438e[_0x49d25d(0xa4)]==='screenshot'&&_0x3e438e[_0x49d25d(0xef)]===_0x49d25d(0x145))??_0x194289['assets'][_0x49d25d(0xdc)](_0x48ec98=>_0x48ec98[_0x49d25d(0xa4)]===_0x49d25d(0xeb));let _0x1c6d08=null,_0x254878=null;if(_0x13b1d7){const _0x2bbeb2=_0x13b1d7[_0x49d25d(0xc4)]['location']['split']('/')[_0x49d25d(0xf1)]();_0x1c6d08=_0x576d0b+'/api/v1/mcp/browser-sessions/'+_0x119812['browserSessionId']+'/artifacts/'+_0x2bbeb2,_0x2bbeb2&&(_0x254878=_0x2bbeb2['replace'](/\.\w+$/,'')[_0x49d25d(0x94)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x254878||_0x194289[_0x49d25d(0xf2)]||_0x194289[_0x49d25d(0xe5)]||'Step\x20'+_0x194289[_0x49d25d(0x10e)],'screenshot':_0x1c6d08,'is_key_step':_0x194289[_0x49d25d(0x158)]};}));}catch{}return _0x355471[_0x346f69(0x89)]===0x0&&_0x586dd4?.[_0x346f69(0xd1)]&&(_0x355471=_0x586dd4['screenshotUrls'][_0x346f69(0x14d)]((_0x575f0d,_0x4d65f5)=>({'description':'Screenshot\x20'+(_0x4d65f5+0x1),'screenshot':_0x575f0d,'is_key_step':![]}))),{'description':_0x119812['description'],'result':_0x50610e['nIjTN'](getScenarioResult,_0x119812),'rationale':getScenarioRationale(_0x119812,_0x586dd4?.[_0x346f69(0x137)]),'steps':_0x355471};})),_0x42dcf5={'url':_0x138e42[_0x3821cf(0xe2)],'scenarios':_0x569947};process[_0x3821cf(0xf4)][_0x3821cf(0x93)](JSON['stringify'](_0x42dcf5,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x1cda7c){const _0x402e31=_0x3cf8e8,_0x283f27={'HXGvP':function(_0x24fa00,_0x486911){return _0x24fa00(_0x486911);},'onjGN':_0x402e31(0xaf),'vQOzv':function(_0x1beca4,_0x15eac8){return _0x1beca4===_0x15eac8;},'pMShM':'completed','AcHUt':_0x402e31(0x110),'TAWCz':_0x402e31(0x11f)},_0x5787a3=_0x1cda7c||await getActiveFeatureId();if(!_0x5787a3)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 _0x46e4b7=await getFeature(_0x5787a3);if(!_0x46e4b7[_0x402e31(0x13b)])throw new Error(_0x402e31(0xa2));const {sessions:_0x70d8a4}=await _0x283f27['HXGvP'](listFeatureSessions,_0x5787a3),_0x108af1=_0x70d8a4[_0x402e31(0xdc)](_0x2876bd=>_0x2876bd['id']===_0x46e4b7['currentSessionId']);if(!_0x108af1)throw new Error(_0x283f27[_0x402e31(0xc2)]);if(_0x283f27['vQOzv'](_0x108af1['status'],_0x283f27['pMShM'])){console[_0x402e31(0xae)](_0x402e31(0x108));return;}if(_0x108af1['status']!==_0x283f27[_0x402e31(0x10f)])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x108af1[_0x402e31(0xe1)]);console['log'](_0x283f27['TAWCz']),await concludeSession(_0x5787a3,_0x46e4b7['currentSessionId']),console[_0x402e31(0xae)]('\x0a✅\x20Session\x20'+_0x108af1['iteration']+_0x402e31(0x8e)),console[_0x402e31(0xae)](_0x402e31(0xd0));}export async function featureSessions(_0xc72003){const _0x5cfb28=_0x3cf8e8,_0x16d966={'pPMXl':_0x5cfb28(0xe7),'tQcSb':function(_0xfcd3cd,_0x437910){return _0xfcd3cd(_0x437910);},'uHsiI':function(_0x510461,_0x3d100a){return _0x510461(_0x3d100a);},'RXARO':function(_0x1576a7,_0x1f9720){return _0x1576a7===_0x1f9720;},'UdVTc':function(_0x35b40a,_0x3510ef){return _0x35b40a===_0x3510ef;},'GouJi':_0x5cfb28(0x110)},_0x15a987=_0xc72003||await getActiveFeatureId();if(!_0x15a987)throw new Error(_0x16d966[_0x5cfb28(0x127)]);const _0x120f8a=await _0x16d966[_0x5cfb28(0xec)](getFeature,_0x15a987);console['log'](_0x5cfb28(0x13e)+_0x120f8a[_0x5cfb28(0xfe)]+'\x0a');const {sessions:_0x35ad91}=await _0x16d966['uHsiI'](listFeatureSessions,_0x15a987);if(_0x16d966[_0x5cfb28(0xa5)](_0x35ad91['length'],0x0)){console['log'](_0x5cfb28(0x99));return;}for(const _0x1684ac of _0x35ad91){const _0x3c94b9=_0x16d966['RXARO'](_0x1684ac[_0x5cfb28(0xe1)],_0x5cfb28(0xb1))?'✅':_0x16d966['UdVTc'](_0x1684ac['status'],_0x16d966[_0x5cfb28(0x125)])?'🔄':'▶️';console[_0x5cfb28(0xae)](_0x3c94b9+_0x5cfb28(0x9e)+_0x1684ac['iteration']+'\x20('+_0x1684ac['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x1684ac['status']),console['log'](_0x5cfb28(0xdb)+new Date(_0x1684ac[_0x5cfb28(0xc0)])['toLocaleString']()),_0x1684ac[_0x5cfb28(0x163)]&&console[_0x5cfb28(0xae)](_0x5cfb28(0x146)+new Date(_0x1684ac['completedAt'])['toLocaleString']()),console[_0x5cfb28(0xae)]('');}}export async function featureAddScenario(_0x35d29f,_0x171b86){const _0x59429e=_0x3cf8e8,_0x13640c={'TPMqa':function(_0xa2becc){return _0xa2becc();},'gulpL':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HbxCR':function(_0x42e1d0,_0xb9cacc){return _0x42e1d0(_0xb9cacc);},'rQHaR':function(_0x2211f4,_0x2888b9){return _0x2211f4(_0x2888b9);}},_0xc5140e=_0x171b86||await _0x13640c[_0x59429e(0x12e)](getActiveFeatureId);if(!_0xc5140e)throw new Error(_0x13640c[_0x59429e(0xcf)]);const _0x3f6726=await _0x13640c[_0x59429e(0x138)](getFeature,_0xc5140e);if(_0x3f6726[_0x59429e(0x109)]&&!_0x3f6726['latestReview'][_0x59429e(0xc6)])throw new Error(_0x59429e(0x13a)+_0x3f6726['dashboardUrl']);await createChecklistItem(_0xc5140e,_0x35d29f);const _0x44daa9=await _0x13640c['rQHaR'](getFeature,_0xc5140e);console['log'](_0x59429e(0x96)),displayFeature(_0x44daa9,_0x44daa9['checklistItems']);}export async function featureEditScenario(_0x484032,_0x6a309d){const _0x44b6e2=_0x3cf8e8,_0xb77abe={'EEpoT':function(_0x2d0cb3){return _0x2d0cb3();},'cSPkq':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','BRoMl':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','sleNx':function(_0xc9230e,_0x14de19){return _0xc9230e(_0x14de19);},'EbObT':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','EYDJF':_0x44b6e2(0x8f),'hJfiC':function(_0x197fb8,_0x870527){return _0x197fb8===_0x870527;},'pyHOh':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','EnmdP':function(_0x39009e,_0x351e55){return _0x39009e<_0x351e55;},'NhEqr':function(_0x281f36,_0x2f540a){return _0x281f36-_0x2f540a;},'NTBIC':function(_0x243763,_0x47cf08){return _0x243763>=_0x47cf08;},'obCbv':function(_0x29c2b1,_0x4f4f09){return _0x29c2b1+_0x4f4f09;},'QudDP':function(_0x1a694d,_0x2f545c,_0x1eea6a,_0xc5ddbb){return _0x1a694d(_0x2f545c,_0x1eea6a,_0xc5ddbb);},'OSVTY':function(_0x50a55a,_0x110ec4,_0x18e37f){return _0x50a55a(_0x110ec4,_0x18e37f);}},_0x55429a=_0x6a309d['id']||await _0xb77abe[_0x44b6e2(0xa8)](getActiveFeatureId);!_0x55429a&&(console['error'](_0xb77abe['cSPkq']),console['error'](_0xb77abe['BRoMl']),process[_0x44b6e2(0xb9)](0x1));const _0x26eb6b=await _0xb77abe[_0x44b6e2(0xa0)](getFeature,_0x55429a);_0x26eb6b[_0x44b6e2(0x109)]&&!_0x26eb6b[_0x44b6e2(0x109)][_0x44b6e2(0xc6)]&&(console[_0x44b6e2(0x11c)](_0xb77abe[_0x44b6e2(0xb7)]),console[_0x44b6e2(0x11c)](_0xb77abe[_0x44b6e2(0xdd)]),console[_0x44b6e2(0x11c)]('\x20\x20'+_0x26eb6b['dashboardUrl']),process[_0x44b6e2(0xb9)](0x1));const _0x1da651=_0x26eb6b[_0x44b6e2(0xbd)]||[];_0x1da651[_0x44b6e2(0x89)]===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x44b6e2(0xb9)](0x1));if(_0xb77abe[_0x44b6e2(0xac)](_0x6a309d[_0x44b6e2(0x133)],undefined)){console['error'](_0xb77abe['pyHOh']),console[_0x44b6e2(0xae)]('\x0aAvailable\x20scenarios:');for(let _0x28b020=0x0;_0xb77abe['EnmdP'](_0x28b020,_0x1da651[_0x44b6e2(0x89)]);_0x28b020++){console['log']('\x20\x20'+(_0x28b020+0x1)+'.\x20'+_0x1da651[_0x28b020]['description']);}process[_0x44b6e2(0xb9)](0x1);}const _0x4bd4c9=_0xb77abe['NhEqr'](_0x6a309d['scenario'],0x1);if(_0x4bd4c9<0x0||_0xb77abe[_0x44b6e2(0xbb)](_0x4bd4c9,_0x1da651[_0x44b6e2(0x89)])){console[_0x44b6e2(0x11c)](_0x44b6e2(0xca)+_0x6a309d['scenario']+_0x44b6e2(0x11a)+_0x1da651[_0x44b6e2(0x89)]+_0x44b6e2(0xe0)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x5386a2=0x0;_0x5386a2<_0x1da651[_0x44b6e2(0x89)];_0x5386a2++){console['log']('\x20\x20'+_0xb77abe['obCbv'](_0x5386a2,0x1)+'.\x20'+_0x1da651[_0x5386a2][_0x44b6e2(0xf2)]);}process['exit'](0x1);}const _0x3339cf=_0x1da651[_0x4bd4c9];await _0xb77abe['QudDP'](updateChecklistItem,_0x55429a,_0x3339cf['id'],{'description':_0x484032});const _0x1cc5df=await _0xb77abe[_0x44b6e2(0xa0)](getFeature,_0x55429a);console['log']('\x0a✅\x20Scenario\x20updated'),_0xb77abe[_0x44b6e2(0x14b)](displayFeature,_0x1cc5df,_0x1cc5df[_0x44b6e2(0xbd)]);}async function downloadFeedbackImage(_0x508706,_0x51f1eb){const _0x451e58=_0x3cf8e8,_0xa54a7c={'TnPUC':function(_0x511bd3,_0x2d0b24,_0x3679fe){return _0x511bd3(_0x2d0b24,_0x3679fe);},'xtDpZ':function(_0x5c0e87,_0x9e4852,_0x4639ec){return _0x5c0e87(_0x9e4852,_0x4639ec);}};try{const _0x43666f=join(getRangerDir(),_0x451e58(0xe4));await _0xa54a7c['TnPUC'](mkdir,_0x43666f,{'recursive':!![]});const _0x12436e=_0xa54a7c['xtDpZ'](join,_0x43666f,_0x451e58(0xd5)+_0x51f1eb+_0x451e58(0xb8)),_0x6bf9e8=await fetch(_0x508706);if(!_0x6bf9e8['ok'])return null;const _0x3b372c=Buffer['from'](await _0x6bf9e8[_0x451e58(0xc3)]());return await writeFile(_0x12436e,_0x3b372c),_0x12436e;}catch{return null;}}export async function featureGetReview(_0x3a649b){const _0x5af4d5=_0x3cf8e8,_0x274ec3={'GBrHH':_0x5af4d5(0xc1),'gDAHq':function(_0x3d7533,_0x204152){return _0x3d7533(_0x204152);},'nFcjQ':function(_0x322a8a,_0x17829d){return _0x322a8a===_0x17829d;},'dwqrV':'No\x20scenarios\x20found.','LUqEa':function(_0x424426,_0x43112b,_0x59aafa){return _0x424426(_0x43112b,_0x59aafa);},'gdOOd':_0x5af4d5(0xfb),'FEEZQ':_0x5af4d5(0x14a),'EIgpN':_0x5af4d5(0x11e),'rIsej':'point','tqpsh':function(_0x32d177,_0x5d7a45){return _0x32d177+_0x5d7a45;}},_0x2eb87e=_0x3a649b||await getActiveFeatureId();if(!_0x2eb87e)throw new Error(_0x274ec3[_0x5af4d5(0x12b)]);const _0x234e15=await getFeature(_0x2eb87e),{items:_0x3e2970}=await _0x274ec3[_0x5af4d5(0xbc)](getActionItems,_0x2eb87e);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x234e15[_0x5af4d5(0xfe)]+'\x20('+_0x234e15['id']+')\x0a');if(_0x274ec3[_0x5af4d5(0x8a)](_0x3e2970[_0x5af4d5(0x89)],0x0)){console['log'](_0x274ec3['dwqrV']);return;}for(let _0x1a5889=0x0;_0x1a5889<_0x3e2970['length'];_0x1a5889++){const _0x4c67e9=_0x3e2970[_0x1a5889],_0x2f1cb9=_0x4c67e9[_0x5af4d5(0xda)]>0x1?_0x5af4d5(0xab)+_0x4c67e9[_0x5af4d5(0xda)]+')':'',_0x1d2045=await _0x274ec3['LUqEa'](getItemFeedback,_0x2eb87e,_0x4c67e9['id']);if(_0x1d2045[_0x5af4d5(0x156)]['length']>0x0){console[_0x5af4d5(0xae)](_0x5af4d5(0x9f)+(_0x1a5889+0x1)+':\x20\x22'+_0x4c67e9[_0x5af4d5(0xf2)]+'\x22'+_0x2f1cb9+'\x20—\x20'+_0x1d2045[_0x5af4d5(0x156)][_0x5af4d5(0x89)]+'\x20unaddressed\x20comment(s)');for(const _0x4fe038 of _0x1d2045[_0x5af4d5(0x156)]){const _0x345317=new Date(_0x4fe038['createdAt'])[_0x5af4d5(0x111)](_0x274ec3[_0x5af4d5(0xd2)],{'month':_0x274ec3[_0x5af4d5(0x100)],'day':_0x5af4d5(0x15c)}),_0x2ad31d=_0x4fe038['authorName']||_0x4fe038['authorEmail']||'Unknown';console['log']('\x20\x20💬\x20'+_0x2ad31d+'\x20('+_0x345317+'):\x20\x22'+_0x4fe038[_0x5af4d5(0xe8)]+'\x22');if(_0x4fe038['assetUrl']){const _0x44e167=await downloadFeedbackImage(_0x4fe038[_0x5af4d5(0xb0)],_0x4fe038['id']);_0x44e167&&console[_0x5af4d5(0xae)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x44e167);}if(_0x4fe038['domRef']){const _0x2adf63=_0x4fe038[_0x5af4d5(0xfd)][_0x5af4d5(0x13f)][_0x5af4d5(0x150)](_0x274ec3[_0x5af4d5(0xed)])[_0x5af4d5(0xf1)]()?.['split'](':')[0x0]||_0x5af4d5(0xcb),_0x6fa19e=_0x4fe038['domRef']['textContent']?'\x20\x22'+_0x4fe038['domRef'][_0x5af4d5(0x11d)][_0x5af4d5(0x132)](0x0,0x3c)+'\x22':'';console[_0x5af4d5(0xae)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x2adf63+'>'+_0x6fa19e),console[_0x5af4d5(0xae)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x4fe038[_0x5af4d5(0xfd)]['selector']);}else{if(_0x4fe038[_0x5af4d5(0x9c)]){const _0x29b69d=_0x4fe038[_0x5af4d5(0x9c)][_0x5af4d5(0xdf)];_0x4fe038[_0x5af4d5(0x9c)]['type']===_0x274ec3['rIsej']&&_0x29b69d['length']>=0x2?console[_0x5af4d5(0xae)](_0x5af4d5(0x10a)+_0x29b69d[0x0]['toFixed'](0x2)+',\x20'+_0x29b69d[0x1]['toFixed'](0x2)+')'):console[_0x5af4d5(0xae)](_0x5af4d5(0x152)+_0x4fe038[_0x5af4d5(0x9c)][_0x5af4d5(0xf3)]+_0x5af4d5(0x124)+_0x29b69d[_0x5af4d5(0x14d)](_0x1c45a2=>_0x1c45a2['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x1d2045[_0x5af4d5(0x141)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x58f847 of _0x1d2045[_0x5af4d5(0x141)][_0x5af4d5(0x150)]('\x0a')){console[_0x5af4d5(0xae)](_0x5af4d5(0x15e)+_0x58f847);}}}else console[_0x5af4d5(0xae)](_0x5af4d5(0x9f)+_0x274ec3['tqpsh'](_0x1a5889,0x1)+':\x20\x22'+_0x4c67e9[_0x5af4d5(0xf2)]+'\x22'+_0x2f1cb9+_0x5af4d5(0xff)),console[_0x5af4d5(0xae)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x4213b7){const _0x19e730=_0x3cf8e8,_0x2790e8={'PoBkJ':function(_0x283057,_0x4063ac){return _0x283057(_0x4063ac);},'aUrNP':function(_0x42c648,_0x443f74){return _0x42c648(_0x443f74);},'gAZja':function(_0x19830e,_0x456d4c){return _0x19830e+_0x456d4c;}},_0x8c13c=_0x4213b7||await getActiveFeatureId();if(!_0x8c13c)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 _0x5bd984=await _0x2790e8['PoBkJ'](getFeature,_0x8c13c);await _0x2790e8[_0x19e730(0xb5)](softDeleteFeature,_0x8c13c),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5bd984[_0x19e730(0xfe)]+'\x20('+_0x8c13c+')'),console['log'](_0x2790e8['gAZja'](_0x19e730(0x9d),_0x8c13c));}export async function featureRestore(_0x51e8a3){const _0x2eab99=_0x3cf8e8,_0x5a9102={'oRHQJ':function(_0x59cab0,_0x33fdbe){return _0x59cab0(_0x33fdbe);},'kGskP':function(_0x127978,_0xaa6468){return _0x127978(_0xaa6468);},'Dbpfm':function(_0x20d739,_0x245ee9,_0x55f0ce){return _0x20d739(_0x245ee9,_0x55f0ce);}};await _0x5a9102['oRHQJ'](restoreFeature,_0x51e8a3);const _0x285647=await _0x5a9102['kGskP'](getFeature,_0x51e8a3);console[_0x2eab99(0xae)](_0x2eab99(0x153)+_0x285647['name']+'\x20('+_0x51e8a3+')'),_0x5a9102['Dbpfm'](displayFeature,_0x285647,_0x285647[_0x2eab99(0xbd)]);}
1
+ const _0x54cb81=_0x4b4c;(function(_0x251cc0,_0x5cacef){const _0x157f74=_0x4b4c,_0x2d6967=_0x251cc0();while(!![]){try{const _0x2e6d41=parseInt(_0x157f74(0x1f8))/0x1+-parseInt(_0x157f74(0x26b))/0x2*(-parseInt(_0x157f74(0x236))/0x3)+parseInt(_0x157f74(0x215))/0x4*(-parseInt(_0x157f74(0x269))/0x5)+parseInt(_0x157f74(0x233))/0x6*(parseInt(_0x157f74(0x1ab))/0x7)+parseInt(_0x157f74(0x25b))/0x8*(parseInt(_0x157f74(0x271))/0x9)+-parseInt(_0x157f74(0x26e))/0xa*(-parseInt(_0x157f74(0x254))/0xb)+parseInt(_0x157f74(0x23c))/0xc*(-parseInt(_0x157f74(0x238))/0xd);if(_0x2e6d41===_0x5cacef)break;else _0x2d6967['push'](_0x2d6967['shift']());}catch(_0x336856){_0x2d6967['push'](_0x2d6967['shift']());}}}(_0x11df,0x82539));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2c2807 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=_0xed20b5=>'\x1b[1m'+_0xed20b5+_0x54cb81(0x221);function getGitRepoUrl(){const _0x1ac712=_0x54cb81,_0x16b218={'DBsFB':_0x1ac712(0x1c3),'XlyhZ':_0x1ac712(0x22b)};try{const _0x126e19=execSync('git\x20remote\x20get-url\x20origin',{'encoding':_0x1ac712(0x20a),'stdio':[_0x1ac712(0x1c3),_0x16b218['DBsFB'],_0x1ac712(0x1c3)]})[_0x1ac712(0x267)]();return _0x126e19['replace'](/\.git$/,'')[_0x1ac712(0x223)](/^git@github\.com:/,_0x16b218[_0x1ac712(0x21a)])[_0x1ac712(0x223)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x2fba5f=_0x54cb81,_0x303ad4={'UBLKT':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','kIZXQ':'pipe'};try{return execSync(_0x303ad4[_0x2fba5f(0x24b)],{'encoding':_0x2fba5f(0x20a),'stdio':[_0x303ad4[_0x2fba5f(0x274)],'pipe','pipe']})[_0x2fba5f(0x267)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0xecf073=_0x54cb81,_0x4f0b6a={'RjHev':_0xecf073(0x20a)},_0x548d93=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x548d93))return null;try{const _0x93500f=await readFile(_0x548d93,_0x4f0b6a['RjHev']);return _0x93500f['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x40f910){const _0x58deea=_0x54cb81,_0xbbb150={'FWFoc':function(_0x3b438e,_0x32e987,_0x592ce4){return _0x3b438e(_0x32e987,_0x592ce4);},'ypDUB':_0x58deea(0x20a)},_0x49dff8=getRangerDir(),_0x1e6666=_0xbbb150[_0x58deea(0x1f0)](join,_0x49dff8,ACTIVE_FEATURE_FILE);!existsSync(_0x49dff8)&&await mkdir(_0x49dff8,{'recursive':!![]}),await writeFile(_0x1e6666,_0x40f910,_0xbbb150['ypDUB']);}function getProgressDisplay(_0x153b10){const _0x36f7f1=_0x54cb81,_0x4c7263={'kVdTv':function(_0x2ddcd8,_0x1af277){return _0x2ddcd8+_0x1af277;},'uMTrQ':function(_0x45a2c5,_0x328e5d){return _0x45a2c5+_0x328e5d;},'pBksH':function(_0x4acb4e,_0x3b054d){return _0x4acb4e===_0x3b054d;},'GGnvD':function(_0x4fbc28,_0x264513){return _0x4fbc28/_0x264513;},'HLArP':function(_0x2efd57,_0xf6b846){return _0x2efd57-_0xf6b846;},'ntvzG':function(_0x4ec526,_0x3dc052){return _0x4ec526>_0x3dc052;},'ZvICP':function(_0x539016,_0x156fa3){return _0x539016>_0x156fa3;}},_0x262c1b=_0x153b10['verifiedItems']||0x0,_0x11c517=_0x153b10[_0x36f7f1(0x1f1)]||0x0,_0x47e9ed=_0x153b10['blockedItems']||0x0,_0x326478=_0x153b10['incompleteItems']||0x0,_0x57e417=_0x153b10['pendingItems']||0x0,_0x5507ab=_0x4c7263['kVdTv'](_0x4c7263['uMTrQ'](_0x4c7263['uMTrQ'](_0x262c1b,_0x11c517),_0x47e9ed),_0x326478)+_0x57e417;if(_0x4c7263['pBksH'](_0x5507ab,0x0))return'-';const _0x3b96f6=0xa,_0x38d361=Math['round'](_0x4c7263['GGnvD'](_0x262c1b,_0x5507ab)*_0x3b96f6),_0x3839e7='█'['repeat'](_0x38d361)+'░'[_0x36f7f1(0x255)](_0x4c7263[_0x36f7f1(0x1bd)](_0x3b96f6,_0x38d361)),_0x199155=[];if(_0x47e9ed>0x0)_0x199155['push'](_0x47e9ed+_0x36f7f1(0x1c5));if(_0x4c7263[_0x36f7f1(0x24f)](_0x326478,0x0))_0x199155[_0x36f7f1(0x1fc)](_0x326478+'\x20incomplete');if(_0x4c7263[_0x36f7f1(0x24f)](_0x11c517,0x0))_0x199155['push'](_0x11c517+_0x36f7f1(0x23f));const _0x2c1002=_0x4c7263['ZvICP'](_0x199155['length'],0x0)?'\x20('+_0x199155['join'](',\x20')+')':'';return _0x3839e7+'\x20'+_0x262c1b+'/'+_0x5507ab+'\x20verified'+_0x2c1002;}function getCurrentSessionItems(_0x335d3d,_0x401be0){const _0x27628a=_0x54cb81;if(!_0x335d3d['currentSessionId'])return _0x401be0[_0x27628a(0x268)](_0x8d97c7=>!_0x8d97c7['sessionId']);return _0x401be0['filter'](_0x5ad265=>_0x5ad265['sessionId']===_0x335d3d[_0x27628a(0x227)]||!_0x5ad265[_0x27628a(0x251)]);}function _0x11df(){const _0x12f225=['otadI','216960tHsvuQ','sJdkN','JSstC','\x20in\x20progress','stdout','yyDRa','log','fJEdL','\x0a✅\x20Resumed\x20feature\x20review:\x20','BVOQI','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','terminalReason','cstej','bWpyf','find','UBLKT','items','\x20\x20\x20\x20\x20Branch:\x20','Screenshot\x20','ntvzG','verification_in_progress','sessionId','unaddressedComments','stepName','979vGfvjv','repeat','isTTY','Step\x20','reports','\x20\x20\x20▶️\x20Started\x20session\x20','No\x20scenarios\x20found.','3582328MUKzao','includeDeleted','has','\x20(v','FYPJe','EEwGy','iteration','uKjVm','element','type','IpDSP','lvBnx','trim','filter','970ysYBDj','pop','91330feRheB','mcsnZ','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','73890BcbsEa','cmNdp','AuxTf','18hBKtbw','\x20\x20Expected\x20flow:','ikecr','kIZXQ','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','WAFgL','selector','gitBranch','slice','completedAt','agentResponse','verified','dpsok','.md','XcZfL','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','\x0aConcluding\x20session...','assetType','numeric','toLocaleString','screenshotUrls','637bkLTFu','ygzxw','Fxxjn','assets','screenshot','join','dashboardUrl','ERMIO','SEpIb','isInteger','name','env','.\x20Feature\x20review\x20has\x20','\x20--limit\x20','split','description','DMRsF','map','HLArP','\x20\x20\x20Updated\x20branch\x20to:\x20','KUYlP','pLDwT','Not\x20in\x20a\x20git\x20repository.','ZRPND','pipe','\x20\x20\x20Progress:\x20','\x20blocked','length','KLPKv','blockedReason','incomplete','...','lgnKa','Current\x20session\x20not\x20found.','XqvME','latestReview','createdAt','blocked','currentBranch','VLrrC','\x0a✅\x20Scenario\x20added','submittedAt','VoMuL','Opgem','stats','bykNk','scenario','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20',':\x20\x22','all','No\x20sessions\x20found.','comment_','AYgXU','imzCi','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZsLGG','QlJwy','qKeop','toFixed','\x20>\x20','\x20Session\x20','incompleteReason','version','output','\x20feature\x20review(s)\x20found','\x0a✅\x20Restored\x20feature\x20review:\x20','CLAUDE_SESSION_ID','canceledReason','error','FWFoc','verificationInProgressItems','browserSessionId','ZdIoL','exit','\x0aAvailable\x20scenarios:','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','qwvmg','790440UUMVeY','wBIAq','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','totalCount','push','\x0a⚠️\x20\x20','status','authorName','spatial','domRef','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','trimEnd','canonicalFlow','dejET','gCmjt','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x20\x20✅\x20No\x20feedback\x20to\x20address','0|1|5|3|4|2','utf-8','point','kzKbA','yblqP','EUqnC','AZwGL','stringify','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','\x0aGenerating\x20report...','linkedSession','FsuXb','4724auYGGj','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','selected','\x20—\x20','\x20of\x20','XlyhZ','\x20\x20\x20Repository:\x20','\x20at\x20[','timing','NtBSp','ZNgiL','checklistItems','\x1b[0m','\x20unaddressed\x20comment(s)','replace','\x20\x20\x20\x20\x20\x20Incomplete:\x20','Scenario\x20','\x0a📋\x20Feedback\x20for:\x20','currentSessionId','completed','\x20\x20\x20\x20\x20\x20Blocked:\x20','oenLB','github.com/','KEPfL','MkgnA','gitRepoUrl','\x20\x20\x20\x20\x20Progress:\x20','\x20\x20\x20Branch:\x20','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20\x20\x20ID:\x20','67758EKoPqQ','textContent','json','27Lkrees','\x20\x20\x20\x20\x20\x20Cancelled:\x20','2171EWYAZa','\x20/\x20','\x0a✅\x20Session\x20'];_0x11df=function(){return _0x12f225;};return _0x11df();}function displayFeature(_0x18777b,_0x51843c){const _0x4d2239=_0x54cb81,_0xc9b991={'rlAUJ':function(_0x56f563,_0x59028d){return _0x56f563(_0x59028d);},'jQCIX':function(_0x546fe6,_0x2f31a5){return _0x546fe6>_0x2f31a5;},'wBIAq':function(_0x4cf02d,_0x593af0){return _0x4cf02d<_0x593af0;},'ERMIO':function(_0x1eb731,_0x2cf6ce){return _0x1eb731===_0x2cf6ce;},'ONQAt':function(_0x326a28,_0x3cff5a){return _0x326a28===_0x3cff5a;},'cstej':'closed','ZHgEo':function(_0x3056ff,_0x5873c8){return _0x3056ff!==_0x5873c8;},'AYgXU':function(_0x534427,_0x2166e1){return _0x534427+_0x2166e1;},'IzGCm':_0x4d2239(0x1c9),'ZsLGG':'approved'};console['log']('\x0a'+_0x18777b[_0x4d2239(0x1b5)]+'\x20('+_0x18777b['dashboardUrl']+')');_0x18777b['stats']&&console['log'](_0x4d2239(0x1c4)+_0xc9b991['rlAUJ'](getProgressDisplay,_0x18777b[_0x4d2239(0x1d7)]));_0x18777b['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x18777b[_0x4d2239(0x1ba)]);_0x18777b[_0x4d2239(0x22e)]&&console[_0x4d2239(0x242)](_0x4d2239(0x21b)+_0x18777b['gitRepoUrl']);_0x18777b['gitBranch']&&console['log'](_0x4d2239(0x230)+_0x18777b[_0x4d2239(0x279)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x18777b[_0x4d2239(0x1cf)])['toLocaleString']());_0x18777b[_0x4d2239(0x27b)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x18777b['completedAt'])[_0x4d2239(0x1a9)]());if(_0x51843c&&_0xc9b991['jQCIX'](_0x51843c[_0x4d2239(0x1c6)],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x35f52b=0x0;_0xc9b991[_0x4d2239(0x1f9)](_0x35f52b,_0x51843c['length']);_0x35f52b++){const _0x486c13=_0x51843c[_0x35f52b];let _0x2387f9;if(_0x486c13[_0x4d2239(0x1fe)]==='closed'&&_0xc9b991[_0x4d2239(0x1b2)](_0x486c13[_0x4d2239(0x247)],'approved'))_0x2387f9='✅';else{if(_0x486c13['status']==='verified')_0x2387f9='🟢';else{if(_0xc9b991[_0x4d2239(0x1b2)](_0x486c13['status'],'incomplete'))_0x2387f9='🟠';else{if(_0xc9b991['ONQAt'](_0x486c13[_0x4d2239(0x1fe)],_0x4d2239(0x1d0)))_0x2387f9='🛑';else{if(_0xc9b991['ERMIO'](_0x486c13[_0x4d2239(0x1fe)],'closed'))_0x2387f9='⛔';else _0xc9b991['ERMIO'](_0x486c13['status'],_0x4d2239(0x250))?_0x2387f9='⏳':_0x2387f9='⬜';}}}}const _0x2b7499=_0x486c13['version']>0x1?_0x4d2239(0x25e)+_0x486c13['version']+')':'',_0x481476=_0x486c13[_0x4d2239(0x1e9)]>0x1&&_0x486c13['parentItemId']&&_0x486c13['status']!==_0xc9b991[_0x4d2239(0x248)]&&_0xc9b991['ZHgEo'](_0x486c13['status'],_0x4d2239(0x27d))?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0xc9b991[_0x4d2239(0x1df)](_0x35f52b,0x1)+'.\x20'+_0x2387f9+'\x20'+_0x486c13['description']+_0x2b7499+_0x481476);_0xc9b991['ERMIO'](_0x486c13['status'],'blocked')&&_0x486c13[_0x4d2239(0x1c8)]&&console['log'](_0x4d2239(0x229)+_0x486c13[_0x4d2239(0x1c8)]);_0x486c13[_0x4d2239(0x1fe)]===_0xc9b991['IzGCm']&&_0x486c13['incompleteReason']&&console[_0x4d2239(0x242)](_0x4d2239(0x224)+_0x486c13['incompleteReason']);if(_0x486c13[_0x4d2239(0x1fe)]===_0xc9b991['cstej']&&_0x486c13['terminalReason']===_0xc9b991[_0x4d2239(0x1e2)])console[_0x4d2239(0x242)]('\x20\x20\x20\x20\x20\x20Approved');else _0x486c13[_0x4d2239(0x1fe)]==='closed'&&_0x486c13[_0x4d2239(0x1ee)]&&console['log'](_0x4d2239(0x237)+_0x486c13['canceledReason']);}}}export async function featureCreate(_0x4f10cc,_0x318a77){const _0x5dec28=_0x54cb81,_0x58f48a={'LHBRL':function(_0x9ef205,_0x447fdb){return _0x9ef205===_0x447fdb;},'NtBSp':function(_0x493ea2,_0x5128cc){return _0x493ea2(_0x5128cc);},'nDtmo':function(_0x1a6bfa){return _0x1a6bfa();},'buAYK':function(_0x3a4a28){return _0x3a4a28();},'MkgnA':'\x0aCreating\x20feature\x20review...','ygzxw':function(_0x4464d6,_0x1d0908){return _0x4464d6(_0x1d0908);},'otadI':function(_0x18daa2,_0x4da37e,_0x1e3e71){return _0x18daa2(_0x4da37e,_0x1e3e71);}},{envNames:_0x20cdf7}=await getEnvNames();if(_0x58f48a['LHBRL'](_0x20cdf7['length'],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x179e6c=0x0;try{_0x179e6c=(await listCloudProfiles())[_0x5dec28(0x1c6)];}catch{_0x179e6c=0x1;}_0x179e6c===0x0&&console['warn']('\x0a'+_0x58f48a[_0x5dec28(0x21e)](formatProfileRequiredMessage,_0x1cf08e=>bold(_0x1cf08e)));}const _0x33344c=_0x318a77['scenarios']?_0x318a77['scenarios'][_0x5dec28(0x1bc)](_0x51d948=>_0x51d948[_0x5dec28(0x267)]()):[],_0x1a2303=_0x58f48a['nDtmo'](getGitRepoUrl),_0x253a52=_0x58f48a['buAYK'](getGitBranch);console['log'](_0x58f48a[_0x5dec28(0x22d)]);const _0x143524=await _0x58f48a[_0x5dec28(0x1ac)](createFeature,{'name':_0x4f10cc,'description':_0x318a77[_0x5dec28(0x1ba)],'checklist':_0x33344c,'gitRepoUrl':_0x1a2303,'gitBranch':_0x253a52});await setActiveFeatureId(_0x143524['id']),await tryStartCurrentSession(_0x143524['id']);const _0xe47ab8=process[_0x5dec28(0x1b6)][_0x5dec28(0x1ed)];_0xe47ab8&&registerSession(_0xe47ab8,_0x143524['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x143524['id']),_0x58f48a[_0x5dec28(0x23b)](displayFeature,_0x143524,_0x143524[_0x5dec28(0x220)]),console[_0x5dec28(0x242)](_0x5dec28(0x231));}export async function featureList(_0x2e113c){const _0xbc37a2=_0x54cb81,_0x4c5688={'XwUBt':function(_0xdcf2f1){return _0xdcf2f1();},'JSstC':function(_0x24c609,_0x2eaaec){return _0x24c609(_0x2eaaec);},'NAjHy':'\x0aNo\x20feature\x20reviews\x20found.','bWpyf':function(_0xe65a24,_0x200b71){return _0xe65a24>_0x200b71;},'lgnKa':function(_0x229db4,_0x212714){return _0x229db4(_0x212714);},'foypm':function(_0x58977e,_0xfd0117){return _0x58977e+_0xfd0117;},'sJdkN':'\x20--current-branch'},_0x462ff1={'limit':_0x2e113c['limit']??0xa,'offset':_0x2e113c['offset']??0x0,'includeDeleted':_0x2e113c['includeDeleted']};_0x2e113c[_0xbc37a2(0x1d1)]&&(_0x462ff1[_0xbc37a2(0x22e)]=getGitRepoUrl(),_0x462ff1['gitBranch']=_0x4c5688['XwUBt'](getGitBranch));const _0x49974d=await _0x4c5688[_0xbc37a2(0x23e)](listFeatures,_0x462ff1);if(_0x49974d[_0xbc37a2(0x24c)][_0xbc37a2(0x1c6)]===0x0){console['log'](_0x4c5688['NAjHy']);return;}const _0x5c13f4=_0x4c5688[_0xbc37a2(0x249)](_0x49974d['totalCount'],_0x49974d[_0xbc37a2(0x24c)]['length'])?'Showing\x20'+_0x49974d['items'][_0xbc37a2(0x1c6)]+_0xbc37a2(0x219)+_0x49974d[_0xbc37a2(0x1fb)]:_0x49974d[_0xbc37a2(0x1fb)]+_0xbc37a2(0x1eb);console['log']('\x0a'+_0x5c13f4+':\x0a');for(const _0x68566c of _0x49974d['items']){console[_0xbc37a2(0x242)](''+_0x68566c[_0xbc37a2(0x1b5)]),console['log']('\x20\x20\x20ID:\x20'+_0x68566c['id']),_0x68566c['stats']&&console[_0xbc37a2(0x242)]('\x20\x20\x20Progress:\x20'+_0x4c5688[_0xbc37a2(0x1cb)](getProgressDisplay,_0x68566c[_0xbc37a2(0x1d7)])),_0x68566c['gitBranch']&&console['log'](_0xbc37a2(0x230)+_0x68566c['gitBranch']),console[_0xbc37a2(0x242)]('\x20\x20\x20Created:\x20'+new Date(_0x68566c['createdAt'])['toLocaleDateString']()),console[_0xbc37a2(0x242)]('');}const _0x39c6e7=_0x462ff1['limit']??0xa,_0x1e38db=_0x4c5688['foypm'](_0x462ff1['offset']??0x0,_0x49974d['items'][_0xbc37a2(0x1c6)]);if(_0x1e38db<_0x49974d[_0xbc37a2(0x1fb)]){const _0x1fc9b5=_0x39c6e7!==0xa?_0xbc37a2(0x1b8)+_0x39c6e7:'',_0x121821=_0x2e113c[_0xbc37a2(0x1d1)]?_0x4c5688[_0xbc37a2(0x23d)]:'',_0x10ae14=_0x2e113c[_0xbc37a2(0x25c)]?'\x20--include-deleted':'';console[_0xbc37a2(0x242)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x1e38db+_0x1fc9b5+_0x121821+_0x10ae14);}}export async function featureShow(_0x3a3d30){const _0x186c74=_0x54cb81,_0x1baf63={'IpDSP':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','yblqP':function(_0x108b9d,_0x29e168,_0x11ae63){return _0x108b9d(_0x29e168,_0x11ae63);}},_0x34530a=_0x3a3d30||await getActiveFeatureId();if(!_0x34530a)throw new Error(_0x1baf63[_0x186c74(0x265)]);const _0x3788a2=await getFeature(_0x34530a);_0x1baf63[_0x186c74(0x20d)](displayFeature,_0x3788a2,_0x3788a2['checklistItems']);}export async function featureResume(_0x3cfcf3){const _0x31878f=_0x54cb81,_0x1e6cc4={'VoMuL':function(_0x4d9da1,_0x5d482a){return _0x4d9da1(_0x5d482a);},'ikecr':function(_0x27ee7a,_0x15c956){return _0x27ee7a!==_0x15c956;},'dpsok':function(_0x567eb2,_0x245d5c,_0x57c3ff){return _0x567eb2(_0x245d5c,_0x57c3ff);},'ioxcV':function(_0x339108,_0x456d91){return _0x339108(_0x456d91);},'cmNdp':function(_0x1da9cd,_0x5ef51b,_0x777bd2){return _0x1da9cd(_0x5ef51b,_0x777bd2);},'OuJpj':function(_0x850f32,_0x531315){return _0x850f32&&_0x531315;},'ONQFD':_0x31878f(0x1c1),'LLFDG':function(_0x376b37,_0x3d21ef){return _0x376b37||_0x3d21ef;},'KUYlP':'any','BVOQI':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','RbPwN':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','Fioxc':_0x31878f(0x207),'SEpIb':function(_0x227b1b,_0x27c3f3){return _0x227b1b!==_0x27c3f3;}};if(_0x3cfcf3){const _0x30711c=await getFeature(_0x3cfcf3);await _0x1e6cc4[_0x31878f(0x1d5)](setActiveFeatureId,_0x30711c['id']);const _0x1a8205=getGitBranch();_0x1a8205&&_0x1e6cc4[_0x31878f(0x273)](_0x1a8205,_0x30711c[_0x31878f(0x279)])&&(await _0x1e6cc4[_0x31878f(0x27e)](updateFeature,_0x30711c['id'],{'gitBranch':_0x1a8205}),console['log'](_0x31878f(0x1be)+_0x1a8205));console['log'](_0x31878f(0x244)+_0x30711c[_0x31878f(0x1b5)]+'\x20('+_0x30711c['id']+')'),await _0x1e6cc4['ioxcV'](tryStartCurrentSession,_0x30711c['id']);const _0x472fb7=process['env']['CLAUDE_SESSION_ID'];_0x472fb7&&registerSession(_0x472fb7,_0x30711c['id']);_0x1e6cc4[_0x31878f(0x26f)](displayFeature,_0x30711c,_0x30711c[_0x31878f(0x220)]),await printFeedbackNudge(_0x30711c['id']);return;}const _0x4b6da9=getGitRepoUrl(),_0x349e64=getGitBranch();if(_0x1e6cc4['OuJpj'](!_0x4b6da9,!_0x349e64))throw new Error(_0x1e6cc4['ONQFD']);console['log'](_0x31878f(0x1fa)+(_0x4b6da9||'any')+_0x31878f(0x239)+_0x1e6cc4['LLFDG'](_0x349e64,_0x1e6cc4[_0x31878f(0x1bf)])+_0x31878f(0x1ca));const _0x35a2a8=await listFeatures({'gitRepoUrl':_0x4b6da9,'gitBranch':_0x349e64}),_0x533e52=_0x35a2a8['items'][_0x31878f(0x268)](_0x28c301=>_0x28c301[_0x31878f(0x1fe)]?_0x28c301[_0x31878f(0x1fe)]!=='verified':!_0x28c301[_0x31878f(0x27b)]);if(_0x533e52[_0x31878f(0x1c6)]===0x0){console[_0x31878f(0x242)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x1e6cc4[_0x31878f(0x245)]);return;}let _0xde8c51;if(_0x533e52['length']===0x1)_0xde8c51=_0x533e52[0x0];else{const _0x12f344=process['stdin']['isTTY']&&process[_0x31878f(0x240)][_0x31878f(0x256)];if(!_0x12f344){console[_0x31878f(0x242)](_0x1e6cc4['RbPwN']);for(const _0x2f3c61 of _0x533e52){console['log']('\x20\x20'+_0x2f3c61['name']),console['log'](_0x31878f(0x232)+_0x2f3c61['id']),_0x2f3c61[_0x31878f(0x1d7)]&&console['log'](_0x31878f(0x22f)+_0x1e6cc4['VoMuL'](getProgressDisplay,_0x2f3c61['stats'])),_0x2f3c61['gitBranch']&&console['log'](_0x31878f(0x24d)+_0x2f3c61[_0x31878f(0x279)]);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x59378e}=await _0x2c2807['prompt']([{'type':'list','name':_0x31878f(0x217),'message':_0x1e6cc4['Fioxc'],'choices':_0x533e52['map'](_0x4e8882=>({'name':_0x4e8882['name']+'\x20('+_0x4e8882['id']+')','value':_0x4e8882['id']}))}]);_0xde8c51=_0x533e52[_0x31878f(0x24a)](_0x32502c=>_0x32502c['id']===_0x59378e);}await setActiveFeatureId(_0xde8c51['id']);_0x349e64&&_0x1e6cc4[_0x31878f(0x1b3)](_0x349e64,_0xde8c51['gitBranch'])&&(await updateFeature(_0xde8c51['id'],{'gitBranch':_0x349e64}),console[_0x31878f(0x242)](_0x31878f(0x1be)+_0x349e64));console[_0x31878f(0x242)](_0x31878f(0x244)+_0xde8c51['name']+'\x20('+_0xde8c51['id']+')'),await tryStartCurrentSession(_0xde8c51['id']);const _0x156790=await getFeature(_0xde8c51['id']),_0xa4cac2=process['env'][_0x31878f(0x1ed)];_0xa4cac2&&_0x1e6cc4[_0x31878f(0x27e)](registerSession,_0xa4cac2,_0x156790['id']),displayFeature(_0x156790,_0x156790['checklistItems']),await printFeedbackNudge(_0x156790['id']);}async function printFeedbackNudge(_0x47d67f){const _0x4bbbd4=_0x54cb81,_0xfdacca={'cHMwK':function(_0x2a7788,_0x579109,_0x32d479){return _0x2a7788(_0x579109,_0x32d479);},'fJEdL':function(_0x5a5218,_0x273b3d){return _0x5a5218>_0x273b3d;},'ZdIoL':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x1b013c}=await getActionItems(_0x47d67f);let _0x13b78c=0x0,_0xae2edb=0x0;for(const _0x5ee26b of _0x1b013c){const _0x5cd50c=await _0xfdacca['cHMwK'](getItemFeedback,_0x47d67f,_0x5ee26b['id']);_0xfdacca['fJEdL'](_0x5cd50c[_0x4bbbd4(0x252)]['length'],0x0)&&(_0x13b78c+=_0x5cd50c['unaddressedComments'][_0x4bbbd4(0x1c6)],_0xae2edb++);}_0xfdacca[_0x4bbbd4(0x243)](_0x13b78c,0x0)&&(console[_0x4bbbd4(0x242)](_0x4bbbd4(0x1fd)+_0x13b78c+_0x4bbbd4(0x1f6)+_0xae2edb+'\x20scenario(s).'),console[_0x4bbbd4(0x242)](_0xfdacca[_0x4bbbd4(0x1f3)]));}catch{}}async function tryStartCurrentSession(_0x220358){const _0x122a36=_0x54cb81;try{const {sessions:_0xf7f713}=await listFeatureSessions(_0x220358),_0x27e51e=_0xf7f713['find'](_0x2cdb58=>_0x2cdb58['status']==='ready');_0x27e51e&&(await startSession(_0x220358,_0x27e51e['id']),console[_0x122a36(0x242)](_0x122a36(0x259)+_0x27e51e[_0x122a36(0x261)]));}catch{}}export async function featureReport(_0x2b349e,_0x3aa465){const _0x62d54=_0x54cb81,_0x3c1fe1={'KLPKv':function(_0x4f9665){return _0x4f9665();},'cHgNX':_0x62d54(0x258),'WAFgL':function(_0x8c80fe,_0x4e620e,_0x2fe866){return _0x8c80fe(_0x4e620e,_0x2fe866);},'EoqBQ':function(_0x38c0ec,_0x3e5993){return _0x38c0ec(_0x3e5993);},'dejET':function(_0x237869,_0x185b89,_0x1493f9,_0x1fe2ee){return _0x237869(_0x185b89,_0x1493f9,_0x1fe2ee);}},_0x33b817=_0x2b349e||await _0x3c1fe1[_0x62d54(0x1c7)](getActiveFeatureId);if(!_0x33b817)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x62d54(0x242)](_0x62d54(0x212));const _0x19d869=await getFeatureReportMarkdown(_0x33b817,{'style':_0x3aa465['style']}),_0x24eeb5=_0x3aa465[_0x62d54(0x1ea)]||join(getRangerDir(),_0x3c1fe1['cHgNX'],_0x33b817+_0x62d54(0x27f)),_0x1ba587=_0x3c1fe1[_0x62d54(0x277)](join,_0x24eeb5,'..');!_0x3c1fe1['EoqBQ'](existsSync,_0x1ba587)&&await mkdir(_0x1ba587,{'recursive':!![]}),await _0x3c1fe1[_0x62d54(0x205)](writeFile,_0x24eeb5,_0x19d869,_0x62d54(0x20a)),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x24eeb5);}function _0x4b4c(_0x1220c8,_0x233076){_0x1220c8=_0x1220c8-0x1a4;const _0x11df2d=_0x11df();let _0x4b4c42=_0x11df2d[_0x1220c8];return _0x4b4c42;}function getScenarioResult(_0x38c14b){const _0x27c985=_0x54cb81,_0x3aede6={'Liido':'closed','VLrrC':'in_progress'};if(_0x38c14b[_0x27c985(0x1fe)]==='closed')return _0x38c14b[_0x27c985(0x247)]??_0x3aede6['Liido'];if(_0x38c14b[_0x27c985(0x1fe)]==='verification_in_progress')return _0x3aede6[_0x27c985(0x1d2)];return _0x38c14b[_0x27c985(0x1fe)];}function getScenarioRationale(_0x1df9f6,_0x7f9bf3){const _0x33c4b4=_0x54cb81,_0x1fca9b={'ZNgiL':_0x33c4b4(0x209)},_0x5272d3=_0x1fca9b[_0x33c4b4(0x21f)]['split']('|');let _0x434715=0x0;while(!![]){switch(_0x5272d3[_0x434715++]){case'0':if(_0x7f9bf3)return _0x7f9bf3;continue;case'1':if(_0x1df9f6[_0x33c4b4(0x1c8)])return _0x1df9f6['blockedReason'];continue;case'2':return null;case'3':if(_0x1df9f6['canceledReason'])return _0x1df9f6[_0x33c4b4(0x1ee)];continue;case'4':if(_0x1df9f6['notes'])return _0x1df9f6['notes'];continue;case'5':if(_0x1df9f6[_0x33c4b4(0x1e8)])return _0x1df9f6['incompleteReason'];continue;}break;}}export async function featureReportPrDescription(_0x4fa171,_0x1c2fcd){const _0x5e79ef=_0x54cb81,_0x2f1c81={'kzKbA':_0x5e79ef(0x246),'KEPfL':function(_0x324613,_0x4a466b){return _0x324613(_0x4a466b);},'uKjVm':function(_0x59e5c2,_0xbf59d1,_0x2eb4d1){return _0x59e5c2(_0xbf59d1,_0x2eb4d1);},'Kawaz':'\x0aAvailable\x20scenarios:','yflqZ':function(_0x303b72,_0x22da04){return _0x303b72===_0x22da04;}},_0x228c78=_0x4fa171||await getActiveFeatureId();if(!_0x228c78)throw new Error(_0x2f1c81[_0x5e79ef(0x20c)]);const _0x5f3631=await _0x2f1c81[_0x5e79ef(0x22c)](getFeature,_0x228c78),_0x18df8b=_0x5f3631[_0x5e79ef(0x220)]||[],_0x441836=_0x2f1c81['uKjVm'](getCurrentSessionItems,_0x5f3631,_0x18df8b);_0x441836['length']===0x0&&(console[_0x5e79ef(0x1ef)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0x5e79ef(0x1f4)](0x1));const _0x262922=_0x1c2fcd['excludeScenarios']??[],_0xb7e83a=_0x262922[_0x5e79ef(0x268)](_0xc2ce35=>!Number[_0x5e79ef(0x1b4)](_0xc2ce35)||_0xc2ce35<0x1||_0xc2ce35>_0x441836[_0x5e79ef(0x1c6)]);if(_0xb7e83a[_0x5e79ef(0x1c6)]>0x0){console[_0x5e79ef(0x1ef)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0xb7e83a[_0x5e79ef(0x1b0)](',\x20')),console[_0x5e79ef(0x242)](_0x2f1c81['Kawaz']);for(let _0x3bd437=0x0;_0x3bd437<_0x441836[_0x5e79ef(0x1c6)];_0x3bd437++){console[_0x5e79ef(0x242)]('\x20\x20'+(_0x3bd437+0x1)+'.\x20'+_0x441836[_0x3bd437][_0x5e79ef(0x1ba)]);}process['exit'](0x1);}const _0x400bc4=new Set(_0x262922[_0x5e79ef(0x1bc)](_0x258631=>_0x258631-0x1)),_0x3cc78c=_0x441836[_0x5e79ef(0x268)]((_0x372ef2,_0x360153)=>!_0x400bc4[_0x5e79ef(0x25d)](_0x360153));_0x2f1c81['yflqZ'](_0x3cc78c['length'],0x0)&&(console[_0x5e79ef(0x1ef)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process['exit'](0x1));if(_0x1c2fcd[_0x5e79ef(0x235)])await outputJsonReport(_0x228c78,_0x5f3631,_0x3cc78c);else{const _0x9268e6=await _0x2f1c81[_0x5e79ef(0x262)](getFeatureReportMarkdown,_0x228c78,{'itemIds':_0x3cc78c['map'](_0x467892=>_0x467892['id'])});process['stdout']['write'](_0x9268e6[_0x5e79ef(0x203)]()+'\x0a');}}async function outputJsonReport(_0x580970,_0x184f5b,_0x574063){const _0x3fa8d9=_0x54cb81,_0x11a596={'ZjVNF':function(_0x3f277b,_0x3b0e9e){return _0x3f277b(_0x3b0e9e);},'bykNk':function(_0x434df5,_0x222ad8){return _0x434df5>_0x222ad8;},'imzCi':function(_0x37f60c,_0x37b02e){return _0x37f60c===_0x37b02e;},'KQObx':function(_0x106348,_0x2ec71){return _0x106348(_0x2ec71);}},_0x1d6a09=getApiBaseUrl(),_0x348e70=await _0x11a596['KQObx'](getFeatureReport,_0x580970),_0xb4645b=new Map(_0x348e70['checklistItems']['map'](_0x1297f2=>[_0x1297f2['id'],_0x1297f2])),_0x5dfda3=await Promise[_0x3fa8d9(0x1dc)](_0x574063[_0x3fa8d9(0x1bc)](async _0x340598=>{const _0x47b234=_0x3fa8d9,_0x458bb1=_0xb4645b['get'](_0x340598['id']),_0x425667=_0x458bb1?.[_0x47b234(0x213)]??null;let _0x1774a4=[];if(_0x340598[_0x47b234(0x1f2)])try{const {steps:_0x2cc7da}=await _0x11a596['ZjVNF'](getBrowserSessionSteps,_0x340598[_0x47b234(0x1f2)]);_0x11a596[_0x47b234(0x1d8)](_0x2cc7da[_0x47b234(0x1c6)],0x0)&&(_0x1774a4=_0x2cc7da['map'](_0x117d7b=>{const _0xc58ee3=_0x47b234,_0x11a2e9=_0x117d7b['assets'][_0xc58ee3(0x24a)](_0x468b66=>_0x468b66[_0xc58ee3(0x1a7)]===_0xc58ee3(0x1af)&&_0x468b66[_0xc58ee3(0x21d)]==='after')??_0x117d7b[_0xc58ee3(0x1ae)]['find'](_0x42c987=>_0x42c987['assetType']===_0xc58ee3(0x1af));let _0x5978f8=null,_0xde0759=null;if(_0x11a2e9){const _0x51485a=_0x11a2e9['storage']['location'][_0xc58ee3(0x1b9)]('/')[_0xc58ee3(0x26a)]();_0x5978f8=_0x1d6a09+'/api/v1/mcp/browser-sessions/'+_0x340598[_0xc58ee3(0x1f2)]+'/artifacts/'+_0x51485a,_0x51485a&&(_0xde0759=_0x51485a[_0xc58ee3(0x223)](/\.\w+$/,'')[_0xc58ee3(0x223)](/^(key_)?\d+_/,'')[_0xc58ee3(0x223)](/[-_]/g,'\x20'));}return{'description':_0xde0759||_0x117d7b['description']||_0x117d7b[_0xc58ee3(0x253)]||_0xc58ee3(0x257)+_0x117d7b['position'],'screenshot':_0x5978f8,'is_key_step':_0x117d7b['isKeyStep']};}));}catch{}return _0x11a596[_0x47b234(0x1e0)](_0x1774a4['length'],0x0)&&_0x425667?.[_0x47b234(0x1aa)]&&(_0x1774a4=_0x425667['screenshotUrls'][_0x47b234(0x1bc)]((_0x1fdc8f,_0x342f49)=>({'description':_0x47b234(0x24e)+(_0x342f49+0x1),'screenshot':_0x1fdc8f,'is_key_step':![]}))),{'description':_0x340598[_0x47b234(0x1ba)],'result':getScenarioResult(_0x340598),'rationale':getScenarioRationale(_0x340598,_0x425667?.[_0x47b234(0x27c)]),'steps':_0x1774a4};})),_0xddf1c9={'url':_0x184f5b['dashboardUrl'],'scenarios':_0x5dfda3};process['stdout']['write'](JSON[_0x3fa8d9(0x210)](_0xddf1c9,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x5ce348){const _0x5dab1e=_0x54cb81,_0x581fd7={'Fxxjn':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','NOLCv':function(_0x3888f2,_0x24835c){return _0x3888f2(_0x24835c);},'XqvME':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','LxEuy':_0x5dab1e(0x1cc),'lTyQW':function(_0x4ec0fb,_0x68e0a5){return _0x4ec0fb===_0x68e0a5;},'JDIJO':_0x5dab1e(0x228),'wksPX':'\x0a✅\x20Session\x20is\x20already\x20completed.','yyDRa':function(_0x461174,_0x4f4ce1){return _0x461174!==_0x4f4ce1;}},_0x1ccb44=_0x5ce348||await getActiveFeatureId();if(!_0x1ccb44)throw new Error(_0x581fd7[_0x5dab1e(0x1ad)]);const _0x21a5b3=await _0x581fd7['NOLCv'](getFeature,_0x1ccb44);if(!_0x21a5b3['currentSessionId'])throw new Error(_0x581fd7[_0x5dab1e(0x1cd)]);const {sessions:_0x348ffd}=await listFeatureSessions(_0x1ccb44),_0x77d3d6=_0x348ffd[_0x5dab1e(0x24a)](_0x50908f=>_0x50908f['id']===_0x21a5b3[_0x5dab1e(0x227)]);if(!_0x77d3d6)throw new Error(_0x581fd7['LxEuy']);if(_0x581fd7['lTyQW'](_0x77d3d6['status'],_0x581fd7['JDIJO'])){console['log'](_0x581fd7['wksPX']);return;}if(_0x581fd7[_0x5dab1e(0x241)](_0x77d3d6['status'],'in_progress'))throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x77d3d6[_0x5dab1e(0x1fe)]);console[_0x5dab1e(0x242)](_0x5dab1e(0x1a6)),await concludeSession(_0x1ccb44,_0x21a5b3['currentSessionId']),console[_0x5dab1e(0x242)](_0x5dab1e(0x23a)+_0x77d3d6['iteration']+'\x20concluded.'),console['log'](_0x5dab1e(0x211));}export async function featureSessions(_0x2c57d8){const _0x1a8b5a=_0x54cb81,_0x26817f={'FYPJe':function(_0x41de10){return _0x41de10();},'JyfmM':function(_0x4fe433,_0x23c28d){return _0x4fe433(_0x23c28d);},'dOxyp':function(_0x49d0f4,_0xb50ff7){return _0x49d0f4(_0xb50ff7);},'wBAIG':function(_0x535cfe,_0x414b13){return _0x535cfe===_0x414b13;},'FsuXb':_0x1a8b5a(0x228)},_0x13bf80=_0x2c57d8||await _0x26817f[_0x1a8b5a(0x25f)](getActiveFeatureId);if(!_0x13bf80)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x322c63=await _0x26817f['JyfmM'](getFeature,_0x13bf80);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x322c63[_0x1a8b5a(0x1b5)]+'\x0a');const {sessions:_0x4bb706}=await _0x26817f['dOxyp'](listFeatureSessions,_0x13bf80);if(_0x4bb706[_0x1a8b5a(0x1c6)]===0x0){console['log'](_0x1a8b5a(0x1dd));return;}for(const _0x1a82e9 of _0x4bb706){const _0x4f5527=_0x26817f['wBAIG'](_0x1a82e9[_0x1a8b5a(0x1fe)],_0x26817f[_0x1a8b5a(0x214)])?'✅':_0x1a82e9['status']==='in_progress'?'🔄':'▶️';console['log'](_0x4f5527+_0x1a8b5a(0x1e7)+_0x1a82e9['iteration']+'\x20('+_0x1a82e9['id']+')'),console[_0x1a8b5a(0x242)]('\x20\x20\x20Status:\x20'+_0x1a82e9['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x1a82e9['createdAt'])[_0x1a8b5a(0x1a9)]()),_0x1a82e9['completedAt']&&console[_0x1a8b5a(0x242)]('\x20\x20\x20Completed:\x20'+new Date(_0x1a82e9['completedAt'])[_0x1a8b5a(0x1a9)]()),console['log']('');}}export async function featureAddScenario(_0x8b65b4,_0x2f4744){const _0x250484=_0x54cb81,_0x859b91={'DMRsF':function(_0x15f36e){return _0x15f36e();},'hSTnv':function(_0x3b5e6a,_0x4fd52c){return _0x3b5e6a(_0x4fd52c);}},_0x1d9059=_0x2f4744||await _0x859b91[_0x250484(0x1bb)](getActiveFeatureId);if(!_0x1d9059)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 _0x18f778=await _0x859b91['hSTnv'](getFeature,_0x1d9059);if(_0x18f778[_0x250484(0x1ce)]&&!_0x18f778['latestReview']['submittedAt'])throw new Error(_0x250484(0x1da)+_0x18f778[_0x250484(0x1b1)]);await createChecklistItem(_0x1d9059,_0x8b65b4);const _0x38ecab=await getFeature(_0x1d9059);console[_0x250484(0x242)](_0x250484(0x1d3)),displayFeature(_0x38ecab,_0x38ecab[_0x250484(0x220)]);}export async function featureEditScenario(_0x55ace5,_0x163253){const _0x160541=_0x54cb81,_0x55e758={'XcZfL':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','MQjkS':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','Wswwg':function(_0xd99d10,_0x44fb02){return _0xd99d10(_0x44fb02);},'BrOVY':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','oenLB':function(_0x8d00e2,_0x2f8f82){return _0x8d00e2===_0x2f8f82;},'IHlEs':'\x0aAvailable\x20scenarios:','mcsnZ':function(_0x30c532,_0x40d71b){return _0x30c532<_0x40d71b;},'pLDwT':function(_0x5dd2a7,_0x453c3d){return _0x5dd2a7-_0x453c3d;},'EUqnC':function(_0x1f99a6,_0x4d6ed0){return _0x1f99a6<_0x4d6ed0;},'Opgem':function(_0x20a24b,_0x449c23){return _0x20a24b>=_0x449c23;},'AuxTf':function(_0xb63211,_0x53267a,_0x28a21a,_0xaacc2c){return _0xb63211(_0x53267a,_0x28a21a,_0xaacc2c);},'gCmjt':function(_0x590dc0,_0x1cb506){return _0x590dc0(_0x1cb506);},'rHSLd':function(_0x566adf,_0x2aab43,_0x52422e){return _0x566adf(_0x2aab43,_0x52422e);}},_0x5d2ae7=_0x163253['id']||await getActiveFeatureId();!_0x5d2ae7&&(console['error'](_0x55e758[_0x160541(0x1a4)]),console['error'](_0x55e758['MQjkS']),process[_0x160541(0x1f4)](0x1));const _0x5270f2=await _0x55e758['Wswwg'](getFeature,_0x5d2ae7);_0x5270f2['latestReview']&&!_0x5270f2[_0x160541(0x1ce)][_0x160541(0x1d4)]&&(console['error'](_0x55e758['BrOVY']),console['error']('Please\x20finish\x20your\x20review\x20first:'),console[_0x160541(0x1ef)]('\x20\x20'+_0x5270f2['dashboardUrl']),process[_0x160541(0x1f4)](0x1));const _0x2793cd=_0x5270f2[_0x160541(0x220)]||[];_0x2793cd['length']===0x0&&(console[_0x160541(0x1ef)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process['exit'](0x1));if(_0x55e758[_0x160541(0x22a)](_0x163253[_0x160541(0x1d9)],undefined)){console[_0x160541(0x1ef)](_0x160541(0x276)),console['log'](_0x55e758['IHlEs']);for(let _0x5de64c=0x0;_0x55e758[_0x160541(0x26c)](_0x5de64c,_0x2793cd[_0x160541(0x1c6)]);_0x5de64c++){console['log']('\x20\x20'+(_0x5de64c+0x1)+'.\x20'+_0x2793cd[_0x5de64c][_0x160541(0x1ba)]);}process['exit'](0x1);}const _0x4059f6=_0x55e758[_0x160541(0x1c0)](_0x163253[_0x160541(0x1d9)],0x1);if(_0x55e758[_0x160541(0x20e)](_0x4059f6,0x0)||_0x55e758[_0x160541(0x1d6)](_0x4059f6,_0x2793cd['length'])){console['error'](_0x160541(0x275)+_0x163253['scenario']+_0x160541(0x1b7)+_0x2793cd[_0x160541(0x1c6)]+'\x20scenarios.'),console['log'](_0x160541(0x1f5));for(let _0x5d2e5b=0x0;_0x5d2e5b<_0x2793cd['length'];_0x5d2e5b++){console[_0x160541(0x242)]('\x20\x20'+(_0x5d2e5b+0x1)+'.\x20'+_0x2793cd[_0x5d2e5b]['description']);}process['exit'](0x1);}const _0x3960ce=_0x2793cd[_0x4059f6];await _0x55e758[_0x160541(0x270)](updateChecklistItem,_0x5d2ae7,_0x3960ce['id'],{'description':_0x55ace5});const _0x145688=await _0x55e758[_0x160541(0x206)](getFeature,_0x5d2ae7);console['log']('\x0a✅\x20Scenario\x20updated'),_0x55e758['rHSLd'](displayFeature,_0x145688,_0x145688['checklistItems']);}async function downloadFeedbackImage(_0x1fab83,_0x50f672){const _0x42b40e=_0x54cb81,_0x386b02={'UvylV':function(_0x24557b,_0x4f00e4,_0x5f5622){return _0x24557b(_0x4f00e4,_0x5f5622);},'qKeop':function(_0x1e2eec){return _0x1e2eec();},'AZwGL':'feedback-images','fmTUV':function(_0x2715c4,_0x2b747f,_0x18d131){return _0x2715c4(_0x2b747f,_0x18d131);}};try{const _0xf01e11=_0x386b02['UvylV'](join,_0x386b02[_0x42b40e(0x1e4)](getRangerDir),_0x386b02[_0x42b40e(0x20f)]);await mkdir(_0xf01e11,{'recursive':!![]});const _0x51f782=_0x386b02['fmTUV'](join,_0xf01e11,_0x42b40e(0x1de)+_0x50f672+'.png'),_0x556b32=await fetch(_0x1fab83);if(!_0x556b32['ok'])return null;const _0x586643=Buffer['from'](await _0x556b32['arrayBuffer']());return await writeFile(_0x51f782,_0x586643),_0x51f782;}catch{return null;}}export async function featureGetReview(_0x31ba76){const _0x4effa2=_0x54cb81,_0x1d2c23={'EEwGy':_0x4effa2(0x1e1),'gqmyk':function(_0x121927,_0x92bc73){return _0x121927<_0x92bc73;},'FvyWB':function(_0x3189b8,_0x3c1d75,_0x18101d){return _0x3189b8(_0x3c1d75,_0x18101d);},'qSzEj':_0x4effa2(0x1a8),'qwvmg':function(_0x1099ed,_0x4e8a76,_0x51f632){return _0x1099ed(_0x4e8a76,_0x51f632);},'QlJwy':_0x4effa2(0x263),'bNiox':function(_0x3cc4b9,_0x11dbb1){return _0x3cc4b9===_0x11dbb1;},'buDbV':function(_0x419f75,_0xca6aad){return _0x419f75+_0xca6aad;}},_0x378f38=_0x31ba76||await getActiveFeatureId();if(!_0x378f38)throw new Error(_0x1d2c23[_0x4effa2(0x260)]);const _0x39ebf0=await getFeature(_0x378f38),{items:_0x21ad65}=await getActionItems(_0x378f38);console['log'](_0x4effa2(0x226)+_0x39ebf0[_0x4effa2(0x1b5)]+'\x20('+_0x39ebf0['id']+')\x0a');if(_0x21ad65['length']===0x0){console['log'](_0x4effa2(0x25a));return;}for(let _0x301974=0x0;_0x1d2c23['gqmyk'](_0x301974,_0x21ad65[_0x4effa2(0x1c6)]);_0x301974++){const _0x41ae90=_0x21ad65[_0x301974],_0x65eeef=_0x41ae90['version']>0x1?_0x4effa2(0x25e)+_0x41ae90[_0x4effa2(0x1e9)]+')':'',_0x986fe9=await _0x1d2c23['FvyWB'](getItemFeedback,_0x378f38,_0x41ae90['id']);if(_0x986fe9['unaddressedComments'][_0x4effa2(0x1c6)]>0x0){console['log']('Scenario\x20'+(_0x301974+0x1)+':\x20\x22'+_0x41ae90[_0x4effa2(0x1ba)]+'\x22'+_0x65eeef+_0x4effa2(0x218)+_0x986fe9[_0x4effa2(0x252)]['length']+_0x4effa2(0x222));for(const _0x236253 of _0x986fe9['unaddressedComments']){const _0x5cd8b5=new Date(_0x236253[_0x4effa2(0x1cf)])['toLocaleDateString']('en-US',{'month':'short','day':_0x1d2c23['qSzEj']}),_0x52cb69=_0x236253[_0x4effa2(0x1ff)]||_0x236253['authorEmail']||'Unknown';console['log']('\x20\x20💬\x20'+_0x52cb69+'\x20('+_0x5cd8b5+'):\x20\x22'+_0x236253['content']+'\x22');if(_0x236253['assetUrl']){const _0x412de5=await _0x1d2c23[_0x4effa2(0x1f7)](downloadFeedbackImage,_0x236253['assetUrl'],_0x236253['id']);_0x412de5&&console[_0x4effa2(0x242)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x412de5);}if(_0x236253[_0x4effa2(0x201)]){const _0x99dd0e=_0x236253[_0x4effa2(0x201)][_0x4effa2(0x278)]['split'](_0x4effa2(0x1e6))[_0x4effa2(0x26a)]()?.[_0x4effa2(0x1b9)](':')[0x0]||_0x1d2c23[_0x4effa2(0x1e3)],_0x5178a7=_0x236253['domRef']['textContent']?'\x20\x22'+_0x236253['domRef'][_0x4effa2(0x234)][_0x4effa2(0x27a)](0x0,0x3c)+'\x22':'';console['log'](_0x4effa2(0x1a5)+_0x99dd0e+'>'+_0x5178a7),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x236253[_0x4effa2(0x201)][_0x4effa2(0x278)]);}else{if(_0x236253[_0x4effa2(0x200)]){const _0x103c3d=_0x236253['spatial']['coordinates'];_0x1d2c23['bNiox'](_0x236253['spatial'][_0x4effa2(0x264)],_0x4effa2(0x20b))&&_0x103c3d[_0x4effa2(0x1c6)]>=0x2?console['log'](_0x4effa2(0x216)+_0x103c3d[0x0][_0x4effa2(0x1e5)](0x2)+',\x20'+_0x103c3d[0x1]['toFixed'](0x2)+')'):console[_0x4effa2(0x242)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x236253[_0x4effa2(0x200)]['type']+_0x4effa2(0x21c)+_0x103c3d[_0x4effa2(0x1bc)](_0x437b03=>_0x437b03['toFixed'](0x2))[_0x4effa2(0x1b0)](',\x20')+']');}}}if(_0x986fe9[_0x4effa2(0x204)]){console['log'](_0x4effa2(0x272));for(const _0x4218f7 of _0x986fe9[_0x4effa2(0x204)]['split']('\x0a')){console[_0x4effa2(0x242)]('\x20\x20\x20\x20'+_0x4218f7);}}}else console[_0x4effa2(0x242)](_0x4effa2(0x225)+_0x1d2c23['buDbV'](_0x301974,0x1)+_0x4effa2(0x1db)+_0x41ae90['description']+'\x22'+_0x65eeef+'\x20—\x20no\x20comments'),console['log'](_0x4effa2(0x208));console[_0x4effa2(0x242)]('');}}export async function featureDelete(_0x703484){const _0x4d7d5d=_0x54cb81,_0x1323d4={'sFTgl':function(_0x3cffb5){return _0x3cffb5();},'lbvfM':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ZRPND':function(_0x2d76e1,_0x20cd44){return _0x2d76e1(_0x20cd44);},'lvBnx':_0x4d7d5d(0x26d)},_0x13fa98=_0x703484||await _0x1323d4['sFTgl'](getActiveFeatureId);if(!_0x13fa98)throw new Error(_0x1323d4['lbvfM']);const _0x9890f4=await getFeature(_0x13fa98);await _0x1323d4[_0x4d7d5d(0x1c2)](softDeleteFeature,_0x13fa98),console['log'](_0x4d7d5d(0x202)+_0x9890f4['name']+'\x20('+_0x13fa98+')'),console['log'](_0x1323d4[_0x4d7d5d(0x266)]+_0x13fa98);}export async function featureRestore(_0x2d90fd){const _0x1a1727=_0x54cb81;await restoreFeature(_0x2d90fd);const _0x3549f5=await getFeature(_0x2d90fd);console[_0x1a1727(0x242)](_0x1a1727(0x1ec)+_0x3549f5[_0x1a1727(0x1b5)]+'\x20('+_0x2d90fd+')'),displayFeature(_0x3549f5,_0x3549f5['checklistItems']);}
@@ -1 +1 @@
1
- function _0x524c(){const _0x13c80b=['72549hNkXsW','4840pUkNBV','Unknown\x20hook:\x20','273cvUJnQ','once','304375bVyhpE','54vMZneT','987385gHewUu','exit','5100788tscnMN','9888176DSWcfH','error','SIGHUP','32770760kOdvVg','3YAIKGm','240uhJNhC'];_0x524c=function(){return _0x13c80b;};return _0x524c();}(function(_0x343fe3,_0x556f3b){const _0x13fb82=_0x2471,_0x910307=_0x343fe3();while(!![]){try{const _0x5ba01e=-parseInt(_0x13fb82(0x19c))/0x1*(parseInt(_0x13fb82(0x19a))/0x2)+-parseInt(_0x13fb82(0x197))/0x3*(parseInt(_0x13fb82(0x1a2))/0x4)+parseInt(_0x13fb82(0x19e))/0x5+parseInt(_0x13fb82(0x19f))/0x6*(parseInt(_0x13fb82(0x1a0))/0x7)+-parseInt(_0x13fb82(0x1a3))/0x8+parseInt(_0x13fb82(0x199))/0x9*(-parseInt(_0x13fb82(0x198))/0xa)+parseInt(_0x13fb82(0x196))/0xb;if(_0x5ba01e===_0x556f3b)break;else _0x910307['push'](_0x910307['shift']());}catch(_0x2a8688){_0x910307['push'](_0x910307['shift']());}}}(_0x524c,0xe683b));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x2471(_0x5bb6c1,_0x134ea3){_0x5bb6c1=_0x5bb6c1-0x196;const _0x524c1a=_0x524c();let _0x2471d3=_0x524c1a[_0x5bb6c1];return _0x2471d3;}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x1e1dff=_0x2471,_0x4aa57c={'Lczyk':'SIGINT','Lysmc':'SIGTERM','vjJri':_0x1e1dff(0x1a5)};if(cancellationHandlersInstalled)return;const _0x5c66ba=()=>{const _0x3c3c5c=_0x1e1dff;process[_0x3c3c5c(0x1a1)](0x0);};process[_0x1e1dff(0x19d)](_0x4aa57c['Lczyk'],_0x5c66ba),process['once'](_0x4aa57c['Lysmc'],_0x5c66ba),process['once'](_0x4aa57c['vjJri'],_0x5c66ba),cancellationHandlersInstalled=!![];}export async function hook(_0x210dc4,_0x3b6e5d){const _0x6daefb=_0x2471;installCancellationHandlers();const _0x58e2b6=HOOKS[_0x210dc4];if(!_0x58e2b6){const _0x38a83d=Object['keys'](HOOKS)['join'](',\x20');console[_0x6daefb(0x1a4)](_0x6daefb(0x19b)+_0x210dc4),console[_0x6daefb(0x1a4)]('Valid\x20hooks:\x20'+_0x38a83d),process[_0x6daefb(0x1a1)](0x1);}await _0x58e2b6(_0x3b6e5d);}
1
+ function _0x4f8a(_0x12084c,_0x57f34f){_0x12084c=_0x12084c-0x1f3;const _0x4ac66a=_0x4ac6();let _0x4f8a36=_0x4ac66a[_0x12084c];return _0x4f8a36;}(function(_0x59bf90,_0x3f1810){const _0x3efb2d=_0x4f8a,_0xc3f80e=_0x59bf90();while(!![]){try{const _0x48993b=-parseInt(_0x3efb2d(0x1fc))/0x1+-parseInt(_0x3efb2d(0x202))/0x2*(-parseInt(_0x3efb2d(0x200))/0x3)+parseInt(_0x3efb2d(0x1f5))/0x4+-parseInt(_0x3efb2d(0x1fb))/0x5*(parseInt(_0x3efb2d(0x1fd))/0x6)+parseInt(_0x3efb2d(0x1fe))/0x7*(-parseInt(_0x3efb2d(0x1f9))/0x8)+parseInt(_0x3efb2d(0x201))/0x9+parseInt(_0x3efb2d(0x1f4))/0xa*(-parseInt(_0x3efb2d(0x1fa))/0xb);if(_0x48993b===_0x3f1810)break;else _0xc3f80e['push'](_0xc3f80e['shift']());}catch(_0x343498){_0xc3f80e['push'](_0xc3f80e['shift']());}}}(_0x4ac6,0xd009c));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x2d9e40=_0x4f8a;if(cancellationHandlersInstalled)return;const _0x18b0e0=()=>{process['exit'](0x0);};process['once'](_0x2d9e40(0x1f3),_0x18b0e0),process[_0x2d9e40(0x203)](_0x2d9e40(0x1f6),_0x18b0e0),process[_0x2d9e40(0x203)](_0x2d9e40(0x204),_0x18b0e0),cancellationHandlersInstalled=!![];}export async function hook(_0x516391,_0x575044){const _0x1b58b9=_0x4f8a,_0x2fcd82={'PYYzM':function(_0x28c0f5){return _0x28c0f5();},'MIhpN':function(_0x2bafc3,_0x2bfda5){return _0x2bafc3(_0x2bfda5);}};_0x2fcd82[_0x1b58b9(0x1f8)](installCancellationHandlers);const _0x297562=HOOKS[_0x516391];if(!_0x297562){const _0x35fc58=Object[_0x1b58b9(0x1ff)](HOOKS)['join'](',\x20');console['error']('Unknown\x20hook:\x20'+_0x516391),console['error']('Valid\x20hooks:\x20'+_0x35fc58),process['exit'](0x1);}await _0x2fcd82[_0x1b58b9(0x1f7)](_0x297562,_0x575044);}function _0x4ac6(){const _0x42b397=['15866Drjuer','once','SIGHUP','SIGINT','46120erUtZb','4275580FOlHRc','SIGTERM','MIhpN','PYYzM','5080568WWFjRQ','616qeEBkV','5OZRUyY','376057phFSbg','701130vjInZK','7Cgbqqm','keys','339rSKdQf','2457495TIKRlP'];_0x4ac6=function(){return _0x42b397;};return _0x4ac6();}
@@ -1 +1 @@
1
- function _0x20db(_0x5bfe2a,_0x613d52){_0x5bfe2a=_0x5bfe2a-0x19e;const _0xf522a9=_0xf522();let _0x20dbd5=_0xf522a9[_0x5bfe2a];return _0x20dbd5;}(function(_0x47adb4,_0x40e9b1){const _0x1b3a82=_0x20db,_0x411836=_0x47adb4();while(!![]){try{const _0x2841cc=parseInt(_0x1b3a82(0x19e))/0x1*(parseInt(_0x1b3a82(0x1a9))/0x2)+parseInt(_0x1b3a82(0x1ad))/0x3+parseInt(_0x1b3a82(0x1ac))/0x4*(-parseInt(_0x1b3a82(0x1a0))/0x5)+parseInt(_0x1b3a82(0x1a4))/0x6*(-parseInt(_0x1b3a82(0x19f))/0x7)+-parseInt(_0x1b3a82(0x1a3))/0x8*(-parseInt(_0x1b3a82(0x1aa))/0x9)+-parseInt(_0x1b3a82(0x1a7))/0xa+-parseInt(_0x1b3a82(0x1a1))/0xb*(-parseInt(_0x1b3a82(0x1a2))/0xc);if(_0x2841cc===_0x40e9b1)break;else _0x411836['push'](_0x411836['shift']());}catch(_0x46606a){_0x411836['push'](_0x411836['shift']());}}}(_0xf522,0x3ef2b));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.';function _0xf522(){const _0x30bb2c=['264915LpjuFQ','4220yCXIHH','156354jJPjEw','24TsRBfh','24uDjStM','66RSFDTw','JykXE','rsefc','3958490PqAZKb','session_id','975342UpdHkC','1414233BsbSwm','log','1724gwIYCq','1338699ABRtRP','1anUfai'];_0xf522=function(){return _0x30bb2c;};return _0xf522();}export async function autoPrompt(){const _0x55a3a5=_0x20db,_0xccb110={'JykXE':function(_0x4cb9d9,_0x51a83a){return _0x4cb9d9(_0x51a83a);},'rsefc':function(_0x26759a,_0x2fc1da){return _0x26759a(_0x2fc1da);}},_0x4c1fa5=await readHookInput(),_0xf3f754=_0x4c1fa5?.[_0x55a3a5(0x1a8)];if(!_0xf3f754)return;if(_0xccb110['JykXE'](isSessionEnabled,_0xf3f754)||_0xccb110[_0x55a3a5(0x1a5)](hasSessionBeenPrompted,_0xf3f754))return;_0xccb110[_0x55a3a5(0x1a6)](markSessionPrompted,_0xf3f754),console[_0x55a3a5(0x1ab)](AUTO_PROMPT_TEXT);}
1
+ (function(_0x15cb87,_0x33acfb){const _0x86b2fe=_0x3eca,_0x512b1b=_0x15cb87();while(!![]){try{const _0x4aa9e3=parseInt(_0x86b2fe(0xb0))/0x1+parseInt(_0x86b2fe(0xb2))/0x2*(parseInt(_0x86b2fe(0xba))/0x3)+parseInt(_0x86b2fe(0xb8))/0x4+-parseInt(_0x86b2fe(0xbc))/0x5+-parseInt(_0x86b2fe(0xb6))/0x6+-parseInt(_0x86b2fe(0xbb))/0x7*(parseInt(_0x86b2fe(0xb1))/0x8)+-parseInt(_0x86b2fe(0xb3))/0x9;if(_0x4aa9e3===_0x33acfb)break;else _0x512b1b['push'](_0x512b1b['shift']());}catch(_0x5b07cc){_0x512b1b['push'](_0x512b1b['shift']());}}}(_0x434e,0xdf139));function _0x3eca(_0x4b32d5,_0x1188b1){_0x4b32d5=_0x4b32d5-0xb0;const _0x434e0a=_0x434e();let _0x3eca2f=_0x434e0a[_0x4b32d5];return _0x3eca2f;}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 _0x36a749=_0x3eca,_0x3c1d15={'xDNjg':function(_0x246afe,_0x147c6e){return _0x246afe(_0x147c6e);},'Dpbin':function(_0x21fd17,_0x52ab92){return _0x21fd17(_0x52ab92);}},_0x4b9b7c=await readHookInput(),_0x3e65db=_0x4b9b7c?.[_0x36a749(0xb9)];if(!_0x3e65db)return;if(_0x3c1d15['xDNjg'](isSessionEnabled,_0x3e65db)||_0x3c1d15[_0x36a749(0xb5)](hasSessionBeenPrompted,_0x3e65db))return;_0x3c1d15[_0x36a749(0xb7)](markSessionPrompted,_0x3e65db),console[_0x36a749(0xb4)](AUTO_PROMPT_TEXT);}function _0x434e(){const _0x214847=['6574368STHcvF','session_id','207WeCADV','469pjNIhA','2582860YzqHkb','1166775yCtMOh','75864oMpIbm','16084PCTimY','4167243SgHfsC','log','xDNjg','5019504pimDkO','Dpbin'];_0x434e=function(){return _0x214847;};return _0x434e();}
@@ -1 +1 @@
1
- function _0x42c5(_0xf31d92,_0x95d429){_0xf31d92=_0xf31d92-0xa8;const _0x319c00=_0x319c();let _0x42c59e=_0x319c00[_0xf31d92];return _0x42c59e;}(function(_0x18ed9b,_0x2f36b1){const _0x47d903=_0x42c5,_0x29aad2=_0x18ed9b();while(!![]){try{const _0x49aa1d=parseInt(_0x47d903(0xac))/0x1+-parseInt(_0x47d903(0xad))/0x2+parseInt(_0x47d903(0xb0))/0x3+parseInt(_0x47d903(0xae))/0x4+parseInt(_0x47d903(0xaf))/0x5+-parseInt(_0x47d903(0xb5))/0x6*(parseInt(_0x47d903(0xb3))/0x7)+parseInt(_0x47d903(0xb2))/0x8;if(_0x49aa1d===_0x2f36b1)break;else _0x29aad2['push'](_0x29aad2['shift']());}catch(_0xfd861c){_0x29aad2['push'](_0x29aad2['shift']());}}}(_0x319c,0x68fb7));function _0x319c(){const _0xee0e93=['FsCuj','main','env','\x20and\x20branch\x20\x27','master','130204PoIJMd','1679712ZAWsgI','385068vtTbmN','476210sAcghQ','1210977ptFYRu','.\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`.','6188528QEdevQ','6545IWEujP','ZKmWB','1470CVeMdU','IMGIb'];_0x319c=function(){return _0xee0e93;};return _0x319c();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x572412){const _0x4ca98f=_0x42c5,_0xfe59a0={'wnlqB':function(_0x3522b9){return _0x3522b9();},'FsCuj':_0x4ca98f(0xa8),'ZKmWB':function(_0x3aa7d2,_0x59bfa6){return _0x3aa7d2(_0x59bfa6);},'IMGIb':function(_0x4234d7,_0x2c1054){return _0x4234d7!==_0x2c1054;}},_0x16d0a2=_0x572412||process[_0x4ca98f(0xa9)]['CLAUDE_SESSION_ID']||'';_0x16d0a2&&disableSession(_0x16d0a2);const _0xa5b80a=_0xfe59a0['wnlqB'](getCurrentBranch);_0xa5b80a&&_0xa5b80a!==_0xfe59a0[_0x4ca98f(0xb7)]&&_0xa5b80a!==_0x4ca98f(0xab)&&_0xfe59a0[_0x4ca98f(0xb4)](disableBranch,_0xa5b80a),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0xa5b80a&&_0xa5b80a!==_0x4ca98f(0xa8)&&_0xfe59a0[_0x4ca98f(0xb6)](_0xa5b80a,_0x4ca98f(0xab))?_0x4ca98f(0xaa)+_0xa5b80a+'\x27':'')+_0x4ca98f(0xb1));}
1
+ function _0x4b56(){const _0x456460=['.\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`.','yXNVw','master','IPatL','904479vdWPOU','1123700sBcCNc','5JMGHkk','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','993031rZRvva','main','9058664lGseSA','3752756vBLAJs','117gvunhg','1299384WGfTMl','env','3833124oafKhT','JwnSA','2AxotRy'];_0x4b56=function(){return _0x456460;};return _0x4b56();}(function(_0x4e19f3,_0x5dc639){const _0x5eb7ed=_0x10d7,_0x45d069=_0x4e19f3();while(!![]){try{const _0xff148e=parseInt(_0x5eb7ed(0x146))/0x1+-parseInt(_0x5eb7ed(0x14f))/0x2*(parseInt(_0x5eb7ed(0x154))/0x3)+parseInt(_0x5eb7ed(0x14d))/0x4*(parseInt(_0x5eb7ed(0x156))/0x5)+-parseInt(_0x5eb7ed(0x14b))/0x6+-parseInt(_0x5eb7ed(0x149))/0x7+parseInt(_0x5eb7ed(0x148))/0x8+-parseInt(_0x5eb7ed(0x14a))/0x9*(parseInt(_0x5eb7ed(0x155))/0xa);if(_0xff148e===_0x5dc639)break;else _0x45d069['push'](_0x45d069['shift']());}catch(_0x15b0a2){_0x45d069['push'](_0x45d069['shift']());}}}(_0x4b56,0x8ad5e));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x10d7(_0x1b47b2,_0x2a7932){_0x1b47b2=_0x1b47b2-0x146;const _0x4b5657=_0x4b56();let _0x10d7ab=_0x4b5657[_0x1b47b2];return _0x10d7ab;}import{printBlock}from'./output.js';export async function disable(_0x2435e4){const _0x47d0d4=_0x10d7,_0x36c9ac={'yXNVw':function(_0x3a885c,_0x4a96dd){return _0x3a885c!==_0x4a96dd;},'vDVUU':_0x47d0d4(0x147),'IPatL':_0x47d0d4(0x152),'JwnSA':function(_0x454374,_0x43795a){return _0x454374(_0x43795a);},'yzAsk':function(_0x420bd6,_0x4391a1){return _0x420bd6!==_0x4391a1;}},_0x5ef83e=_0x2435e4||process[_0x47d0d4(0x14c)]['CLAUDE_SESSION_ID']||'';_0x5ef83e&&disableSession(_0x5ef83e);const _0x57db4f=getCurrentBranch();_0x57db4f&&_0x36c9ac[_0x47d0d4(0x151)](_0x57db4f,_0x36c9ac['vDVUU'])&&_0x57db4f!==_0x36c9ac[_0x47d0d4(0x153)]&&_0x36c9ac[_0x47d0d4(0x14e)](disableBranch,_0x57db4f),printBlock(_0x47d0d4(0x157)+(_0x57db4f&&_0x57db4f!=='main'&&_0x36c9ac['yzAsk'](_0x57db4f,'master')?'\x20and\x20branch\x20\x27'+_0x57db4f+'\x27':'')+_0x47d0d4(0x150));}
@@ -1 +1 @@
1
- (function(_0x1399f5,_0x1b790b){const _0x445223=_0x3d10,_0x518561=_0x1399f5();while(!![]){try{const _0x705246=parseInt(_0x445223(0x154))/0x1+-parseInt(_0x445223(0x150))/0x2*(-parseInt(_0x445223(0x159))/0x3)+-parseInt(_0x445223(0x15e))/0x4+parseInt(_0x445223(0x14a))/0x5*(parseInt(_0x445223(0x156))/0x6)+-parseInt(_0x445223(0x15b))/0x7*(-parseInt(_0x445223(0x14e))/0x8)+-parseInt(_0x445223(0x158))/0x9*(-parseInt(_0x445223(0x149))/0xa)+-parseInt(_0x445223(0x14b))/0xb;if(_0x705246===_0x1b790b)break;else _0x518561['push'](_0x518561['shift']());}catch(_0x17f80d){_0x518561['push'](_0x518561['shift']());}}}(_0x10a5,0x99923));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x10a5(){const _0x3d3da5=['Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','19054syFlEP','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','KFiII','1712724ppfKvr','ranger\x20setup','190EAgINA','122920YdueYR','26011799JPEhWd','uOIOR','\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`.','736HjUTUa','uWdLG','2431358nTZZJe','ranger\x20setup\x20--opencode','env','zDspT','226680yvwmbT','#\x20RANGER\x20ENABLED','282zEFCCu','master','271746vlSgwx','3PMyYuH'];_0x10a5=function(){return _0x3d3da5;};return _0x10a5();}import{getToken}from'../utils/keychain.js';function _0x3d10(_0x269ba2,_0x59df52){_0x269ba2=_0x269ba2-0x148;const _0x10a541=_0x10a5();let _0x3d1039=_0x10a541[_0x269ba2];return _0x3d1039;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x30e60f){const _0x2b798b=_0x3d10,_0x3eb62a={'uOIOR':function(_0x352398,_0x124784){return _0x352398(_0x124784);},'KFiII':_0x2b798b(0x148),'cIDhh':_0x2b798b(0x15c),'zDspT':function(_0x38e3cd){return _0x38e3cd();},'xXTMr':function(_0x44ce04){return _0x44ce04();},'EpvyY':'main','uWdLG':function(_0x413203,_0x4e2a4b){return _0x413203(_0x4e2a4b);}},_0x1cbd70=_0x30e60f||process[_0x2b798b(0x152)]['CLAUDE_SESSION_ID']||'',_0x4e8f4f=_0x3eb62a[_0x2b798b(0x14c)](Boolean,_0x30e60f),_0x425652=await getToken();if(!_0x425652){const _0x53283f=_0x4e8f4f?_0x2b798b(0x151):_0x3eb62a[_0x2b798b(0x15d)],_0x44b1ee=_0x4e8f4f?_0x2b798b(0x15a):_0x3eb62a['cIDhh'];_0x3eb62a['uOIOR'](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`'+_0x53283f+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x44b1ee);return;}try{await _0x3eb62a[_0x2b798b(0x153)](update);}catch{}_0x1cbd70&&_0x3eb62a['uOIOR'](enableSession,_0x1cbd70);const _0x557c34=_0x3eb62a['xXTMr'](getCurrentBranch),_0x1994d0=_0x557c34&&_0x557c34!==_0x3eb62a['EpvyY']&&_0x557c34!==_0x2b798b(0x157)?'\x0a\x0a**Branch\x20\x27'+_0x557c34+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x28f7f3=_0x3eb62a[_0x2b798b(0x153)](getRangerSkillContent);_0x3eb62a[_0x2b798b(0x14f)](printBlock,_0x2b798b(0x155)+_0x1994d0+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x28f7f3+_0x2b798b(0x14d));}
1
+ (function(_0x3ac512,_0x194924){const _0x4f1809=_0x5cd7,_0x564992=_0x3ac512();while(!![]){try{const _0x4ecf51=-parseInt(_0x4f1809(0xec))/0x1+-parseInt(_0x4f1809(0xfb))/0x2*(-parseInt(_0x4f1809(0xed))/0x3)+parseInt(_0x4f1809(0xeb))/0x4*(parseInt(_0x4f1809(0xf4))/0x5)+-parseInt(_0x4f1809(0xfa))/0x6+-parseInt(_0x4f1809(0xf2))/0x7*(parseInt(_0x4f1809(0xf1))/0x8)+parseInt(_0x4f1809(0xf7))/0x9*(-parseInt(_0x4f1809(0xee))/0xa)+parseInt(_0x4f1809(0xf5))/0xb;if(_0x4ecf51===_0x194924)break;else _0x564992['push'](_0x564992['shift']());}catch(_0x5da8bf){_0x564992['push'](_0x564992['shift']());}}}(_0x56f5,0x7edf4));function _0x56f5(){const _0x285711=['8Uxrelg','664188gqZuWF','KxZEj','10480qkeCrH','908402bovbMq','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','513tzPVlp','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','IqYnR','1060974KoGequ','1689882ThQDZB','#\x20RANGER\x20ENABLED','ranger\x20setup','304xppUrH','133273tpXNlv','3IBZYmp','28450UyEOMD','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','fnAbA'];_0x56f5=function(){return _0x285711;};return _0x56f5();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x5cd7(_0x210571,_0x6c9135){_0x210571=_0x210571-0xea;const _0x56f536=_0x56f5();let _0x5cd7e8=_0x56f536[_0x210571];return _0x5cd7e8;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4e5ad1){const _0xe53fb9=_0x5cd7,_0x2dcc40={'EuBND':'ranger\x20setup\x20--opencode','IqYnR':_0xe53fb9(0xea),'fnAbA':_0xe53fb9(0xf6),'fnaht':_0xe53fb9(0xef),'KxZEj':function(_0x396d4f,_0x1feefe){return _0x396d4f(_0x1feefe);},'fMNml':'main','FTKwe':'master'},_0x391724=_0x4e5ad1||process['env']['CLAUDE_SESSION_ID']||'',_0x697377=Boolean(_0x4e5ad1),_0x433f45=await getToken();if(!_0x433f45){const _0x578304=_0x697377?_0x2dcc40['EuBND']:_0x2dcc40[_0xe53fb9(0xf9)],_0x3e572e=_0x697377?_0x2dcc40[_0xe53fb9(0xf0)]:_0x2dcc40['fnaht'];_0x2dcc40[_0xe53fb9(0xf3)](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`'+_0x578304+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x3e572e);return;}try{await update();}catch{}_0x391724&&enableSession(_0x391724);const _0x90cf8c=getCurrentBranch(),_0x448836=_0x90cf8c&&_0x90cf8c!==_0x2dcc40['fMNml']&&_0x90cf8c!==_0x2dcc40['FTKwe']?'\x0a\x0a**Branch\x20\x27'+_0x90cf8c+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x16b581=getRangerSkillContent();printBlock(_0xe53fb9(0xfc)+_0x448836+_0xe53fb9(0xf8)+_0x16b581+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
@@ -1 +1 @@
1
- (function(_0x5f0bcb,_0x2dcf83){const _0x3ea974=_0x5b0f,_0x330eea=_0x5f0bcb();while(!![]){try{const _0x2919be=-parseInt(_0x3ea974(0x19a))/0x1+parseInt(_0x3ea974(0x196))/0x2+parseInt(_0x3ea974(0x198))/0x3+parseInt(_0x3ea974(0x197))/0x4+parseInt(_0x3ea974(0x195))/0x5+parseInt(_0x3ea974(0x19e))/0x6*(-parseInt(_0x3ea974(0x199))/0x7)+-parseInt(_0x3ea974(0x19c))/0x8*(parseInt(_0x3ea974(0x19d))/0x9);if(_0x2919be===_0x2dcf83)break;else _0x330eea['push'](_0x330eea['shift']());}catch(_0xdfa67c){_0x330eea['push'](_0x330eea['shift']());}}}(_0x38b4,0x9892a));function _0x38b4(){const _0x441c8a=['18zTZrfY','120570hKzivG','1080754DcTKCu','1588560RXnQoS','2709462FhODSH','893571jvvoOl','828267exMeHG','===\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===','8GHKLkf','257589lDtYjJ'];_0x38b4=function(){return _0x441c8a;};return _0x38b4();}function _0x5b0f(_0xc2ccac,_0x367cc4){_0xc2ccac=_0xc2ccac-0x195;const _0x38b460=_0x38b4();let _0x5b0f4e=_0x38b460[_0xc2ccac];return _0x5b0f4e;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x44abeb){const _0x36cef2=_0x5b0f,_0x170dfe=await getEnabledSessionId(_0x44abeb);if(!_0x170dfe)return;printBlock(_0x36cef2(0x19b));}
1
+ (function(_0x2023d5,_0x144c07){const _0x3286ce=_0x4b0b,_0x351822=_0x2023d5();while(!![]){try{const _0x368953=parseInt(_0x3286ce(0x1a2))/0x1+-parseInt(_0x3286ce(0x1aa))/0x2+-parseInt(_0x3286ce(0x1a8))/0x3*(-parseInt(_0x3286ce(0x1a7))/0x4)+parseInt(_0x3286ce(0x1a5))/0x5*(-parseInt(_0x3286ce(0x1ab))/0x6)+parseInt(_0x3286ce(0x1ac))/0x7*(parseInt(_0x3286ce(0x1a4))/0x8)+-parseInt(_0x3286ce(0x1a6))/0x9*(parseInt(_0x3286ce(0x1a9))/0xa)+parseInt(_0x3286ce(0x1a3))/0xb*(parseInt(_0x3286ce(0x1a1))/0xc);if(_0x368953===_0x144c07)break;else _0x351822['push'](_0x351822['shift']());}catch(_0x34588d){_0x351822['push'](_0x351822['shift']());}}}(_0x1fe5,0x3f4eb));function _0x4b0b(_0xa1fea5,_0x5da935){_0xa1fea5=_0xa1fea5-0x1a1;const _0x1fe5ea=_0x1fe5();let _0x4b0b18=_0x1fe5ea[_0xa1fea5];return _0x4b0b18;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x28a1a1){const _0x2738e1=await getEnabledSessionId(_0x28a1a1);if(!_0x2738e1)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x1fe5(){const _0x440c1d=['241857pUnEKR','87010yhEynd','8WbFDsm','1124205QfNGmW','9EZkNRC','16qDLLUs','71091YJDNfg','4653010ALiZaB','648200MTauIf','6oEJyie','2073358SdyXZj','972MMryOC'];_0x1fe5=function(){return _0x440c1d;};return _0x1fe5();}
@@ -1 +1 @@
1
- function _0x10ce(){var _0x500379=['4uTDxdl','11864DNwGvs','474867TOkMqU','137873Tjcdqe','90AzsLMs','9GGuJfk','466632gQrQgq','1596315QsSufZ','981088YTiSzZ','7083230nCxIaP','3143sQHwJm'];_0x10ce=function(){return _0x500379;};return _0x10ce();}function _0x2424(_0x307415,_0x51a7f7){_0x307415=_0x307415-0x16a;var _0x10ce21=_0x10ce();var _0x2424b0=_0x10ce21[_0x307415];return _0x2424b0;}(function(_0x34c3e3,_0x13e8e8){var _0x4c24e2=_0x2424,_0x1ec4ac=_0x34c3e3();while(!![]){try{var _0x496b04=parseInt(_0x4c24e2(0x173))/0x1*(parseInt(_0x4c24e2(0x170))/0x2)+parseInt(_0x4c24e2(0x16a))/0x3*(-parseInt(_0x4c24e2(0x16d))/0x4)+parseInt(_0x4c24e2(0x16c))/0x5+parseInt(_0x4c24e2(0x16b))/0x6+-parseInt(_0x4c24e2(0x16f))/0x7*(parseInt(_0x4c24e2(0x171))/0x8)+-parseInt(_0x4c24e2(0x172))/0x9*(-parseInt(_0x4c24e2(0x174))/0xa)+parseInt(_0x4c24e2(0x16e))/0xb;if(_0x496b04===_0x13e8e8)break;else _0x1ec4ac['push'](_0x1ec4ac['shift']());}catch(_0x551acc){_0x1ec4ac['push'](_0x1ec4ac['shift']());}}}(_0x10ce,0x5f307));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x4ac83a,_0x2c6874){var _0x19a6ea=_0x5882,_0x42c565=_0x4ac83a();while(!![]){try{var _0x1c981f=parseInt(_0x19a6ea(0x153))/0x1*(parseInt(_0x19a6ea(0x156))/0x2)+parseInt(_0x19a6ea(0x152))/0x3+-parseInt(_0x19a6ea(0x14f))/0x4+parseInt(_0x19a6ea(0x154))/0x5*(-parseInt(_0x19a6ea(0x155))/0x6)+parseInt(_0x19a6ea(0x150))/0x7*(parseInt(_0x19a6ea(0x158))/0x8)+parseInt(_0x19a6ea(0x157))/0x9*(parseInt(_0x19a6ea(0x151))/0xa)+-parseInt(_0x19a6ea(0x14e))/0xb;if(_0x1c981f===_0x2c6874)break;else _0x42c565['push'](_0x42c565['shift']());}catch(_0x5690b7){_0x42c565['push'](_0x42c565['shift']());}}}(_0x561e,0x9bf6a));function _0x561e(){var _0x5762c3=['1128zaTgiJ','857901EhlZvw','5006276saYniv','44331GhwBXL','20jwbUvC','2911554WxzzTF','33eXQFsb','1156445TFhlMY','30NWzeWV','72344IdPDfN','304578sDExBO'];_0x561e=function(){return _0x5762c3;};return _0x561e();}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5882(_0x3c3826,_0x5d507f){_0x3c3826=_0x3c3826-0x14e;var _0x561e6c=_0x561e();var _0x5882e8=_0x561e6c[_0x3c3826];return _0x5882e8;}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x43726f,_0xe86d8f){const _0x1f63a0=_0x1495,_0x5e49e8=_0x43726f();while(!![]){try{const _0x206f3b=parseInt(_0x1f63a0(0xc5))/0x1+-parseInt(_0x1f63a0(0xc3))/0x2+-parseInt(_0x1f63a0(0xc1))/0x3+-parseInt(_0x1f63a0(0xc8))/0x4*(-parseInt(_0x1f63a0(0xca))/0x5)+parseInt(_0x1f63a0(0xc9))/0x6+parseInt(_0x1f63a0(0xc7))/0x7*(parseInt(_0x1f63a0(0xc4))/0x8)+-parseInt(_0x1f63a0(0xc2))/0x9;if(_0x206f3b===_0xe86d8f)break;else _0x5e49e8['push'](_0x5e49e8['shift']());}catch(_0x43e52a){_0x5e49e8['push'](_0x5e49e8['shift']());}}}(_0xc713,0xdf4e4));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3be9bc){console['log'](_0x3be9bc);}function _0xc713(){const _0x367181=['2281044atqdJG','38397474exlrjS','714164ADnvxk','8IobGSO','1767233FpFcUB','session_id','10541587DOVZoE','15492FCUDXJ','9623466ZTTcLd','1835LVigii'];_0xc713=function(){return _0x367181;};return _0xc713();}export async function readHookInput(){let _0x1eee03='';try{for await(const _0x35981b of process['stdin']){_0x1eee03+=_0x35981b;}}catch{return null;}if(!_0x1eee03['trim']())return null;try{return JSON['parse'](_0x1eee03);}catch{return null;}}export async function getEnabledSessionId(_0x469b4d){if(_0x469b4d)return isSessionEnabled(_0x469b4d)?_0x469b4d:null;const _0x68dc49=await readHookInput(),_0x2fa46d=_0x68dc49?.['session_id'];if(!_0x2fa46d||!isSessionEnabled(_0x2fa46d))return null;return _0x2fa46d;}function _0x1495(_0x4a141a,_0x4a1137){_0x4a141a=_0x4a141a-0xc1;const _0xc71394=_0xc713();let _0x1495e4=_0xc71394[_0x4a141a];return _0x1495e4;}export async function getEnabledHookContext(_0x78d61d){const _0x20e089=_0x1495,_0x53687d={'UYBTw':function(_0x4f718f,_0x2f38c0){return _0x4f718f(_0x2f38c0);}};if(_0x78d61d){if(!isSessionEnabled(_0x78d61d))return null;return{'sessionId':_0x78d61d,'input':{'session_id':_0x78d61d}};}const _0x1cf425=await readHookInput(),_0x4a2ba4=_0x1cf425?.[_0x20e089(0xc6)];if(!_0x4a2ba4||!_0x53687d['UYBTw'](isSessionEnabled,_0x4a2ba4))return null;return{'sessionId':_0x4a2ba4,'input':_0x1cf425};}
1
+ (function(_0x880783,_0x3d8794){const _0x3c3008=_0x4217,_0x5193f0=_0x880783();while(!![]){try{const _0x114c03=parseInt(_0x3c3008(0x11f))/0x1+-parseInt(_0x3c3008(0x111))/0x2*(-parseInt(_0x3c3008(0x110))/0x3)+parseInt(_0x3c3008(0x119))/0x4*(parseInt(_0x3c3008(0x11e))/0x5)+parseInt(_0x3c3008(0x11b))/0x6+parseInt(_0x3c3008(0x116))/0x7*(parseInt(_0x3c3008(0x114))/0x8)+parseInt(_0x3c3008(0x117))/0x9*(-parseInt(_0x3c3008(0x113))/0xa)+-parseInt(_0x3c3008(0x11a))/0xb;if(_0x114c03===_0x3d8794)break;else _0x5193f0['push'](_0x5193f0['shift']());}catch(_0x40782d){_0x5193f0['push'](_0x5193f0['shift']());}}}(_0xe903,0x97858));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3a5331){console['log'](_0x3a5331);}function _0xe903(){const _0x1f5ee9=['stdin','5496230GSlXRc','5756800yTYFXj','fNEkE','7PkncIv','9ztAhih','trim','4qcNSni','20444754GnRulE','5193480lugyIY','parse','NSzok','697885LCRTGa','892909hzjCPq','session_id','3sShhig','822406ZxPHeD'];_0xe903=function(){return _0x1f5ee9;};return _0xe903();}export async function readHookInput(){const _0x418a9d=_0x4217;let _0x36a75e='';try{for await(const _0x47cffa of process[_0x418a9d(0x112)]){_0x36a75e+=_0x47cffa;}}catch{return null;}if(!_0x36a75e[_0x418a9d(0x118)]())return null;try{return JSON[_0x418a9d(0x11c)](_0x36a75e);}catch{return null;}}export async function getEnabledSessionId(_0x43e0ce){const _0xb845b=_0x4217,_0x146e86={'NSzok':function(_0x67b641,_0x2e40d8){return _0x67b641(_0x2e40d8);}};if(_0x43e0ce)return _0x146e86[_0xb845b(0x11d)](isSessionEnabled,_0x43e0ce)?_0x43e0ce:null;const _0x3e6310=await readHookInput(),_0x45ffdf=_0x3e6310?.[_0xb845b(0x120)];if(!_0x45ffdf||!_0x146e86[_0xb845b(0x11d)](isSessionEnabled,_0x45ffdf))return null;return _0x45ffdf;}function _0x4217(_0x129e37,_0x18e9ea){_0x129e37=_0x129e37-0x110;const _0xe903a3=_0xe903();let _0x42176b=_0xe903a3[_0x129e37];return _0x42176b;}export async function getEnabledHookContext(_0x57636c){const _0x28dbbb=_0x4217,_0xd98716={'fNEkE':function(_0x12f918,_0xb60530){return _0x12f918(_0xb60530);}};if(_0x57636c){if(!_0xd98716['fNEkE'](isSessionEnabled,_0x57636c))return null;return{'sessionId':_0x57636c,'input':{'session_id':_0x57636c}};}const _0x5abae1=await readHookInput(),_0xa7c52a=_0x5abae1?.['session_id'];if(!_0xa7c52a||!_0xd98716[_0x28dbbb(0x115)](isSessionEnabled,_0xa7c52a))return null;return{'sessionId':_0xa7c52a,'input':_0x5abae1};}
@@ -1 +1 @@
1
- function _0x2eb9(_0x2d7557,_0x299aa7){_0x2d7557=_0x2d7557-0x1ee;const _0x2f2e99=_0x2f2e();let _0x2eb9e8=_0x2f2e99[_0x2d7557];return _0x2eb9e8;}(function(_0x46c282,_0x493dcf){const _0x54b0cd=_0x2eb9,_0x11f9ce=_0x46c282();while(!![]){try{const _0x252f0a=-parseInt(_0x54b0cd(0x200))/0x1*(parseInt(_0x54b0cd(0x1fc))/0x2)+-parseInt(_0x54b0cd(0x1f9))/0x3*(parseInt(_0x54b0cd(0x1f2))/0x4)+parseInt(_0x54b0cd(0x1f8))/0x5*(-parseInt(_0x54b0cd(0x1f6))/0x6)+parseInt(_0x54b0cd(0x1f4))/0x7*(parseInt(_0x54b0cd(0x1f3))/0x8)+-parseInt(_0x54b0cd(0x1f1))/0x9+parseInt(_0x54b0cd(0x1f0))/0xa*(-parseInt(_0x54b0cd(0x1fd))/0xb)+-parseInt(_0x54b0cd(0x1f5))/0xc*(-parseInt(_0x54b0cd(0x1ee))/0xd);if(_0x252f0a===_0x493dcf)break;else _0x11f9ce['push'](_0x11f9ce['shift']());}catch(_0xf52553){_0x11f9ce['push'](_0x11f9ce['shift']());}}}(_0x2f2e,0x28422));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x323f17){const _0x274431=_0x2eb9,_0x4bd311={'FYjIz':function(_0x34d98d,_0x25252f){return _0x34d98d(_0x25252f);},'OWRlW':function(_0x127fcb,_0x3e6c51){return _0x127fcb!==_0x3e6c51;},'gNYEn':_0x274431(0x1ef),'jVmRo':function(_0x4e7d8b,_0x394cbc){return _0x4e7d8b(_0x394cbc);}},_0x34e972=await _0x4bd311[_0x274431(0x1fa)](getEnabledHookContext,_0x323f17);if(!_0x34e972)return;if(_0x4bd311[_0x274431(0x1f7)](_0x34e972[_0x274431(0x1ff)][_0x274431(0x1fe)],_0x4bd311['gNYEn']))return;if(!shouldShowPlanReminder(_0x34e972[_0x274431(0x1fb)]))return;_0x4bd311['jVmRo'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x2f2e(){const _0xb95e7=['1454202fuKExT','4XQcZdy','8NDpvwH','1242766zAbAOW','12uPWfcP','1370526qiPNRr','OWRlW','5odOWOI','921786Euzyev','FYjIz','sessionId','487912GnBvfo','11ydIunX','permission_mode','input','1otTHdd','15796833pLxrBj','plan','2865640jKHtIk'];_0x2f2e=function(){return _0xb95e7;};return _0x2f2e();}
1
+ (function(_0x2024aa,_0x1d417d){const _0x431e68=_0x3be8,_0x3ef624=_0x2024aa();while(!![]){try{const _0x37dec9=parseInt(_0x431e68(0x138))/0x1*(parseInt(_0x431e68(0x130))/0x2)+parseInt(_0x431e68(0x131))/0x3+parseInt(_0x431e68(0x12f))/0x4+parseInt(_0x431e68(0x135))/0x5+parseInt(_0x431e68(0x12c))/0x6*(parseInt(_0x431e68(0x136))/0x7)+parseInt(_0x431e68(0x137))/0x8+-parseInt(_0x431e68(0x13a))/0x9;if(_0x37dec9===_0x1d417d)break;else _0x3ef624['push'](_0x3ef624['shift']());}catch(_0x2db1d4){_0x3ef624['push'](_0x3ef624['shift']());}}}(_0x2a5d,0xc04cd));function _0x3be8(_0x25fe26,_0x4542d3){_0x25fe26=_0x25fe26-0x12c;const _0x2a5dab=_0x2a5d();let _0x3be842=_0x2a5dab[_0x25fe26];return _0x3be842;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4a1769){const _0x237acf=_0x3be8,_0x4ea806={'zIRMu':function(_0x4fb43b,_0x46bf3f){return _0x4fb43b!==_0x46bf3f;},'AkbWJ':function(_0x56f11c,_0x30975e){return _0x56f11c(_0x30975e);}},_0x1218da=await getEnabledHookContext(_0x4a1769);if(!_0x1218da)return;if(_0x4ea806[_0x237acf(0x139)](_0x1218da['input'][_0x237acf(0x132)],_0x237acf(0x12d)))return;if(!_0x4ea806[_0x237acf(0x134)](shouldShowPlanReminder,_0x1218da[_0x237acf(0x12e)]))return;printBlock(_0x237acf(0x133));}function _0x2a5d(){const _0x124d93=['permission_mode','===\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===','AkbWJ','4126805aeVdUM','49sZUIFN','7043744ueLFRE','35BJTffq','zIRMu','16272459nzBVgV','8406IhechY','plan','sessionId','1625832GHIWHT','686rREZwz','1384839INSgBu'];_0x2a5d=function(){return _0x124d93;};return _0x2a5d();}
@@ -1 +1 @@
1
- function _0x4d52(_0x4f5542,_0x2e96cd){_0x4f5542=_0x4f5542-0xd0;const _0x369e28=_0x369e();let _0x4d52c8=_0x369e28[_0x4f5542];return _0x4d52c8;}(function(_0x43689b,_0x563343){const _0x42351f=_0x4d52,_0x3f3380=_0x43689b();while(!![]){try{const _0x2aac66=-parseInt(_0x42351f(0xd4))/0x1+-parseInt(_0x42351f(0xd0))/0x2*(-parseInt(_0x42351f(0xd5))/0x3)+parseInt(_0x42351f(0xd3))/0x4+-parseInt(_0x42351f(0xd8))/0x5*(-parseInt(_0x42351f(0xd7))/0x6)+parseInt(_0x42351f(0xd1))/0x7+-parseInt(_0x42351f(0xd6))/0x8+parseInt(_0x42351f(0xd9))/0x9;if(_0x2aac66===_0x563343)break;else _0x3f3380['push'](_0x3f3380['shift']());}catch(_0x56703a){_0x3f3380['push'](_0x3f3380['shift']());}}}(_0x369e,0x875fd));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x3965d4){const _0x37ddbb=_0x4d52,_0x4d4b6f={'bkNtg':function(_0x220cc7,_0x2a46b1){return _0x220cc7(_0x2a46b1);}},_0x3f5491=await getEnabledSessionId(_0x3965d4);if(!_0x3f5491)return;_0x4d4b6f[_0x37ddbb(0xd2)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}function _0x369e(){const _0x3057cb=['3006647eVoBnk','bkNtg','2386496sKRVbm','991572PLCVeA','93zFPMTf','7469992denucn','264cvEqzK','26915btUAZa','9166311FOnykM','12796XVqexX'];_0x369e=function(){return _0x3057cb;};return _0x369e();}
1
+ (function(_0xc45fbd,_0x5dd6b4){const _0x15375e=_0x2bac,_0x1885ff=_0xc45fbd();while(!![]){try{const _0x97294c=parseInt(_0x15375e(0x11b))/0x1*(-parseInt(_0x15375e(0x11d))/0x2)+parseInt(_0x15375e(0x11a))/0x3*(-parseInt(_0x15375e(0x119))/0x4)+parseInt(_0x15375e(0x122))/0x5+parseInt(_0x15375e(0x118))/0x6+-parseInt(_0x15375e(0x121))/0x7*(parseInt(_0x15375e(0x11f))/0x8)+parseInt(_0x15375e(0x120))/0x9*(-parseInt(_0x15375e(0x125))/0xa)+-parseInt(_0x15375e(0x126))/0xb*(-parseInt(_0x15375e(0x11e))/0xc);if(_0x97294c===_0x5dd6b4)break;else _0x1885ff['push'](_0x1885ff['shift']());}catch(_0x5a8984){_0x1885ff['push'](_0x1885ff['shift']());}}}(_0x3a04,0x24628));function _0x2bac(_0x225bb5,_0x2293dd){_0x225bb5=_0x225bb5-0x118;const _0x3a0419=_0x3a04();let _0x2bacff=_0x3a0419[_0x225bb5];return _0x2bacff;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x5f43ce){const _0x3ac900=_0x2bac,_0x146b99={'NQOUb':function(_0x2ce964,_0x33af61){return _0x2ce964(_0x33af61);},'knqWm':function(_0x5d314c,_0x7577e8){return _0x5d314c(_0x7577e8);}},_0x3bd3c3=await _0x146b99[_0x3ac900(0x11c)](getEnabledSessionId,_0x5f43ce);if(!_0x3bd3c3)return;_0x146b99[_0x3ac900(0x124)](printBlock,_0x3ac900(0x123));}function _0x3a04(){const _0x5f422b=['530170aqBekp','===\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===','knqWm','20VBJYNp','209xvEtDg','365370GHkDni','193852EYJiVo','6cXCyWp','4207bOvyqx','NQOUb','120SyKwDb','518532ImzXUQ','6416PCCOSW','1279116OmFUij','1792JPsvvO'];_0x3a04=function(){return _0x5f422b;};return _0x3a04();}
@@ -1 +1 @@
1
- (function(_0x43dda4,_0xbc68df){const _0xd1d306=_0x281b,_0x5b3f8f=_0x43dda4();while(!![]){try{const _0x53bcd4=parseInt(_0xd1d306(0x12c))/0x1+parseInt(_0xd1d306(0x129))/0x2*(-parseInt(_0xd1d306(0x12f))/0x3)+-parseInt(_0xd1d306(0x12b))/0x4+-parseInt(_0xd1d306(0x12d))/0x5+-parseInt(_0xd1d306(0x12e))/0x6*(-parseInt(_0xd1d306(0x131))/0x7)+parseInt(_0xd1d306(0x126))/0x8+parseInt(_0xd1d306(0x130))/0x9;if(_0x53bcd4===_0xbc68df)break;else _0x5b3f8f['push'](_0x5b3f8f['shift']());}catch(_0xc3edc5){_0x5b3f8f['push'](_0x5b3f8f['shift']());}}}(_0x5159,0xce2f7));function _0x281b(_0x2ad158,_0x3440d4){_0x2ad158=_0x2ad158-0x125;const _0x5159e2=_0x5159();let _0x281b4f=_0x5159e2[_0x2ad158];return _0x281b4f;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x5159(){const _0x10e223=['6810504IzyeWP','stringify','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.','2wizwTJ','PostToolUse','5120416wxmAFc','331980KBhfig','5487530MdOTat','6TMsLcj','1088913DRvMPf','13356720cyagLa','6424201sXJYmS','log','FOvSS'];_0x5159=function(){return _0x10e223;};return _0x5159();}export async function postEdit(_0x4fa830){const _0x48df8d=_0x281b,_0x3c44c4={'zForM':function(_0x91fe8f,_0x2a59f7){return _0x91fe8f(_0x2a59f7);},'FOvSS':function(_0x5cb54a){return _0x5cb54a();}},_0x2c1911=await _0x3c44c4['zForM'](getEnabledSessionId,_0x4fa830);if(!_0x2c1911)return;updateBranchTracking(_0x2c1911);const _0x2aee85=await _0x3c44c4[_0x48df8d(0x125)](getToken);if(!_0x2aee85)return;const _0x569aaf=_0x3c44c4['zForM'](getSessionEntry,_0x2c1911);if(_0x569aaf){const _0x12ee90={'hookSpecificOutput':{'hookEventName':_0x48df8d(0x12a),'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[_0x48df8d(0x132)](JSON[_0x48df8d(0x127)](_0x12ee90));return;}const _0x25b2ef={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x48df8d(0x128)}};console['log'](JSON['stringify'](_0x25b2ef));}
1
+ (function(_0x52b48f,_0x11607e){const _0xfed8a5=_0x172f,_0xf77bc7=_0x52b48f();while(!![]){try{const _0x4b2ada=parseInt(_0xfed8a5(0xd2))/0x1*(-parseInt(_0xfed8a5(0xd0))/0x2)+parseInt(_0xfed8a5(0xda))/0x3+parseInt(_0xfed8a5(0xd9))/0x4+parseInt(_0xfed8a5(0xdb))/0x5*(parseInt(_0xfed8a5(0xd3))/0x6)+parseInt(_0xfed8a5(0xd4))/0x7+-parseInt(_0xfed8a5(0xd8))/0x8+-parseInt(_0xfed8a5(0xd6))/0x9;if(_0x4b2ada===_0x11607e)break;else _0xf77bc7['push'](_0xf77bc7['shift']());}catch(_0x12dc12){_0xf77bc7['push'](_0xf77bc7['shift']());}}}(_0x2742,0xbe606));function _0x2742(){const _0xd677dc=['464826fHYUsa','6888749qTPHGA','log','21027339sGmjoU','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).','3816456MHzHGS','6238088aCFQQc','2764605pxouXE','25PXUppl','2XVFMzh','vzynb','259309FyvWfy'];_0x2742=function(){return _0xd677dc;};return _0x2742();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x172f(_0x434877,_0x584891){_0x434877=_0x434877-0xd0;const _0x274232=_0x2742();let _0x172ff5=_0x274232[_0x434877];return _0x172ff5;}export async function postEdit(_0x3655c2){const _0x45655e=_0x172f,_0x1dd50f={'eCkGP':function(_0x327e98,_0x49a07a){return _0x327e98(_0x49a07a);},'vzynb':'PostToolUse'},_0x190c8c=await getEnabledSessionId(_0x3655c2);if(!_0x190c8c)return;updateBranchTracking(_0x190c8c);const _0x2418e2=await getToken();if(!_0x2418e2)return;const _0x544496=_0x1dd50f['eCkGP'](getSessionEntry,_0x190c8c);if(_0x544496){const _0x53e588={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x45655e(0xd7)}};console[_0x45655e(0xd5)](JSON['stringify'](_0x53e588));return;}const _0x2094f1={'hookSpecificOutput':{'hookEventName':_0x1dd50f[_0x45655e(0xd1)],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console[_0x45655e(0xd5)](JSON['stringify'](_0x2094f1));}
@@ -1 +1 @@
1
- function _0x4a64(){const _0x5334de=['603fErnQt','3tZCTDV','lOMNo','205570wRsghs','3441886qpkfCK','1784JeFDIa','182346wALyip','584198UWCBpM','30FMIWyP','189076zcQbLH','4077410YkHKqJ'];_0x4a64=function(){return _0x5334de;};return _0x4a64();}(function(_0xbc0124,_0x4ca778){const _0x443aac=_0x51eb,_0x866c4f=_0xbc0124();while(!![]){try{const _0x41019c=parseInt(_0x443aac(0x1cf))/0x1+-parseInt(_0x443aac(0x1ce))/0x2+-parseInt(_0x443aac(0x1c9))/0x3*(parseInt(_0x443aac(0x1d1))/0x4)+-parseInt(_0x443aac(0x1cb))/0x5*(parseInt(_0x443aac(0x1d0))/0x6)+parseInt(_0x443aac(0x1cc))/0x7+parseInt(_0x443aac(0x1cd))/0x8*(-parseInt(_0x443aac(0x1d3))/0x9)+-parseInt(_0x443aac(0x1d2))/0xa;if(_0x41019c===_0x4ca778)break;else _0x866c4f['push'](_0x866c4f['shift']());}catch(_0x33811d){_0x866c4f['push'](_0x866c4f['shift']());}}}(_0x4a64,0x4b7d2));import{getToken}from'../utils/keychain.js';function _0x51eb(_0x127805,_0x1e8253){_0x127805=_0x127805-0x1c9;const _0x4a64d9=_0x4a64();let _0x51eb69=_0x4a64d9[_0x127805];return _0x51eb69;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x1c5bc1){const _0x519f6f=_0x51eb,_0x428495={'XIGik':function(_0xd9d75b,_0x2561a9){return _0xd9d75b(_0x2561a9);},'JihFx':function(_0x21123){return _0x21123();},'lOMNo':function(_0x5010e5,_0x1c895a){return _0x5010e5(_0x1c895a);}},_0x4f7f87=await _0x428495['XIGik'](getEnabledSessionId,_0x1c5bc1);if(!_0x4f7f87)return;try{const _0x5496d1=await _0x428495['JihFx'](getToken);if(!_0x5496d1)return;_0x428495[_0x519f6f(0x1ca)](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
+ (function(_0x1794e0,_0x3cb809){const _0x1b0318=_0x1b3c,_0x37bc80=_0x1794e0();while(!![]){try{const _0x37a9b1=-parseInt(_0x1b0318(0xd8))/0x1*(-parseInt(_0x1b0318(0xdf))/0x2)+parseInt(_0x1b0318(0xde))/0x3+-parseInt(_0x1b0318(0xd6))/0x4*(parseInt(_0x1b0318(0xdc))/0x5)+parseInt(_0x1b0318(0xd9))/0x6+-parseInt(_0x1b0318(0xd3))/0x7*(-parseInt(_0x1b0318(0xdd))/0x8)+parseInt(_0x1b0318(0xd5))/0x9*(parseInt(_0x1b0318(0xd4))/0xa)+parseInt(_0x1b0318(0xda))/0xb*(-parseInt(_0x1b0318(0xdb))/0xc);if(_0x37a9b1===_0x3cb809)break;else _0x37bc80['push'](_0x37bc80['shift']());}catch(_0x5ccbef){_0x37bc80['push'](_0x37bc80['shift']());}}}(_0x1be4,0xcaffc));import{getToken}from'../utils/keychain.js';function _0x1b3c(_0x442ed7,_0x297f43){_0x442ed7=_0x442ed7-0xd3;const _0x1be447=_0x1be4();let _0x1b3cf9=_0x1be447[_0x442ed7];return _0x1b3cf9;}function _0x1be4(){const _0x3683da=['3134719lyVyxg','416210kyuycl','162SYoJFM','20FYhPSr','===\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`.','46mpRibz','4686414GgFrrg','5509317LAOElE','48uPGjvg','1217530KciHLI','16nZZlDP','321699MEOBJu','66056ETKejb'];_0x1be4=function(){return _0x3683da;};return _0x1be4();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x49b61a){const _0x8ef480=_0x1b3c,_0x1879d2={'iXgxT':function(_0x50e516,_0x236bea){return _0x50e516(_0x236bea);},'kvvJr':function(_0x257328){return _0x257328();}},_0x16628a=await _0x1879d2['iXgxT'](getEnabledSessionId,_0x49b61a);if(!_0x16628a)return;try{const _0x5ec6df=await _0x1879d2['kvvJr'](getToken);if(!_0x5ec6df)return;printBlock(_0x8ef480(0xd7));}catch{}}
@@ -1 +1 @@
1
- (function(_0x3cf07a,_0x426cce){const _0x8a81f6=_0x36f8,_0x481341=_0x3cf07a();while(!![]){try{const _0x2c3ca2=parseInt(_0x8a81f6(0xf3))/0x1+parseInt(_0x8a81f6(0xf2))/0x2+-parseInt(_0x8a81f6(0xf6))/0x3*(parseInt(_0x8a81f6(0xf7))/0x4)+-parseInt(_0x8a81f6(0xef))/0x5+parseInt(_0x8a81f6(0xf1))/0x6+-parseInt(_0x8a81f6(0xee))/0x7+parseInt(_0x8a81f6(0xf4))/0x8;if(_0x2c3ca2===_0x426cce)break;else _0x481341['push'](_0x481341['shift']());}catch(_0x3e87b7){_0x481341['push'](_0x481341['shift']());}}}(_0x1518,0x579b1));function _0x36f8(_0x38568c,_0x285ee1){_0x38568c=_0x38568c-0xee;const _0x151805=_0x1518();let _0x36f8da=_0x151805[_0x38568c];return _0x36f8da;}function _0x1518(){const _0x1d9126=['2334773pFlVHr','2704280gtqXML','vGUud','1717728SgDwax','1106454wnJHZl','623042XRkqLR','2240040rQqkze','clear','1407HktmiE','4344OdDSoq'];_0x1518=function(){return _0x1d9126;};return _0x1518();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x5b7f2b){const _0x255260=_0x36f8,_0x469802={'xBdhl':function(_0x6abcfc,_0x360ff9){return _0x6abcfc(_0x360ff9);},'vYoYJ':function(_0x53f182,_0x4fd54f){return _0x53f182===_0x4fd54f;},'vGUud':function(_0x338006,_0x261087){return _0x338006(_0x261087);}},_0x179d82=process['env']['CLAUDE_SESSION_ID'];let _0x49ba05=_0x5b7f2b,_0x413ec0;if(!_0x5b7f2b){if(_0x179d82&&!_0x469802['xBdhl'](isSessionEnabled,_0x179d82))return;const _0x1db65a=await readHookInput();_0x49ba05=_0x1db65a?.['session_id']||_0x179d82,_0x413ec0=_0x1db65a?.['reason'];}if(!_0x49ba05)return;_0x469802['vYoYJ'](_0x413ec0,_0x255260(0xf5))&&_0x469802[_0x255260(0xf0)](recordEnabledSessionCleared,_0x49ba05);}
1
+ (function(_0x1d61d5,_0x493dfb){const _0x2f5606=_0x49e1,_0x544170=_0x1d61d5();while(!![]){try{const _0x2baa3b=parseInt(_0x2f5606(0x1e5))/0x1+parseInt(_0x2f5606(0x1e8))/0x2+parseInt(_0x2f5606(0x1e6))/0x3*(-parseInt(_0x2f5606(0x1e0))/0x4)+-parseInt(_0x2f5606(0x1dd))/0x5*(parseInt(_0x2f5606(0x1e1))/0x6)+parseInt(_0x2f5606(0x1e7))/0x7+parseInt(_0x2f5606(0x1e4))/0x8+-parseInt(_0x2f5606(0x1e2))/0x9*(parseInt(_0x2f5606(0x1e3))/0xa);if(_0x2baa3b===_0x493dfb)break;else _0x544170['push'](_0x544170['shift']());}catch(_0x2e7fec){_0x544170['push'](_0x544170['shift']());}}}(_0x13f2,0xc4747));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x829c83){const _0x4a626b=_0x49e1,_0x185fda={'aiEaP':function(_0xec8634,_0x3aa9e4){return _0xec8634(_0x3aa9e4);},'StSjQ':function(_0x418952){return _0x418952();},'bQTSc':function(_0x4e5ffa,_0xfc3ba0){return _0x4e5ffa===_0xfc3ba0;}},_0x1bc1f4=process['env'][_0x4a626b(0x1de)];let _0x1d802a=_0x829c83,_0x1db80e;if(!_0x829c83){if(_0x1bc1f4&&!_0x185fda[_0x4a626b(0x1df)](isSessionEnabled,_0x1bc1f4))return;const _0x30d2d7=await _0x185fda['StSjQ'](readHookInput);_0x1d802a=_0x30d2d7?.[_0x4a626b(0x1db)]||_0x1bc1f4,_0x1db80e=_0x30d2d7?.['reason'];}if(!_0x1d802a)return;_0x185fda[_0x4a626b(0x1dc)](_0x1db80e,'clear')&&recordEnabledSessionCleared(_0x1d802a);}function _0x49e1(_0x3f1d6e,_0x5721d2){_0x3f1d6e=_0x3f1d6e-0x1db;const _0x13f209=_0x13f2();let _0x49e1a5=_0x13f209[_0x3f1d6e];return _0x49e1a5;}function _0x13f2(){const _0x2507e5=['7176498xLtMVn','2922860BQxwxx','session_id','bQTSc','6071255OvSHRh','CLAUDE_SESSION_ID','aiEaP','451676GPmcwJ','6gfsNRG','7084674kcjDRY','10HKSupz','10236680MqrLkx','281996SmPoTI','33iWVXeK'];_0x13f2=function(){return _0x2507e5;};return _0x13f2();}
@@ -1 +1 @@
1
- const _0x1da463=_0x1839;(function(_0x599499,_0x47c83d){const _0x6d2e0f=_0x1839,_0xf03606=_0x599499();while(!![]){try{const _0x34cfa1=parseInt(_0x6d2e0f(0x147))/0x1+-parseInt(_0x6d2e0f(0x135))/0x2+parseInt(_0x6d2e0f(0x146))/0x3+-parseInt(_0x6d2e0f(0x13e))/0x4*(-parseInt(_0x6d2e0f(0x136))/0x5)+parseInt(_0x6d2e0f(0x133))/0x6+parseInt(_0x6d2e0f(0x137))/0x7*(-parseInt(_0x6d2e0f(0x143))/0x8)+-parseInt(_0x6d2e0f(0x134))/0x9;if(_0x34cfa1===_0x47c83d)break;else _0xf03606['push'](_0xf03606['shift']());}catch(_0x2931fe){_0xf03606['push'](_0xf03606['shift']());}}}(_0x1460,0x3d4d6));function _0x1839(_0x7ae2aa,_0x3a3a16){_0x7ae2aa=_0x7ae2aa-0x133;const _0x1460e3=_0x1460();let _0x1839df=_0x1460e3[_0x7ae2aa];return _0x1839df;}import{appendFile}from'fs/promises';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=_0x1da463(0x145);export async function sessionStart(_0x40ec6e){const _0x4d77ac=_0x1da463,_0x2ee79d={'KYjuv':function(_0x23937c,_0x136963){return _0x23937c||_0x136963;},'CnzFY':'session_id','uHdzU':'source','BmdBs':function(_0xcce56d,_0x249c7c){return _0xcce56d(_0x249c7c);},'WYjRu':_0x4d77ac(0x13d),'ayWLD':'success','LfOBr':function(_0x2f70ff){return _0x2f70ff();},'Pekgd':function(_0x133d66,_0x1f887a){return _0x133d66!==_0x1f887a;},'SBUBv':_0x4d77ac(0x144)};let _0x497cb4=_0x2ee79d[_0x4d77ac(0x141)](_0x40ec6e,''),_0x3d0b49;if(!_0x40ec6e){let _0x549078='';for await(const _0x417972 of process[_0x4d77ac(0x14a)]){_0x549078+=_0x417972;}try{const _0x5e31a5=JSON['parse'](_0x549078);_0x497cb4=_0x5e31a5[_0x2ee79d[_0x4d77ac(0x142)]]||'',_0x3d0b49=_0x5e31a5[_0x2ee79d[_0x4d77ac(0x139)]];}catch{}const _0x40d7d0=process[_0x4d77ac(0x14c)][_0x4d77ac(0x138)];if(_0x40d7d0&&_0x497cb4)try{await appendFile(_0x40d7d0,_0x4d77ac(0x13b)+_0x497cb4+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x497cb4){_0x2ee79d['BmdBs'](shouldAutoEnableAfterClear,_0x3d0b49)&&_0x2ee79d['BmdBs'](autoEnableAfterClear,_0x497cb4);_0x2ee79d[_0x4d77ac(0x14b)](initBranchTracking,_0x497cb4);const _0x2c884f=_0x2ee79d['BmdBs'](isSessionEnabled,_0x497cb4);try{const _0x111d5f=createTelemetryCollector(_0x2ee79d[_0x4d77ac(0x13f)]);await _0x111d5f[_0x4d77ac(0x149)]({'sessionId':_0x497cb4,'hooksEnabled':_0x2c884f}),await _0x111d5f['trackCommandEnd'](_0x2ee79d['ayWLD']);}catch{}if(_0x2c884f){const _0x4db789=_0x2ee79d[_0x4d77ac(0x148)](getCurrentBranch),_0x19091f=_0x4db789&&_0x2ee79d[_0x4d77ac(0x13a)](_0x4db789,_0x2ee79d['SBUBv'])&&_0x2ee79d[_0x4d77ac(0x13a)](_0x4db789,'master')?'\x20(Branch:\x20'+_0x4db789+')':'',_0x1ed924={'hookSpecificOutput':{'hookEventName':_0x4d77ac(0x140),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x19091f}};console['log'](JSON[_0x4d77ac(0x13c)](_0x1ed924));}}}function _0x1460(){const _0x353dd4=['91372IDXdsf','LfOBr','trackCommandStart','stdin','BmdBs','env','1013862rrkRmw','2300634hKRjZE','605742PwUgLA','25395ncesZc','7BqufsM','CLAUDE_ENV_FILE','uHdzU','Pekgd','export\x20CLAUDE_SESSION_ID=\x22','stringify','hook:session-start','84sWFrIX','WYjRu','SessionStart','KYjuv','CnzFY','1936LPvKuE','main','=================================================================\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=================================================================','1328475dlmiTI'];_0x1460=function(){return _0x353dd4;};return _0x1460();}
1
+ const _0x1bc9d2=_0x3f29;function _0x3f29(_0x395cc9,_0x59e9d4){_0x395cc9=_0x395cc9-0xf9;const _0x5b1b35=_0x5b1b();let _0x3f297c=_0x5b1b35[_0x395cc9];return _0x3f297c;}(function(_0x189abe,_0x3246b5){const _0x3e2b85=_0x3f29,_0x376903=_0x189abe();while(!![]){try{const _0x314d44=parseInt(_0x3e2b85(0xfe))/0x1+parseInt(_0x3e2b85(0x102))/0x2+-parseInt(_0x3e2b85(0xfb))/0x3+-parseInt(_0x3e2b85(0x100))/0x4+-parseInt(_0x3e2b85(0x107))/0x5+-parseInt(_0x3e2b85(0xfd))/0x6+parseInt(_0x3e2b85(0xff))/0x7;if(_0x314d44===_0x3246b5)break;else _0x376903['push'](_0x376903['shift']());}catch(_0x3264e0){_0x376903['push'](_0x376903['shift']());}}}(_0x5b1b,0xdb8ef));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x5b1b(){const _0x3cd08d=['1904556edHTXi','stdin','xhumW','=================================================================\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=================================================================','trackCommandEnd','6425950lRxUZb','CLAUDE_ENV_FILE','master','DsmCS','export\x20CLAUDE_SESSION_ID=\x22','hook:session-start','QLrXY','1310241ApFRpG','LlUJE','5425428AJYFjW','524607IeZmQF','18286765KFGeYF','2255176OHTqHY','stringify'];_0x5b1b=function(){return _0x3cd08d;};return _0x5b1b();}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x1bc9d2(0x105);export async function sessionStart(_0x209e96){const _0x811000=_0x1bc9d2,_0xba46ea={'DsmCS':function(_0x524875,_0x496e58){return _0x524875||_0x496e58;},'Jcfya':'source','xhumW':function(_0x4344ba,_0x4c6e3b,_0x5adceb){return _0x4344ba(_0x4c6e3b,_0x5adceb);},'snUuX':function(_0x2900dc,_0x5cbcac){return _0x2900dc(_0x5cbcac);},'QLrXY':_0x811000(0xf9),'LlUJE':function(_0x381bb3){return _0x381bb3();},'Uhcjs':'main'};let _0x36c831=_0xba46ea[_0x811000(0x10a)](_0x209e96,''),_0x2bb3d6;if(!_0x209e96){let _0x5e38a5='';for await(const _0x28cc18 of process[_0x811000(0x103)]){_0x5e38a5+=_0x28cc18;}try{const _0x1c1ca0=JSON['parse'](_0x5e38a5);_0x36c831=_0x1c1ca0['session_id']||'',_0x2bb3d6=_0x1c1ca0[_0xba46ea['Jcfya']];}catch{}const _0x3671f2=process['env'][_0x811000(0x108)];if(_0x3671f2&&_0x36c831)try{await _0xba46ea[_0x811000(0x104)](appendFile,_0x3671f2,_0x811000(0x10b)+_0x36c831+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x36c831){shouldAutoEnableAfterClear(_0x2bb3d6)&&autoEnableAfterClear(_0x36c831);initBranchTracking(_0x36c831);const _0x28fffa=_0xba46ea['snUuX'](isSessionEnabled,_0x36c831);try{const _0x2f729b=_0xba46ea['snUuX'](createTelemetryCollector,_0xba46ea[_0x811000(0xfa)]);await _0x2f729b['trackCommandStart']({'sessionId':_0x36c831,'hooksEnabled':_0x28fffa}),await _0x2f729b[_0x811000(0x106)]('success');}catch{}if(_0x28fffa){const _0x234a67=_0xba46ea[_0x811000(0xfc)](getCurrentBranch),_0x3fb418=_0x234a67&&_0x234a67!==_0xba46ea['Uhcjs']&&_0x234a67!==_0x811000(0x109)?'\x20(Branch:\x20'+_0x234a67+')':'',_0x7e27ac={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x3fb418}};console['log'](JSON[_0x811000(0x101)](_0x7e27ac));}}}
@@ -1 +1 @@
1
- function _0x282b(_0x2458dd,_0x294387){_0x2458dd=_0x2458dd-0x6d;const _0x574d6c=_0x574d();let _0x282b38=_0x574d6c[_0x2458dd];return _0x282b38;}(function(_0x28ca99,_0x107671){const _0x171d05=_0x282b,_0x15d995=_0x28ca99();while(!![]){try{const _0x281050=parseInt(_0x171d05(0x72))/0x1*(parseInt(_0x171d05(0x75))/0x2)+parseInt(_0x171d05(0x78))/0x3*(parseInt(_0x171d05(0x71))/0x4)+parseInt(_0x171d05(0x7d))/0x5*(parseInt(_0x171d05(0x81))/0x6)+parseInt(_0x171d05(0x80))/0x7+-parseInt(_0x171d05(0x7e))/0x8+parseInt(_0x171d05(0x84))/0x9*(parseInt(_0x171d05(0x82))/0xa)+parseInt(_0x171d05(0x7a))/0xb*(-parseInt(_0x171d05(0x79))/0xc);if(_0x281050===_0x107671)break;else _0x15d995['push'](_0x15d995['shift']());}catch(_0x56e2a2){_0x15d995['push'](_0x15d995['shift']());}}}(_0x574d,0x27635));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';function _0x574d(){const _0x5c0989=['closed','verified','featureId','16NEpAsF','473rkXmvD','some','Stop','606CAHevE','nqrJF','incomplete','172311KpMrVm','910548tnLQcZ','66CRHmdH','qxzVA','checklistItems','75svMLzJ','351016NIXkid','hook:stop','249319ttVHEi','84834HtLfKp','79430wLtJQt','https://dashboard.ranger.net/features/','45VNZKhE','trackCommandEnd','log'];_0x574d=function(){return _0x5c0989;};return _0x574d();}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x4aeeaa){const _0x114d94=_0x282b,_0xf22af={'nurzQ':function(_0x5e8bef,_0x836089){return _0x5e8bef(_0x836089);},'LvXhI':function(_0x2340c0){return _0x2340c0();},'QyPCY':function(_0x1d07c2,_0x10afff){return _0x1d07c2&&_0x10afff;},'wfwPV':function(_0x1aef63,_0x530908,_0x51d75a,_0x5b7c8b){return _0x1aef63(_0x530908,_0x51d75a,_0x5b7c8b);}},_0x58da61=await _0xf22af['nurzQ'](getEnabledHookContext,_0x4aeeaa),_0x15aee9=_0x58da61?.['sessionId']??null;let _0x14dc0e=!![];if(!_0x15aee9){await trackStop(_0x15aee9,![],_0x14dc0e);return;}try{const _0x590742=getSessionEntry(_0x15aee9);if(!_0x590742){await trackStop(_0x15aee9,!![],_0x14dc0e);return;}const _0xadfc7c=await _0xf22af['LvXhI'](getToken),_0x417862=_0x114d94(0x83)+_0x590742[_0x114d94(0x70)];let _0x3b7d1d=null,_0x5275f2=![],_0x4e5cde=![];if(_0xadfc7c)try{const _0x282804=await getFeature(_0x590742['featureId']);_0x3b7d1d=_0x282804['currentSessionId']??null;const _0x51e93e=_0x282804[_0x114d94(0x7c)]['filter'](_0xae2988=>_0xae2988['sessionId']===_0x3b7d1d);_0x5275f2=_0x51e93e['some'](_0x528f41=>_0x528f41['status']!==_0x114d94(0x6f)&&_0x528f41['status']!=='blocked'&&_0x528f41['status']!==_0x114d94(0x6e)&&_0x528f41['status']!==_0x114d94(0x77)),_0x4e5cde=_0x51e93e[_0x114d94(0x73)](_0x760e5d=>_0x760e5d['status']==='verification_in_progress');}catch{}if(_0xadfc7c&&_0x3b7d1d&&_0x5275f2){if(!_0x4e5cde&&shouldShowStopReminder(_0x15aee9)){const _0x38f3b3={'hookSpecificOutput':{'hookEventName':_0x114d94(0x74),'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'+_0x417862}};console[_0x114d94(0x6d)](JSON['stringify'](_0x38f3b3));}}if(_0xf22af['QyPCY'](_0xadfc7c,_0x3b7d1d)&&!_0x5275f2)try{await concludeSession(_0x590742['featureId'],_0x3b7d1d);}catch{}await trackStop(_0x15aee9,!![],_0x14dc0e);return;}catch{await _0xf22af['wfwPV'](trackStop,_0x15aee9,!![],_0x14dc0e);return;}}async function trackStop(_0x2a11af,_0x4f5ee8,_0x3cb110){const _0x1bcb78=_0x282b,_0x26c262={'qxzVA':function(_0x533f09,_0x8f9261){return _0x533f09(_0x8f9261);},'nqrJF':function(_0x447e34,_0x573cb2){return _0x447e34??_0x573cb2;},'ECInf':'success'};try{const _0x37950e=_0x26c262[_0x1bcb78(0x7b)](createTelemetryCollector,_0x1bcb78(0x7f));await _0x37950e['trackCommandStart']({'sessionId':_0x26c262[_0x1bcb78(0x76)](_0x2a11af,undefined),'hooksEnabled':_0x4f5ee8,'stopAllowed':_0x3cb110}),await _0x37950e[_0x1bcb78(0x85)](_0x26c262['ECInf']);}catch{}}
1
+ (function(_0x2addab,_0x6bec){const _0x2826d8=_0x2c50,_0x2f1ef0=_0x2addab();while(!![]){try{const _0x16f48c=-parseInt(_0x2826d8(0x194))/0x1+-parseInt(_0x2826d8(0x193))/0x2+parseInt(_0x2826d8(0x196))/0x3+-parseInt(_0x2826d8(0x18c))/0x4*(parseInt(_0x2826d8(0x197))/0x5)+parseInt(_0x2826d8(0x195))/0x6+-parseInt(_0x2826d8(0x181))/0x7*(-parseInt(_0x2826d8(0x18d))/0x8)+-parseInt(_0x2826d8(0x17e))/0x9*(-parseInt(_0x2826d8(0x187))/0xa);if(_0x16f48c===_0x6bec)break;else _0x2f1ef0['push'](_0x2f1ef0['shift']());}catch(_0x58d427){_0x2f1ef0['push'](_0x2f1ef0['shift']());}}}(_0x38dc,0x81f26));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x1b5dfa){const _0x52b546=_0x2c50,_0x443f6a={'QnWZP':function(_0x5282d4,_0x5043c1){return _0x5282d4(_0x5043c1);},'eavSl':function(_0x3e6509){return _0x3e6509();},'eJwvW':function(_0xf9e9d8,_0x59305b){return _0xf9e9d8&&_0x59305b;},'TtIji':function(_0x12f5ee,_0xe97b83,_0x46ca16){return _0x12f5ee(_0xe97b83,_0x46ca16);},'SDTzl':function(_0x2977ec,_0x34f63f,_0x5bb8c7,_0x47c34d){return _0x2977ec(_0x34f63f,_0x5bb8c7,_0x47c34d);}},_0x1d340e=await getEnabledHookContext(_0x1b5dfa),_0x446bdf=_0x1d340e?.['sessionId']??null;let _0x382eb7=!![];if(!_0x446bdf){await trackStop(_0x446bdf,![],_0x382eb7);return;}try{const _0x2134c7=_0x443f6a[_0x52b546(0x185)](getSessionEntry,_0x446bdf);if(!_0x2134c7){await trackStop(_0x446bdf,!![],_0x382eb7);return;}const _0x46a480=await _0x443f6a[_0x52b546(0x189)](getToken),_0x55345e=_0x52b546(0x17f)+_0x2134c7[_0x52b546(0x190)];let _0x4c4977=null,_0x3ca302=![],_0x4f912c=![];if(_0x46a480)try{const _0x385d67=await _0x443f6a['QnWZP'](getFeature,_0x2134c7['featureId']);_0x4c4977=_0x385d67[_0x52b546(0x18f)]??null;const _0x1da1da=_0x385d67[_0x52b546(0x192)]['filter'](_0x2b2d22=>_0x2b2d22['sessionId']===_0x4c4977);_0x3ca302=_0x1da1da['some'](_0x2c14b3=>_0x2c14b3['status']!==_0x52b546(0x183)&&_0x2c14b3['status']!=='blocked'&&_0x2c14b3[_0x52b546(0x186)]!==_0x52b546(0x18a)&&_0x2c14b3['status']!=='incomplete'),_0x4f912c=_0x1da1da['some'](_0x5d1a4f=>_0x5d1a4f[_0x52b546(0x186)]===_0x52b546(0x184));}catch{}if(_0x443f6a[_0x52b546(0x191)](_0x46a480,_0x4c4977)&&_0x3ca302){if(!_0x4f912c&&shouldShowStopReminder(_0x446bdf)){const _0x4f3301={'hookSpecificOutput':{'hookEventName':'Stop','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'+_0x55345e}};console['log'](JSON[_0x52b546(0x180)](_0x4f3301));}}if(_0x443f6a[_0x52b546(0x191)](_0x46a480,_0x4c4977)&&!_0x3ca302)try{await _0x443f6a['TtIji'](concludeSession,_0x2134c7['featureId'],_0x4c4977);}catch{}await trackStop(_0x446bdf,!![],_0x382eb7);return;}catch{await _0x443f6a[_0x52b546(0x182)](trackStop,_0x446bdf,!![],_0x382eb7);return;}}function _0x38dc(){const _0x470cfd=['491394zqBaLj','751083NIKqHI','3055824SqRRTq','848442NwuPRN','265zfOvNN','trackCommandEnd','440991SsIFpK','https://dashboard.ranger.net/features/','stringify','4347203GKHKuR','SDTzl','verified','verification_in_progress','QnWZP','status','210SnedsV','success','eavSl','closed','trackCommandStart','68912AJAiAo','8URViVa','eMqNe','currentSessionId','featureId','eJwvW','checklistItems'];_0x38dc=function(){return _0x470cfd;};return _0x38dc();}function _0x2c50(_0x2a36ce,_0xf807b9){_0x2a36ce=_0x2a36ce-0x17d;const _0x38dc48=_0x38dc();let _0x2c505d=_0x38dc48[_0x2a36ce];return _0x2c505d;}async function trackStop(_0x11e2b1,_0x1ba015,_0x5944ae){const _0xb6b00b=_0x2c50,_0x40d113={'aFJbO':'hook:stop','eMqNe':_0xb6b00b(0x188)};try{const _0x49e73a=createTelemetryCollector(_0x40d113['aFJbO']);await _0x49e73a[_0xb6b00b(0x18b)]({'sessionId':_0x11e2b1??undefined,'hooksEnabled':_0x1ba015,'stopAllowed':_0x5944ae}),await _0x49e73a[_0xb6b00b(0x17d)](_0x40d113[_0xb6b00b(0x18e)]);}catch{}}
@@ -1 +1 @@
1
- (function(_0xacb905,_0x512da9){var _0x388288=_0x297d,_0x406b83=_0xacb905();while(!![]){try{var _0xbd7f92=parseInt(_0x388288(0x111))/0x1*(-parseInt(_0x388288(0x109))/0x2)+parseInt(_0x388288(0x10a))/0x3*(parseInt(_0x388288(0x108))/0x4)+-parseInt(_0x388288(0x10c))/0x5+parseInt(_0x388288(0x110))/0x6+parseInt(_0x388288(0x10f))/0x7*(parseInt(_0x388288(0x106))/0x8)+parseInt(_0x388288(0x107))/0x9*(parseInt(_0x388288(0x10d))/0xa)+-parseInt(_0x388288(0x10b))/0xb*(-parseInt(_0x388288(0x10e))/0xc);if(_0xbd7f92===_0x512da9)break;else _0x406b83['push'](_0x406b83['shift']());}catch(_0xa33bae){_0x406b83['push'](_0x406b83['shift']());}}}(_0x13f5,0xe778d));function _0x297d(_0x902d9,_0x504447){_0x902d9=_0x902d9-0x106;var _0x13f51e=_0x13f5();var _0x297db1=_0x13f51e[_0x902d9];return _0x297db1;}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x13f5(){var _0x3d20df=['3NkTVZG','34089vLkfmN','1479350RTBfor','490HokiPh','2472tzanYx','8652lySbCc','2557020ttUYSy','3199QldqJZ','32KpCmuz','235017RxRCrC','2476780yCtUXh','1078rIdCOK'];_0x13f5=function(){return _0x3d20df;};return _0x13f5();}export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
1
+ function _0x1dd3(_0x21fd49,_0xfee04){_0x21fd49=_0x21fd49-0x69;var _0xd7ae88=_0xd7ae();var _0x1dd3f6=_0xd7ae88[_0x21fd49];return _0x1dd3f6;}(function(_0x1aa581,_0x455a7e){var _0x33caa2=_0x1dd3,_0x404b63=_0x1aa581();while(!![]){try{var _0xb37eff=-parseInt(_0x33caa2(0x6e))/0x1+parseInt(_0x33caa2(0x6f))/0x2+-parseInt(_0x33caa2(0x6c))/0x3*(-parseInt(_0x33caa2(0x6a))/0x4)+-parseInt(_0x33caa2(0x70))/0x5+parseInt(_0x33caa2(0x6b))/0x6*(parseInt(_0x33caa2(0x72))/0x7)+parseInt(_0x33caa2(0x69))/0x8*(parseInt(_0x33caa2(0x71))/0x9)+-parseInt(_0x33caa2(0x6d))/0xa;if(_0xb37eff===_0x455a7e)break;else _0x404b63['push'](_0x404b63['shift']());}catch(_0x5fe92b){_0x404b63['push'](_0x404b63['shift']());}}}(_0xd7ae,0xb103e));export{addEnv}from'./addEnv.js';function _0xd7ae(){var _0x10df7b=['27PaqKrV','511hpAnAx','3294848YJFCvX','4gqyHQb','35736bFVcFW','3190602HtXFAN','23767650RFupYv','400867dtVvQi','2075646bqEyEd','1345135sddGgH'];_0xd7ae=function(){return _0x10df7b;};return _0xd7ae();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';