@ranger-testing/ranger-cli 2.0.6 → 2.1.0

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 (62) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -0
  25. package/build/commands/setup/opencode.js +1 -0
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/browserSessionsApi.js +1 -1
  35. package/build/commands/utils/claudeConfig.js +1 -1
  36. package/build/commands/utils/claudePlugin.js +1 -1
  37. package/build/commands/utils/crypto.js +1 -1
  38. package/build/commands/utils/desirePathLog.js +1 -1
  39. package/build/commands/utils/deviceAuth.js +1 -1
  40. package/build/commands/utils/environment.js +1 -1
  41. package/build/commands/utils/featureApi.js +1 -1
  42. package/build/commands/utils/featureReportGenerator.js +1 -1
  43. package/build/commands/utils/fixWebmDuration.js +1 -0
  44. package/build/commands/utils/git.js +1 -1
  45. package/build/commands/utils/keychain.js +1 -1
  46. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  47. package/build/commands/utils/opencodeConfig.js +1 -0
  48. package/build/commands/utils/profileMessages.js +1 -1
  49. package/build/commands/utils/profileSetupBanner.js +1 -1
  50. package/build/commands/utils/rangerRoot.js +1 -1
  51. package/build/commands/utils/reportGenerator.js +1 -1
  52. package/build/commands/utils/retry.js +1 -1
  53. package/build/commands/utils/sessionCache.js +1 -1
  54. package/build/commands/utils/settings.js +1 -1
  55. package/build/commands/utils/skillContent.js +1 -1
  56. package/build/commands/utils/skills.js +1 -1
  57. package/build/commands/utils/telemetry.js +1 -1
  58. package/build/commands/utils/userApi.js +1 -1
  59. package/build/commands/utils/version.js +1 -1
  60. package/build/commands/verifyFeature.js +1 -1
  61. package/build/commands/verifyInBrowser.js +1 -1
  62. package/package.json +4 -1
@@ -1 +1 @@
1
- const _0x2f2801=_0x5a31;(function(_0x3b6808,_0x580e6b){const _0x4395da=_0x5a31,_0x488104=_0x3b6808();while(!![]){try{const _0x3fc8cb=parseInt(_0x4395da(0x1ec))/0x1+-parseInt(_0x4395da(0x25b))/0x2+parseInt(_0x4395da(0x257))/0x3+parseInt(_0x4395da(0x273))/0x4+-parseInt(_0x4395da(0x219))/0x5*(-parseInt(_0x4395da(0x244))/0x6)+parseInt(_0x4395da(0x25d))/0x7+-parseInt(_0x4395da(0x233))/0x8;if(_0x3fc8cb===_0x580e6b)break;else _0x488104['push'](_0x488104['shift']());}catch(_0x541277){_0x488104['push'](_0x488104['shift']());}}}(_0x293e,0xe833f));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x59d90c from'inquirer';function _0x5a31(_0x1b0e62,_0x2e2ae2){_0x1b0e62=_0x1b0e62-0x1e9;const _0x293e13=_0x293e();let _0x5a314a=_0x293e13[_0x1b0e62];return _0x5a314a;}import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x293e(){const _0x115ec4=['dashboardUrl','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','canonicalFlow','jNVCR','\x20\x20\x20Branch:\x20','utf-8','PQqWI','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','\x0a✅\x20Resumed\x20feature\x20review:\x20','No\x20scenarios\x20found.','dFKZh','git\x20remote\x20get-url\x20origin','KYemf','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','github.com/','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20at\x20[','currentSessionId','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x1b[0m','verificationInProgressItems','\x20\x20\x20ID:\x20','KQFYJ','myuEK','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','1728388SvZgNE','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','trim','drakK','Unknown','kspdU','\x20\x20\x20Updated\x20branch\x20to:\x20','\x0a⚠️\x20\x20','toFixed','\x20scenario(s).','blocked','completedAt','vhGjW','CJlzo','Not\x20in\x20a\x20git\x20repository.','includeDeleted','gitBranch','pipe','KDQnN','bIjgb','offset','\x0aCreating\x20feature\x20review...','map','totalCount','createdAt','SMsnr','style','CLAUDE_SESSION_ID','.\x20Feature\x20review\x20has\x20','\x0aConcluding\x20session...','\x20\x20\x20\x20\x20\x20Approved','isTTY','ewlNm','gitRepoUrl','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0aAvailable\x20scenarios:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','DFpDT','ueedx','round','scenario','completed','nYNPC','NEVpQ','\x20\x20\x20Completed:\x20','18895ZrXDbe','eZbmI','Current\x20session\x20not\x20found.','incompleteItems','GYtTF','parentItemId','status','eEpkH','\x20verified','\x20in\x20progress','filter','in_progress','checklistItems','TytjO','split',':\x20\x22','\x20\x20\x20Repository:\x20','\x0a📋\x20Feedback\x20for:\x20','lwxVn','verified','oonyU','short','en-US','toLocaleDateString','mNbsp','\x20—\x20','22517112bZEYdH','\x20\x20\x20Created:\x20','IFOyK','UjuXo','coordinates','env','unaddressedComments','\x20\x20✅\x20No\x20feedback\x20to\x20address','VmknY','latestReview','\x0a❌\x20Invalid\x20scenario\x20index:\x20','numeric','WDsgg','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','length','1338tJzYcM','\x20\x20\x20\x20\x20Progress:\x20','lyeVf','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','version','find','zZXoF','idDxA','push','description','fZmAc','assetUrl','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','TzUAB','WLzUv','items','Please\x20finish\x20your\x20review\x20first:','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','lPFLw','2554377JMqEvS','from','JvDVd','stdin','3348208nrRlJX','qStax','7834050UwNabj','\x1b[1m','currentBranch','\x0a✅\x20Session\x20is\x20already\x20completed.','ZqmKP','\x20\x20\x20Progress:\x20','CeJuR','selected','aSKRC','rBPlI','spatial','hMoBf','PDFmM','limit','eeQiC','turEb','vQkvD','iteration','\x20Session\x20','kSFdB','\x20(v','sTplq','3592528bIrCfd','exit','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','ZAwNZ','incompleteReason','git\x20rev-parse\x20--abbrev-ref\x20HEAD','any','log','cIIdg','Scenario\x20','type','verifiedItems','toLocaleString','VHeUR','error','terminalReason','content','jfUZr','stats','plezX','agNFm','\x20\x20\x20\x20','comment_','name','warn','closed','\x20\x20\x20Description:\x20'];_0x293e=function(){return _0x115ec4;};return _0x293e();}import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x549476=>_0x2f2801(0x25e)+_0x549476+_0x2f2801(0x2a1);function getGitRepoUrl(){const _0x252760=_0x2f2801,_0x3c542b={'wMjof':function(_0x111683,_0x4dd82c,_0x5d2b42){return _0x111683(_0x4dd82c,_0x5d2b42);},'duVHY':_0x252760(0x299),'NEVpQ':_0x252760(0x293),'fZmAc':_0x252760(0x1fd)};try{const _0x4b1a6c=_0x3c542b['wMjof'](execSync,_0x3c542b['duVHY'],{'encoding':_0x3c542b[_0x252760(0x217)],'stdio':[_0x252760(0x1fd),_0x252760(0x1fd),_0x3c542b[_0x252760(0x24e)]]})['trim']();return _0x4b1a6c['replace'](/\.git$/,'')['replace'](/^git@github\.com:/,_0x252760(0x29c))['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x566562=_0x2f2801,_0x44bd48={'TNeod':'pipe'};try{return execSync(_0x566562(0x278),{'encoding':'utf-8','stdio':['pipe',_0x44bd48['TNeod'],_0x44bd48['TNeod']]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x6f7cb9=_0x2f2801,_0x236ae1={'qStax':function(_0x54a53a,_0x38a66c,_0x57c3dd){return _0x54a53a(_0x38a66c,_0x57c3dd);},'lwxVn':function(_0x4a63f6,_0x34622a){return _0x4a63f6(_0x34622a);},'JJbfe':function(_0x4d6b22,_0x2e4c82,_0x2f9994){return _0x4d6b22(_0x2e4c82,_0x2f9994);}},_0x4855e0=_0x236ae1[_0x6f7cb9(0x25c)](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x236ae1[_0x6f7cb9(0x22b)](existsSync,_0x4855e0))return null;try{const _0x24f1db=await _0x236ae1['JJbfe'](readFile,_0x4855e0,'utf-8');return _0x24f1db[_0x6f7cb9(0x1ee)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x3ef7c1){const _0x45023e=_0x2f2801,_0x2d2be3={'aSKRC':function(_0x3b1cb5,_0xe5d5c7,_0x2c21be){return _0x3b1cb5(_0xe5d5c7,_0x2c21be);},'qPADl':function(_0x520ad8,_0x1926cd){return _0x520ad8(_0x1926cd);},'TaQYL':function(_0x1aa495,_0x14122c,_0x52b428,_0x48ba27){return _0x1aa495(_0x14122c,_0x52b428,_0x48ba27);},'GPtPt':_0x45023e(0x293)},_0x766f55=getRangerDir(),_0x41ac24=_0x2d2be3[_0x45023e(0x265)](join,_0x766f55,ACTIVE_FEATURE_FILE);!_0x2d2be3['qPADl'](existsSync,_0x766f55)&&await mkdir(_0x766f55,{'recursive':!![]}),await _0x2d2be3['TaQYL'](writeFile,_0x41ac24,_0x3ef7c1,_0x2d2be3['GPtPt']);}function getProgressDisplay(_0x2a1f21){const _0x12b145=_0x2f2801,_0x2b2826={'xjVXw':function(_0x285fec,_0x22deb5){return _0x285fec+_0x22deb5;},'EjTVm':function(_0x8f212a,_0x3fb152){return _0x8f212a+_0x3fb152;},'eEpkH':function(_0xd62a21,_0x4f9745){return _0xd62a21+_0x4f9745;},'AUiqQ':function(_0x345383,_0x18f6ad){return _0x345383+_0x18f6ad;},'CJlzo':function(_0x269a03,_0xcf5e61){return _0x269a03*_0xcf5e61;},'ghuoj':function(_0x4ed414,_0x438b8f){return _0x4ed414/_0x438b8f;},'IQpOG':function(_0x422d3f,_0x355ba9){return _0x422d3f-_0x355ba9;},'HPAMc':function(_0x2676ca,_0x5eb130){return _0x2676ca>_0x5eb130;},'yNOFe':function(_0x2bb4e8,_0x28971e){return _0x2bb4e8>_0x28971e;}},_0x289a79=_0x2a1f21[_0x12b145(0x27e)]||0x0,_0x428656=_0x2a1f21[_0x12b145(0x2a2)]||0x0,_0x3c681a=_0x2a1f21['blockedItems']||0x0,_0x133f51=_0x2a1f21[_0x12b145(0x21c)]||0x0,_0x421444=_0x2a1f21['pendingItems']||0x0,_0x5cca5f=_0x2b2826['xjVXw'](_0x2b2826['EjTVm'](_0x2b2826[_0x12b145(0x220)](_0x2b2826['AUiqQ'](_0x289a79,_0x428656),_0x3c681a),_0x133f51),_0x421444);if(_0x5cca5f===0x0)return'-';const _0x31a27c=0xa,_0x2a3fba=Math[_0x12b145(0x213)](_0x2b2826[_0x12b145(0x1f9)](_0x2b2826['ghuoj'](_0x289a79,_0x5cca5f),_0x31a27c)),_0x5d8e18='█'['repeat'](_0x2a3fba)+'░'['repeat'](_0x2b2826['IQpOG'](_0x31a27c,_0x2a3fba)),_0x4470e1=[];if(_0x2b2826['HPAMc'](_0x3c681a,0x0))_0x4470e1[_0x12b145(0x24c)](_0x3c681a+'\x20blocked');if(_0x2b2826['yNOFe'](_0x133f51,0x0))_0x4470e1[_0x12b145(0x24c)](_0x133f51+'\x20incomplete');if(_0x428656>0x0)_0x4470e1[_0x12b145(0x24c)](_0x428656+_0x12b145(0x222));const _0x4cfc3f=_0x4470e1['length']>0x0?'\x20('+_0x4470e1['join'](',\x20')+')':'';return _0x5d8e18+'\x20'+_0x289a79+'/'+_0x5cca5f+_0x12b145(0x221)+_0x4cfc3f;}function displayFeature(_0xb735e9,_0x517e9b){const _0xd05916=_0x2f2801,_0x5615ea={'uPzFk':function(_0xc53f3b,_0x8c75ab){return _0xc53f3b>_0x8c75ab;},'idDxA':'\x0a\x20\x20\x20Scenarios:','OVXya':function(_0xfea8f6,_0x378e1e){return _0xfea8f6<_0x378e1e;},'WLzUv':_0xd05916(0x28c),'vhGjW':function(_0x82ae16,_0x55dbea){return _0x82ae16===_0x55dbea;},'GYtTF':'approved','gznoR':function(_0x1f33aa,_0xc6301e){return _0x1f33aa===_0xc6301e;},'ewlNm':'verification_in_progress','XwEcb':function(_0x37d4f4,_0x38dfdf){return _0x37d4f4>_0x38dfdf;},'WGTcD':function(_0x495ee4,_0x65d411){return _0x495ee4!==_0x65d411;},'agNFm':'\x20[has\x20reviewer\x20feedback]','JvDVd':_0xd05916(0x1f6),'VHeUR':function(_0x8f3328,_0x3b238e){return _0x8f3328===_0x3b238e;}};console['log']('\x0a'+_0xb735e9[_0xd05916(0x28a)]+'\x20('+_0xb735e9[_0xd05916(0x28e)]+')');_0xb735e9[_0xd05916(0x285)]&&console['log'](_0xd05916(0x262)+getProgressDisplay(_0xb735e9[_0xd05916(0x285)]));_0xb735e9[_0xd05916(0x24d)]&&console[_0xd05916(0x27a)](_0xd05916(0x28d)+_0xb735e9['description']);_0xb735e9[_0xd05916(0x20d)]&&console[_0xd05916(0x27a)](_0xd05916(0x229)+_0xb735e9[_0xd05916(0x20d)]);_0xb735e9[_0xd05916(0x1fc)]&&console[_0xd05916(0x27a)]('\x20\x20\x20Branch:\x20'+_0xb735e9['gitBranch']);console[_0xd05916(0x27a)]('\x20\x20\x20Created:\x20'+new Date(_0xb735e9['createdAt'])['toLocaleString']());_0xb735e9[_0xd05916(0x1f7)]&&console[_0xd05916(0x27a)]('\x20\x20\x20Completed:\x20'+new Date(_0xb735e9['completedAt'])['toLocaleString']());if(_0x517e9b&&_0x5615ea['uPzFk'](_0x517e9b['length'],0x0)){console[_0xd05916(0x27a)](_0x5615ea[_0xd05916(0x24b)]);for(let _0x2926f5=0x0;_0x5615ea['OVXya'](_0x2926f5,_0x517e9b[_0xd05916(0x243)]);_0x2926f5++){const _0x1fd883=_0x517e9b[_0x2926f5];let _0x5133e2;if(_0x1fd883[_0xd05916(0x21f)]===_0x5615ea[_0xd05916(0x252)]&&_0x5615ea[_0xd05916(0x1f8)](_0x1fd883[_0xd05916(0x282)],_0x5615ea[_0xd05916(0x21d)]))_0x5133e2='✅';else{if(_0x1fd883[_0xd05916(0x21f)]===_0xd05916(0x22c))_0x5133e2='🟢';else{if(_0x5615ea['vhGjW'](_0x1fd883['status'],'incomplete'))_0x5133e2='🟠';else{if(_0x5615ea[_0xd05916(0x1f8)](_0x1fd883[_0xd05916(0x21f)],_0xd05916(0x1f6)))_0x5133e2='🛑';else{if(_0x5615ea['gznoR'](_0x1fd883[_0xd05916(0x21f)],_0x5615ea['WLzUv']))_0x5133e2='⛔';else _0x1fd883[_0xd05916(0x21f)]===_0x5615ea[_0xd05916(0x20c)]?_0x5133e2='⏳':_0x5133e2='⬜';}}}}const _0x48d6b0=_0x5615ea['XwEcb'](_0x1fd883['version'],0x1)?_0xd05916(0x271)+_0x1fd883['version']+')':'',_0x7666fb=_0x1fd883[_0xd05916(0x248)]>0x1&&_0x1fd883[_0xd05916(0x21e)]&&_0x1fd883[_0xd05916(0x21f)]!=='closed'&&_0x5615ea['WGTcD'](_0x1fd883['status'],_0xd05916(0x22c))?_0x5615ea[_0xd05916(0x287)]:'';console['log']('\x20\x20\x20'+(_0x2926f5+0x1)+'.\x20'+_0x5133e2+'\x20'+_0x1fd883['description']+_0x48d6b0+_0x7666fb);_0x5615ea[_0xd05916(0x1f8)](_0x1fd883['status'],_0x5615ea[_0xd05916(0x259)])&&_0x1fd883['blockedReason']&&console[_0xd05916(0x27a)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x1fd883['blockedReason']);_0x1fd883['status']==='incomplete'&&_0x1fd883[_0xd05916(0x277)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x1fd883['incompleteReason']);if(_0x5615ea['VHeUR'](_0x1fd883['status'],_0x5615ea['WLzUv'])&&_0x5615ea['gznoR'](_0x1fd883[_0xd05916(0x282)],'approved'))console[_0xd05916(0x27a)](_0xd05916(0x20a));else _0x5615ea[_0xd05916(0x280)](_0x1fd883['status'],_0xd05916(0x28c))&&_0x1fd883['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x1fd883['canceledReason']);}}}export async function featureCreate(_0x4eacfc,_0x37be56){const _0x5dc3d6=_0x2f2801,_0x117df5={'KQFYJ':function(_0x53eebd){return _0x53eebd();},'rlEPJ':function(_0x43d38d,_0x3d84f8){return _0x43d38d===_0x3d84f8;},'vQkvD':function(_0x788716,_0x3e7c79){return _0x788716(_0x3e7c79);},'lyeVf':function(_0x1a1a6c,_0x1a3347){return _0x1a1a6c(_0x1a3347);},'zZXoF':function(_0xcef2bb,_0x26ef17){return _0xcef2bb(_0x26ef17);},'oonyU':function(_0x2b2cc1,_0x3a74d9,_0x266168){return _0x2b2cc1(_0x3a74d9,_0x266168);}},{envNames:_0x3337cd}=await _0x117df5[_0x5dc3d6(0x2a4)](getEnvNames);_0x117df5['rlEPJ'](_0x3337cd[_0x5dc3d6(0x243)],0x0)&&console[_0x5dc3d6(0x28b)]('\x0a'+_0x117df5[_0x5dc3d6(0x26d)](formatProfileRequiredMessage,_0xe9a622=>bold(_0xe9a622)));const _0x2ac725=_0x37be56['scenarios']?_0x37be56['scenarios'][_0x5dc3d6(0x202)](_0x150a4a=>_0x150a4a[_0x5dc3d6(0x1ee)]()):[],_0x3920a3=_0x117df5['KQFYJ'](getGitRepoUrl),_0x35b376=_0x117df5['KQFYJ'](getGitBranch);console['log'](_0x5dc3d6(0x201));const _0x514a83=await _0x117df5[_0x5dc3d6(0x26d)](createFeature,{'name':_0x4eacfc,'description':_0x37be56[_0x5dc3d6(0x24d)],'checklist':_0x2ac725,'gitRepoUrl':_0x3920a3,'gitBranch':_0x35b376});await _0x117df5[_0x5dc3d6(0x246)](setActiveFeatureId,_0x514a83['id']),await _0x117df5[_0x5dc3d6(0x24a)](tryStartCurrentSession,_0x514a83['id']);const _0x3888b8=process[_0x5dc3d6(0x238)]['CLAUDE_SESSION_ID'];_0x3888b8&&registerSession(_0x3888b8,_0x514a83['id']),console[_0x5dc3d6(0x27a)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x514a83['id']),_0x117df5[_0x5dc3d6(0x22d)](displayFeature,_0x514a83,_0x514a83[_0x5dc3d6(0x225)]),console['log'](_0x5dc3d6(0x240));}export async function featureList(_0x4866e1){const _0x56e5b2=_0x2f2801,_0x2d2a7d={'hMoBf':function(_0x5b01ad){return _0x5b01ad();},'mlVHW':function(_0x1fa5e7,_0x36eb4d){return _0x1fa5e7(_0x36eb4d);},'nYNPC':function(_0x379c15,_0x4ddc9e){return _0x379c15===_0x4ddc9e;},'ZWLGy':'1|5|4|3|2|0','sXDzA':function(_0x34bebe,_0x247582){return _0x34bebe<_0x247582;},'AbuQI':function(_0x4b5460,_0x4b538d){return _0x4b5460!==_0x4b538d;},'SzVHN':'\x20--current-branch','IwLMh':'\x20--include-deleted'},_0x422472={'limit':_0x4866e1[_0x56e5b2(0x26a)]??0xa,'offset':_0x4866e1[_0x56e5b2(0x200)]??0x0,'includeDeleted':_0x4866e1['includeDeleted']};_0x4866e1['currentBranch']&&(_0x422472[_0x56e5b2(0x20d)]=getGitRepoUrl(),_0x422472['gitBranch']=_0x2d2a7d[_0x56e5b2(0x268)](getGitBranch));const _0x18e246=await _0x2d2a7d['mlVHW'](listFeatures,_0x422472);if(_0x2d2a7d[_0x56e5b2(0x216)](_0x18e246['items'][_0x56e5b2(0x243)],0x0)){console[_0x56e5b2(0x27a)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x507e3d=_0x18e246['totalCount']>_0x18e246[_0x56e5b2(0x253)][_0x56e5b2(0x243)]?'Showing\x20'+_0x18e246[_0x56e5b2(0x253)]['length']+'\x20of\x20'+_0x18e246[_0x56e5b2(0x203)]:_0x18e246['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x507e3d+':\x0a');for(const _0x3c18ad of _0x18e246['items']){const _0x213f50=_0x2d2a7d['ZWLGy'][_0x56e5b2(0x227)]('|');let _0x3c6188=0x0;while(!![]){switch(_0x213f50[_0x3c6188++]){case'0':console['log']('');continue;case'1':console['log'](''+_0x3c18ad[_0x56e5b2(0x28a)]);continue;case'2':console['log'](_0x56e5b2(0x234)+new Date(_0x3c18ad[_0x56e5b2(0x204)])[_0x56e5b2(0x230)]());continue;case'3':_0x3c18ad[_0x56e5b2(0x1fc)]&&console['log'](_0x56e5b2(0x292)+_0x3c18ad[_0x56e5b2(0x1fc)]);continue;case'4':_0x3c18ad[_0x56e5b2(0x285)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x2d2a7d['mlVHW'](getProgressDisplay,_0x3c18ad['stats']));continue;case'5':console['log'](_0x56e5b2(0x2a3)+_0x3c18ad['id']);continue;}break;}}const _0x113fbf=_0x422472[_0x56e5b2(0x26a)]??0xa,_0x47d55c=(_0x422472[_0x56e5b2(0x200)]??0x0)+_0x18e246[_0x56e5b2(0x253)]['length'];if(_0x2d2a7d['sXDzA'](_0x47d55c,_0x18e246['totalCount'])){const _0x500fae=_0x2d2a7d['AbuQI'](_0x113fbf,0xa)?'\x20--limit\x20'+_0x113fbf:'',_0x44926c=_0x4866e1[_0x56e5b2(0x25f)]?_0x2d2a7d['SzVHN']:'',_0x491073=_0x4866e1[_0x56e5b2(0x1fb)]?_0x2d2a7d['IwLMh']:'';console[_0x56e5b2(0x27a)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x47d55c+_0x500fae+_0x44926c+_0x491073);}}export async function featureShow(_0x4482c5){const _0x14ab05=_0x2f2801,_0x42484e={'ZqmKP':function(_0x2060cf,_0x389ca7){return _0x2060cf(_0x389ca7);},'ZAwNZ':function(_0x1921dd,_0x234aed,_0x56efda){return _0x1921dd(_0x234aed,_0x56efda);}},_0xac58ca=_0x4482c5||await getActiveFeatureId();if(!_0xac58ca)throw new Error(_0x14ab05(0x210));const _0x2f778f=await _0x42484e[_0x14ab05(0x261)](getFeature,_0xac58ca);_0x42484e[_0x14ab05(0x276)](displayFeature,_0x2f778f,_0x2f778f[_0x14ab05(0x225)]);}export async function featureResume(_0x4dbf9a){const _0x4f8043=_0x2f2801,_0x42bef3={'OrNup':function(_0x40dc2d,_0x237ee1){return _0x40dc2d(_0x237ee1);},'SZHEg':function(_0x49f6c2){return _0x49f6c2();},'Vzcci':function(_0x4eb625,_0xce3692,_0xdc142c){return _0x4eb625(_0xce3692,_0xdc142c);},'sTplq':function(_0x3c1ba2,_0x544158,_0x59e539){return _0x3c1ba2(_0x544158,_0x59e539);},'kSFdB':function(_0x42a829,_0x126e04){return _0x42a829(_0x126e04);},'WDsgg':_0x4f8043(0x1fa),'qEvaB':function(_0x18e7fd,_0x18f64b){return _0x18e7fd||_0x18f64b;},'drakK':function(_0x1501e8,_0x212364){return _0x1501e8===_0x212364;},'TffHb':_0x4f8043(0x255),'cIIdg':'list','turEb':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','qVDCH':function(_0x258dd9,_0x5c89e8){return _0x258dd9(_0x5c89e8);},'lPFLw':function(_0x1d007c,_0xb09b67){return _0x1d007c!==_0xb09b67;}};if(_0x4dbf9a){const _0x50dcb7=await getFeature(_0x4dbf9a);await _0x42bef3['OrNup'](setActiveFeatureId,_0x50dcb7['id']);const _0x173525=_0x42bef3['SZHEg'](getGitBranch);_0x173525&&_0x173525!==_0x50dcb7['gitBranch']&&(await _0x42bef3['Vzcci'](updateFeature,_0x50dcb7['id'],{'gitBranch':_0x173525}),console[_0x4f8043(0x27a)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x173525));console[_0x4f8043(0x27a)](_0x4f8043(0x296)+_0x50dcb7['name']+'\x20('+_0x50dcb7['id']+')'),await tryStartCurrentSession(_0x50dcb7['id']);const _0x3a9b32=process[_0x4f8043(0x238)]['CLAUDE_SESSION_ID'];_0x3a9b32&&registerSession(_0x3a9b32,_0x50dcb7['id']);_0x42bef3[_0x4f8043(0x272)](displayFeature,_0x50dcb7,_0x50dcb7['checklistItems']),await _0x42bef3[_0x4f8043(0x270)](printFeedbackNudge,_0x50dcb7['id']);return;}const _0x4c2f6e=getGitRepoUrl(),_0x2d4fd5=getGitBranch();if(!_0x4c2f6e&&!_0x2d4fd5)throw new Error(_0x42bef3[_0x4f8043(0x23f)]);console[_0x4f8043(0x27a)](_0x4f8043(0x28f)+(_0x4c2f6e||'any')+'\x20/\x20'+_0x42bef3['qEvaB'](_0x2d4fd5,_0x4f8043(0x279))+'...');const _0x430f04=await listFeatures({'gitRepoUrl':_0x4c2f6e,'gitBranch':_0x2d4fd5}),_0x23811b=_0x430f04['items'][_0x4f8043(0x223)](_0x79b58c=>!_0x79b58c['completedAt']);if(_0x42bef3[_0x4f8043(0x1ef)](_0x23811b['length'],0x0)){console['log'](_0x4f8043(0x1ea)),console[_0x4f8043(0x27a)](_0x4f8043(0x250));return;}let _0x436ac6;if(_0x23811b[_0x4f8043(0x243)]===0x1)_0x436ac6=_0x23811b[0x0];else{const _0x5b72ab=process[_0x4f8043(0x25a)][_0x4f8043(0x20b)]&&process['stdout'][_0x4f8043(0x20b)];if(!_0x5b72ab){console[_0x4f8043(0x27a)](_0x42bef3['TffHb']);for(const _0x3a4e01 of _0x23811b){console['log']('\x20\x20'+_0x3a4e01['name']),console[_0x4f8043(0x27a)]('\x20\x20\x20\x20\x20ID:\x20'+_0x3a4e01['id']),_0x3a4e01[_0x4f8043(0x285)]&&console['log'](_0x4f8043(0x245)+_0x42bef3['OrNup'](getProgressDisplay,_0x3a4e01['stats'])),_0x3a4e01['gitBranch']&&console[_0x4f8043(0x27a)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x3a4e01[_0x4f8043(0x1fc)]);}throw new Error(_0x4f8043(0x242));}const {selected:_0x155f9a}=await _0x59d90c['prompt']([{'type':_0x42bef3[_0x4f8043(0x27b)],'name':_0x4f8043(0x264),'message':_0x42bef3[_0x4f8043(0x26c)],'choices':_0x23811b['map'](_0x278d0a=>({'name':_0x278d0a['name']+'\x20('+_0x278d0a['id']+')','value':_0x278d0a['id']}))}]);_0x436ac6=_0x23811b['find'](_0x488604=>_0x488604['id']===_0x155f9a);}await _0x42bef3['qVDCH'](setActiveFeatureId,_0x436ac6['id']);_0x2d4fd5&&_0x42bef3[_0x4f8043(0x256)](_0x2d4fd5,_0x436ac6[_0x4f8043(0x1fc)])&&(await _0x42bef3['Vzcci'](updateFeature,_0x436ac6['id'],{'gitBranch':_0x2d4fd5}),console['log'](_0x4f8043(0x1f2)+_0x2d4fd5));console[_0x4f8043(0x27a)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x436ac6[_0x4f8043(0x28a)]+'\x20('+_0x436ac6['id']+')'),await tryStartCurrentSession(_0x436ac6['id']);const _0x1b8b3a=await _0x42bef3['qVDCH'](getFeature,_0x436ac6['id']),_0x541373=process[_0x4f8043(0x238)][_0x4f8043(0x207)];_0x541373&&registerSession(_0x541373,_0x1b8b3a['id']),displayFeature(_0x1b8b3a,_0x1b8b3a['checklistItems']),await _0x42bef3[_0x4f8043(0x270)](printFeedbackNudge,_0x1b8b3a['id']);}async function printFeedbackNudge(_0x5a8465){const _0x174365=_0x2f2801,_0x339be7={'pIyNr':function(_0x5001bb,_0x380c49){return _0x5001bb>_0x380c49;}};try{const {items:_0x824b5a}=await getActionItems(_0x5a8465);let _0x3151c6=0x0,_0x17a145=0x0;for(const _0xc3164a of _0x824b5a){const _0xe0b086=await getItemFeedback(_0x5a8465,_0xc3164a['id']);_0xe0b086[_0x174365(0x239)]['length']>0x0&&(_0x3151c6+=_0xe0b086['unaddressedComments']['length'],_0x17a145++);}_0x339be7['pIyNr'](_0x3151c6,0x0)&&(console[_0x174365(0x27a)](_0x174365(0x1f3)+_0x3151c6+_0x174365(0x1eb)+_0x17a145+_0x174365(0x1f5)),console['log'](_0x174365(0x2a0)));}catch{}}async function tryStartCurrentSession(_0x118f5d){const _0x20afa9=_0x2f2801,_0xc65464={'cnCYX':function(_0x423e39,_0x538119,_0x4cfe91){return _0x423e39(_0x538119,_0x4cfe91);}};try{const {sessions:_0x547ac5}=await listFeatureSessions(_0x118f5d),_0x23ec0b=_0x547ac5['find'](_0x3eccf6=>_0x3eccf6[_0x20afa9(0x21f)]==='ready');_0x23ec0b&&(await _0xc65464['cnCYX'](startSession,_0x118f5d,_0x23ec0b['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x23ec0b['iteration']));}catch{}}export async function featureReport(_0x26b7f7,_0x413025){const _0x3bc972=_0x2f2801,_0x531224={'jNVCR':function(_0x308d94){return _0x308d94();},'JqZld':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','CyPlE':'\x0aGenerating\x20report...','ikCGB':function(_0x31eeda){return _0x31eeda();},'TytjO':'reports','IFOyK':function(_0x1a944d,_0x320994,_0x5718b8){return _0x1a944d(_0x320994,_0x5718b8);},'Rqdse':function(_0x2a7071,_0x48299f,_0x4221fc){return _0x2a7071(_0x48299f,_0x4221fc);},'UjuXo':function(_0x28c3f2,_0x566ff2,_0xccdfde,_0x5a0d9f){return _0x28c3f2(_0x566ff2,_0xccdfde,_0x5a0d9f);}},_0x3a3a06=_0x26b7f7||await _0x531224[_0x3bc972(0x291)](getActiveFeatureId);if(!_0x3a3a06)throw new Error(_0x531224['JqZld']);console['log'](_0x531224['CyPlE']);const _0x346635=await getFeatureReportMarkdown(_0x3a3a06,{'style':_0x413025[_0x3bc972(0x206)]}),_0x46644a=_0x413025['output']||join(_0x531224['ikCGB'](getRangerDir),_0x531224[_0x3bc972(0x226)],_0x3a3a06+'.md'),_0x129496=_0x531224[_0x3bc972(0x235)](join,_0x46644a,'..');!existsSync(_0x129496)&&await _0x531224['Rqdse'](mkdir,_0x129496,{'recursive':!![]}),await _0x531224[_0x3bc972(0x236)](writeFile,_0x46644a,_0x346635,'utf-8'),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x46644a);}export async function featureConcludeSession(_0x59b9f6){const _0x8375a3=_0x2f2801,_0x43072b={'jLDWY':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','YKJyB':function(_0x326a2d,_0x498555){return _0x326a2d(_0x498555);},'KYemf':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','IGsZv':_0x8375a3(0x21b),'kspdU':_0x8375a3(0x215),'wXejI':_0x8375a3(0x224),'eZbmI':_0x8375a3(0x209)},_0x20551b=_0x59b9f6||await getActiveFeatureId();if(!_0x20551b)throw new Error(_0x43072b['jLDWY']);const _0x2e7c09=await _0x43072b['YKJyB'](getFeature,_0x20551b);if(!_0x2e7c09['currentSessionId'])throw new Error(_0x43072b[_0x8375a3(0x29a)]);const {sessions:_0x72f083}=await listFeatureSessions(_0x20551b),_0x142f94=_0x72f083[_0x8375a3(0x249)](_0x329ae5=>_0x329ae5['id']===_0x2e7c09[_0x8375a3(0x29f)]);if(!_0x142f94)throw new Error(_0x43072b['IGsZv']);if(_0x142f94['status']===_0x43072b[_0x8375a3(0x1f1)]){console['log'](_0x8375a3(0x260));return;}if(_0x142f94[_0x8375a3(0x21f)]!==_0x43072b['wXejI'])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x142f94[_0x8375a3(0x21f)]);console['log'](_0x43072b[_0x8375a3(0x21a)]),await concludeSession(_0x20551b,_0x2e7c09[_0x8375a3(0x29f)]),console[_0x8375a3(0x27a)]('\x0a✅\x20Session\x20'+_0x142f94[_0x8375a3(0x26e)]+'\x20concluded.'),console['log'](_0x8375a3(0x241));}export async function featureSessions(_0x43f486){const _0x4a7f2c=_0x2f2801,_0x36e4ed={'mNbsp':function(_0x467980){return _0x467980();},'FtrQQ':_0x4a7f2c(0x29b),'JvfjK':function(_0xa2babe,_0x12f940){return _0xa2babe(_0x12f940);},'ueedx':function(_0x2b45ae,_0x592aa9){return _0x2b45ae===_0x592aa9;},'KDQnN':_0x4a7f2c(0x215),'DFpDT':function(_0x20370e,_0x10fe91){return _0x20370e===_0x10fe91;}},_0x3b0bbd=_0x43f486||await _0x36e4ed[_0x4a7f2c(0x231)](getActiveFeatureId);if(!_0x3b0bbd)throw new Error(_0x36e4ed['FtrQQ']);const _0x100682=await _0x36e4ed['JvfjK'](getFeature,_0x3b0bbd);console[_0x4a7f2c(0x27a)]('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x100682[_0x4a7f2c(0x28a)]+'\x0a');const {sessions:_0x4b3c57}=await listFeatureSessions(_0x3b0bbd);if(_0x36e4ed[_0x4a7f2c(0x212)](_0x4b3c57[_0x4a7f2c(0x243)],0x0)){console['log']('No\x20sessions\x20found.');return;}for(const _0x2ca96b of _0x4b3c57){const _0x13d27c=_0x2ca96b['status']===_0x36e4ed[_0x4a7f2c(0x1fe)]?'✅':_0x36e4ed[_0x4a7f2c(0x211)](_0x2ca96b['status'],_0x4a7f2c(0x224))?'🔄':'▶️';console[_0x4a7f2c(0x27a)](_0x13d27c+_0x4a7f2c(0x26f)+_0x2ca96b['iteration']+'\x20('+_0x2ca96b['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x2ca96b[_0x4a7f2c(0x21f)]),console['log'](_0x4a7f2c(0x234)+new Date(_0x2ca96b[_0x4a7f2c(0x204)])[_0x4a7f2c(0x27f)]()),_0x2ca96b['completedAt']&&console[_0x4a7f2c(0x27a)](_0x4a7f2c(0x218)+new Date(_0x2ca96b[_0x4a7f2c(0x1f7)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0x3cf380,_0x39c4ea){const _0x4a0ea5=_0x2f2801,_0x5b4951={'qeKjx':function(_0xab295a,_0x3f4f77,_0x29e8ea){return _0xab295a(_0x3f4f77,_0x29e8ea);}},_0x25f58b=_0x39c4ea||await getActiveFeatureId();if(!_0x25f58b)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x365f93=await getFeature(_0x25f58b);if(_0x365f93[_0x4a0ea5(0x23c)]&&!_0x365f93[_0x4a0ea5(0x23c)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x365f93['dashboardUrl']);await _0x5b4951['qeKjx'](createChecklistItem,_0x25f58b,_0x3cf380);const _0x33ca83=await getFeature(_0x25f58b);console[_0x4a0ea5(0x27a)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x33ca83,_0x33ca83['checklistItems']);}export async function featureEditScenario(_0x277c9a,_0x1766f7){const _0x37ff8d=_0x2f2801,_0x33e183={'CeJuR':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','bIjgb':function(_0x198504,_0x40ccf4){return _0x198504===_0x40ccf4;},'SMsnr':function(_0x443a7c,_0x2638b0){return _0x443a7c-_0x2638b0;},'dEfkY':function(_0xe12847,_0x34bba7){return _0xe12847>=_0x34bba7;},'mBEWT':_0x37ff8d(0x20f),'VmknY':function(_0x5837b1,_0x4612b3){return _0x5837b1<_0x4612b3;},'yZjdK':function(_0x5aa823,_0x7eb494){return _0x5aa823+_0x7eb494;},'PDFmM':function(_0x5594a3,_0x26e839,_0xdb9cad,_0x235210){return _0x5594a3(_0x26e839,_0xdb9cad,_0x235210);},'rBPlI':function(_0x2cd433,_0x3e5617){return _0x2cd433(_0x3e5617);},'OUCzD':function(_0x462c2f,_0x5f05af,_0x14ca25){return _0x462c2f(_0x5f05af,_0x14ca25);}},_0x55ca98=_0x1766f7['id']||await getActiveFeatureId();!_0x55ca98&&(console['error'](_0x33e183[_0x37ff8d(0x263)]),console['error']('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process['exit'](0x1));const _0x4984ca=await getFeature(_0x55ca98);_0x4984ca['latestReview']&&!_0x4984ca[_0x37ff8d(0x23c)]['submittedAt']&&(console[_0x37ff8d(0x281)](_0x37ff8d(0x295)),console[_0x37ff8d(0x281)](_0x37ff8d(0x254)),console[_0x37ff8d(0x281)]('\x20\x20'+_0x4984ca[_0x37ff8d(0x28e)]),process['exit'](0x1));const _0x3551ed=_0x4984ca['checklistItems']||[];_0x33e183['bIjgb'](_0x3551ed[_0x37ff8d(0x243)],0x0)&&(console[_0x37ff8d(0x281)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process['exit'](0x1));if(_0x33e183[_0x37ff8d(0x1ff)](_0x1766f7[_0x37ff8d(0x214)],undefined)){console['error'](_0x37ff8d(0x275)),console[_0x37ff8d(0x27a)]('\x0aAvailable\x20scenarios:');for(let _0x20710c=0x0;_0x20710c<_0x3551ed['length'];_0x20710c++){console[_0x37ff8d(0x27a)]('\x20\x20'+(_0x20710c+0x1)+'.\x20'+_0x3551ed[_0x20710c]['description']);}process['exit'](0x1);}const _0xd6c453=_0x33e183[_0x37ff8d(0x205)](_0x1766f7[_0x37ff8d(0x214)],0x1);if(_0xd6c453<0x0||_0x33e183['dEfkY'](_0xd6c453,_0x3551ed[_0x37ff8d(0x243)])){console[_0x37ff8d(0x281)](_0x37ff8d(0x23d)+_0x1766f7['scenario']+_0x37ff8d(0x208)+_0x3551ed['length']+'\x20scenarios.'),console['log'](_0x33e183['mBEWT']);for(let _0x9d438c=0x0;_0x33e183[_0x37ff8d(0x23b)](_0x9d438c,_0x3551ed['length']);_0x9d438c++){console['log']('\x20\x20'+_0x33e183['yZjdK'](_0x9d438c,0x1)+'.\x20'+_0x3551ed[_0x9d438c]['description']);}process[_0x37ff8d(0x274)](0x1);}const _0x571b22=_0x3551ed[_0xd6c453];await _0x33e183[_0x37ff8d(0x269)](updateChecklistItem,_0x55ca98,_0x571b22['id'],{'description':_0x277c9a});const _0x3b886b=await _0x33e183[_0x37ff8d(0x266)](getFeature,_0x55ca98);console['log']('\x0a✅\x20Scenario\x20updated'),_0x33e183['OUCzD'](displayFeature,_0x3b886b,_0x3b886b[_0x37ff8d(0x225)]);}async function downloadFeedbackImage(_0x1fbfdb,_0x2c5b40){const _0x499690=_0x2f2801,_0x4b5f07={'yFswC':function(_0x26b447,_0x3a53cb,_0x35700c){return _0x26b447(_0x3a53cb,_0x35700c);},'rCPCM':function(_0x5bf701){return _0x5bf701();},'PQqWI':'feedback-images','JQZII':function(_0x2cc0c8,_0xa81450){return _0x2cc0c8(_0xa81450);}};try{const _0x27ecb8=_0x4b5f07['yFswC'](join,_0x4b5f07['rCPCM'](getRangerDir),_0x4b5f07[_0x499690(0x294)]);await _0x4b5f07['yFswC'](mkdir,_0x27ecb8,{'recursive':!![]});const _0x175938=_0x4b5f07['yFswC'](join,_0x27ecb8,_0x499690(0x289)+_0x2c5b40+'.png'),_0x5eae54=await _0x4b5f07['JQZII'](fetch,_0x1fbfdb);if(!_0x5eae54['ok'])return null;const _0x26a3ce=Buffer[_0x499690(0x258)](await _0x5eae54['arrayBuffer']());return await writeFile(_0x175938,_0x26a3ce),_0x175938;}catch{return null;}}export async function featureGetReview(_0x12142b){const _0x1508b1=_0x2f2801,_0x741c8a={'eeQiC':function(_0x14d6a3){return _0x14d6a3();},'Avfdt':_0x1508b1(0x210),'SLxGm':function(_0x2561ae,_0x1179f3){return _0x2561ae(_0x1179f3);},'XPkfU':function(_0x10ba98,_0x568c11){return _0x10ba98(_0x568c11);},'qmdDq':function(_0x2ca6cd,_0x33a0ac){return _0x2ca6cd<_0x33a0ac;},'KLorw':function(_0x2f3e45,_0x461861){return _0x2f3e45>_0x461861;},'jfUZr':function(_0x5ae2a9,_0x5def43){return _0x5ae2a9+_0x5def43;},'TzUAB':function(_0x20b920,_0x286a2c,_0x23d317){return _0x20b920(_0x286a2c,_0x23d317);},'dFKZh':'point','myuEK':function(_0xb0354d,_0x4bacfe){return _0xb0354d>=_0x4bacfe;}},_0x22f9a1=_0x12142b||await _0x741c8a[_0x1508b1(0x26b)](getActiveFeatureId);if(!_0x22f9a1)throw new Error(_0x741c8a['Avfdt']);const _0x984506=await _0x741c8a['SLxGm'](getFeature,_0x22f9a1),{items:_0x5c447c}=await _0x741c8a['XPkfU'](getActionItems,_0x22f9a1);console[_0x1508b1(0x27a)](_0x1508b1(0x22a)+_0x984506['name']+'\x20('+_0x984506['id']+')\x0a');if(_0x5c447c['length']===0x0){console[_0x1508b1(0x27a)](_0x1508b1(0x297));return;}for(let _0x30f471=0x0;_0x741c8a['qmdDq'](_0x30f471,_0x5c447c['length']);_0x30f471++){const _0x16f6a7=_0x5c447c[_0x30f471],_0x10774f=_0x741c8a['KLorw'](_0x16f6a7[_0x1508b1(0x248)],0x1)?_0x1508b1(0x271)+_0x16f6a7[_0x1508b1(0x248)]+')':'',_0x547629=await getItemFeedback(_0x22f9a1,_0x16f6a7['id']);if(_0x547629[_0x1508b1(0x239)][_0x1508b1(0x243)]>0x0){console[_0x1508b1(0x27a)](_0x1508b1(0x27c)+_0x741c8a[_0x1508b1(0x284)](_0x30f471,0x1)+':\x20\x22'+_0x16f6a7['description']+'\x22'+_0x10774f+_0x1508b1(0x232)+_0x547629['unaddressedComments'][_0x1508b1(0x243)]+'\x20unaddressed\x20comment(s)');for(const _0x369c0a of _0x547629['unaddressedComments']){const _0x35a6c4=new Date(_0x369c0a[_0x1508b1(0x204)])['toLocaleDateString'](_0x1508b1(0x22f),{'month':_0x1508b1(0x22e),'day':_0x1508b1(0x23e)}),_0x279be2=_0x369c0a['authorName']||_0x369c0a['authorEmail']||_0x1508b1(0x1f0);console['log']('\x20\x20💬\x20'+_0x279be2+'\x20('+_0x35a6c4+'):\x20\x22'+_0x369c0a[_0x1508b1(0x283)]+'\x22');if(_0x369c0a[_0x1508b1(0x24f)]){const _0x3fc038=await _0x741c8a[_0x1508b1(0x251)](downloadFeedbackImage,_0x369c0a[_0x1508b1(0x24f)],_0x369c0a['id']);_0x3fc038&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x3fc038);}if(_0x369c0a['spatial']){const _0x4e5743=_0x369c0a[_0x1508b1(0x267)][_0x1508b1(0x237)];_0x369c0a[_0x1508b1(0x267)][_0x1508b1(0x27d)]===_0x741c8a[_0x1508b1(0x298)]&&_0x741c8a[_0x1508b1(0x1e9)](_0x4e5743['length'],0x2)?console[_0x1508b1(0x27a)](_0x1508b1(0x1ed)+_0x4e5743[0x0]['toFixed'](0x2)+',\x20'+_0x4e5743[0x1]['toFixed'](0x2)+')'):console['log'](_0x1508b1(0x20e)+_0x369c0a['spatial']['type']+_0x1508b1(0x29e)+_0x4e5743['map'](_0x18a18f=>_0x18a18f[_0x1508b1(0x1f4)](0x2))['join'](',\x20')+']');}}if(_0x547629['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x5539bc of _0x547629[_0x1508b1(0x290)][_0x1508b1(0x227)]('\x0a')){console[_0x1508b1(0x27a)](_0x1508b1(0x288)+_0x5539bc);}}}else console['log'](_0x1508b1(0x27c)+(_0x30f471+0x1)+_0x1508b1(0x228)+_0x16f6a7['description']+'\x22'+_0x10774f+'\x20—\x20no\x20comments'),console[_0x1508b1(0x27a)](_0x1508b1(0x23a));console[_0x1508b1(0x27a)]('');}}export async function featureDelete(_0x2929fc){const _0x27950d=_0x2f2801,_0x43d6f8={'uLhSu':function(_0x24ca7b){return _0x24ca7b();},'plezX':function(_0x3524a7,_0x1a05df){return _0x3524a7(_0x1a05df);}},_0x11c968=_0x2929fc||await _0x43d6f8['uLhSu'](getActiveFeatureId);if(!_0x11c968)throw new Error(_0x27950d(0x210));const _0x2f3f66=await getFeature(_0x11c968);await _0x43d6f8[_0x27950d(0x286)](softDeleteFeature,_0x11c968),console['log'](_0x27950d(0x247)+_0x2f3f66['name']+'\x20('+_0x11c968+')'),console['log'](_0x27950d(0x29d)+_0x11c968);}export async function featureRestore(_0x2f03e0){const _0x3bbbc6=_0x2f2801,_0x413ed4={'CfRgI':function(_0x153d36,_0x44a542){return _0x153d36(_0x44a542);}};await restoreFeature(_0x2f03e0);const _0x4291aa=await _0x413ed4['CfRgI'](getFeature,_0x2f03e0);console[_0x3bbbc6(0x27a)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x4291aa[_0x3bbbc6(0x28a)]+'\x20('+_0x2f03e0+')'),displayFeature(_0x4291aa,_0x4291aa[_0x3bbbc6(0x225)]);}
1
+ (function(_0x2cba6c,_0x501c1f){const _0x343933=_0x2eb1,_0x2d2eb7=_0x2cba6c();while(!![]){try{const _0x1306c8=-parseInt(_0x343933(0x1a1))/0x1+parseInt(_0x343933(0x1d0))/0x2+-parseInt(_0x343933(0x1f2))/0x3+-parseInt(_0x343933(0x1c6))/0x4+-parseInt(_0x343933(0x19b))/0x5+parseInt(_0x343933(0x21b))/0x6+parseInt(_0x343933(0x1d8))/0x7;if(_0x1306c8===_0x501c1f)break;else _0x2d2eb7['push'](_0x2d2eb7['shift']());}catch(_0x1b62aa){_0x2d2eb7['push'](_0x2d2eb7['shift']());}}}(_0x18ee,0x79c39));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5a4a40 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x11b3d3=>'\x1b[1m'+_0x11b3d3+'\x1b[0m';function getGitRepoUrl(){const _0x5ab3e1=_0x2eb1,_0x53295a={'NPtkH':function(_0x2ff679,_0x249b43,_0x277049){return _0x2ff679(_0x249b43,_0x277049);},'fOUiZ':'pipe','LWwjE':'github.com/'};try{const _0x1ba5ad=_0x53295a[_0x5ab3e1(0x1b4)](execSync,_0x5ab3e1(0x202),{'encoding':_0x5ab3e1(0x199),'stdio':[_0x53295a[_0x5ab3e1(0x240)],_0x5ab3e1(0x1f1),_0x53295a[_0x5ab3e1(0x240)]]})[_0x5ab3e1(0x1a7)]();return _0x1ba5ad[_0x5ab3e1(0x1af)](/\.git$/,'')[_0x5ab3e1(0x1af)](/^git@github\.com:/,_0x53295a['LWwjE'])[_0x5ab3e1(0x1af)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x559721=_0x2eb1,_0x4866dc={'uHdxi':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','UxUPz':_0x559721(0x199),'VFzKk':'pipe'};try{return execSync(_0x4866dc[_0x559721(0x214)],{'encoding':_0x4866dc[_0x559721(0x1b3)],'stdio':[_0x4866dc['VFzKk'],_0x4866dc[_0x559721(0x1f0)],'pipe']})[_0x559721(0x1a7)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1b9ab0={'azNZO':function(_0x2b50d9,_0x219cd3,_0x1fa426){return _0x2b50d9(_0x219cd3,_0x1fa426);},'qFknb':function(_0x2725c7,_0x399c09){return _0x2725c7(_0x399c09);},'SROXd':function(_0x3f4356,_0x2fcebb,_0xc479bd){return _0x3f4356(_0x2fcebb,_0xc479bd);}},_0x563b57=_0x1b9ab0['azNZO'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x1b9ab0['qFknb'](existsSync,_0x563b57))return null;try{const _0x2254f2=await _0x1b9ab0['SROXd'](readFile,_0x563b57,'utf-8');return _0x2254f2['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x966805){const _0x59b220=_0x2eb1,_0x4ff2ab={'DNxjp':function(_0x38f510){return _0x38f510();},'ePZJh':function(_0x3df582,_0x32c8b5,_0x4bd067){return _0x3df582(_0x32c8b5,_0x4bd067);},'pelOE':function(_0x17c73b,_0xd791da){return _0x17c73b(_0xd791da);},'oTrmb':function(_0x5a7901,_0x5eb8b6,_0x146b7e){return _0x5a7901(_0x5eb8b6,_0x146b7e);},'CSjgF':function(_0xd7d1a8,_0x35a316,_0x2a5ca4,_0x4eb1d4){return _0xd7d1a8(_0x35a316,_0x2a5ca4,_0x4eb1d4);}},_0x532ab5=_0x4ff2ab[_0x59b220(0x18e)](getRangerDir),_0xb4f40d=_0x4ff2ab['ePZJh'](join,_0x532ab5,ACTIVE_FEATURE_FILE);!_0x4ff2ab[_0x59b220(0x1e4)](existsSync,_0x532ab5)&&await _0x4ff2ab['oTrmb'](mkdir,_0x532ab5,{'recursive':!![]}),await _0x4ff2ab[_0x59b220(0x21e)](writeFile,_0xb4f40d,_0x966805,'utf-8');}function getProgressDisplay(_0x57a439){const _0x44126d=_0x2eb1,_0xfcd655={'GvydI':function(_0x1d7552,_0x11d6b6){return _0x1d7552+_0x11d6b6;},'rzagF':function(_0x2e8113,_0xf1150c){return _0x2e8113-_0xf1150c;},'cXvMj':function(_0x8510ce,_0x3915ea){return _0x8510ce>_0x3915ea;},'fuLLv':function(_0x55be91,_0x3578a9){return _0x55be91>_0x3578a9;}},_0x1a1d7a=_0x57a439[_0x44126d(0x1b0)]||0x0,_0x2d5401=_0x57a439['verificationInProgressItems']||0x0,_0x41bc19=_0x57a439['blockedItems']||0x0,_0x11e940=_0x57a439[_0x44126d(0x1e1)]||0x0,_0x101c9e=_0x57a439['pendingItems']||0x0,_0x16f5d1=_0xfcd655[_0x44126d(0x21d)](_0xfcd655[_0x44126d(0x21d)](_0xfcd655['GvydI'](_0x1a1d7a,_0x2d5401)+_0x41bc19,_0x11e940),_0x101c9e);if(_0x16f5d1===0x0)return'-';const _0x68481=0xa,_0x146c11=Math[_0x44126d(0x213)](_0x1a1d7a/_0x16f5d1*_0x68481),_0x2e829f='█'['repeat'](_0x146c11)+'░'['repeat'](_0xfcd655[_0x44126d(0x19e)](_0x68481,_0x146c11)),_0x4fae66=[];if(_0xfcd655['cXvMj'](_0x41bc19,0x0))_0x4fae66[_0x44126d(0x212)](_0x41bc19+_0x44126d(0x1aa));if(_0x11e940>0x0)_0x4fae66[_0x44126d(0x212)](_0x11e940+_0x44126d(0x1d9));if(_0xfcd655['fuLLv'](_0x2d5401,0x0))_0x4fae66[_0x44126d(0x212)](_0x2d5401+_0x44126d(0x21a));const _0x4c9503=_0x4fae66[_0x44126d(0x1ad)]>0x0?'\x20('+_0x4fae66[_0x44126d(0x23a)](',\x20')+')':'';return _0x2e829f+'\x20'+_0x1a1d7a+'/'+_0x16f5d1+_0x44126d(0x232)+_0x4c9503;}function displayFeature(_0x276cc5,_0x248adb){const _0x48d93d=_0x2eb1,_0x5327b2={'AuFfs':function(_0xf0f9cb,_0x43de43){return _0xf0f9cb>_0x43de43;},'xocUs':'\x0a\x20\x20\x20Scenarios:','RYLog':function(_0x363229,_0x5413d3){return _0x363229===_0x5413d3;},'gsJas':'blocked','MuxLQ':function(_0x520eb0,_0xf7628d){return _0x520eb0===_0xf7628d;},'ULOhX':'closed','oafQI':function(_0x4f7ef6,_0x25f685){return _0x4f7ef6+_0x25f685;},'QQHCr':function(_0x1cd660,_0x361110){return _0x1cd660===_0x361110;}};console[_0x48d93d(0x239)]('\x0a'+_0x276cc5[_0x48d93d(0x18c)]+'\x20('+_0x276cc5[_0x48d93d(0x22a)]+')');_0x276cc5[_0x48d93d(0x1c0)]&&console['log'](_0x48d93d(0x238)+getProgressDisplay(_0x276cc5[_0x48d93d(0x1c0)]));_0x276cc5[_0x48d93d(0x1fd)]&&console[_0x48d93d(0x239)]('\x20\x20\x20Description:\x20'+_0x276cc5['description']);_0x276cc5[_0x48d93d(0x1e3)]&&console[_0x48d93d(0x239)]('\x20\x20\x20Repository:\x20'+_0x276cc5['gitRepoUrl']);_0x276cc5['gitBranch']&&console['log'](_0x48d93d(0x235)+_0x276cc5['gitBranch']);console['log'](_0x48d93d(0x218)+new Date(_0x276cc5[_0x48d93d(0x1cb)])['toLocaleString']());_0x276cc5[_0x48d93d(0x1c2)]&&console[_0x48d93d(0x239)]('\x20\x20\x20Completed:\x20'+new Date(_0x276cc5[_0x48d93d(0x1c2)])[_0x48d93d(0x228)]());if(_0x248adb&&_0x5327b2['AuFfs'](_0x248adb[_0x48d93d(0x1ad)],0x0)){console[_0x48d93d(0x239)](_0x5327b2['xocUs']);for(let _0x41f4b4=0x0;_0x41f4b4<_0x248adb[_0x48d93d(0x1ad)];_0x41f4b4++){const _0x389874=_0x248adb[_0x41f4b4];let _0x1120e1;if(_0x389874[_0x48d93d(0x229)]==='closed'&&_0x5327b2[_0x48d93d(0x1b5)](_0x389874['terminalReason'],_0x48d93d(0x211)))_0x1120e1='✅';else{if(_0x389874['status']===_0x48d93d(0x195))_0x1120e1='🟢';else{if(_0x5327b2['RYLog'](_0x389874['status'],_0x48d93d(0x1df)))_0x1120e1='🟠';else{if(_0x5327b2[_0x48d93d(0x1b5)](_0x389874['status'],_0x5327b2[_0x48d93d(0x1c4)]))_0x1120e1='🛑';else{if(_0x5327b2['MuxLQ'](_0x389874[_0x48d93d(0x229)],_0x5327b2['ULOhX']))_0x1120e1='⛔';else _0x5327b2['RYLog'](_0x389874['status'],'verification_in_progress')?_0x1120e1='⏳':_0x1120e1='⬜';}}}}const _0x4e3017=_0x389874[_0x48d93d(0x23d)]>0x1?_0x48d93d(0x20a)+_0x389874[_0x48d93d(0x23d)]+')':'',_0x5ed0d9=_0x389874['version']>0x1&&_0x389874[_0x48d93d(0x1e2)]&&_0x389874['status']!==_0x5327b2['ULOhX']&&_0x389874['status']!=='verified'?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0x5327b2[_0x48d93d(0x1e5)](_0x41f4b4,0x1)+'.\x20'+_0x1120e1+'\x20'+_0x389874[_0x48d93d(0x1fd)]+_0x4e3017+_0x5ed0d9);_0x5327b2['RYLog'](_0x389874['status'],_0x5327b2[_0x48d93d(0x1c4)])&&_0x389874['blockedReason']&&console['log'](_0x48d93d(0x1f8)+_0x389874['blockedReason']);_0x389874['status']==='incomplete'&&_0x389874[_0x48d93d(0x20c)]&&console[_0x48d93d(0x239)]('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x389874['incompleteReason']);if(_0x5327b2[_0x48d93d(0x1d2)](_0x389874['status'],_0x5327b2[_0x48d93d(0x210)])&&_0x5327b2['RYLog'](_0x389874['terminalReason'],_0x48d93d(0x211)))console[_0x48d93d(0x239)](_0x48d93d(0x1ef));else _0x5327b2[_0x48d93d(0x1de)](_0x389874['status'],_0x5327b2['ULOhX'])&&_0x389874[_0x48d93d(0x20f)]&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x389874[_0x48d93d(0x20f)]);}}}export async function featureCreate(_0x4e876a,_0x41f29b){const _0xe618e1=_0x2eb1,_0x5df742={'arpNO':function(_0x3c7602){return _0x3c7602();},'GNXuw':function(_0x15add4,_0x2d78ca){return _0x15add4===_0x2d78ca;},'AykQP':function(_0x8aef32,_0x33d777){return _0x8aef32(_0x33d777);},'hqyFt':function(_0x50a809){return _0x50a809();}},{envNames:_0x296a7a}=await _0x5df742[_0xe618e1(0x22b)](getEnvNames);_0x5df742[_0xe618e1(0x23f)](_0x296a7a[_0xe618e1(0x1ad)],0x0)&&console['warn']('\x0a'+_0x5df742[_0xe618e1(0x231)](formatProfileRequiredMessage,_0x20be53=>bold(_0x20be53)));const _0x2221e0=_0x41f29b['scenarios']?_0x41f29b['scenarios']['map'](_0x14bb12=>_0x14bb12[_0xe618e1(0x1a7)]()):[],_0x17bf72=getGitRepoUrl(),_0x4ec035=_0x5df742[_0xe618e1(0x1a2)](getGitBranch);console['log'](_0xe618e1(0x191));const _0x3ea62d=await _0x5df742['AykQP'](createFeature,{'name':_0x4e876a,'description':_0x41f29b['description'],'checklist':_0x2221e0,'gitRepoUrl':_0x17bf72,'gitBranch':_0x4ec035});await setActiveFeatureId(_0x3ea62d['id']),await tryStartCurrentSession(_0x3ea62d['id']);const _0x1780bb=process[_0xe618e1(0x1b9)]['CLAUDE_SESSION_ID'];_0x1780bb&&registerSession(_0x1780bb,_0x3ea62d['id']),console['log'](_0xe618e1(0x20e)+_0x3ea62d['id']),displayFeature(_0x3ea62d,_0x3ea62d['checklistItems']),console[_0xe618e1(0x239)]('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x3ecef5){const _0x9417ef=_0x2eb1,_0x111ca7={'VcNGL':function(_0x49f517){return _0x49f517();},'gwfnt':function(_0x5e930a,_0x55b2cd){return _0x5e930a===_0x55b2cd;},'cJzSh':_0x9417ef(0x198),'gRdMr':function(_0x4156c5,_0x5cb2f1){return _0x4156c5(_0x5cb2f1);},'pwbBc':function(_0x268efd,_0x7a4690){return _0x268efd<_0x7a4690;},'plIhB':function(_0x1a833e,_0x30bfef){return _0x1a833e!==_0x30bfef;},'OcaPw':'\x20--current-branch'},_0x183052={'limit':_0x3ecef5[_0x9417ef(0x19c)]??0xa,'offset':_0x3ecef5['offset']??0x0,'includeDeleted':_0x3ecef5[_0x9417ef(0x190)]};_0x3ecef5[_0x9417ef(0x192)]&&(_0x183052[_0x9417ef(0x1e3)]=getGitRepoUrl(),_0x183052['gitBranch']=_0x111ca7[_0x9417ef(0x1ce)](getGitBranch));const _0x29a3cb=await listFeatures(_0x183052);if(_0x111ca7[_0x9417ef(0x1e7)](_0x29a3cb[_0x9417ef(0x18d)]['length'],0x0)){console[_0x9417ef(0x239)](_0x111ca7['cJzSh']);return;}const _0x4bdbfb=_0x29a3cb[_0x9417ef(0x1f4)]>_0x29a3cb[_0x9417ef(0x18d)][_0x9417ef(0x1ad)]?_0x9417ef(0x1a5)+_0x29a3cb['items']['length']+'\x20of\x20'+_0x29a3cb['totalCount']:_0x29a3cb['totalCount']+_0x9417ef(0x209);console[_0x9417ef(0x239)]('\x0a'+_0x4bdbfb+':\x0a');for(const _0x37aa92 of _0x29a3cb['items']){console['log'](''+_0x37aa92['name']),console['log']('\x20\x20\x20ID:\x20'+_0x37aa92['id']),_0x37aa92[_0x9417ef(0x1c0)]&&console[_0x9417ef(0x239)]('\x20\x20\x20Progress:\x20'+_0x111ca7[_0x9417ef(0x1f7)](getProgressDisplay,_0x37aa92['stats'])),_0x37aa92[_0x9417ef(0x1e0)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x37aa92['gitBranch']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x37aa92[_0x9417ef(0x1cb)])['toLocaleDateString']()),console['log']('');}const _0x5524e4=_0x183052[_0x9417ef(0x19c)]??0xa,_0x1d6828=(_0x183052[_0x9417ef(0x1ca)]??0x0)+_0x29a3cb['items'][_0x9417ef(0x1ad)];if(_0x111ca7[_0x9417ef(0x215)](_0x1d6828,_0x29a3cb[_0x9417ef(0x1f4)])){const _0x4ad82b=_0x111ca7[_0x9417ef(0x1d7)](_0x5524e4,0xa)?_0x9417ef(0x1d1)+_0x5524e4:'',_0x45b296=_0x3ecef5['currentBranch']?_0x111ca7[_0x9417ef(0x23c)]:'',_0xa7575e=_0x3ecef5[_0x9417ef(0x190)]?'\x20--include-deleted':'';console[_0x9417ef(0x239)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x1d6828+_0x4ad82b+_0x45b296+_0xa7575e);}}export async function featureShow(_0x1be6e7){const _0xc9d928=_0x2eb1,_0x4e3f57={'ETVQz':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'},_0x3a47bb=_0x1be6e7||await getActiveFeatureId();if(!_0x3a47bb)throw new Error(_0x4e3f57[_0xc9d928(0x1cf)]);const _0x4e0c67=await getFeature(_0x3a47bb);displayFeature(_0x4e0c67,_0x4e0c67['checklistItems']);}export async function featureResume(_0x4d837e){const _0x46ef4f=_0x2eb1,_0x448d37={'jdNtm':function(_0x6b236,_0x434b7f){return _0x6b236!==_0x434b7f;},'AfLCF':function(_0x6ac0c2,_0x337309,_0xcb9afc){return _0x6ac0c2(_0x337309,_0xcb9afc);},'hBWKP':function(_0x16bffc,_0x295c0c){return _0x16bffc(_0x295c0c);},'ryJuf':function(_0x49dd4c,_0x2ced84,_0x36bb74){return _0x49dd4c(_0x2ced84,_0x36bb74);},'qnHVL':function(_0x55b982,_0x2d1ed2){return _0x55b982(_0x2d1ed2);},'uFNfs':function(_0x3c4990){return _0x3c4990();},'SToyu':_0x46ef4f(0x1eb),'CxfoF':function(_0x377fdb,_0x120030){return _0x377fdb||_0x120030;},'HpnSc':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','LtDlG':function(_0x4c51dc,_0x2949cd){return _0x4c51dc===_0x2949cd;},'NjNsU':_0x46ef4f(0x1d6),'cnPPt':function(_0x3cf5ea,_0x397119){return _0x3cf5ea!==_0x397119;}};if(_0x4d837e){const _0x50ab58=await getFeature(_0x4d837e);await setActiveFeatureId(_0x50ab58['id']);const _0x15df24=getGitBranch();_0x15df24&&_0x448d37['jdNtm'](_0x15df24,_0x50ab58[_0x46ef4f(0x1e0)])&&(await _0x448d37['AfLCF'](updateFeature,_0x50ab58['id'],{'gitBranch':_0x15df24}),console['log'](_0x46ef4f(0x1a6)+_0x15df24));console[_0x46ef4f(0x239)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x50ab58['name']+'\x20('+_0x50ab58['id']+')'),await _0x448d37[_0x46ef4f(0x22f)](tryStartCurrentSession,_0x50ab58['id']);const _0x3dcfbe=process['env']['CLAUDE_SESSION_ID'];_0x3dcfbe&&_0x448d37['ryJuf'](registerSession,_0x3dcfbe,_0x50ab58['id']);displayFeature(_0x50ab58,_0x50ab58['checklistItems']),await _0x448d37['qnHVL'](printFeedbackNudge,_0x50ab58['id']);return;}const _0x30344d=_0x448d37[_0x46ef4f(0x1db)](getGitRepoUrl),_0x4809b5=_0x448d37[_0x46ef4f(0x1db)](getGitBranch);if(!_0x30344d&&!_0x4809b5)throw new Error(_0x46ef4f(0x22c));console[_0x46ef4f(0x239)](_0x46ef4f(0x18f)+(_0x30344d||_0x448d37[_0x46ef4f(0x1a8)])+'\x20/\x20'+_0x448d37[_0x46ef4f(0x196)](_0x4809b5,'any')+'...');const _0x2fb8d0=await _0x448d37[_0x46ef4f(0x220)](listFeatures,{'gitRepoUrl':_0x30344d,'gitBranch':_0x4809b5}),_0x37e8e5=_0x2fb8d0['items'][_0x46ef4f(0x1ea)](_0x5406b0=>!_0x5406b0[_0x46ef4f(0x1c2)]);if(_0x37e8e5['length']===0x0){console[_0x46ef4f(0x239)]('\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.'),console['log'](_0x448d37['HpnSc']);return;}let _0x20288d;if(_0x448d37['LtDlG'](_0x37e8e5['length'],0x1))_0x20288d=_0x37e8e5[0x0];else{const _0x168ba8=process[_0x46ef4f(0x1ed)]['isTTY']&&process['stdout']['isTTY'];if(!_0x168ba8){console['log']('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x317e57 of _0x37e8e5){console['log']('\x20\x20'+_0x317e57[_0x46ef4f(0x18c)]),console['log'](_0x46ef4f(0x1dd)+_0x317e57['id']),_0x317e57['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x317e57['stats'])),_0x317e57['gitBranch']&&console['log'](_0x46ef4f(0x1fe)+_0x317e57['gitBranch']);}throw new Error(_0x448d37[_0x46ef4f(0x1dc)]);}const {selected:_0xb16371}=await _0x5a4a40['prompt']([{'type':_0x46ef4f(0x205),'name':_0x46ef4f(0x1da),'message':_0x46ef4f(0x23b),'choices':_0x37e8e5['map'](_0x371a28=>({'name':_0x371a28['name']+'\x20('+_0x371a28['id']+')','value':_0x371a28['id']}))}]);_0x20288d=_0x37e8e5[_0x46ef4f(0x19a)](_0x2af794=>_0x2af794['id']===_0xb16371);}await _0x448d37['hBWKP'](setActiveFeatureId,_0x20288d['id']);_0x4809b5&&_0x448d37[_0x46ef4f(0x207)](_0x4809b5,_0x20288d['gitBranch'])&&(await _0x448d37[_0x46ef4f(0x1d4)](updateFeature,_0x20288d['id'],{'gitBranch':_0x4809b5}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x4809b5));console[_0x46ef4f(0x239)](_0x46ef4f(0x1a0)+_0x20288d['name']+'\x20('+_0x20288d['id']+')'),await _0x448d37['hBWKP'](tryStartCurrentSession,_0x20288d['id']);const _0x3bb322=await getFeature(_0x20288d['id']),_0x517b85=process[_0x46ef4f(0x1b9)]['CLAUDE_SESSION_ID'];_0x517b85&&_0x448d37[_0x46ef4f(0x1d4)](registerSession,_0x517b85,_0x3bb322['id']),displayFeature(_0x3bb322,_0x3bb322['checklistItems']),await _0x448d37['qnHVL'](printFeedbackNudge,_0x3bb322['id']);}async function printFeedbackNudge(_0x2dd1d3){const _0x43a07f=_0x2eb1,_0x21e846={'nhbpX':function(_0x14b548,_0x4b3b52){return _0x14b548(_0x4b3b52);},'KwysQ':function(_0x2fa407,_0x3541fd,_0x467ea1){return _0x2fa407(_0x3541fd,_0x467ea1);}};try{const {items:_0x12add5}=await _0x21e846[_0x43a07f(0x1fb)](getActionItems,_0x2dd1d3);let _0x5862d9=0x0,_0x42304a=0x0;for(const _0x34ae08 of _0x12add5){const _0x5a7db3=await _0x21e846['KwysQ'](getItemFeedback,_0x2dd1d3,_0x34ae08['id']);_0x5a7db3[_0x43a07f(0x1cc)][_0x43a07f(0x1ad)]>0x0&&(_0x5862d9+=_0x5a7db3[_0x43a07f(0x1cc)]['length'],_0x42304a++);}_0x5862d9>0x0&&(console[_0x43a07f(0x239)]('\x0a⚠️\x20\x20'+_0x5862d9+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x42304a+'\x20scenario(s).'),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}function _0x18ee(){const _0x2416ed=['kTXYs','offset','createdAt','unaddressedComments','in_progress','VcNGL','ETVQz','929082jgqiTD','\x20--limit\x20','MuxLQ','toFixed','ryJuf','\x20—\x20','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','plIhB','9720494HXhody','\x20incomplete','selected','uFNfs','NjNsU','\x20\x20\x20\x20\x20ID:\x20','QQHCr','incomplete','gitBranch','incompleteItems','parentItemId','gitRepoUrl','pelOE','oafQI','\x0a✅\x20Restored\x20feature\x20review:\x20','gwfnt','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','\x20\x20✅\x20No\x20feedback\x20to\x20address','filter','any','\x0a✅\x20Scenario\x20added','stdin','style','\x20\x20\x20\x20\x20\x20Approved','VFzKk','pipe','2384649XTHuyf','gfUFf','totalCount','exit','eMWpu','gRdMr','\x20\x20\x20\x20\x20\x20Blocked:\x20','\x20at\x20[',':\x20\x22','nhbpX','zrIkJ','description','\x20\x20\x20\x20\x20Branch:\x20','authorName','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','LYKIH','git\x20remote\x20get-url\x20origin','latestReview','):\x20\x22','list','\x20\x20Expected\x20flow:','cnPPt','short','\x20feature\x20review(s)\x20found','\x20(v','MRHqu','incompleteReason','OZhaL','\x0a✅\x20Feature\x20review\x20created:\x20','canceledReason','ULOhX','approved','push','round','uHdxi','pwbBc','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','assetUrl','\x20\x20\x20Created:\x20','cUJFI','\x20in\x20progress','1213296EBqdIK','dauGI','GvydI','CSjgF','Scenario\x20','qnHVL','.md','\x0a✅\x20Session\x20is\x20already\x20completed.','yDHWv','\x0aAvailable\x20scenarios:','\x0a✅\x20Scenario\x20updated','\x20concluded.','lKyPO','toLocaleString','status','dashboardUrl','arpNO','Not\x20in\x20a\x20git\x20repository.','submittedAt','xCHao','hBWKP','nMbSv','AykQP','\x20verified','\x20\x20\x20Status:\x20','iteration','\x20\x20\x20Branch:\x20','pVttv','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x20\x20\x20Progress:\x20','log','join','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','OcaPw','version','\x20—\x20no\x20comments','GNXuw','fOUiZ','name','items','DNxjp','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','includeDeleted','\x0aCreating\x20feature\x20review...','currentBranch','currentSessionId','coordinates','verified','CxfoF','comment_','\x0aNo\x20feature\x20reviews\x20found.','utf-8','find','384095NEYYWM','limit','nHPSZ','rzagF','scenario','\x0a✅\x20Resumed\x20feature\x20review:\x20','179560oAjSUr','hqyFt','Unknown','No\x20scenarios\x20found.','Showing\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','trim','SToyu','canonicalFlow','\x20blocked','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','authorEmail','length','OcjoM','replace','verifiedItems','INdUZ','GzTce','UxUPz','NPtkH','RYLog','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','qqXzZ','completed','env','spatial','elfCu','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','umdKZ','error','content','stats','PqbJP','completedAt','No\x20active\x20session\x20for\x20this\x20feature\x20review.','gsJas','checklistItems','2021568YcSVnU','ejjqO','yvJbF'];_0x18ee=function(){return _0x2416ed;};return _0x18ee();}async function tryStartCurrentSession(_0x229687){const _0x142ca5=_0x2eb1,_0x49be60={'umdKZ':function(_0x4a0a9c,_0x98bbb7){return _0x4a0a9c(_0x98bbb7);},'eMWpu':function(_0x3eee86,_0x15840c,_0x41e49a){return _0x3eee86(_0x15840c,_0x41e49a);}};try{const {sessions:_0xb87dbb}=await _0x49be60[_0x142ca5(0x1bd)](listFeatureSessions,_0x229687),_0x35c3d1=_0xb87dbb[_0x142ca5(0x19a)](_0x4009d7=>_0x4009d7[_0x142ca5(0x229)]==='ready');_0x35c3d1&&(await _0x49be60[_0x142ca5(0x1f6)](startSession,_0x229687,_0x35c3d1['id']),console[_0x142ca5(0x239)]('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x35c3d1[_0x142ca5(0x234)]));}catch{}}export async function featureReport(_0x252954,_0x4e6943){const _0xcb86d7=_0x2eb1,_0x2c4be3={'KfmqI':function(_0xdd28bf){return _0xdd28bf();},'GmxJM':function(_0x13a70f,_0x574216,_0x5a960c){return _0x13a70f(_0x574216,_0x5a960c);},'EKpQU':function(_0x43eb4d,_0x220f80){return _0x43eb4d(_0x220f80);},'elfCu':function(_0x51f656,_0x1b0d40,_0x3704a6,_0x47ff88){return _0x51f656(_0x1b0d40,_0x3704a6,_0x47ff88);}},_0x4abaf6=_0x252954||await _0x2c4be3['KfmqI'](getActiveFeatureId);if(!_0x4abaf6)throw new Error(_0xcb86d7(0x1ab));console[_0xcb86d7(0x239)]('\x0aGenerating\x20report...');const _0x5a9bc2=await _0x2c4be3['GmxJM'](getFeatureReportMarkdown,_0x4abaf6,{'style':_0x4e6943[_0xcb86d7(0x1ee)]}),_0x2a9f4a=_0x4e6943['output']||join(getRangerDir(),'reports',_0x4abaf6+_0xcb86d7(0x221)),_0xc049e9=join(_0x2a9f4a,'..');!_0x2c4be3['EKpQU'](existsSync,_0xc049e9)&&await _0x2c4be3['GmxJM'](mkdir,_0xc049e9,{'recursive':!![]}),await _0x2c4be3[_0xcb86d7(0x1bb)](writeFile,_0x2a9f4a,_0x5a9bc2,'utf-8'),console[_0xcb86d7(0x239)]('\x0a✅\x20Report\x20generated:\x20'+_0x2a9f4a);}export async function featureConcludeSession(_0x4503eb){const _0x5a2498=_0x2eb1,_0x300248={'nHPSZ':function(_0x4761de){return _0x4761de();},'GzTce':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','yvJbF':function(_0x34a9f7,_0x10a586){return _0x34a9f7(_0x10a586);},'wEkQA':_0x5a2498(0x1c3),'zQDKs':function(_0x5cb6e5,_0x49998b){return _0x5cb6e5(_0x49998b);},'cUJFI':'Current\x20session\x20not\x20found.','mGGXN':function(_0x2e5021,_0x5463bf){return _0x2e5021===_0x5463bf;},'OUYLB':_0x5a2498(0x1b8),'LYKIH':'in_progress','knpCf':'\x0aConcluding\x20session...','pVttv':function(_0x4bfb54,_0x451e3d,_0x420bd6){return _0x4bfb54(_0x451e3d,_0x420bd6);}},_0x5a8915=_0x4503eb||await _0x300248[_0x5a2498(0x19d)](getActiveFeatureId);if(!_0x5a8915)throw new Error(_0x300248[_0x5a2498(0x1b2)]);const _0x4b6566=await _0x300248[_0x5a2498(0x1c8)](getFeature,_0x5a8915);if(!_0x4b6566[_0x5a2498(0x193)])throw new Error(_0x300248['wEkQA']);const {sessions:_0x2c2d5f}=await _0x300248['zQDKs'](listFeatureSessions,_0x5a8915),_0x2dffdb=_0x2c2d5f[_0x5a2498(0x19a)](_0x43bbd0=>_0x43bbd0['id']===_0x4b6566['currentSessionId']);if(!_0x2dffdb)throw new Error(_0x300248[_0x5a2498(0x219)]);if(_0x300248['mGGXN'](_0x2dffdb[_0x5a2498(0x229)],_0x300248['OUYLB'])){console['log'](_0x5a2498(0x222));return;}if(_0x2dffdb['status']!==_0x300248[_0x5a2498(0x201)])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x2dffdb['status']);console[_0x5a2498(0x239)](_0x300248['knpCf']),await _0x300248[_0x5a2498(0x236)](concludeSession,_0x5a8915,_0x4b6566[_0x5a2498(0x193)]),console[_0x5a2498(0x239)]('\x0a✅\x20Session\x20'+_0x2dffdb['iteration']+_0x5a2498(0x226)),console[_0x5a2498(0x239)](_0x5a2498(0x1bc));}export async function featureSessions(_0x403d05){const _0x23dea7=_0x2eb1,_0x3a85b5={'nMbSv':_0x23dea7(0x1ab),'qqXzZ':function(_0x44daef,_0xdeb52e){return _0x44daef===_0xdeb52e;},'qWlqx':_0x23dea7(0x1cd)},_0x3cb71f=_0x403d05||await getActiveFeatureId();if(!_0x3cb71f)throw new Error(_0x3a85b5[_0x23dea7(0x230)]);const _0x3d9819=await getFeature(_0x3cb71f);console['log'](_0x23dea7(0x216)+_0x3d9819[_0x23dea7(0x18c)]+'\x0a');const {sessions:_0xa6ea0c}=await listFeatureSessions(_0x3cb71f);if(_0x3a85b5[_0x23dea7(0x1b7)](_0xa6ea0c[_0x23dea7(0x1ad)],0x0)){console[_0x23dea7(0x239)]('No\x20sessions\x20found.');return;}for(const _0x4615b4 of _0xa6ea0c){const _0xdab380=_0x4615b4[_0x23dea7(0x229)]===_0x23dea7(0x1b8)?'✅':_0x4615b4['status']===_0x3a85b5['qWlqx']?'🔄':'▶️';console[_0x23dea7(0x239)](_0xdab380+'\x20Session\x20'+_0x4615b4['iteration']+'\x20('+_0x4615b4['id']+')'),console['log'](_0x23dea7(0x233)+_0x4615b4['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x4615b4['createdAt'])[_0x23dea7(0x228)]()),_0x4615b4[_0x23dea7(0x1c2)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x4615b4['completedAt'])['toLocaleString']()),console[_0x23dea7(0x239)]('');}}export async function featureAddScenario(_0x40de1f,_0xa84285){const _0xe44862=_0x2eb1,_0x567268={'CLOeW':_0xe44862(0x1b6),'pbZZh':function(_0x4ca034,_0x4a8c35,_0x4e4f26){return _0x4ca034(_0x4a8c35,_0x4e4f26);},'INdUZ':function(_0x165b27,_0x28cc3f){return _0x165b27(_0x28cc3f);}},_0x48bfdb=_0xa84285||await getActiveFeatureId();if(!_0x48bfdb)throw new Error(_0x567268['CLOeW']);const _0x483976=await getFeature(_0x48bfdb);if(_0x483976[_0xe44862(0x203)]&&!_0x483976['latestReview']['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x483976[_0xe44862(0x22a)]);await _0x567268['pbZZh'](createChecklistItem,_0x48bfdb,_0x40de1f);const _0xce947c=await _0x567268[_0xe44862(0x1b1)](getFeature,_0x48bfdb);console['log'](_0xe44862(0x1ec)),_0x567268['pbZZh'](displayFeature,_0xce947c,_0xce947c['checklistItems']);}export async function featureEditScenario(_0x38db63,_0x305b7e){const _0x1cfb37=_0x2eb1,_0x4a9765={'dauGI':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','gfUFf':function(_0x154267,_0x14efbc){return _0x154267===_0x14efbc;},'xCHao':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','zrIkJ':function(_0x4ddbe7,_0x29f65f){return _0x4ddbe7+_0x29f65f;},'lKyPO':_0x1cfb37(0x224),'kTXYs':function(_0x37979d,_0x5a2122){return _0x37979d<_0x5a2122;}},_0x45c986=_0x305b7e['id']||await getActiveFeatureId();!_0x45c986&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x1cfb37(0x1be)](_0x4a9765[_0x1cfb37(0x21c)]),process[_0x1cfb37(0x1f5)](0x1));const _0x4e71df=await getFeature(_0x45c986);_0x4e71df['latestReview']&&!_0x4e71df['latestReview'][_0x1cfb37(0x22d)]&&(console['error'](_0x1cfb37(0x1e8)),console[_0x1cfb37(0x1be)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x1cfb37(0x1be)]('\x20\x20'+_0x4e71df['dashboardUrl']),process['exit'](0x1));const _0x364dbb=_0x4e71df['checklistItems']||[];_0x4a9765[_0x1cfb37(0x1f3)](_0x364dbb['length'],0x0)&&(console[_0x1cfb37(0x1be)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process['exit'](0x1));if(_0x305b7e[_0x1cfb37(0x19f)]===undefined){console['error'](_0x4a9765[_0x1cfb37(0x22e)]),console[_0x1cfb37(0x239)](_0x1cfb37(0x224));for(let _0x5a2380=0x0;_0x5a2380<_0x364dbb[_0x1cfb37(0x1ad)];_0x5a2380++){console['log']('\x20\x20'+_0x4a9765['zrIkJ'](_0x5a2380,0x1)+'.\x20'+_0x364dbb[_0x5a2380][_0x1cfb37(0x1fd)]);}process['exit'](0x1);}const _0x1f1821=_0x305b7e['scenario']-0x1;if(_0x1f1821<0x0||_0x1f1821>=_0x364dbb['length']){console[_0x1cfb37(0x1be)](_0x1cfb37(0x237)+_0x305b7e[_0x1cfb37(0x19f)]+'.\x20Feature\x20review\x20has\x20'+_0x364dbb[_0x1cfb37(0x1ad)]+'\x20scenarios.'),console['log'](_0x4a9765[_0x1cfb37(0x227)]);for(let _0x53e034=0x0;_0x4a9765[_0x1cfb37(0x1c9)](_0x53e034,_0x364dbb['length']);_0x53e034++){console['log']('\x20\x20'+_0x4a9765[_0x1cfb37(0x1fc)](_0x53e034,0x1)+'.\x20'+_0x364dbb[_0x53e034]['description']);}process[_0x1cfb37(0x1f5)](0x1);}const _0x361fa8=_0x364dbb[_0x1f1821];await updateChecklistItem(_0x45c986,_0x361fa8['id'],{'description':_0x38db63});const _0x479b00=await getFeature(_0x45c986);console['log'](_0x1cfb37(0x225)),displayFeature(_0x479b00,_0x479b00[_0x1cfb37(0x1c5)]);}async function downloadFeedbackImage(_0x210129,_0x2b2557){const _0x4c0d3f=_0x2eb1,_0x144ab3={'OcjoM':function(_0x18f7b0,_0x40e844,_0x14ed00){return _0x18f7b0(_0x40e844,_0x14ed00);},'jwnTP':function(_0x2f8da7,_0x1f1bb6){return _0x2f8da7(_0x1f1bb6);},'PqbJP':function(_0x47f7b4,_0x468bb6,_0x276077){return _0x47f7b4(_0x468bb6,_0x276077);}};try{const _0x1729dc=join(getRangerDir(),'feedback-images');await _0x144ab3[_0x4c0d3f(0x1ae)](mkdir,_0x1729dc,{'recursive':!![]});const _0x2b615e=_0x144ab3[_0x4c0d3f(0x1ae)](join,_0x1729dc,_0x4c0d3f(0x197)+_0x2b2557+'.png'),_0x663d6b=await _0x144ab3['jwnTP'](fetch,_0x210129);if(!_0x663d6b['ok'])return null;const _0x14d406=Buffer['from'](await _0x663d6b['arrayBuffer']());return await _0x144ab3[_0x4c0d3f(0x1c1)](writeFile,_0x2b615e,_0x14d406),_0x2b615e;}catch{return null;}}export async function featureGetReview(_0x525068){const _0x50507a=_0x2eb1,_0x32357c={'MRHqu':function(_0x13b17c){return _0x13b17c();},'sjNCv':_0x50507a(0x1b6),'CqkAN':function(_0x8eab1f,_0x2d67a6){return _0x8eab1f(_0x2d67a6);},'pJMHu':function(_0x4157a8,_0x3eedf0){return _0x4157a8===_0x3eedf0;},'sWHrY':_0x50507a(0x1a4),'AXLNT':function(_0x338bf0,_0x2bfe1){return _0x338bf0>_0x2bfe1;},'yDHWv':_0x50507a(0x1a3),'ejjqO':function(_0x47222a,_0x33f46a,_0x6f056e){return _0x47222a(_0x33f46a,_0x6f056e);},'OuyJV':function(_0x2b5a36,_0x2b7e88){return _0x2b5a36===_0x2b7e88;}},_0x5b6758=_0x525068||await _0x32357c[_0x50507a(0x20b)](getActiveFeatureId);if(!_0x5b6758)throw new Error(_0x32357c['sjNCv']);const _0x4d174a=await getFeature(_0x5b6758),{items:_0x47f264}=await _0x32357c['CqkAN'](getActionItems,_0x5b6758);console[_0x50507a(0x239)]('\x0a📋\x20Feedback\x20for:\x20'+_0x4d174a['name']+'\x20('+_0x4d174a['id']+')\x0a');if(_0x32357c['pJMHu'](_0x47f264['length'],0x0)){console['log'](_0x32357c['sWHrY']);return;}for(let _0x2c49cd=0x0;_0x2c49cd<_0x47f264['length'];_0x2c49cd++){const _0x12500c=_0x47f264[_0x2c49cd],_0x3fed49=_0x12500c['version']>0x1?'\x20(v'+_0x12500c[_0x50507a(0x23d)]+')':'',_0x54c8e6=await getItemFeedback(_0x5b6758,_0x12500c['id']);if(_0x32357c['AXLNT'](_0x54c8e6['unaddressedComments'][_0x50507a(0x1ad)],0x0)){console[_0x50507a(0x239)](_0x50507a(0x21f)+(_0x2c49cd+0x1)+':\x20\x22'+_0x12500c['description']+'\x22'+_0x3fed49+_0x50507a(0x1d5)+_0x54c8e6['unaddressedComments']['length']+'\x20unaddressed\x20comment(s)');for(const _0x55cad7 of _0x54c8e6[_0x50507a(0x1cc)]){const _0x29f6e1=new Date(_0x55cad7[_0x50507a(0x1cb)])['toLocaleDateString']('en-US',{'month':_0x50507a(0x208),'day':'numeric'}),_0x1427ab=_0x55cad7[_0x50507a(0x1ff)]||_0x55cad7[_0x50507a(0x1ac)]||_0x32357c[_0x50507a(0x223)];console['log']('\x20\x20💬\x20'+_0x1427ab+'\x20('+_0x29f6e1+_0x50507a(0x204)+_0x55cad7[_0x50507a(0x1bf)]+'\x22');if(_0x55cad7['assetUrl']){const _0x4dd688=await _0x32357c[_0x50507a(0x1c7)](downloadFeedbackImage,_0x55cad7[_0x50507a(0x217)],_0x55cad7['id']);_0x4dd688&&console[_0x50507a(0x239)](_0x50507a(0x200)+_0x4dd688);}if(_0x55cad7[_0x50507a(0x1ba)]){const _0x12e79a=_0x55cad7['spatial'][_0x50507a(0x194)];_0x32357c['OuyJV'](_0x55cad7['spatial']['type'],'point')&&_0x12e79a[_0x50507a(0x1ad)]>=0x2?console[_0x50507a(0x239)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x12e79a[0x0][_0x50507a(0x1d3)](0x2)+',\x20'+_0x12e79a[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x55cad7[_0x50507a(0x1ba)]['type']+_0x50507a(0x1f9)+_0x12e79a['map'](_0x142d38=>_0x142d38['toFixed'](0x2))[_0x50507a(0x23a)](',\x20')+']');}}if(_0x54c8e6['canonicalFlow']){console['log'](_0x50507a(0x206));for(const _0x26d760 of _0x54c8e6[_0x50507a(0x1a9)]['split']('\x0a')){console[_0x50507a(0x239)]('\x20\x20\x20\x20'+_0x26d760);}}}else console[_0x50507a(0x239)](_0x50507a(0x21f)+(_0x2c49cd+0x1)+_0x50507a(0x1fa)+_0x12500c[_0x50507a(0x1fd)]+'\x22'+_0x3fed49+_0x50507a(0x23e)),console[_0x50507a(0x239)](_0x50507a(0x1e9));console['log']('');}}function _0x2eb1(_0x4d91db,_0x3cb316){_0x4d91db=_0x4d91db-0x18c;const _0x18ee6d=_0x18ee();let _0x2eb154=_0x18ee6d[_0x4d91db];return _0x2eb154;}export async function featureDelete(_0x4371a5){const _0xb0eb54=_0x2eb1,_0x9a73da={'RRwWh':_0xb0eb54(0x1b6),'OZhaL':function(_0x15777e,_0x1e015c){return _0x15777e(_0x1e015c);},'zonee':function(_0x1c61fe,_0x2946b9){return _0x1c61fe+_0x2946b9;}},_0x4fa91a=_0x4371a5||await getActiveFeatureId();if(!_0x4fa91a)throw new Error(_0x9a73da['RRwWh']);const _0x242895=await _0x9a73da[_0xb0eb54(0x20d)](getFeature,_0x4fa91a);await softDeleteFeature(_0x4fa91a),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x242895[_0xb0eb54(0x18c)]+'\x20('+_0x4fa91a+')'),console['log'](_0x9a73da['zonee']('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x4fa91a));}export async function featureRestore(_0x1559f1){const _0x4d601a=_0x2eb1;await restoreFeature(_0x1559f1);const _0x56027d=await getFeature(_0x1559f1);console['log'](_0x4d601a(0x1e6)+_0x56027d[_0x4d601a(0x18c)]+'\x20('+_0x1559f1+')'),displayFeature(_0x56027d,_0x56027d[_0x4d601a(0x1c5)]);}
@@ -1 +1 @@
1
- (function(_0xa1d194,_0x1c073f){const _0x4522ce=_0x589f,_0x297241=_0xa1d194();while(!![]){try{const _0x4124b6=-parseInt(_0x4522ce(0x1b0))/0x1*(parseInt(_0x4522ce(0x1af))/0x2)+parseInt(_0x4522ce(0x1bb))/0x3+parseInt(_0x4522ce(0x1b9))/0x4*(-parseInt(_0x4522ce(0x1ba))/0x5)+-parseInt(_0x4522ce(0x1b5))/0x6*(parseInt(_0x4522ce(0x1bc))/0x7)+-parseInt(_0x4522ce(0x1bd))/0x8+parseInt(_0x4522ce(0x1b8))/0x9*(-parseInt(_0x4522ce(0x1ad))/0xa)+parseInt(_0x4522ce(0x1b6))/0xb*(parseInt(_0x4522ce(0x1b2))/0xc);if(_0x4124b6===_0x1c073f)break;else _0x297241['push'](_0x297241['shift']());}catch(_0xe509ce){_0x297241['push'](_0x297241['shift']());}}}(_0x40b0,0x94133));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 _0x589f(_0xcc5a28,_0x27c74b){_0xcc5a28=_0xcc5a28-0x1ad;const _0x40b030=_0x40b0();let _0x589f0f=_0x40b030[_0xcc5a28];return _0x589f0f;}export async function hook(_0x4384c4,_0x2d3eea){const _0x3ebb3e=_0x589f,_0x4227cc={'druKb':function(_0x15bc88,_0xf97b7b){return _0x15bc88(_0xf97b7b);}},_0x55b78f=HOOKS[_0x4384c4];if(!_0x55b78f){const _0x400da7=Object['keys'](HOOKS)['join'](',\x20');console[_0x3ebb3e(0x1b3)](_0x3ebb3e(0x1b7)+_0x4384c4),console['error'](_0x3ebb3e(0x1ae)+_0x400da7),process[_0x3ebb3e(0x1b4)](0x1);}await _0x4227cc[_0x3ebb3e(0x1b1)](_0x55b78f,_0x2d3eea);}function _0x40b0(){const _0x2acf97=['72joIMzA','28meoLiD','322005Nyicpc','1529781ZaVZdp','84qcTriZ','8170960xqyJjo','614360UENWzV','Valid\x20hooks:\x20','382IbZBAu','5835ISUWJC','druKb','1956uXnUEJ','error','exit','435624tRmnNW','273042rngnfy','Unknown\x20hook:\x20'];_0x40b0=function(){return _0x2acf97;};return _0x40b0();}
1
+ (function(_0xa137ad,_0xbbc08c){const _0x31c40=_0x5a94,_0x1aad11=_0xa137ad();while(!![]){try{const _0x3ed842=-parseInt(_0x31c40(0x16e))/0x1+parseInt(_0x31c40(0x168))/0x2*(parseInt(_0x31c40(0x16b))/0x3)+-parseInt(_0x31c40(0x163))/0x4*(parseInt(_0x31c40(0x16d))/0x5)+parseInt(_0x31c40(0x16f))/0x6*(-parseInt(_0x31c40(0x170))/0x7)+-parseInt(_0x31c40(0x16c))/0x8*(-parseInt(_0x31c40(0x167))/0x9)+parseInt(_0x31c40(0x166))/0xa+-parseInt(_0x31c40(0x169))/0xb*(-parseInt(_0x31c40(0x171))/0xc);if(_0x3ed842===_0xbbc08c)break;else _0x1aad11['push'](_0x1aad11['shift']());}catch(_0x32204b){_0x1aad11['push'](_0x1aad11['shift']());}}}(_0xb2b3,0x64946));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0xb2b3(){const _0x28802a=['758520rRXrgX','828168PeFmFO','28LBHytz','600PmxyBo','31180hYNNzm','join','error','3629700FAeSWa','536796reRhRH','2eYiZjr','150854nNpFNA','keys','2374701AfDkqE','48IkaVjK','305YzSdCC'];_0xb2b3=function(){return _0x28802a;};return _0xb2b3();}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 _0x5a94(_0x382db8,_0x5ea865){_0x382db8=_0x382db8-0x163;const _0xb2b359=_0xb2b3();let _0x5a94ee=_0xb2b359[_0x382db8];return _0x5a94ee;}export async function hook(_0x552b1a,_0x275856){const _0x48216a=_0x5a94,_0x557f9c=HOOKS[_0x552b1a];if(!_0x557f9c){const _0x1d2a36=Object[_0x48216a(0x16a)](HOOKS)[_0x48216a(0x164)](',\x20');console[_0x48216a(0x165)]('Unknown\x20hook:\x20'+_0x552b1a),console[_0x48216a(0x165)]('Valid\x20hooks:\x20'+_0x1d2a36),process['exit'](0x1);}await _0x557f9c(_0x275856);}
@@ -1 +1 @@
1
- function _0x6871(){const _0x3237c0=['17232JJvHbP','36SmNLCe','417021MJerhh','\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.','341843rptkce','72hMAUxH','session_id','340qOBJOe','2zFqXsk','12159JZKlNm','50840attGhT','18846JslyNT','384MbbfXS','1503200aAMAkj','jWgup'];_0x6871=function(){return _0x3237c0;};return _0x6871();}const _0x4664fa=_0x2968;(function(_0x5a1a20,_0x38467a){const _0x1b5814=_0x2968,_0x2e1b77=_0x5a1a20();while(!![]){try{const _0x5c5936=-parseInt(_0x1b5814(0x161))/0x1*(parseInt(_0x1b5814(0x165))/0x2)+-parseInt(_0x1b5814(0x162))/0x3*(-parseInt(_0x1b5814(0x167))/0x4)+parseInt(_0x1b5814(0x15b))/0x5+-parseInt(_0x1b5814(0x15a))/0x6*(-parseInt(_0x1b5814(0x166))/0x7)+parseInt(_0x1b5814(0x15d))/0x8+-parseInt(_0x1b5814(0x159))/0x9*(parseInt(_0x1b5814(0x164))/0xa)+parseInt(_0x1b5814(0x15f))/0xb*(-parseInt(_0x1b5814(0x15e))/0xc);if(_0x5c5936===_0x38467a)break;else _0x2e1b77['push'](_0x2e1b77['shift']());}catch(_0xe35110){_0x2e1b77['push'](_0x2e1b77['shift']());}}}(_0x6871,0x2eee6));import{readHookInput}from'./output.js';function _0x2968(_0x414a2c,_0x5cd1e3){_0x414a2c=_0x414a2c-0x159;const _0x68716e=_0x6871();let _0x2968f7=_0x68716e[_0x414a2c];return _0x2968f7;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x4664fa(0x160);export async function autoPrompt(){const _0x11259a=_0x4664fa,_0x202cf1={'jWgup':function(_0xcd6c78,_0x58922e){return _0xcd6c78(_0x58922e);}},_0x1ac885=await readHookInput(),_0x4ea000=_0x1ac885?.[_0x11259a(0x163)];if(!_0x4ea000)return;if(isSessionEnabled(_0x4ea000)||hasSessionBeenPrompted(_0x4ea000))return;_0x202cf1[_0x11259a(0x15c)](markSessionPrompted,_0x4ea000),console['log'](AUTO_PROMPT_TEXT);}
1
+ (function(_0x8c1a05,_0x33e66f){const _0x5995e6=_0x57ac,_0x546a3a=_0x8c1a05();while(!![]){try{const _0x482cd2=-parseInt(_0x5995e6(0xe2))/0x1*(-parseInt(_0x5995e6(0xdb))/0x2)+parseInt(_0x5995e6(0xe6))/0x3+-parseInt(_0x5995e6(0xe5))/0x4*(parseInt(_0x5995e6(0xe4))/0x5)+-parseInt(_0x5995e6(0xda))/0x6+-parseInt(_0x5995e6(0xde))/0x7*(parseInt(_0x5995e6(0xdc))/0x8)+parseInt(_0x5995e6(0xdf))/0x9*(-parseInt(_0x5995e6(0xe0))/0xa)+parseInt(_0x5995e6(0xe1))/0xb;if(_0x482cd2===_0x33e66f)break;else _0x546a3a['push'](_0x546a3a['shift']());}catch(_0x57fa5a){_0x546a3a['push'](_0x546a3a['shift']());}}}(_0x32d4,0x418ab));import{readHookInput}from'./output.js';function _0x57ac(_0x2f1cf3,_0x1a3a2f){_0x2f1cf3=_0x2f1cf3-0xda;const _0x32d4d9=_0x32d4();let _0x57ac15=_0x32d4d9[_0x2f1cf3];return _0x57ac15;}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 _0x49d792=_0x57ac,_0xe2f192={'BoyiD':function(_0x194636,_0x5828b0){return _0x194636(_0x5828b0);}},_0x1a5ee3=await readHookInput(),_0x3564db=_0x1a5ee3?.[_0x49d792(0xe3)];if(!_0x3564db)return;if(isSessionEnabled(_0x3564db)||_0xe2f192['BoyiD'](hasSessionBeenPrompted,_0x3564db))return;_0xe2f192['BoyiD'](markSessionPrompted,_0x3564db),console[_0x49d792(0xdd)](AUTO_PROMPT_TEXT);}function _0x32d4(){const _0x54c843=['1608153Rrgasc','2376192sfHyZF','3464MbucYx','8bfpqNG','log','530369lDWgQC','1692GDPAhi','9590cVeddQ','7649158VDXmXu','122mAFsNv','session_id','870305ypaQkv','12IFvUBF'];_0x32d4=function(){return _0x54c843;};return _0x32d4();}
@@ -1 +1 @@
1
- (function(_0x49bdc0,_0x48a346){const _0x169dae=_0x483c,_0x57f538=_0x49bdc0();while(!![]){try{const _0x3333e2=-parseInt(_0x169dae(0xec))/0x1+parseInt(_0x169dae(0xf0))/0x2*(parseInt(_0x169dae(0xf1))/0x3)+parseInt(_0x169dae(0xe4))/0x4+parseInt(_0x169dae(0xeb))/0x5+parseInt(_0x169dae(0xe0))/0x6+parseInt(_0x169dae(0xf5))/0x7*(-parseInt(_0x169dae(0xe9))/0x8)+-parseInt(_0x169dae(0xe3))/0x9*(parseInt(_0x169dae(0xf4))/0xa);if(_0x3333e2===_0x48a346)break;else _0x57f538['push'](_0x57f538['shift']());}catch(_0x715f77){_0x57f538['push'](_0x57f538['shift']());}}}(_0x4093,0xb7d02));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x484c37){const _0x20ae9d=_0x483c,_0x4ae029={'xGDXu':_0x20ae9d(0xe2),'mJIPZ':_0x20ae9d(0xe1),'GWcJX':function(_0x2adf1b,_0x4c74a6){return _0x2adf1b!==_0x4c74a6;},'qHRlj':_0x20ae9d(0xee),'AeMqW':function(_0xe3b280,_0x1e1ebd){return _0xe3b280(_0x1e1ebd);},'VOBHC':function(_0x9c0baa,_0x3baab8){return _0x9c0baa!==_0x3baab8;}},_0x432aac=_0x484c37||process[_0x20ae9d(0xed)][_0x20ae9d(0xe5)]||'';!_0x432aac&&(console['error'](_0x20ae9d(0xe6)),console[_0x20ae9d(0xef)](_0x4ae029[_0x20ae9d(0xf3)]),process[_0x20ae9d(0xe8)](0x1));disableSession(_0x432aac);const _0x4a5ce4=getCurrentBranch();_0x4a5ce4&&_0x4a5ce4!==_0x4ae029['mJIPZ']&&_0x4ae029[_0x20ae9d(0xdf)](_0x4a5ce4,_0x4ae029['qHRlj'])&&_0x4ae029[_0x20ae9d(0xea)](disableBranch,_0x4a5ce4),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4a5ce4&&_0x4ae029['GWcJX'](_0x4a5ce4,_0x4ae029['mJIPZ'])&&_0x4ae029[_0x20ae9d(0xe7)](_0x4a5ce4,_0x20ae9d(0xee))?'\x20and\x20branch\x20\x27'+_0x4a5ce4+'\x27':'')+_0x20ae9d(0xf2));}function _0x483c(_0x208a0d,_0x36a680){_0x208a0d=_0x208a0d-0xdf;const _0x409375=_0x4093();let _0x483c1b=_0x409375[_0x208a0d];return _0x483c1b;}function _0x4093(){const _0xcddc19=['182242rgLpcW','env','master','error','49018aVeKRy','162bwWrbo','.\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`.','xGDXu','6400YeLXiO','14oRJevQ','GWcJX','8527692HCgAEa','main','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','8217xxlIWe','294824SoJfxS','CLAUDE_SESSION_ID','Error:\x20No\x20session\x20ID\x20available.','VOBHC','exit','5853144PRldQP','AeMqW','821360tIwnor'];_0x4093=function(){return _0xcddc19;};return _0x4093();}
1
+ (function(_0x21d4b8,_0x128a6b){const _0x6b6d03=_0x1808,_0x551dbf=_0x21d4b8();while(!![]){try{const _0x290569=parseInt(_0x6b6d03(0x161))/0x1*(-parseInt(_0x6b6d03(0x169))/0x2)+-parseInt(_0x6b6d03(0x166))/0x3+parseInt(_0x6b6d03(0x173))/0x4+-parseInt(_0x6b6d03(0x16a))/0x5*(-parseInt(_0x6b6d03(0x16c))/0x6)+-parseInt(_0x6b6d03(0x16e))/0x7+parseInt(_0x6b6d03(0x170))/0x8+-parseInt(_0x6b6d03(0x162))/0x9;if(_0x290569===_0x128a6b)break;else _0x551dbf['push'](_0x551dbf['shift']());}catch(_0x10d846){_0x551dbf['push'](_0x551dbf['shift']());}}}(_0x4386,0x61c5d));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x1808(_0x13967e,_0x226923){_0x13967e=_0x13967e-0x161;const _0x438693=_0x4386();let _0x18081a=_0x438693[_0x13967e];return _0x18081a;}import{printBlock}from'./output.js';function _0x4386(){const _0x3ef295=['master','178wdLxbo','1384945FtGOuY','VPuuE','6EzZgJf','oSsmO','176141hUFNdR','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','1703640YAqstJ','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','JllHs','3113500nLMQNr','3158GbOfKO','18630BugTVa','lZuAC','.\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`.','CLAUDE_SESSION_ID','1678641PmeOED','Error:\x20No\x20session\x20ID\x20available.'];_0x4386=function(){return _0x3ef295;};return _0x4386();}export async function disable(_0xcf8f1c){const _0x4ad3ea=_0x1808,_0x92b7e1={'VPuuE':_0x4ad3ea(0x167),'oSsmO':function(_0x5e6a56,_0x478558){return _0x5e6a56(_0x478558);},'JllHs':function(_0x246af6){return _0x246af6();},'lZuAC':function(_0x138569,_0x3367a1){return _0x138569!==_0x3367a1;},'KofPq':_0x4ad3ea(0x168)},_0x396dd1=_0xcf8f1c||process['env'][_0x4ad3ea(0x165)]||'';!_0x396dd1&&(console['error'](_0x92b7e1[_0x4ad3ea(0x16b)]),console['error'](_0x4ad3ea(0x171)),process['exit'](0x1));_0x92b7e1['oSsmO'](disableSession,_0x396dd1);const _0xcaa2c9=_0x92b7e1[_0x4ad3ea(0x172)](getCurrentBranch);_0xcaa2c9&&_0xcaa2c9!=='main'&&_0x92b7e1['lZuAC'](_0xcaa2c9,_0x92b7e1['KofPq'])&&disableBranch(_0xcaa2c9),_0x92b7e1[_0x4ad3ea(0x16d)](printBlock,_0x4ad3ea(0x16f)+(_0xcaa2c9&&_0x92b7e1[_0x4ad3ea(0x163)](_0xcaa2c9,'main')&&_0x92b7e1['lZuAC'](_0xcaa2c9,_0x4ad3ea(0x168))?'\x20and\x20branch\x20\x27'+_0xcaa2c9+'\x27':'')+_0x4ad3ea(0x164));}
@@ -1 +1 @@
1
- function _0x84d6(_0x1a2137,_0x1d7397){_0x1a2137=_0x1a2137-0x18e;const _0x20efaf=_0x20ef();let _0x84d662=_0x20efaf[_0x1a2137];return _0x84d662;}(function(_0x334eef,_0x210b31){const _0x44dae0=_0x84d6,_0x6a6892=_0x334eef();while(!![]){try{const _0x3ef7fe=parseInt(_0x44dae0(0x1a4))/0x1*(parseInt(_0x44dae0(0x19e))/0x2)+parseInt(_0x44dae0(0x195))/0x3*(-parseInt(_0x44dae0(0x197))/0x4)+-parseInt(_0x44dae0(0x19c))/0x5+-parseInt(_0x44dae0(0x191))/0x6+-parseInt(_0x44dae0(0x1a3))/0x7*(-parseInt(_0x44dae0(0x19b))/0x8)+-parseInt(_0x44dae0(0x18e))/0x9+-parseInt(_0x44dae0(0x1a2))/0xa*(-parseInt(_0x44dae0(0x19d))/0xb);if(_0x3ef7fe===_0x210b31)break;else _0x6a6892['push'](_0x6a6892['shift']());}catch(_0x5a0c30){_0x6a6892['push'](_0x6a6892['shift']());}}}(_0x20ef,0x934be));function _0x20ef(){const _0x2ca768=['CLAUDE_SESSION_ID','Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.','7755uGexCT','#\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.\x20Get\x20token:\x20https://dashboard.ranger.net/cli\x0a3.\x20Initialize:\x20`ranger\x20setup\x20[token]`\x0a\x0aRestart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','440kTLIpW','env','gHWYC','Error:\x20No\x20session\x20ID\x20available.','59464jPJnMV','3453655VfTVsS','440qHIsSb','478474AXsDAr','error','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','VfSHS','358180xagqkQ','686ssvEaR','2bZRBFX','397782Jusfto','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','master','6102138uMyjeW','exit'];_0x20ef=function(){return _0x2ca768;};return _0x20ef();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x84d6cb){const _0x3035e8=_0x84d6,_0x18c318={'lcCRH':_0x3035e8(0x194),'vSDCM':function(_0x34ec6a){return _0x34ec6a();},'VfSHS':_0x3035e8(0x190),'gHWYC':function(_0x323025,_0xbbc7bb){return _0x323025(_0xbbc7bb);}},_0x4f7395=_0x84d6cb||process[_0x3035e8(0x198)][_0x3035e8(0x193)]||'';!_0x4f7395&&(console[_0x3035e8(0x19f)](_0x3035e8(0x19a)),console['error'](_0x18c318['lcCRH']),process[_0x3035e8(0x192)](0x1));const _0x50aca6=await getToken();if(!_0x50aca6){printBlock(_0x3035e8(0x196));return;}try{await _0x18c318['vSDCM'](update);}catch{}enableSession(_0x4f7395);const _0x3df043=getCurrentBranch(),_0x13488a=_0x3df043&&_0x3df043!=='main'&&_0x3df043!==_0x18c318[_0x3035e8(0x1a1)]?'\x0a\x0a**Branch\x20\x27'+_0x3df043+_0x3035e8(0x18f):'',_0x4529d3=getRangerSkillContent();_0x18c318[_0x3035e8(0x199)](printBlock,'#\x20RANGER\x20ENABLED'+_0x13488a+_0x3035e8(0x1a0)+_0x4529d3+'\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
+ (function(_0x476ec7,_0x49375f){const _0x5a1c4e=_0x1ba5,_0xed6cd1=_0x476ec7();while(!![]){try{const _0x4567f6=-parseInt(_0x5a1c4e(0x6e))/0x1*(parseInt(_0x5a1c4e(0x6f))/0x2)+-parseInt(_0x5a1c4e(0x80))/0x3+parseInt(_0x5a1c4e(0x7d))/0x4*(-parseInt(_0x5a1c4e(0x82))/0x5)+parseInt(_0x5a1c4e(0x7e))/0x6*(-parseInt(_0x5a1c4e(0x79))/0x7)+parseInt(_0x5a1c4e(0x7c))/0x8+parseInt(_0x5a1c4e(0x7b))/0x9*(-parseInt(_0x5a1c4e(0x75))/0xa)+parseInt(_0x5a1c4e(0x6d))/0xb;if(_0x4567f6===_0x49375f)break;else _0xed6cd1['push'](_0xed6cd1['shift']());}catch(_0x1c2a61){_0xed6cd1['push'](_0xed6cd1['shift']());}}}(_0x54ea,0xac911));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x1ba5(_0x4f96cd,_0x1afef5){_0x4f96cd=_0x4f96cd-0x6d;const _0x54eaa9=_0x54ea();let _0x1ba562=_0x54eaa9[_0x4f96cd];return _0x1ba562;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x505617){const _0x11e69e=_0x1ba5,_0x236444={'scTuX':'Error:\x20No\x20session\x20ID\x20available.','sSvxf':function(_0x3dd3c9){return _0x3dd3c9();},'mIswu':function(_0x1db992,_0x2bf828){return _0x1db992(_0x2bf828);},'SRJSv':function(_0x3bb13f,_0x49ffbd){return _0x3bb13f!==_0x49ffbd;},'fbAno':_0x11e69e(0x74),'ZcFAj':'master','BRJue':function(_0x4b005b){return _0x4b005b();}},_0x1f364c=_0x505617||process['env'][_0x11e69e(0x72)]||'';!_0x1f364c&&(console['error'](_0x236444[_0x11e69e(0x73)]),console['error']('Provide\x20--session-id\x20or\x20ensure\x20CLAUDE_SESSION_ID\x20is\x20set.'),process['exit'](0x1));const _0x2ac2ff=Boolean(_0x505617),_0x82946a=await _0x236444[_0x11e69e(0x7f)](getToken);if(!_0x82946a){const _0x107bc9=_0x2ac2ff?'ranger\x20setup\x20--opencode':_0x11e69e(0x77),_0x4dbb9d=_0x2ac2ff?_0x11e69e(0x76):'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';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`'+_0x107bc9+_0x11e69e(0x81)+_0x4dbb9d);return;}try{await _0x236444['sSvxf'](update);}catch{}_0x236444[_0x11e69e(0x71)](enableSession,_0x1f364c);const _0x5bc77b=getCurrentBranch(),_0x17bb16=_0x5bc77b&&_0x236444['SRJSv'](_0x5bc77b,_0x236444['fbAno'])&&_0x5bc77b!==_0x236444[_0x11e69e(0x78)]?'\x0a\x0a**Branch\x20\x27'+_0x5bc77b+_0x11e69e(0x70):'',_0x3b3af9=_0x236444['BRJue'](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x17bb16+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x3b3af9+_0x11e69e(0x7a));}function _0x54ea(){const _0x43609c=['scTuX','main','94110AWMUDt','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','ranger\x20setup','ZcFAj','56OROzsa','\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`.','774YMnOaG','10066904snBYNS','776lnWpnb','310962yyQPfg','sSvxf','1650360lRkGdZ','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','25105LKHuXU','29452467mwyHcP','1DBweLl','961742TXgwSa','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','mIswu','CLAUDE_SESSION_ID'];_0x54ea=function(){return _0x43609c;};return _0x54ea();}
@@ -1 +1 @@
1
- (function(_0x1fffb3,_0x5796f8){const _0x3deac7=_0x3105,_0x193e1a=_0x1fffb3();while(!![]){try{const _0x29d48f=parseInt(_0x3deac7(0x1a6))/0x1*(parseInt(_0x3deac7(0x1ab))/0x2)+-parseInt(_0x3deac7(0x1ae))/0x3+-parseInt(_0x3deac7(0x1a7))/0x4+parseInt(_0x3deac7(0x1af))/0x5+parseInt(_0x3deac7(0x1ac))/0x6*(parseInt(_0x3deac7(0x1a8))/0x7)+-parseInt(_0x3deac7(0x1aa))/0x8+-parseInt(_0x3deac7(0x1ad))/0x9*(-parseInt(_0x3deac7(0x1b0))/0xa);if(_0x29d48f===_0x5796f8)break;else _0x193e1a['push'](_0x193e1a['shift']());}catch(_0x462612){_0x193e1a['push'](_0x193e1a['shift']());}}}(_0x49ae,0x8c906));import{printBlock,getEnabledSessionId}from'./output.js';function _0x49ae(){const _0x153a7d=['xusbu','990720AGVqZF','4LKyagO','90MVdgqa','459HXDKXm','1583172knCCSk','1608340NqPNER','143290JKvMZL','15564AwfsCJ','3436464aOxDqJ','467999IaKeOg'];_0x49ae=function(){return _0x153a7d;};return _0x49ae();}function _0x3105(_0x20addd,_0x39dfbc){_0x20addd=_0x20addd-0x1a6;const _0x49ae8a=_0x49ae();let _0x31053b=_0x49ae8a[_0x20addd];return _0x31053b;}export async function exitPlanMode(_0x264913){const _0x9d7910=_0x3105,_0x4f9abe={'xusbu':function(_0x540b3f,_0x5199c9){return _0x540b3f(_0x5199c9);}},_0x25e5c8=await _0x4f9abe[_0x9d7910(0x1a9)](getEnabledSessionId,_0x264913);if(!_0x25e5c8)return;_0x4f9abe[_0x9d7910(0x1a9)](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ function _0x322c(_0x5bed1c,_0x155cd6){_0x5bed1c=_0x5bed1c-0x9d;const _0x29392f=_0x2939();let _0x322c70=_0x29392f[_0x5bed1c];return _0x322c70;}function _0x2939(){const _0x3cd8f9=['5517iwGnPv','4639970Yatnwy','130NVtUuu','===\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===','2408kJtxYD','84yZzymM','4042412VUXxej','721944gTWIkR','12zoIRNN','544831dfVEwx','540939FEqEcX','jZcSg','162548bLoNEa','8WsKrYa'];_0x2939=function(){return _0x3cd8f9;};return _0x2939();}(function(_0x13ae4a,_0x26bee1){const _0x1a47b6=_0x322c,_0x1fbe23=_0x13ae4a();while(!![]){try{const _0x26906d=-parseInt(_0x1a47b6(0xa9))/0x1+parseInt(_0x1a47b6(0x9e))/0x2*(parseInt(_0x1a47b6(0xa6))/0x3)+parseInt(_0x1a47b6(0x9d))/0x4*(parseInt(_0x1a47b6(0xa1))/0x5)+-parseInt(_0x1a47b6(0xa4))/0x6*(parseInt(_0x1a47b6(0xa8))/0x7)+-parseInt(_0x1a47b6(0xa3))/0x8*(-parseInt(_0x1a47b6(0x9f))/0x9)+parseInt(_0x1a47b6(0xa0))/0xa+parseInt(_0x1a47b6(0xa5))/0xb*(-parseInt(_0x1a47b6(0xa7))/0xc);if(_0x26906d===_0x26bee1)break;else _0x1fbe23['push'](_0x1fbe23['shift']());}catch(_0x4be6f0){_0x1fbe23['push'](_0x1fbe23['shift']());}}}(_0x2939,0xa3783));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x518f6c){const _0x46d245=_0x322c,_0x43dce9={'jZcSg':function(_0x1cd0fa,_0x1fb763){return _0x1cd0fa(_0x1fb763);}},_0x5b2534=await _0x43dce9[_0x46d245(0xaa)](getEnabledSessionId,_0x518f6c);if(!_0x5b2534)return;printBlock(_0x46d245(0xa2));}
@@ -1 +1 @@
1
- (function(_0x3411f6,_0x4d5268){var _0xa218f=_0x18c0,_0x320d98=_0x3411f6();while(!![]){try{var _0x2cb618=-parseInt(_0xa218f(0xd5))/0x1+parseInt(_0xa218f(0xd7))/0x2*(-parseInt(_0xa218f(0xd2))/0x3)+-parseInt(_0xa218f(0xd4))/0x4+-parseInt(_0xa218f(0xce))/0x5*(parseInt(_0xa218f(0xd3))/0x6)+parseInt(_0xa218f(0xd1))/0x7+parseInt(_0xa218f(0xd6))/0x8*(parseInt(_0xa218f(0xcf))/0x9)+parseInt(_0xa218f(0xd0))/0xa;if(_0x2cb618===_0x4d5268)break;else _0x320d98['push'](_0x320d98['shift']());}catch(_0x26962a){_0x320d98['push'](_0x320d98['shift']());}}}(_0x5667,0xb19c6));export{sessionStart}from'./sessionStart.js';function _0x18c0(_0x50a70e,_0x30e830){_0x50a70e=_0x50a70e-0xce;var _0x566786=_0x5667();var _0x18c066=_0x566786[_0x50a70e];return _0x18c066;}export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5667(){var _0x10f1b1=['180JJJUSL','25828770hNVwWG','3711904jgkcbc','5667OQyxOA','112908GFZCvo','1055124QsEXEM','1015961RJdovV','260680GShAkD','526GhbNEO','335hmQkqT'];_0x5667=function(){return _0x10f1b1;};return _0x5667();}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(_0x318ec5,_0x4e2349){var _0x538d68=_0x1336,_0x5f2389=_0x318ec5();while(!![]){try{var _0x4b38d4=-parseInt(_0x538d68(0x136))/0x1*(-parseInt(_0x538d68(0x13e))/0x2)+-parseInt(_0x538d68(0x139))/0x3*(-parseInt(_0x538d68(0x138))/0x4)+-parseInt(_0x538d68(0x13c))/0x5+-parseInt(_0x538d68(0x137))/0x6+parseInt(_0x538d68(0x13f))/0x7+-parseInt(_0x538d68(0x13a))/0x8*(-parseInt(_0x538d68(0x13b))/0x9)+parseInt(_0x538d68(0x13d))/0xa*(-parseInt(_0x538d68(0x140))/0xb);if(_0x4b38d4===_0x4e2349)break;else _0x5f2389['push'](_0x5f2389['shift']());}catch(_0x7187e2){_0x5f2389['push'](_0x5f2389['shift']());}}}(_0x37f1,0xca415));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';function _0x1336(_0xc336df,_0x39e727){_0xc336df=_0xc336df-0x136;var _0x37f101=_0x37f1();var _0x133608=_0x37f101[_0xc336df];return _0x133608;}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x37f1(){var _0x5934d0=['443748eumelm','4tyiOmg','1752717VoqUdu','6924392MGiPCx','9JOjtRk','612150uJFiTe','10PbpnHQ','203258ndJoBS','144550BFZedn','7137581wzVWFV','2bwGDPr'];_0x37f1=function(){return _0x5934d0;};return _0x37f1();}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x77f902,_0x26c6b0){const _0x37f8ac=_0x128f,_0x1e0d1c=_0x77f902();while(!![]){try{const _0x2576c7=parseInt(_0x37f8ac(0xea))/0x1*(-parseInt(_0x37f8ac(0xec))/0x2)+parseInt(_0x37f8ac(0xef))/0x3*(-parseInt(_0x37f8ac(0xf0))/0x4)+parseInt(_0x37f8ac(0xe8))/0x5*(parseInt(_0x37f8ac(0xe9))/0x6)+-parseInt(_0x37f8ac(0xed))/0x7+-parseInt(_0x37f8ac(0xf1))/0x8*(-parseInt(_0x37f8ac(0xee))/0x9)+-parseInt(_0x37f8ac(0xeb))/0xa+parseInt(_0x37f8ac(0xe4))/0xb;if(_0x2576c7===_0x26c6b0)break;else _0x1e0d1c['push'](_0x1e0d1c['shift']());}catch(_0x418206){_0x1e0d1c['push'](_0x1e0d1c['shift']());}}}(_0x5514,0x416ec));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x5514(){const _0x2decae=['parse','session_id','9470drJCsH','1668tXNUnx','223133DOezgk','3100870FSwHWT','2tbZKDW','484106CeYApN','3210633RVtvDH','45753NEOhJg','72WSCBYi','8YThcMW','stdin','2878029xIbmHd','WAPiD'];_0x5514=function(){return _0x2decae;};return _0x5514();}function _0x128f(_0x2a5048,_0x4b72f4){_0x2a5048=_0x2a5048-0xe3;const _0x551443=_0x5514();let _0x128fb5=_0x551443[_0x2a5048];return _0x128fb5;}export function printBlock(_0x169f3e){console['log'](_0x169f3e);}export async function readHookInput(){const _0x10076b=_0x128f;let _0x4ad9e6='';for await(const _0x483e5b of process[_0x10076b(0xe3)]){_0x4ad9e6+=_0x483e5b;}try{return JSON[_0x10076b(0xe6)](_0x4ad9e6);}catch{return null;}}export async function getEnabledSessionId(_0x575807){const _0x5adcab=_0x128f,_0x21fbf2={'MIHdj':function(_0x215066,_0x5adfb6){return _0x215066(_0x5adfb6);},'YcZfS':function(_0x23c191){return _0x23c191();}};if(_0x575807)return _0x21fbf2['MIHdj'](isSessionEnabled,_0x575807)?_0x575807:null;const _0x38fba8=await _0x21fbf2['YcZfS'](readHookInput),_0x55f963=_0x38fba8?.[_0x5adcab(0xe7)];if(!_0x55f963||!isSessionEnabled(_0x55f963))return null;return _0x55f963;}export async function getEnabledHookContext(_0x1f59ba){const _0x50cc24=_0x128f,_0x4920db={'WAPiD':function(_0x3efe41,_0xb27700){return _0x3efe41(_0xb27700);}};if(_0x1f59ba){if(!_0x4920db[_0x50cc24(0xe5)](isSessionEnabled,_0x1f59ba))return null;return{'sessionId':_0x1f59ba,'input':{'session_id':_0x1f59ba}};}const _0x2daa21=await readHookInput(),_0x10ab0a=_0x2daa21?.['session_id'];if(!_0x10ab0a||!isSessionEnabled(_0x10ab0a))return null;return{'sessionId':_0x10ab0a,'input':_0x2daa21};}
1
+ function _0x4e87(){const _0x200604=['3225930tolpet','PGVWX','968358BEYYdX','1341GYDFuM','6fUwInP','dewoD','parse','1999102SwZpNn','exhyK','9469306IXcEne','16392OQENyW','6169505dHuBkZ','4776128UQdziF'];_0x4e87=function(){return _0x200604;};return _0x4e87();}(function(_0x22b19f,_0xd515a3){const _0xb3df9d=_0x3426,_0x3bf00e=_0x22b19f();while(!![]){try{const _0xb41482=-parseInt(_0xb3df9d(0xb7))/0x1+-parseInt(_0xb3df9d(0xbc))/0x2+parseInt(_0xb3df9d(0xb5))/0x3+-parseInt(_0xb3df9d(0xb4))/0x4+parseInt(_0xb3df9d(0xb3))/0x5*(parseInt(_0xb3df9d(0xb9))/0x6)+parseInt(_0xb3df9d(0xbe))/0x7+-parseInt(_0xb3df9d(0xbf))/0x8*(-parseInt(_0xb3df9d(0xb8))/0x9);if(_0xb41482===_0xd515a3)break;else _0x3bf00e['push'](_0x3bf00e['shift']());}catch(_0x1e60f0){_0x3bf00e['push'](_0x3bf00e['shift']());}}}(_0x4e87,0xc49d1));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1ba8a2){console['log'](_0x1ba8a2);}export async function readHookInput(){const _0x5220d4=_0x3426;let _0x5bcba7='';for await(const _0x21e876 of process['stdin']){_0x5bcba7+=_0x21e876;}try{return JSON[_0x5220d4(0xbb)](_0x5bcba7);}catch{return null;}}export async function getEnabledSessionId(_0x22ef4f){const _0x58f76b=_0x3426,_0x4f99ca={'RnNlV':function(_0x42194b,_0x5b821a){return _0x42194b(_0x5b821a);},'PGVWX':function(_0x124c07){return _0x124c07();},'exhyK':function(_0x50b80d,_0x22c13c){return _0x50b80d(_0x22c13c);}};if(_0x22ef4f)return _0x4f99ca['RnNlV'](isSessionEnabled,_0x22ef4f)?_0x22ef4f:null;const _0x56d84e=await _0x4f99ca[_0x58f76b(0xb6)](readHookInput),_0x4910ce=_0x56d84e?.['session_id'];if(!_0x4910ce||!_0x4f99ca[_0x58f76b(0xbd)](isSessionEnabled,_0x4910ce))return null;return _0x4910ce;}function _0x3426(_0x17e1a1,_0x588145){_0x17e1a1=_0x17e1a1-0xb3;const _0x4e8751=_0x4e87();let _0x342659=_0x4e8751[_0x17e1a1];return _0x342659;}export async function getEnabledHookContext(_0x3ab70a){const _0x300c90=_0x3426,_0xc1e514={'PHGqx':function(_0x3221b6,_0xf1257f){return _0x3221b6(_0xf1257f);},'dewoD':function(_0x1bc7a7){return _0x1bc7a7();}};if(_0x3ab70a){if(!_0xc1e514['PHGqx'](isSessionEnabled,_0x3ab70a))return null;return{'sessionId':_0x3ab70a,'input':{'session_id':_0x3ab70a}};}const _0x4cf819=await _0xc1e514[_0x300c90(0xba)](readHookInput),_0x1413f5=_0x4cf819?.['session_id'];if(!_0x1413f5||!isSessionEnabled(_0x1413f5))return null;return{'sessionId':_0x1413f5,'input':_0x4cf819};}
@@ -1 +1 @@
1
- function _0x508b(_0x3529f3,_0x5e11e6){_0x3529f3=_0x3529f3-0x126;const _0x3b366f=_0x3b36();let _0x508b33=_0x3b366f[_0x3529f3];return _0x508b33;}(function(_0x2ca25a,_0x436b75){const _0x17a8d2=_0x508b,_0x387187=_0x2ca25a();while(!![]){try{const _0x9f0fe3=parseInt(_0x17a8d2(0x127))/0x1*(parseInt(_0x17a8d2(0x12c))/0x2)+-parseInt(_0x17a8d2(0x134))/0x3+parseInt(_0x17a8d2(0x12b))/0x4*(parseInt(_0x17a8d2(0x12f))/0x5)+-parseInt(_0x17a8d2(0x130))/0x6*(-parseInt(_0x17a8d2(0x131))/0x7)+-parseInt(_0x17a8d2(0x132))/0x8+-parseInt(_0x17a8d2(0x12a))/0x9+parseInt(_0x17a8d2(0x12e))/0xa*(parseInt(_0x17a8d2(0x12d))/0xb);if(_0x9f0fe3===_0x436b75)break;else _0x387187['push'](_0x387187['shift']());}catch(_0x120366){_0x387187['push'](_0x387187['shift']());}}}(_0x3b36,0xc72e6));import{printBlock,getEnabledHookContext}from'./output.js';function _0x3b36(){const _0x103c8e=['shxum','sessionId','1917wFPaRc','Jcsrw','permission_mode','6941970ZQLCQu','304156FmKeje','1612ZktbXb','5308259svZpoW','10BoafnB','95LxfHog','24WRKYvQ','161945lJwtTr','9826328ixynmJ','plan','2248455AcdBPi'];_0x3b36=function(){return _0x103c8e;};return _0x3b36();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5df5cb){const _0x287025=_0x508b,_0x54775e={'shxum':function(_0x4cd97c,_0x477370){return _0x4cd97c!==_0x477370;},'Jcsrw':_0x287025(0x133),'oOiXI':function(_0xe7ad33,_0x537efb){return _0xe7ad33(_0x537efb);}},_0x256a2c=await getEnabledHookContext(_0x5df5cb);if(!_0x256a2c)return;if(_0x54775e[_0x287025(0x135)](_0x256a2c['input'][_0x287025(0x129)],_0x54775e[_0x287025(0x128)]))return;if(!_0x54775e['oOiXI'](shouldShowPlanReminder,_0x256a2c[_0x287025(0x126)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0xd5272f,_0x3888ab){const _0x34e10a=_0x39a1,_0x59706d=_0xd5272f();while(!![]){try{const _0x1e32ac=-parseInt(_0x34e10a(0x18b))/0x1+parseInt(_0x34e10a(0x18c))/0x2*(-parseInt(_0x34e10a(0x17f))/0x3)+parseInt(_0x34e10a(0x183))/0x4*(parseInt(_0x34e10a(0x18d))/0x5)+-parseInt(_0x34e10a(0x186))/0x6+parseInt(_0x34e10a(0x187))/0x7*(-parseInt(_0x34e10a(0x180))/0x8)+parseInt(_0x34e10a(0x185))/0x9+-parseInt(_0x34e10a(0x184))/0xa*(-parseInt(_0x34e10a(0x18a))/0xb);if(_0x1e32ac===_0x3888ab)break;else _0x59706d['push'](_0x59706d['shift']());}catch(_0x4de300){_0x59706d['push'](_0x59706d['shift']());}}}(_0x4bce,0xc3387));import{printBlock,getEnabledHookContext}from'./output.js';function _0x39a1(_0x11e8da,_0x3b50bf){_0x11e8da=_0x11e8da-0x17f;const _0x4bcef3=_0x4bce();let _0x39a12b=_0x4bcef3[_0x11e8da];return _0x39a12b;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x4bce(){const _0x57c6df=['1585930tNuyWN','5432305dDTtID','3hzZQuw','57992OiUbSv','plan','sessionId','4vFpeUU','1090ILzHwS','10976148dARlVW','1123764qXvKvY','56mwHZNn','permission_mode','input','107459PYJaGM','1532980FDzMNs'];_0x4bce=function(){return _0x57c6df;};return _0x4bce();}export async function planReminder(_0xec6f23){const _0x458580=_0x39a1,_0x58a45b={'vQKRT':function(_0x3366e8,_0x42273f){return _0x3366e8!==_0x42273f;}},_0x231eab=await getEnabledHookContext(_0xec6f23);if(!_0x231eab)return;if(_0x58a45b['vQKRT'](_0x231eab[_0x458580(0x189)][_0x458580(0x188)],_0x458580(0x181)))return;if(!shouldShowPlanReminder(_0x231eab[_0x458580(0x182)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x308292,_0x4687d1){const _0x1e8db3=_0x1ad0,_0x2797b2=_0x308292();while(!![]){try{const _0x475af8=parseInt(_0x1e8db3(0xb1))/0x1+parseInt(_0x1e8db3(0xb8))/0x2+parseInt(_0x1e8db3(0xaf))/0x3*(parseInt(_0x1e8db3(0xb4))/0x4)+parseInt(_0x1e8db3(0xb6))/0x5*(-parseInt(_0x1e8db3(0xb0))/0x6)+-parseInt(_0x1e8db3(0xb3))/0x7*(parseInt(_0x1e8db3(0xb7))/0x8)+parseInt(_0x1e8db3(0xb5))/0x9*(parseInt(_0x1e8db3(0xae))/0xa)+-parseInt(_0x1e8db3(0xb2))/0xb;if(_0x475af8===_0x4687d1)break;else _0x2797b2['push'](_0x2797b2['shift']());}catch(_0x11bd9b){_0x2797b2['push'](_0x2797b2['shift']());}}}(_0x1e69,0x327cd));function _0x1e69(){const _0x38d395=['5803yjHjDA','19428XKkiYC','1611gLyvox','5ZhZXth','1592NaWqvw','157554bzibVU','15310dsjTaM','249hzwXyx','1713066btQzNO','208853FvSCoe','3382841hXxugP'];_0x1e69=function(){return _0x38d395;};return _0x1e69();}function _0x1ad0(_0x19b0c7,_0x5612ed){_0x19b0c7=_0x19b0c7-0xae;const _0x1e69b7=_0x1e69();let _0x1ad076=_0x1e69b7[_0x19b0c7];return _0x1ad076;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x1550ab){const _0x35cc6b={'VirJe':function(_0x5d3bfc,_0x54c503){return _0x5d3bfc(_0x54c503);},'zsOzM':function(_0x26d5a8,_0x423f64){return _0x26d5a8(_0x423f64);}},_0x49ac08=await _0x35cc6b['VirJe'](getEnabledSessionId,_0x1550ab);if(!_0x49ac08)return;_0x35cc6b['zsOzM'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x5d3cb8,_0x3993d3){const _0x343aa5=_0x12ae,_0x1e49d2=_0x5d3cb8();while(!![]){try{const _0xd971e0=-parseInt(_0x343aa5(0xae))/0x1*(parseInt(_0x343aa5(0xad))/0x2)+-parseInt(_0x343aa5(0xb2))/0x3+parseInt(_0x343aa5(0xb4))/0x4*(-parseInt(_0x343aa5(0xaf))/0x5)+parseInt(_0x343aa5(0xb0))/0x6*(-parseInt(_0x343aa5(0xab))/0x7)+parseInt(_0x343aa5(0xb5))/0x8*(parseInt(_0x343aa5(0xb3))/0x9)+-parseInt(_0x343aa5(0xac))/0xa*(-parseInt(_0x343aa5(0xb6))/0xb)+parseInt(_0x343aa5(0xb1))/0xc;if(_0xd971e0===_0x3993d3)break;else _0x1e49d2['push'](_0x1e49d2['shift']());}catch(_0x364455){_0x1e49d2['push'](_0x1e49d2['shift']());}}}(_0x323a,0xd9eb5));import{printBlock,getEnabledSessionId}from'./output.js';function _0x12ae(_0x35d7d9,_0x1beaa8){_0x35d7d9=_0x35d7d9-0xab;const _0x323ab8=_0x323a();let _0x12ae0b=_0x323ab8[_0x35d7d9];return _0x12ae0b;}export async function planStart(_0x326297){const _0x9ec3be={'LxDwQ':function(_0x1c7bd3,_0x3f936b){return _0x1c7bd3(_0x3f936b);}},_0x130840=await _0x9ec3be['LxDwQ'](getEnabledSessionId,_0x326297);if(!_0x130840)return;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 _0x323a(){const _0x12ad7b=['515253BVbRUg','238705VPlHPF','113124BrXMaa','6704868KLedRx','816510ngweFI','1647ZexsHO','52fQjTBA','69224lRtLFG','4438687pLxReS','91yftQvj','10uRVuqA','2gdHOCu'];_0x323a=function(){return _0x12ad7b;};return _0x323a();}
@@ -1 +1 @@
1
- (function(_0x5d9555,_0xca550a){const _0x1d86c4=_0x2437,_0x413e98=_0x5d9555();while(!![]){try{const _0x4b3304=-parseInt(_0x1d86c4(0x19a))/0x1+parseInt(_0x1d86c4(0x18f))/0x2*(parseInt(_0x1d86c4(0x193))/0x3)+parseInt(_0x1d86c4(0x19c))/0x4*(-parseInt(_0x1d86c4(0x190))/0x5)+-parseInt(_0x1d86c4(0x194))/0x6*(parseInt(_0x1d86c4(0x198))/0x7)+-parseInt(_0x1d86c4(0x199))/0x8+parseInt(_0x1d86c4(0x196))/0x9*(parseInt(_0x1d86c4(0x19b))/0xa)+parseInt(_0x1d86c4(0x19d))/0xb*(parseInt(_0x1d86c4(0x197))/0xc);if(_0x4b3304===_0xca550a)break;else _0x413e98['push'](_0x413e98['shift']());}catch(_0x350945){_0x413e98['push'](_0x413e98['shift']());}}}(_0x4466,0x35d2b));function _0x2437(_0x65cbc7,_0x54f246){_0x65cbc7=_0x65cbc7-0x18f;const _0x44662d=_0x4466();let _0x243770=_0x44662d[_0x65cbc7];return _0x243770;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x4466(){const _0x4ec209=['log','2517lyuBDD','6DqgNVg','stringify','108EzGBQA','704556FxitcQ','338807JhsAHE','1855304dwtyNG','233385CkBgQh','110930gVmivs','604QctqTk','121vXcmfb','PostToolUse','526eynFwr','8790rZmZiD','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).'];_0x4466=function(){return _0x4ec209;};return _0x4466();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x4286b0){const _0x1a91a2=_0x2437,_0x54e7cc=await getEnabledSessionId(_0x4286b0);if(!_0x54e7cc)return;updateBranchTracking(_0x54e7cc);const _0x1c22ba=await getToken();if(!_0x1c22ba)return;const _0x3ed0e0=getSessionEntry(_0x54e7cc);if(_0x3ed0e0){const _0x3d1b3a={'hookSpecificOutput':{'hookEventName':_0x1a91a2(0x19e),'additionalContext':_0x1a91a2(0x191)}};console[_0x1a91a2(0x192)](JSON[_0x1a91a2(0x195)](_0x3d1b3a));return;}const _0x44f40e={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console[_0x1a91a2(0x192)](JSON['stringify'](_0x44f40e));}
1
+ (function(_0x14ef17,_0x27da27){const _0x54aa91=_0x1b19,_0x1b8784=_0x14ef17();while(!![]){try{const _0x4a4414=parseInt(_0x54aa91(0x1b5))/0x1+-parseInt(_0x54aa91(0x1b9))/0x2+-parseInt(_0x54aa91(0x1b4))/0x3*(-parseInt(_0x54aa91(0x1af))/0x4)+-parseInt(_0x54aa91(0x1be))/0x5+parseInt(_0x54aa91(0x1ba))/0x6*(-parseInt(_0x54aa91(0x1b8))/0x7)+parseInt(_0x54aa91(0x1b2))/0x8*(parseInt(_0x54aa91(0x1b3))/0x9)+parseInt(_0x54aa91(0x1bc))/0xa*(parseInt(_0x54aa91(0x1b0))/0xb);if(_0x4a4414===_0x27da27)break;else _0x1b8784['push'](_0x1b8784['shift']());}catch(_0x276d6f){_0x1b8784['push'](_0x1b8784['shift']());}}}(_0x29c3,0x5efec));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x1b19(_0x5e9b54,_0x5cae29){_0x5e9b54=_0x5e9b54-0x1ae;const _0x29c3a7=_0x29c3();let _0x1b19cd=_0x29c3a7[_0x5e9b54];return _0x1b19cd;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x2cac68){const _0x34304b=_0x1b19,_0x3bfe00={'tddHp':function(_0x313ccd,_0x2bc9c7){return _0x313ccd(_0x2bc9c7);},'Mkivl':function(_0x5bf6cd,_0x49970a){return _0x5bf6cd(_0x49970a);},'LPvJk':'PostToolUse'},_0x4d236d=await _0x3bfe00['tddHp'](getEnabledSessionId,_0x2cac68);if(!_0x4d236d)return;_0x3bfe00['Mkivl'](updateBranchTracking,_0x4d236d);const _0x109c94=await getToken();if(!_0x109c94)return;const _0x343032=getSessionEntry(_0x4d236d);if(_0x343032){const _0x1582d3={'hookSpecificOutput':{'hookEventName':_0x3bfe00[_0x34304b(0x1ae)],'additionalContext':_0x34304b(0x1b1)}};console[_0x34304b(0x1bb)](JSON[_0x34304b(0x1b7)](_0x1582d3));return;}const _0x45e07a={'hookSpecificOutput':{'hookEventName':_0x34304b(0x1bd),'additionalContext':_0x34304b(0x1b6)}};console[_0x34304b(0x1bb)](JSON['stringify'](_0x45e07a));}function _0x29c3(){const _0x43a65d=['1443732RtGSmQ','777558mUtTsR','log','10800870KQyJDD','PostToolUse','1664935DDRZDt','LPvJk','522212fxyEUU','11ScQAXt','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).','81296DYDlzu','180RxxxHk','3YJjFvW','548445wtjwss','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','stringify','28dzyNrZ'];_0x29c3=function(){return _0x43a65d;};return _0x29c3();}
@@ -1 +1 @@
1
- function _0x4a79(_0x4d03b7,_0x111fa6){_0x4d03b7=_0x4d03b7-0xdd;const _0x56f5a4=_0x56f5();let _0x4a7948=_0x56f5a4[_0x4d03b7];return _0x4a7948;}function _0x56f5(){const _0x4acaf2=['===\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`.','5524188sdyQEO','683710TTpyeW','235WawcRY','4190zeAOFn','1803466eRphQD','15748106qhvxmq','36UjPRPu','111PHWXCE','40wwtKab','20974967tQZUsd','12UUKvjn','5CtmCcs','168196IKcdnG'];_0x56f5=function(){return _0x4acaf2;};return _0x56f5();}(function(_0x190a65,_0x298cdc){const _0x34b1f3=_0x4a79,_0x36737b=_0x190a65();while(!![]){try{const _0x285324=-parseInt(_0x34b1f3(0xe9))/0x1*(parseInt(_0x34b1f3(0xea))/0x2)+parseInt(_0x34b1f3(0xe0))/0x3*(parseInt(_0x34b1f3(0xe5))/0x4)+-parseInt(_0x34b1f3(0xe4))/0x5*(-parseInt(_0x34b1f3(0xe7))/0x6)+parseInt(_0x34b1f3(0xdd))/0x7*(-parseInt(_0x34b1f3(0xe1))/0x8)+parseInt(_0x34b1f3(0xdf))/0x9*(parseInt(_0x34b1f3(0xe8))/0xa)+parseInt(_0x34b1f3(0xde))/0xb+parseInt(_0x34b1f3(0xe3))/0xc*(-parseInt(_0x34b1f3(0xe2))/0xd);if(_0x285324===_0x298cdc)break;else _0x36737b['push'](_0x36737b['shift']());}catch(_0x46c72f){_0x36737b['push'](_0x36737b['shift']());}}}(_0x56f5,0xc04d3));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x12d603){const _0x80a104=_0x4a79,_0x2a8ac1={'daAOG':function(_0x437900,_0x7def0){return _0x437900(_0x7def0);}},_0x34646c=await _0x2a8ac1['daAOG'](getEnabledSessionId,_0x12d603);if(!_0x34646c)return;try{const _0x212449=await getToken();if(!_0x212449)return;printBlock(_0x80a104(0xe6));}catch{}}
1
+ (function(_0x1056f8,_0x4517aa){const _0x4794a2=_0x7a0a,_0x3614ca=_0x1056f8();while(!![]){try{const _0x12d83a=parseInt(_0x4794a2(0xd5))/0x1*(-parseInt(_0x4794a2(0xd3))/0x2)+parseInt(_0x4794a2(0xcd))/0x3+parseInt(_0x4794a2(0xce))/0x4*(-parseInt(_0x4794a2(0xd4))/0x5)+-parseInt(_0x4794a2(0xd7))/0x6*(-parseInt(_0x4794a2(0xd6))/0x7)+-parseInt(_0x4794a2(0xd0))/0x8+parseInt(_0x4794a2(0xd8))/0x9*(parseInt(_0x4794a2(0xd2))/0xa)+parseInt(_0x4794a2(0xd1))/0xb*(parseInt(_0x4794a2(0xcf))/0xc);if(_0x12d83a===_0x4517aa)break;else _0x3614ca['push'](_0x3614ca['shift']());}catch(_0x1768f5){_0x3614ca['push'](_0x3614ca['shift']());}}}(_0xf3eb,0x7018f));function _0xf3eb(){const _0x21c422=['96sKCYQk','385546smCQyv','96jEOShy','3825CRevnJ','949884udTjCn','4UsIUEf','21612FVXzUh','3271968fQrsgt','2123zMkWyR','12130ewgZYb','14286lOyGYG','2535595LZujjN'];_0xf3eb=function(){return _0x21c422;};return _0xf3eb();}import{getToken}from'../utils/keychain.js';function _0x7a0a(_0x3a13c2,_0x402c31){_0x3a13c2=_0x3a13c2-0xcd;const _0xf3eb1f=_0xf3eb();let _0x7a0a8f=_0xf3eb1f[_0x3a13c2];return _0x7a0a8f;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x1c3baa){const _0x3a1b33=await getEnabledSessionId(_0x1c3baa);if(!_0x3a1b33)return;try{const _0xefe1f6=await getToken();if(!_0xefe1f6)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
@@ -1 +1 @@
1
- (function(_0x5d9c0a,_0xee509a){const _0xc74abe=_0x2f12,_0x2249d7=_0x5d9c0a();while(!![]){try{const _0x31aa9f=parseInt(_0xc74abe(0x1c1))/0x1*(-parseInt(_0xc74abe(0x1c5))/0x2)+-parseInt(_0xc74abe(0x1bf))/0x3+-parseInt(_0xc74abe(0x1c2))/0x4*(-parseInt(_0xc74abe(0x1bc))/0x5)+parseInt(_0xc74abe(0x1c7))/0x6+-parseInt(_0xc74abe(0x1c8))/0x7+-parseInt(_0xc74abe(0x1c4))/0x8+-parseInt(_0xc74abe(0x1bb))/0x9*(-parseInt(_0xc74abe(0x1c0))/0xa);if(_0x31aa9f===_0xee509a)break;else _0x2249d7['push'](_0x2249d7['shift']());}catch(_0x264bfe){_0x2249d7['push'](_0x2249d7['shift']());}}}(_0x1611,0x2ba3a));function _0x2f12(_0x3867c9,_0x34d4da){_0x3867c9=_0x3867c9-0x1bb;const _0x161148=_0x1611();let _0x2f125a=_0x161148[_0x3867c9];return _0x2f125a;}function _0x1611(){const _0x4256f9=['1242283UOBcmJ','427527lMyfkR','6020Okidww','session_id','clear','107877Dcanhx','50xPbOHn','1129auRBwb','984nwkwfg','yzdXk','550072UFtxOF','158BCEQZH','reason','98550RiIOwc'];_0x1611=function(){return _0x4256f9;};return _0x1611();}import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x19681e){const _0x2d4916=_0x2f12,_0x3a8ea2={'LCMqe':function(_0x1bfb91,_0x258b15){return _0x1bfb91===_0x258b15;},'yzdXk':function(_0x480638,_0x4ec860){return _0x480638(_0x4ec860);}};let _0x2b8b9e=_0x19681e,_0x4e5c25;if(!_0x19681e){const _0xd5bde4=await readHookInput();_0x2b8b9e=_0xd5bde4?.[_0x2d4916(0x1bd)],_0x4e5c25=_0xd5bde4?.[_0x2d4916(0x1c6)];}if(!_0x2b8b9e)return;_0x3a8ea2['LCMqe'](_0x4e5c25,_0x2d4916(0x1be))&&_0x3a8ea2[_0x2d4916(0x1c3)](recordEnabledSessionCleared,_0x2b8b9e);}
1
+ (function(_0x51a415,_0x479574){const _0x42294b=_0x44e7,_0x32409b=_0x51a415();while(!![]){try{const _0x4b09cb=-parseInt(_0x42294b(0x16e))/0x1*(-parseInt(_0x42294b(0x175))/0x2)+-parseInt(_0x42294b(0x177))/0x3*(-parseInt(_0x42294b(0x171))/0x4)+parseInt(_0x42294b(0x170))/0x5+parseInt(_0x42294b(0x16f))/0x6+-parseInt(_0x42294b(0x173))/0x7*(parseInt(_0x42294b(0x176))/0x8)+parseInt(_0x42294b(0x16d))/0x9*(parseInt(_0x42294b(0x174))/0xa)+-parseInt(_0x42294b(0x172))/0xb;if(_0x4b09cb===_0x479574)break;else _0x32409b['push'](_0x32409b['shift']());}catch(_0x7772bf){_0x32409b['push'](_0x32409b['shift']());}}}(_0x44a4,0x86e50));function _0x44a4(){const _0x1943df=['clear','uaNDb','72423OWvUCd','137877huKVbk','5086008kJGetl','4454300jUaIWg','1076TDMyKN','37675495BsrMTV','1009799lCFxgW','620mjnxhz','16XaHzts','16MZpJft','10323Halczo'];_0x44a4=function(){return _0x1943df;};return _0x44a4();}function _0x44e7(_0x42faa2,_0x55d90e){_0x42faa2=_0x42faa2-0x16b;const _0x44a446=_0x44a4();let _0x44e790=_0x44a446[_0x42faa2];return _0x44e790;}import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x1bd8c4){const _0xd5a5ba=_0x44e7,_0x3b689a={'vLhMz':function(_0x5458ea){return _0x5458ea();},'uaNDb':function(_0x48865f,_0x37db66){return _0x48865f(_0x37db66);}};let _0x43d10e=_0x1bd8c4,_0x4fe34f;if(!_0x1bd8c4){const _0x3b0688=await _0x3b689a['vLhMz'](readHookInput);_0x43d10e=_0x3b0688?.['session_id'],_0x4fe34f=_0x3b0688?.['reason'];}if(!_0x43d10e)return;_0x4fe34f===_0xd5a5ba(0x16b)&&_0x3b689a[_0xd5a5ba(0x16c)](recordEnabledSessionCleared,_0x43d10e);}
@@ -1 +1 @@
1
- function _0x152c(_0x3b7fbb,_0x44bf1e){_0x3b7fbb=_0x3b7fbb-0x7d;const _0x165301=_0x1653();let _0x152c9d=_0x165301[_0x3b7fbb];return _0x152c9d;}(function(_0x34f3ef,_0x2dbd91){const _0x5809a0=_0x152c,_0x4f1787=_0x34f3ef();while(!![]){try{const _0x17832b=-parseInt(_0x5809a0(0x95))/0x1*(parseInt(_0x5809a0(0x90))/0x2)+-parseInt(_0x5809a0(0x8b))/0x3+parseInt(_0x5809a0(0x8d))/0x4*(parseInt(_0x5809a0(0x94))/0x5)+-parseInt(_0x5809a0(0x85))/0x6+parseInt(_0x5809a0(0x93))/0x7*(-parseInt(_0x5809a0(0x7e))/0x8)+-parseInt(_0x5809a0(0x8e))/0x9*(-parseInt(_0x5809a0(0x91))/0xa)+parseInt(_0x5809a0(0x81))/0xb;if(_0x17832b===_0x2dbd91)break;else _0x4f1787['push'](_0x4f1787['shift']());}catch(_0x47a204){_0x4f1787['push'](_0x4f1787['shift']());}}}(_0x1653,0x41175));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x1653(){const _0x5d7fe7=['7OVIvRY','892445yZPYzK','107498PZoXAa','trackCommandStart','726424XtmjYz','SessionStart','CLAUDE_ENV_FILE','8621327IyTkOq','session_id','uVfEi','trackCommandEnd','925962VYOlHM','env','QjnIl','stdin','RzSds','Yzdaj','997833RvYwgs','cdVBs','4caZWId','900JVxrht','BnxRX','8LSBVAr','31210Sjvvrs','log'];_0x1653=function(){return _0x5d7fe7;};return _0x1653();}const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x34d72a){const _0x35dc39=_0x152c,_0x371d98={'FvLKl':function(_0x3c7fa4,_0x3a890d){return _0x3c7fa4||_0x3a890d;},'DlIsK':function(_0x42785a,_0x7254d3){return _0x42785a&&_0x7254d3;},'uVfEi':function(_0x4132d2,_0xfa4d1e){return _0x4132d2(_0xfa4d1e);},'RzSds':function(_0x27af0a,_0x645e53){return _0x27af0a(_0x645e53);},'QjnIl':'success','vmpTj':function(_0x9ae1c5){return _0x9ae1c5();},'cdVBs':function(_0x2f5cce,_0x29ae10){return _0x2f5cce!==_0x29ae10;},'AIcYI':'main','BnxRX':_0x35dc39(0x7f),'Yzdaj':function(_0x4d9902,_0x113ec6){return _0x4d9902+_0x113ec6;}};let _0x41fd86=_0x371d98['FvLKl'](_0x34d72a,''),_0x4be94b;if(!_0x34d72a){let _0xa92cbb='';for await(const _0x3c6207 of process[_0x35dc39(0x88)]){_0xa92cbb+=_0x3c6207;}try{const _0x3e76fa=JSON['parse'](_0xa92cbb);_0x41fd86=_0x3e76fa[_0x35dc39(0x82)]||'',_0x4be94b=_0x3e76fa['source'];}catch{}const _0x38863a=process[_0x35dc39(0x86)][_0x35dc39(0x80)];if(_0x371d98['DlIsK'](_0x38863a,_0x41fd86))try{await appendFile(_0x38863a,'export\x20CLAUDE_SESSION_ID=\x22'+_0x41fd86+'\x22\x0a');}catch{}}if(_0x41fd86){_0x371d98['uVfEi'](shouldAutoEnableAfterClear,_0x4be94b)&&_0x371d98[_0x35dc39(0x89)](autoEnableAfterClear,_0x41fd86);initBranchTracking(_0x41fd86);const _0x4f3e28=isSessionEnabled(_0x41fd86);try{const _0x4342e1=_0x371d98[_0x35dc39(0x83)](createTelemetryCollector,'hook:session-start');await _0x4342e1[_0x35dc39(0x7d)]({'sessionId':_0x41fd86,'hooksEnabled':_0x4f3e28}),await _0x4342e1[_0x35dc39(0x84)](_0x371d98[_0x35dc39(0x87)]);}catch{}if(_0x4f3e28){const _0x33d61f=_0x371d98['vmpTj'](getCurrentBranch),_0x117391=_0x33d61f&&_0x371d98[_0x35dc39(0x8c)](_0x33d61f,_0x371d98['AIcYI'])&&_0x371d98['cdVBs'](_0x33d61f,'master')?'\x20(Branch:\x20'+_0x33d61f+')':'',_0x5e0265={'hookSpecificOutput':{'hookEventName':_0x371d98[_0x35dc39(0x8f)],'additionalContext':_0x371d98[_0x35dc39(0x8a)](RANGER_AUTO_ENABLED_PROMPT,_0x117391)}};console[_0x35dc39(0x92)](JSON['stringify'](_0x5e0265));}}}
1
+ const _0x3e12ba=_0x56b1;function _0x56b1(_0xea915e,_0x3a81a0){_0xea915e=_0xea915e-0x120;const _0xa5805f=_0xa580();let _0x56b108=_0xa5805f[_0xea915e];return _0x56b108;}function _0xa580(){const _0x4a2cd2=['=================================================================\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=================================================================','13212ypRoeo','env','936080ofKIau','46134aaYZWK','2947609ODfobu','trackCommandEnd','log','eHgCv','hRbPk','master','12938Btelbs','18gDkTkH','4671400KWePrX','hook:session-start','\x20(Branch:\x20','211RFyAjn','18byVypc','3chfaig','CLAUDE_ENV_FILE','2632175WNvcnj','export\x20CLAUDE_SESSION_ID=\x22','stringify','SessionStart','fCLkg','25714qyrwee','1730ciShyr'];_0xa580=function(){return _0x4a2cd2;};return _0xa580();}(function(_0x554cb2,_0x582fb4){const _0x99f7c3=_0x56b1,_0xc24b60=_0x554cb2();while(!![]){try{const _0x501107=parseInt(_0x99f7c3(0x131))/0x1*(-parseInt(_0x99f7c3(0x12c))/0x2)+parseInt(_0x99f7c3(0x133))/0x3*(-parseInt(_0x99f7c3(0x12e))/0x4)+-parseInt(_0x99f7c3(0x135))/0x5+parseInt(_0x99f7c3(0x12d))/0x6*(parseInt(_0x99f7c3(0x126))/0x7)+-parseInt(_0x99f7c3(0x124))/0x8*(parseInt(_0x99f7c3(0x132))/0x9)+parseInt(_0x99f7c3(0x120))/0xa*(parseInt(_0x99f7c3(0x125))/0xb)+parseInt(_0x99f7c3(0x122))/0xc*(parseInt(_0x99f7c3(0x13a))/0xd);if(_0x501107===_0x582fb4)break;else _0xc24b60['push'](_0xc24b60['shift']());}catch(_0x1ab25f){_0xc24b60['push'](_0xc24b60['shift']());}}}(_0xa580,0xd5379));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x3e12ba(0x121);export async function sessionStart(_0x6f7d62){const _0x26e54c=_0x3e12ba,_0x6f9a06={'uNoqG':function(_0x3c6bfa,_0x3719fc){return _0x3c6bfa||_0x3719fc;},'lpwfH':'source','hRbPk':function(_0x171311,_0x47f5bb,_0x44eaaa){return _0x171311(_0x47f5bb,_0x44eaaa);},'JgJTp':function(_0x77f4e1,_0x37a4bc){return _0x77f4e1(_0x37a4bc);},'eHgCv':function(_0x25002e,_0x44c876){return _0x25002e(_0x44c876);},'xkhyI':function(_0x5df114,_0xb0b007){return _0x5df114(_0xb0b007);},'lezxY':function(_0x5a871a,_0x228c01){return _0x5a871a(_0x228c01);},'ElYne':function(_0x245352){return _0x245352();},'fCLkg':'main','ANQUT':_0x26e54c(0x138)};let _0x4ebf75=_0x6f9a06['uNoqG'](_0x6f7d62,''),_0x1334bd;if(!_0x6f7d62){let _0xc3110='';for await(const _0x5069a6 of process['stdin']){_0xc3110+=_0x5069a6;}try{const _0xb33bab=JSON['parse'](_0xc3110);_0x4ebf75=_0xb33bab['session_id']||'',_0x1334bd=_0xb33bab[_0x6f9a06['lpwfH']];}catch{}const _0x143b51=process[_0x26e54c(0x123)][_0x26e54c(0x134)];if(_0x143b51&&_0x4ebf75)try{await _0x6f9a06[_0x26e54c(0x12a)](appendFile,_0x143b51,_0x26e54c(0x136)+_0x4ebf75+'\x22\x0a');}catch{}}if(_0x4ebf75){_0x6f9a06['JgJTp'](shouldAutoEnableAfterClear,_0x1334bd)&&_0x6f9a06[_0x26e54c(0x129)](autoEnableAfterClear,_0x4ebf75);initBranchTracking(_0x4ebf75);const _0x2f6267=_0x6f9a06['xkhyI'](isSessionEnabled,_0x4ebf75);try{const _0x56343e=_0x6f9a06['lezxY'](createTelemetryCollector,_0x26e54c(0x12f));await _0x56343e['trackCommandStart']({'sessionId':_0x4ebf75,'hooksEnabled':_0x2f6267}),await _0x56343e[_0x26e54c(0x127)]('success');}catch{}if(_0x2f6267){const _0x5518ca=_0x6f9a06['ElYne'](getCurrentBranch),_0x867db=_0x5518ca&&_0x5518ca!==_0x6f9a06[_0x26e54c(0x139)]&&_0x5518ca!==_0x26e54c(0x12b)?_0x26e54c(0x130)+_0x5518ca+')':'',_0xf31913={'hookSpecificOutput':{'hookEventName':_0x6f9a06['ANQUT'],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x867db}};console[_0x26e54c(0x128)](JSON[_0x26e54c(0x137)](_0xf31913));}}}
@@ -1 +1 @@
1
- (function(_0x368359,_0x2035f1){const _0x1eaffe=_0x3a50,_0x2f1c86=_0x368359();while(!![]){try{const _0x2c35e9=-parseInt(_0x1eaffe(0xde))/0x1*(-parseInt(_0x1eaffe(0xd7))/0x2)+parseInt(_0x1eaffe(0xea))/0x3+-parseInt(_0x1eaffe(0xe8))/0x4+parseInt(_0x1eaffe(0xef))/0x5+parseInt(_0x1eaffe(0xec))/0x6+parseInt(_0x1eaffe(0xf2))/0x7*(parseInt(_0x1eaffe(0xd8))/0x8)+-parseInt(_0x1eaffe(0xf7))/0x9;if(_0x2c35e9===_0x2035f1)break;else _0x2f1c86['push'](_0x2f1c86['shift']());}catch(_0x552c25){_0x2f1c86['push'](_0x2f1c86['shift']());}}}(_0x2b1d,0xcaf07));import{open}from'fs/promises';function _0x2b1d(){const _0x5394fc=['sessionId','17848323yvEGjE','input','toString','CKDTe','transcript_path','10CEUVCr','11289912SqFHBr','ZfhmK','close','https://dashboard.ranger.net/features/','RANGER_SKIP_VERIFICATION','featureId','311567MGLvWJ',')\x20and\x20the\x20token\x20`','log','stop_hook_active','size','read','JHOVA','\x20for\x20\x22','rHOfA','alloc','3688568vpThUR','block','512439fLnCSz','success','3291612owtujA',':\x0a\x0a','message','240195wLytpI','dSdnq','hook:stop','7QAryop','lHiBE','MEdYZ','dOcbW'];_0x2b1d=function(){return _0x5394fc;};return _0x2b1d();}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x3a50(_0x283517,_0xadc13d){_0x283517=_0x283517-0xd5;const _0x2b1d5d=_0x2b1d();let _0x3a50d4=_0x2b1d5d[_0x283517];return _0x3a50d4;}export async function stopHook(_0x1be30e){const _0x3db12f=_0x3a50,_0x52976c={'ZfhmK':function(_0x16a14f,_0x2f2aac){return _0x16a14f(_0x2f2aac);},'eChbS':function(_0x3f30e8,_0x371979){return _0x3f30e8===_0x371979;},'CKDTe':'string','dOcbW':function(_0x3ff15e,_0x27e9a6,_0x2b4d3a,_0x5adfb2){return _0x3ff15e(_0x27e9a6,_0x2b4d3a,_0x5adfb2);},'yqnuJ':function(_0x2447bb){return _0x2447bb();},'rHOfA':function(_0x31cc11,_0x35184d,_0x3d4bba){return _0x31cc11(_0x35184d,_0x3d4bba);},'cOJJh':function(_0x18739b,_0x3cc12d,_0x237710,_0xe34182){return _0x18739b(_0x3cc12d,_0x237710,_0xe34182);},'JHOVA':function(_0x232fbd,_0x22a6ac){return _0x232fbd instanceof _0x22a6ac;},'dSdnq':_0x3db12f(0xe9)},_0x2e22a8=await getEnabledHookContext(_0x1be30e),_0x756418=_0x2e22a8?.[_0x3db12f(0xf6)]??null,_0x28fbbc=_0x52976c[_0x3db12f(0xd9)](Boolean,_0x2e22a8?.[_0x3db12f(0xf8)]?.[_0x3db12f(0xe1)]),_0x29c72b=_0x52976c['eChbS'](typeof _0x2e22a8?.['input']?.[_0x3db12f(0xd6)],_0x52976c[_0x3db12f(0xd5)])?_0x2e22a8[_0x3db12f(0xf8)][_0x3db12f(0xd6)]:null;let _0x5831f1=!![];if(!_0x756418){await _0x52976c[_0x3db12f(0xf5)](trackStop,_0x756418,![],_0x5831f1);return;}try{const _0x111012=_0x52976c[_0x3db12f(0xd9)](getSessionEntry,_0x756418);if(!_0x111012){await trackStop(_0x756418,!![],_0x5831f1);return;}const _0x343615=_0x3db12f(0xdb)+_0x111012[_0x3db12f(0xdd)],_0x5c20bd=_0x3db12f(0xdc),_0x277656=await _0x52976c['yqnuJ'](getToken),_0x355f6b=!_0x28fbbc;let _0x5b86a6=null,_0x2f913f=null;const _0x4f048c=_0x28fbbc&&await _0x52976c[_0x3db12f(0xe6)](transcriptHasToken,_0x29c72b,_0x5c20bd),_0x379063=await _0x52976c[_0x3db12f(0xe6)](transcriptHasToken,_0x29c72b,_0x343615);if(_0x277656)try{const _0x14937c=await _0x52976c['ZfhmK'](getFeature,_0x111012['featureId']);_0x5b86a6=_0x14937c['name']??null,_0x2f913f=_0x14937c['currentSessionId']??null;}catch{}if(_0x277656&&_0x2f913f)try{await concludeSession(_0x111012[_0x3db12f(0xdd)],_0x2f913f);}catch(_0x39913d){if(_0x4f048c){await _0x52976c['cOJJh'](trackStop,_0x756418,!![],_0x5831f1);return;}_0x5831f1=![];const _0x3564c8=_0x52976c[_0x3db12f(0xe4)](_0x39913d,Error)?_0x39913d[_0x3db12f(0xee)]:String(_0x39913d),_0x1473e7={'decision':_0x52976c[_0x3db12f(0xf0)],'reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x5b86a6?_0x3db12f(0xe5)+_0x5b86a6+'\x22':'')+_0x3db12f(0xed)+_0x3564c8+'\x0a\x0aThis\x20is\x20most\x20likely\x20due\x20to\x20pending\x20scenarios\x20that\x20need\x20to\x20be\x20verified.\x20Please\x20resolve\x20the\x20issue\x20or\x20resume\x20later\x20with:\x0a\x20\x20ranger\x20resume\x0a\x0aIf\x20you\x20are\x20extremely\x20sure\x20this\x20is\x20the\x20user\x27s\x20requirement\x20and\x20want\x20to\x20skip\x20verification\x20for\x20now,\x20send\x20a\x20final\x20message\x20that\x20includes\x20the\x20feature\x20review\x20link\x20('+_0x343615+_0x3db12f(0xdf)+_0x5c20bd+'`,\x20then\x20run\x20/exit\x20again.'};console[_0x3db12f(0xe0)](JSON['stringify'](_0x1473e7)),await _0x52976c[_0x3db12f(0xf5)](trackStop,_0x756418,!![],_0x5831f1);return;}await _0x52976c[_0x3db12f(0xf5)](trackStop,_0x756418,!![],_0x5831f1);return;}catch{await _0x52976c[_0x3db12f(0xf5)](trackStop,_0x756418,!![],_0x5831f1);return;}}async function trackStop(_0x27b227,_0xe9e1df,_0x1945f0){const _0x53473b=_0x3a50;try{const _0x137e92=createTelemetryCollector(_0x53473b(0xf1));await _0x137e92['trackCommandStart']({'sessionId':_0x27b227??undefined,'hooksEnabled':_0xe9e1df,'stopAllowed':_0x1945f0}),await _0x137e92['trackCommandEnd'](_0x53473b(0xeb));}catch{}}async function transcriptHasToken(_0x2eed5e,_0x4ade15){const _0x1247d6=_0x3a50,_0x4c438e={'MEdYZ':function(_0x1075fb,_0x50f168,_0x2b0ff7){return _0x1075fb(_0x50f168,_0x2b0ff7);}};if(!_0x2eed5e)return![];const _0x468d9a=await _0x4c438e[_0x1247d6(0xf4)](readTranscriptTail,_0x2eed5e,0x30d40);return _0x468d9a?_0x468d9a['includes'](_0x4ade15):![];}async function readTranscriptTail(_0x5166ad,_0x31761e){const _0x531585=_0x3a50,_0x5e60ae={'OddSK':function(_0x259ce8,_0x380345){return _0x259ce8<=_0x380345;},'lHiBE':function(_0x1a962e,_0x2675f2){return _0x1a962e-_0x2675f2;}};let _0x376d5b=null;try{_0x376d5b=await open(_0x5166ad,'r');const _0xa508b0=await _0x376d5b['stat'](),_0x121ec9=Math['min'](_0xa508b0[_0x531585(0xe2)],_0x31761e);if(_0x5e60ae['OddSK'](_0x121ec9,0x0))return'';const _0x34aec8=Buffer[_0x531585(0xe7)](_0x121ec9);return await _0x376d5b[_0x531585(0xe3)](_0x34aec8,0x0,_0x121ec9,_0x5e60ae[_0x531585(0xf3)](_0xa508b0[_0x531585(0xe2)],_0x121ec9)),_0x34aec8[_0x531585(0xf9)]('utf8');}catch{return null;}finally{try{await _0x376d5b?.[_0x531585(0xda)]();}catch{}}}
1
+ (function(_0x52256b,_0x569503){const _0x57fc42=_0x5cbd,_0x486895=_0x52256b();while(!![]){try{const _0x22ed6e=-parseInt(_0x57fc42(0x83))/0x1*(parseInt(_0x57fc42(0x8f))/0x2)+-parseInt(_0x57fc42(0x93))/0x3+parseInt(_0x57fc42(0x92))/0x4*(parseInt(_0x57fc42(0xa4))/0x5)+parseInt(_0x57fc42(0xa6))/0x6*(-parseInt(_0x57fc42(0x9c))/0x7)+-parseInt(_0x57fc42(0x8d))/0x8+parseInt(_0x57fc42(0x85))/0x9*(-parseInt(_0x57fc42(0x88))/0xa)+parseInt(_0x57fc42(0xa2))/0xb;if(_0x22ed6e===_0x569503)break;else _0x486895['push'](_0x486895['shift']());}catch(_0x5f5143){_0x486895['push'](_0x486895['shift']());}}}(_0x5e38,0xcc585));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0xfc51fc){const _0x12b48a=_0x5cbd,_0x5e8d3d={'aWDTo':function(_0x12f1c8,_0x49eaa3){return _0x12f1c8(_0x49eaa3);},'dHLvX':function(_0x1fc2ff,_0x2975fd){return _0x1fc2ff(_0x2975fd);},'iEbDq':function(_0xcf49af,_0x3d0b76){return _0xcf49af===_0x3d0b76;},'oWLte':function(_0x419328,_0x4771e3,_0x4ac27d,_0x5f32f6){return _0x419328(_0x4771e3,_0x4ac27d,_0x5f32f6);},'YkpZJ':function(_0x217393){return _0x217393();},'dqTdb':function(_0x49d3de,_0x2cfb00,_0xaf5137){return _0x49d3de(_0x2cfb00,_0xaf5137);},'LFbzc':function(_0x564703,_0x1b278c){return _0x564703&&_0x1b278c;},'FEaSu':function(_0x428855,_0x3fb9b6,_0x3e0e5e,_0xe46f64){return _0x428855(_0x3fb9b6,_0x3e0e5e,_0xe46f64);}},_0x48d752=await _0x5e8d3d[_0x12b48a(0x87)](getEnabledHookContext,_0xfc51fc),_0x1ab5da=_0x48d752?.['sessionId']??null,_0x5cc740=_0x5e8d3d['dHLvX'](Boolean,_0x48d752?.[_0x12b48a(0xa3)]?.[_0x12b48a(0x9a)]),_0x4add56=_0x5e8d3d['iEbDq'](typeof _0x48d752?.['input']?.[_0x12b48a(0x97)],'string')?_0x48d752[_0x12b48a(0xa3)]['transcript_path']:null;let _0xc2104b=!![];if(!_0x1ab5da){await trackStop(_0x1ab5da,![],_0xc2104b);return;}try{const _0x47e16d=_0x5e8d3d[_0x12b48a(0x87)](getSessionEntry,_0x1ab5da);if(!_0x47e16d){await _0x5e8d3d[_0x12b48a(0x9e)](trackStop,_0x1ab5da,!![],_0xc2104b);return;}const _0x249700='https://dashboard.ranger.net/features/'+_0x47e16d['featureId'],_0x262acc='RANGER_SKIP_VERIFICATION',_0x1770b3=await _0x5e8d3d['YkpZJ'](getToken),_0x4563ce=!_0x5cc740;let _0x2a1279=null,_0x260754=null;const _0x46b7c9=_0x5cc740&&await _0x5e8d3d['dqTdb'](transcriptHasToken,_0x4add56,_0x262acc),_0x2ca0ff=await _0x5e8d3d['dqTdb'](transcriptHasToken,_0x4add56,_0x249700);if(_0x1770b3)try{const _0x3a6949=await getFeature(_0x47e16d['featureId']);_0x2a1279=_0x3a6949[_0x12b48a(0x8e)]??null,_0x260754=_0x3a6949['currentSessionId']??null;}catch{}if(_0x5e8d3d[_0x12b48a(0x98)](_0x1770b3,_0x260754))try{await concludeSession(_0x47e16d[_0x12b48a(0x96)],_0x260754);}catch(_0x457406){if(_0x46b7c9){await _0x5e8d3d[_0x12b48a(0x9d)](trackStop,_0x1ab5da,!![],_0xc2104b);return;}_0xc2104b=![];const _0x429dc9=_0x457406 instanceof Error?_0x457406[_0x12b48a(0x99)]:_0x5e8d3d[_0x12b48a(0x8b)](String,_0x457406),_0x2ffe07={'decision':_0x12b48a(0x94),'reason':_0x12b48a(0xa0)+(_0x2a1279?_0x12b48a(0x95)+_0x2a1279+'\x22':'')+_0x12b48a(0xa5)+_0x429dc9+'\x0a\x0aThis\x20is\x20most\x20likely\x20due\x20to\x20pending\x20scenarios\x20that\x20need\x20to\x20be\x20verified.\x20Please\x20resolve\x20the\x20issue\x20or\x20resume\x20later\x20with:\x0a\x20\x20ranger\x20resume\x0a\x0aIf\x20you\x20are\x20extremely\x20sure\x20this\x20is\x20the\x20user\x27s\x20requirement\x20and\x20want\x20to\x20skip\x20verification\x20for\x20now,\x20send\x20a\x20final\x20message\x20that\x20includes\x20the\x20feature\x20review\x20link\x20('+_0x249700+_0x12b48a(0x91)+_0x262acc+_0x12b48a(0x9f)};console['log'](JSON['stringify'](_0x2ffe07)),await trackStop(_0x1ab5da,!![],_0xc2104b);return;}await _0x5e8d3d['oWLte'](trackStop,_0x1ab5da,!![],_0xc2104b);return;}catch{await trackStop(_0x1ab5da,!![],_0xc2104b);return;}}function _0x5cbd(_0x24e2b7,_0x43b62e){_0x24e2b7=_0x24e2b7-0x83;const _0x5e3865=_0x5e38();let _0x5cbdc4=_0x5e3865[_0x24e2b7];return _0x5cbdc4;}async function trackStop(_0x477ead,_0xf060ec,_0x4b265d){const _0x3009d4=_0x5cbd,_0x2d53e7={'JhXly':_0x3009d4(0x8a),'NGLBt':function(_0xa571e0,_0x16a1c6){return _0xa571e0??_0x16a1c6;}};try{const _0x1694c8=createTelemetryCollector(_0x2d53e7['JhXly']);await _0x1694c8['trackCommandStart']({'sessionId':_0x2d53e7['NGLBt'](_0x477ead,undefined),'hooksEnabled':_0xf060ec,'stopAllowed':_0x4b265d}),await _0x1694c8['trackCommandEnd']('success');}catch{}}async function transcriptHasToken(_0x9cc51b,_0x24c1dd){const _0x48256c=_0x5cbd,_0x38b86c={'GDpKG':function(_0x34de15,_0x250384,_0x258117){return _0x34de15(_0x250384,_0x258117);}};if(!_0x9cc51b)return![];const _0x2bcbc3=await _0x38b86c['GDpKG'](readTranscriptTail,_0x9cc51b,0x30d40);return _0x2bcbc3?_0x2bcbc3[_0x48256c(0x90)](_0x24c1dd):![];}function _0x5e38(){const _0x18443a=['987464IKYCwS','3146898bZFIkj','block','\x20for\x20\x22','featureId','transcript_path','LFbzc','message','stop_hook_active','size','454951yRqZhO','FEaSu','oWLte','`,\x20then\x20run\x20/exit\x20again.','Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session','utf8','54684883yLpFRx','input','20UVWbJy',':\x0a\x0a','54pjNTjG','141lCGAOQ','read','9972bupdUo','min','aWDTo','9940IqkMLE','PnPqm','hook:stop','dHLvX','upYjK','13228048mQnKab','name','10398XDaELN','includes',')\x20and\x20the\x20token\x20`'];_0x5e38=function(){return _0x18443a;};return _0x5e38();}async function readTranscriptTail(_0x402ceb,_0x20c397){const _0x3cd959=_0x5cbd,_0x11632f={'upYjK':function(_0x1b48b7,_0x280ec3){return _0x1b48b7<=_0x280ec3;},'PnPqm':function(_0x799bb9,_0x519f2a){return _0x799bb9-_0x519f2a;}};let _0x4e8a32=null;try{_0x4e8a32=await open(_0x402ceb,'r');const _0x46f39b=await _0x4e8a32['stat'](),_0x1fcfbe=Math[_0x3cd959(0x86)](_0x46f39b[_0x3cd959(0x9b)],_0x20c397);if(_0x11632f[_0x3cd959(0x8c)](_0x1fcfbe,0x0))return'';const _0x5c04c3=Buffer['alloc'](_0x1fcfbe);return await _0x4e8a32[_0x3cd959(0x84)](_0x5c04c3,0x0,_0x1fcfbe,_0x11632f[_0x3cd959(0x89)](_0x46f39b['size'],_0x1fcfbe)),_0x5c04c3['toString'](_0x3cd959(0xa1));}catch{return null;}finally{try{await _0x4e8a32?.['close']();}catch{}}}
@@ -1 +1 @@
1
- (function(_0x399b5b,_0x42d08d){var _0x2862c6=_0x17f0,_0xe0e50b=_0x399b5b();while(!![]){try{var _0x26982b=parseInt(_0x2862c6(0xd3))/0x1*(parseInt(_0x2862c6(0xd9))/0x2)+-parseInt(_0x2862c6(0xdb))/0x3*(-parseInt(_0x2862c6(0xd4))/0x4)+parseInt(_0x2862c6(0xd7))/0x5*(-parseInt(_0x2862c6(0xdc))/0x6)+-parseInt(_0x2862c6(0xd8))/0x7*(-parseInt(_0x2862c6(0xdd))/0x8)+-parseInt(_0x2862c6(0xda))/0x9+-parseInt(_0x2862c6(0xd6))/0xa+parseInt(_0x2862c6(0xd5))/0xb;if(_0x26982b===_0x42d08d)break;else _0xe0e50b['push'](_0xe0e50b['shift']());}catch(_0x2cccb2){_0xe0e50b['push'](_0xe0e50b['shift']());}}}(_0x2d91,0xc1920));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x17f0(_0x47698d,_0x57622e){_0x47698d=_0x47698d-0xd3;var _0x2d9177=_0x2d91();var _0x17f0bf=_0x2d9177[_0x47698d];return _0x17f0bf;}export{envList}from'./env.js';export{hook}from'./hook.js';function _0x2d91(){var _0x1e9871=['15232aQuGMO','6jNNWmM','7246908cxYhAO','1285305hmEXCU','84HQyinQ','4136TRdKHe','433518aoyFQQ','4szPTBr','8451388HrkpOF','6735490pMeBLm','482380wEUUFa'];_0x2d91=function(){return _0x1e9871;};return _0x2d91();}export{setupCi}from'./setupCi.js';
1
+ (function(_0x374887,_0x45f355){var _0x1632e4=_0x4930,_0x57f805=_0x374887();while(!![]){try{var _0x1eab0a=parseInt(_0x1632e4(0xd2))/0x1+-parseInt(_0x1632e4(0xcb))/0x2*(-parseInt(_0x1632e4(0xcc))/0x3)+parseInt(_0x1632e4(0xd1))/0x4*(-parseInt(_0x1632e4(0xce))/0x5)+parseInt(_0x1632e4(0xcd))/0x6+-parseInt(_0x1632e4(0xd3))/0x7+-parseInt(_0x1632e4(0xd0))/0x8+parseInt(_0x1632e4(0xcf))/0x9*(-parseInt(_0x1632e4(0xd4))/0xa);if(_0x1eab0a===_0x45f355)break;else _0x57f805['push'](_0x57f805['shift']());}catch(_0x32631c){_0x57f805['push'](_0x57f805['shift']());}}}(_0x4a70,0x1938c));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x4930(_0x2080fc,_0x2e36c7){_0x2080fc=_0x2080fc-0xcb;var _0x4a7090=_0x4a70();var _0x4930eb=_0x4a7090[_0x2080fc];return _0x4930eb;}export{login}from'./login.js';export{start}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';function _0x4a70(){var _0x406fe8=['1123578sRZfAO','129535ZESXoD','135yXWBMb','51608sUJMaS','8RJhSto','197565pRxonr','626227KghrLa','206660RNNPth','58732bzQAmj','18aTCDKt'];_0x4a70=function(){return _0x406fe8;};return _0x4a70();}export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
@@ -1 +1 @@
1
- (function(_0x4009ec,_0x51706c){const _0x5ea0e3=_0x50f7,_0x2ff861=_0x4009ec();while(!![]){try{const _0x42a686=parseInt(_0x5ea0e3(0xd6))/0x1+parseInt(_0x5ea0e3(0xca))/0x2+parseInt(_0x5ea0e3(0xcc))/0x3+parseInt(_0x5ea0e3(0xd4))/0x4*(-parseInt(_0x5ea0e3(0xc9))/0x5)+parseInt(_0x5ea0e3(0xd0))/0x6+parseInt(_0x5ea0e3(0xcf))/0x7*(-parseInt(_0x5ea0e3(0xd1))/0x8)+-parseInt(_0x5ea0e3(0xcd))/0x9;if(_0x42a686===_0x51706c)break;else _0x2ff861['push'](_0x2ff861['shift']());}catch(_0x38df64){_0x2ff861['push'](_0x2ff861['shift']());}}}(_0x4210,0x3cdbe));function _0x4210(){const _0x3d09fd=['1794224zncgtd','stdin','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','839824wcWLBQ','log','195813QxXoxz','stdout','uyJHk','success','5DHyRXQ','120794rXUMfJ','TmmKQ','1082844lQFXcZ','3800214hrhCQB','user','7pxbvVi','2931600uDXxJs'];_0x4210=function(){return _0x3d09fd;};return _0x4210();}function _0x50f7(_0x2ace1e,_0xadab09){_0x2ace1e=_0x2ace1e-0xc7;const _0x4210a6=_0x4210();let _0x50f7db=_0x4210a6[_0x2ace1e];return _0x50f7db;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x251a71=_0x50f7,_0x401703={'uyJHk':_0x251a71(0xd3),'qxZdu':function(_0x102233,_0x403c0d){return _0x102233(_0x403c0d);},'TmmKQ':function(_0x3cbdd0,_0xcd2835){return _0x3cbdd0 instanceof _0xcd2835;}},_0x108b17=process[_0x251a71(0xd2)]['isTTY']&&process[_0x251a71(0xd7)]['isTTY'];if(!_0x108b17)throw new Error(_0x401703[_0x251a71(0xc7)]);try{const _0x15c5bb=await runDeviceAuthFlow(),_0x4a3a1d=await _0x401703['qxZdu'](getCurrentUser,_0x15c5bb);_0x4a3a1d[_0x251a71(0xc8)]?console[_0x251a71(0xd5)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4a3a1d[_0x251a71(0xce)]['organizationName']):console[_0x251a71(0xd5)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0xd4a9d4){throw new Error('Login\x20failed:\x20'+(_0x401703[_0x251a71(0xcb)](_0xd4a9d4,Error)?_0xd4a9d4['message']:_0xd4a9d4));}}
1
+ (function(_0x8da1e9,_0x514054){const _0x5dc6a2=_0x52dd,_0x51c68b=_0x8da1e9();while(!![]){try{const _0x22efa9=-parseInt(_0x5dc6a2(0x12d))/0x1+-parseInt(_0x5dc6a2(0x126))/0x2*(-parseInt(_0x5dc6a2(0x12b))/0x3)+-parseInt(_0x5dc6a2(0x122))/0x4*(-parseInt(_0x5dc6a2(0x128))/0x5)+-parseInt(_0x5dc6a2(0x127))/0x6*(parseInt(_0x5dc6a2(0x12a))/0x7)+-parseInt(_0x5dc6a2(0x123))/0x8+parseInt(_0x5dc6a2(0x125))/0x9+parseInt(_0x5dc6a2(0x129))/0xa;if(_0x22efa9===_0x514054)break;else _0x51c68b['push'](_0x51c68b['shift']());}catch(_0x5ec51b){_0x51c68b['push'](_0x51c68b['shift']());}}}(_0x3a76,0xa57b2));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3a76(){const _0x311d22=['9870000LGMYnv','7zplczy','29337HNjNSH','dexzR','981929XBSdZE','stdout','hHgUn','68Rgbvxq','6810584PFOpDN','isTTY','2486574IsKwnM','234QzxWAp','2355684WNrOIU','145955ANVODf'];_0x3a76=function(){return _0x311d22;};return _0x3a76();}import{getCurrentUser}from'./utils/userApi.js';function _0x52dd(_0x49a8c5,_0x3e102b){_0x49a8c5=_0x49a8c5-0x122;const _0x3a7669=_0x3a76();let _0x52dd9f=_0x3a7669[_0x49a8c5];return _0x52dd9f;}export async function login(){const _0x3b296c=_0x52dd,_0xfbd469={'nOumM':function(_0x154458,_0x438c44){return _0x154458(_0x438c44);},'dexzR':'\x0a✅\x20API\x20key\x20stored\x20successfully','hHgUn':function(_0x573f92,_0x33472b){return _0x573f92 instanceof _0x33472b;}},_0x3a31a0=process['stdin'][_0x3b296c(0x124)]&&process[_0x3b296c(0x12e)][_0x3b296c(0x124)];if(!_0x3a31a0)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x3fc930=await runDeviceAuthFlow(),_0x3aedb2=await _0xfbd469['nOumM'](getCurrentUser,_0x3fc930);_0x3aedb2['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x3aedb2['user']['organizationName']):console['log'](_0xfbd469[_0x3b296c(0x12c)]);}catch(_0x2064c9){throw new Error('Login\x20failed:\x20'+(_0xfbd469[_0x3b296c(0x12f)](_0x2064c9,Error)?_0x2064c9['message']:_0x2064c9));}}
@@ -0,0 +1 @@
1
+ (function(_0x4ff4c3,_0x873ed4){const _0x3e98e9=_0x5045,_0x22266f=_0x4ff4c3();while(!![]){try{const _0x337205=-parseInt(_0x3e98e9(0x21d))/0x1*(parseInt(_0x3e98e9(0x1ea))/0x2)+-parseInt(_0x3e98e9(0x207))/0x3*(-parseInt(_0x3e98e9(0x219))/0x4)+parseInt(_0x3e98e9(0x20c))/0x5*(parseInt(_0x3e98e9(0x21b))/0x6)+-parseInt(_0x3e98e9(0x20f))/0x7+-parseInt(_0x3e98e9(0x211))/0x8+-parseInt(_0x3e98e9(0x200))/0x9+parseInt(_0x3e98e9(0x1f7))/0xa;if(_0x337205===_0x873ed4)break;else _0x22266f['push'](_0x22266f['shift']());}catch(_0x29fc05){_0x22266f['push'](_0x22266f['shift']());}}}(_0x3db1,0xdbc9c));import{join}from'path';import{existsSync}from'fs';import _0x3b8b3e from'inquirer';function _0x5045(_0x188867,_0x3deef3){_0x188867=_0x188867-0x1e7;const _0x3db1eb=_0x3db1();let _0x5045c0=_0x3db1eb[_0x188867];return _0x5045c0;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x847469){const _0x49525d=_0x5045,_0x28a2f4={'nKAfp':function(_0x2bd2e6,_0x2ff6cd){return _0x2bd2e6(_0x2ff6cd);},'WhecF':function(_0x35a205,_0x492914,_0x488044){return _0x35a205(_0x492914,_0x488044);},'yONVG':function(_0x5b69ad){return _0x5b69ad();},'hQMnU':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','HcRGM':'pluginScope','hmtPD':_0x49525d(0x217),'FBode':_0x49525d(0x21c),'rfDaE':_0x49525d(0x1ff),'xqhOt':'✓\x20Marketplace\x20already\x20added','ombxa':_0x49525d(0x21a),'HvhKk':_0x49525d(0x1fb),'bMqDO':_0x49525d(0x1e7),'hmKhW':'❌\x20Failed\x20to\x20add\x20marketplace:','RRPhX':function(_0x4c69f6,_0x22a0ca){return _0x4c69f6(_0x22a0ca);},'rHJsa':_0x49525d(0x204),'ecmhB':_0x49525d(0x1e8),'BWaTv':'\x0aYou\x20can\x20install\x20manually\x20with:','nVtrh':_0x49525d(0x208),'hYihy':_0x49525d(0x221)},_0xba7bdc=await isPluginInstalled('ranger@trailhead');if(_0xba7bdc)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x18f4eb=_0x28a2f4['nKAfp'](existsSync,_0x28a2f4['WhecF'](join,_0x28a2f4[_0x49525d(0x220)](getProjectRoot),'.claude'));let _0xd6c429;if(_0x847469)_0xd6c429=_0x847469;else{if(_0x18f4eb)_0xd6c429='project';else{console['log'](_0x28a2f4[_0x49525d(0x1ec)]);const _0x465767=await _0x3b8b3e['prompt']([{'type':'list','name':_0x28a2f4[_0x49525d(0x1f5)],'message':_0x28a2f4['hmtPD'],'choices':[{'name':_0x28a2f4[_0x49525d(0x1f4)],'value':'user'},{'name':_0x49525d(0x212),'value':_0x28a2f4['rfDaE']}],'default':_0x49525d(0x21e)}]);_0xd6c429=_0x465767['pluginScope'];}}console[_0x49525d(0x1eb)](_0x49525d(0x1ef)+_0xd6c429+_0x49525d(0x20b));const _0x5d7f53=await isMarketplaceAdded(_0x49525d(0x20a));let _0x10199b=_0x5d7f53;if(_0x5d7f53)console['log'](_0x28a2f4['xqhOt']);else{const _0x2a5ca8=await runClaudeCommand([_0x28a2f4[_0x49525d(0x1f8)],_0x28a2f4[_0x49525d(0x20e)],'add',_0x28a2f4['bMqDO']]);!_0x2a5ca8[_0x49525d(0x218)]?(console[_0x49525d(0x1fa)](_0x28a2f4[_0x49525d(0x205)],_0x2a5ca8[_0x49525d(0x1fa)]),console['log'](_0x49525d(0x21f)),console[_0x49525d(0x1eb)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0xd6c429)):_0x10199b=!![];}if(_0x10199b){const _0x3ebf15=await _0x28a2f4[_0x49525d(0x1f2)](runClaudeCommand,[_0x49525d(0x21a),_0x28a2f4[_0x49525d(0x210)],_0x49525d(0x208),_0x49525d(0x221),_0xd6c429]);if(!_0x3ebf15['success'])console[_0x49525d(0x1fa)](_0x28a2f4[_0x49525d(0x1f0)],_0x3ebf15[_0x49525d(0x1fa)]),console['log'](_0x28a2f4[_0x49525d(0x201)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0xd6c429);else{console['log'](_0x49525d(0x1f3));const _0x273671=[_0x28a2f4['ombxa'],'enable',_0x28a2f4['nVtrh']];_0xd6c429==='project'&&_0x273671['push'](_0x28a2f4[_0x49525d(0x209)],_0x28a2f4[_0x49525d(0x216)]);const _0x4759e1=await runClaudeCommand(_0x273671,{'captureOutput':!![]}),_0x4662da=_0x4759e1[_0x49525d(0x1f1)]?.[_0x49525d(0x1f9)]('already\x20enabled');!_0x4759e1[_0x49525d(0x218)]&&!_0x4662da?console[_0x49525d(0x1fa)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x4759e1[_0x49525d(0x1fa)]):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}function _0x3db1(){const _0x34d3be=['PwUco','18821710JHbcra','ombxa','includes','error','marketplace','eajui','Anxel','HQbwV','project','14645043nuihrQ','BWaTv','confirm','prompt','install','hmKhW','SKILL.md','14757vBFiNT','ranger@trailhead','hYihy','trailhead','\x20level)...\x0a','140925XssKSr','ranger','HvhKk','5834507yLrwSb','rHJsa','4645272FhfDHl','Project\x20(shared\x20with\x20team\x20via\x20git)','gnzDk','wantsSkillup','QfXVe','rfDaE','Where\x20should\x20the\x20plugin\x20be\x20installed?','success','680jKWIFz','plugin','282iSATto','User\x20(available\x20in\x20all\x20your\x20projects)','9tUKkVg','user','\x0aYou\x20can\x20install\x20manually\x20with:','yONVG','--scope','ranger-testing/trailhead','❌\x20Failed\x20to\x20install\x20plugin:','✓\x20Ranger\x20skills\x20already\x20installed','22546yWAtPN','log','hQMnU','.claude','afPpI','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','ecmhB','output','RRPhX','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','FBode','HcRGM'];_0x3db1=function(){return _0x34d3be;};return _0x3db1();}export async function ensureClaudeSkills(_0x5586b3){const _0x1ba07d=_0x5045,_0x1f72d2={'afPpI':function(_0x1e883f,_0x2b22dd){return _0x1e883f(_0x2b22dd);},'eajui':'project','BvyxQ':_0x1ba07d(0x20d),'QfXVe':_0x1ba07d(0x206),'qVJcA':function(_0x54562d,_0xbb666f){return _0x54562d||_0xbb666f;},'PwUco':_0x1ba07d(0x1e9),'HQbwV':function(_0x25aa45,_0x4177da,_0x97603){return _0x25aa45(_0x4177da,_0x97603);},'ZsHxb':function(_0x39d644){return _0x39d644();},'UPoan':_0x1ba07d(0x1ed),'gnzDk':function(_0xde778c,_0x999d36){return _0xde778c(_0x999d36);},'Anxel':'wantsSkillup'},_0x3cc6fc=existsSync(join(getSkillsDir('user'),_0x1ba07d(0x20d),_0x1ba07d(0x206))),_0x3e6891=existsSync(join(_0x1f72d2[_0x1ba07d(0x1ee)](getSkillsDir,_0x1f72d2[_0x1ba07d(0x1fc)]),_0x1f72d2['BvyxQ'],_0x1f72d2[_0x1ba07d(0x215)]));if(_0x1f72d2['qVJcA'](_0x3cc6fc,_0x3e6891))return console['log'](_0x1f72d2[_0x1ba07d(0x1f6)]),![];const _0x5083db=existsSync(_0x1f72d2[_0x1ba07d(0x1fe)](join,_0x1f72d2['ZsHxb'](getProjectRoot),_0x1f72d2['UPoan']));let _0x510f35=!![];if(_0x5586b3)await _0x1f72d2['gnzDk'](skillup,{'autoInstall':_0x5586b3,'suppressUsage':!![]});else{if(_0x5083db)await _0x1f72d2[_0x1ba07d(0x213)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x9b12f9=await _0x3b8b3e[_0x1ba07d(0x203)]([{'type':_0x1ba07d(0x202),'name':_0x1f72d2[_0x1ba07d(0x1fd)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x510f35=_0x9b12f9[_0x1ba07d(0x214)],_0x510f35&&await skillup({'suppressUsage':!![]});}}return _0x510f35;}