@ranger-testing/ranger-cli 2.2.5 → 2.3.1

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 (69) 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 -1
  25. package/build/commands/setup/opencode.js +1 -1
  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 -1
  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/mcpImageBase64.js +1 -1
  48. package/build/commands/utils/model.js +1 -1
  49. package/build/commands/utils/opencodeConfig.js +1 -1
  50. package/build/commands/utils/playwrightCli.js +1 -0
  51. package/build/commands/utils/profileMessages.js +1 -1
  52. package/build/commands/utils/profileSetupBanner.js +1 -1
  53. package/build/commands/utils/rangerConfig.js +1 -1
  54. package/build/commands/utils/rangerRoot.js +1 -1
  55. package/build/commands/utils/reportGenerator.js +1 -1
  56. package/build/commands/utils/retry.js +1 -1
  57. package/build/commands/utils/sessionCache.js +1 -1
  58. package/build/commands/utils/settings.js +1 -1
  59. package/build/commands/utils/skillContent.js +1 -1
  60. package/build/commands/utils/skills.js +1 -1
  61. package/build/commands/utils/stitchWebmFiles.js +1 -1
  62. package/build/commands/utils/telemetry.js +1 -1
  63. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  64. package/build/commands/utils/userApi.js +1 -1
  65. package/build/commands/utils/version.js +1 -1
  66. package/build/commands/verifyFeature.js +1 -1
  67. package/build/commands/verifyFeatureCli.js +1 -0
  68. package/build/commands/verifyInBrowser.js +1 -1
  69. package/package.json +3 -1
@@ -1 +1 @@
1
- const _0x4cb039=_0x4f57;(function(_0x4bccf9,_0x387b84){const _0x2c9c57=_0x4f57,_0x2e1bf7=_0x4bccf9();while(!![]){try{const _0x328e5c=parseInt(_0x2c9c57(0xcd))/0x1*(-parseInt(_0x2c9c57(0xcc))/0x2)+parseInt(_0x2c9c57(0xb7))/0x3*(-parseInt(_0x2c9c57(0xc0))/0x4)+-parseInt(_0x2c9c57(0xc7))/0x5*(-parseInt(_0x2c9c57(0xb3))/0x6)+-parseInt(_0x2c9c57(0xbf))/0x7*(-parseInt(_0x2c9c57(0xcb))/0x8)+parseInt(_0x2c9c57(0xca))/0x9+parseInt(_0x2c9c57(0xbb))/0xa+parseInt(_0x2c9c57(0xc4))/0xb*(-parseInt(_0x2c9c57(0xbc))/0xc);if(_0x328e5c===_0x387b84)break;else _0x2e1bf7['push'](_0x2e1bf7['shift']());}catch(_0x1b52c0){_0x2e1bf7['push'](_0x2e1bf7['shift']());}}}(_0x2fc0,0xedf45));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x2fc0(){const _0x3a2cbc=['32twSixd','652076AMnbqw','1saEHFY','includes','length','oBugY','\x20\x20\x20\x20\x20\x20URL:\x20','\x0aNo\x20profiles\x20found.','Run:\x20ranger\x20profile\x20add\x20<profile-name>','1290jNNEII','log','reports','pYWkE','38238misrNV','baseUrl','environmentDetails','\x0a*\x20=\x20active\x20profile','7427780Weyhvb','4105116CEYRxK','oMAda','push','1261267jgYZDO','236GbTfOy','bug-bashes','settings.json','local','33nxCZas','isDirectory','endsWith','10185pjsHXz','startsWith','NvZlf','10597815gWzbwE'];_0x2fc0=function(){return _0x3a2cbc;};return _0x2fc0();}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x4f57(_0x4446c3,_0x47326a){_0x4446c3=_0x4446c3-0xae;const _0x2fc0e2=_0x2fc0();let _0x4f57b8=_0x2fc0e2[_0x4446c3];return _0x4f57b8;}const NON_ENV_DIRS=['sessions',_0x4cb039(0xc1),_0x4cb039(0xb5),'local','ci'];export async function getEnvNames(){const _0x446db9=_0x4cb039,_0x37f178={'PBOTa':function(_0x231d6c,_0x34dca1){return _0x231d6c(_0x34dca1);},'AkqKY':function(_0xad285d){return _0xad285d();},'oMAda':_0x446db9(0xc3),'Rueep':function(_0x5ba9b1,_0x524fd7){return _0x5ba9b1(_0x524fd7);},'pYWkE':function(_0x297fa0,_0x42a0b2,_0x13512c){return _0x297fa0(_0x42a0b2,_0x13512c);},'NvZlf':function(_0x23b92e,_0x327849){return _0x23b92e(_0x327849);},'oBugY':function(_0x5df5f0,_0x51c128){return _0x5df5f0(_0x51c128);},'xDTxU':'.txt','tFmkf':function(_0x5dab5f,_0x21a43e,_0x5bf880){return _0x5dab5f(_0x21a43e,_0x5bf880);},'FndoV':function(_0x1d45bb,_0x3cbf00,_0x505d5b){return _0x1d45bb(_0x3cbf00,_0x505d5b);},'xbYPk':'legacy'},_0x38bb66=getRangerDir();if(!_0x37f178['PBOTa'](existsSync,_0x38bb66))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x28c678=await _0x37f178['AkqKY'](readActiveProfileName),_0x4caf5e=[],_0x24bd85={},_0x192e4f=join(_0x38bb66,_0x37f178[_0x446db9(0xbd)]);if(existsSync(_0x192e4f)){const _0x21496d=await _0x37f178['Rueep'](readdir,_0x192e4f);for(const _0x2930f0 of _0x21496d){const _0x59adec=_0x37f178['pYWkE'](join,_0x192e4f,_0x2930f0),_0x47305b=await _0x37f178['NvZlf'](stat,_0x59adec);_0x47305b[_0x446db9(0xc5)]()&&(_0x4caf5e[_0x446db9(0xbe)](_0x2930f0),_0x24bd85[_0x2930f0]=_0x37f178[_0x446db9(0xbd)]);}}const _0x29e2d2=_0x37f178[_0x446db9(0xb6)](join,_0x38bb66,'ci');if(existsSync(_0x29e2d2)){const _0x3093a7=await _0x37f178[_0x446db9(0xc9)](readdir,_0x29e2d2);for(const _0x24f811 of _0x3093a7){const _0x5b476b=_0x37f178[_0x446db9(0xb6)](join,_0x29e2d2,_0x24f811),_0x24f0c3=await stat(_0x5b476b);_0x24f0c3[_0x446db9(0xc5)]()&&(_0x4caf5e[_0x446db9(0xbe)](_0x24f811),_0x24bd85[_0x24f811]='ci');}}const _0x429a7a=await _0x37f178[_0x446db9(0xaf)](readdir,_0x38bb66);for(const _0x48aa25 of _0x429a7a){if(NON_ENV_DIRS[_0x446db9(0xce)](_0x48aa25))continue;if(_0x48aa25[_0x446db9(0xc8)]('.'))continue;if(_0x48aa25[_0x446db9(0xc6)](_0x37f178['xDTxU']))continue;const _0x5a8318=_0x37f178['tFmkf'](join,_0x38bb66,_0x48aa25),_0x4d8b7e=await _0x37f178['Rueep'](stat,_0x5a8318);_0x4d8b7e[_0x446db9(0xc5)]()&&existsSync(_0x37f178['FndoV'](join,_0x5a8318,_0x446db9(0xc2)))&&(!_0x4caf5e[_0x446db9(0xce)](_0x48aa25)&&(_0x4caf5e['push'](_0x48aa25),_0x24bd85[_0x48aa25]=_0x37f178['xbYPk']));}return{'envNames':_0x4caf5e,'activeEnv':_0x28c678,'envTypes':_0x24bd85};}export async function envList(){const _0x3d4186=_0x4cb039,_0x35c89c={'oBDBO':_0x3d4186(0xb1),'IzZWA':_0x3d4186(0xb2),'HpYxK':'\x0aProfiles:','zvVTY':'legacy'},{envNames:_0x405ed5,activeEnv:_0xe605a,envTypes:_0x2236b7}=await getEnvNames();if(_0x405ed5[_0x3d4186(0xae)]===0x0){console['log'](_0x35c89c['oBDBO']),console[_0x3d4186(0xb4)](_0x35c89c['IzZWA']);return;}console[_0x3d4186(0xb4)](_0x35c89c['HpYxK']);for(const _0x1f8920 of _0x405ed5['sort']()){const _0x35bfe4=_0x1f8920===_0xe605a,_0x58c6f5=_0x2236b7[_0x1f8920]||_0x3d4186(0xc3),_0x3baebe=await loadSettings(_0x1f8920),_0x1600b4=_0x58c6f5===_0x35c89c['zvVTY']?'':'\x20['+_0x58c6f5+']';console['log']('\x20\x20'+(_0x35bfe4?'*\x20':'\x20\x20')+_0x1f8920+_0x1600b4),_0x3baebe[_0x3d4186(0xb8)]&&console[_0x3d4186(0xb4)](_0x3d4186(0xb0)+_0x3baebe[_0x3d4186(0xb8)]),_0x3baebe['environmentDetails']&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x3baebe[_0x3d4186(0xb9)]);}_0xe605a&&console['log'](_0x3d4186(0xba));}
1
+ const _0x3c7036=_0x2699;(function(_0x1b85ae,_0x3def1d){const _0x3a08d2=_0x2699,_0x10118e=_0x1b85ae();while(!![]){try{const _0x412192=parseInt(_0x3a08d2(0xbf))/0x1+-parseInt(_0x3a08d2(0xb9))/0x2+-parseInt(_0x3a08d2(0xa6))/0x3*(parseInt(_0x3a08d2(0xb5))/0x4)+-parseInt(_0x3a08d2(0xae))/0x5+-parseInt(_0x3a08d2(0xb4))/0x6*(parseInt(_0x3a08d2(0xaa))/0x7)+-parseInt(_0x3a08d2(0xb6))/0x8+parseInt(_0x3a08d2(0xba))/0x9*(parseInt(_0x3a08d2(0xac))/0xa);if(_0x412192===_0x3def1d)break;else _0x10118e['push'](_0x10118e['shift']());}catch(_0xd6a94){_0x10118e['push'](_0x10118e['shift']());}}}(_0x1d4f,0xbce3d));import{readdir,stat}from'fs/promises';import{join}from'path';function _0x2699(_0x212bbe,_0x1657cb){_0x212bbe=_0x212bbe-0xa1;const _0x1d4f3c=_0x1d4f();let _0x2699f8=_0x1d4f3c[_0x212bbe];return _0x2699f8;}import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x1d4f(){const _0x3dd5bb=['6CNXRtj','3035244EHmWmh','6069200aDbxRL','legacy','bxHcB','1729416vXzrkJ','9QJTcjW','JaAmx','local','\x0aProfiles:','isDirectory','1010815nrnhOq','length','sort','jBIVH','environmentDetails','startsWith','aTLAB','6uSXyxp','settings.json','endsWith','push','3288838FlkEQQ','cZXOr','48097390DDSdgX','qEJIj','7180235fakYQm','includes','log','obNKT','QZbkQ','cuAfB'];_0x1d4f=function(){return _0x3dd5bb;};return _0x1d4f();}const NON_ENV_DIRS=['sessions','bug-bashes','reports',_0x3c7036(0xbc),'ci'];export async function getEnvNames(){const _0x1bf715=_0x3c7036,_0x189c2f={'cuAfB':function(_0x3fea94){return _0x3fea94();},'JpOSH':function(_0x502584,_0x11a2e1){return _0x502584(_0x11a2e1);},'ykJIG':function(_0xc35f92,_0x31a65b,_0x26b709){return _0xc35f92(_0x31a65b,_0x26b709);},'obNKT':function(_0x11d39e,_0x473f2e){return _0x11d39e(_0x473f2e);},'QZbkQ':_0x1bf715(0xbc),'qEJIj':function(_0x3ab42a,_0x3f2928,_0x4f2a7c){return _0x3ab42a(_0x3f2928,_0x4f2a7c);},'VkEZW':'.txt','ByPGj':function(_0x367032,_0x43ff06,_0x215ad3){return _0x367032(_0x43ff06,_0x215ad3);},'aTLAB':function(_0x5beb1d,_0xdd5660){return _0x5beb1d(_0xdd5660);}},_0xb14d2d=_0x189c2f[_0x1bf715(0xb3)](getRangerDir);if(!_0x189c2f['JpOSH'](existsSync,_0xb14d2d))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x4d921a=await _0x189c2f['cuAfB'](readActiveProfileName),_0x3b571e=[],_0x12fbd3={},_0x4c9d32=join(_0xb14d2d,'local');if(existsSync(_0x4c9d32)){const _0x77e199=await readdir(_0x4c9d32);for(const _0x4272f2 of _0x77e199){const _0x5cd14c=_0x189c2f['ykJIG'](join,_0x4c9d32,_0x4272f2),_0x28f2cf=await _0x189c2f[_0x1bf715(0xb1)](stat,_0x5cd14c);_0x28f2cf['isDirectory']()&&(_0x3b571e[_0x1bf715(0xa9)](_0x4272f2),_0x12fbd3[_0x4272f2]=_0x189c2f[_0x1bf715(0xb2)]);}}const _0x1fce18=_0x189c2f[_0x1bf715(0xad)](join,_0xb14d2d,'ci');if(existsSync(_0x1fce18)){const _0x265118=await readdir(_0x1fce18);for(const _0x2db898 of _0x265118){const _0x2bed02=_0x189c2f['qEJIj'](join,_0x1fce18,_0x2db898),_0x1c9e56=await stat(_0x2bed02);_0x1c9e56['isDirectory']()&&(_0x3b571e['push'](_0x2db898),_0x12fbd3[_0x2db898]='ci');}}const _0x1ee1b9=await readdir(_0xb14d2d);for(const _0xe37a58 of _0x1ee1b9){if(NON_ENV_DIRS[_0x1bf715(0xaf)](_0xe37a58))continue;if(_0xe37a58[_0x1bf715(0xa4)]('.'))continue;if(_0xe37a58[_0x1bf715(0xa8)](_0x189c2f['VkEZW']))continue;const _0xf1c27b=_0x189c2f['ByPGj'](join,_0xb14d2d,_0xe37a58),_0x5de557=await stat(_0xf1c27b);_0x5de557[_0x1bf715(0xbe)]()&&_0x189c2f[_0x1bf715(0xa5)](existsSync,_0x189c2f['qEJIj'](join,_0xf1c27b,_0x1bf715(0xa7)))&&(!_0x3b571e['includes'](_0xe37a58)&&(_0x3b571e['push'](_0xe37a58),_0x12fbd3[_0xe37a58]=_0x1bf715(0xb7)));}return{'envNames':_0x3b571e,'activeEnv':_0x4d921a,'envTypes':_0x12fbd3};}export async function envList(){const _0x360334=_0x3c7036,_0x48fcf2={'JaAmx':'\x0aNo\x20profiles\x20found.','FhGox':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','cZXOr':_0x360334(0xbd),'jBIVH':function(_0x5ae967,_0x36f291){return _0x5ae967(_0x36f291);},'bxHcB':'legacy'},{envNames:_0x3a203c,activeEnv:_0x30d9ff,envTypes:_0x5a42b7}=await getEnvNames();if(_0x3a203c[_0x360334(0xc0)]===0x0){console[_0x360334(0xb0)](_0x48fcf2[_0x360334(0xbb)]),console[_0x360334(0xb0)](_0x48fcf2['FhGox']);return;}console[_0x360334(0xb0)](_0x48fcf2[_0x360334(0xab)]);for(const _0x36bd52 of _0x3a203c[_0x360334(0xa1)]()){const _0x298579=_0x36bd52===_0x30d9ff,_0x2559b3=_0x5a42b7[_0x36bd52]||_0x360334(0xbc),_0xf10156=await _0x48fcf2[_0x360334(0xa2)](loadSettings,_0x36bd52),_0x1c5ded=_0x2559b3===_0x48fcf2[_0x360334(0xb8)]?'':'\x20['+_0x2559b3+']';console['log']('\x20\x20'+(_0x298579?'*\x20':'\x20\x20')+_0x36bd52+_0x1c5ded),_0xf10156['baseUrl']&&console[_0x360334(0xb0)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0xf10156['baseUrl']),_0xf10156['environmentDetails']&&console[_0x360334(0xb0)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0xf10156[_0x360334(0xa3)]);}_0x30d9ff&&console['log']('\x0a*\x20=\x20active\x20profile');}
@@ -1 +1 @@
1
- const _0xc65e02=_0x1064;(function(_0x4bed51,_0x4a439d){const _0x402474=_0x1064,_0x5988fd=_0x4bed51();while(!![]){try{const _0x1bd5c8=parseInt(_0x402474(0x8d))/0x1*(-parseInt(_0x402474(0xe8))/0x2)+-parseInt(_0x402474(0x10b))/0x3+-parseInt(_0x402474(0x13d))/0x4*(parseInt(_0x402474(0xe5))/0x5)+parseInt(_0x402474(0xa2))/0x6*(parseInt(_0x402474(0xa9))/0x7)+-parseInt(_0x402474(0xf3))/0x8*(-parseInt(_0x402474(0xc1))/0x9)+-parseInt(_0x402474(0xb1))/0xa*(parseInt(_0x402474(0xd6))/0xb)+-parseInt(_0x402474(0x79))/0xc*(-parseInt(_0x402474(0x11a))/0xd);if(_0x1bd5c8===_0x4a439d)break;else _0x5988fd['push'](_0x5988fd['shift']());}catch(_0x27e21f){_0x5988fd['push'](_0x5988fd['shift']());}}}(_0x4cfc,0x7c679));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x4cb599 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0xc85ade=>'\x1b[1m'+_0xc85ade+_0xc65e02(0x154);function getGitRepoUrl(){const _0xded7fa=_0xc65e02,_0x2cfc2a={'RKaCX':_0xded7fa(0xb9),'fFDgW':'utf-8','FCnbO':_0xded7fa(0xf7),'sYjOX':'github.com/'};try{const _0x4bf52a=execSync(_0x2cfc2a['RKaCX'],{'encoding':_0x2cfc2a[_0xded7fa(0x12f)],'stdio':[_0xded7fa(0xf7),_0x2cfc2a['FCnbO'],_0x2cfc2a[_0xded7fa(0xde)]]})[_0xded7fa(0xfb)]();return _0x4bf52a['replace'](/\.git$/,'')[_0xded7fa(0xee)](/^git@github\.com:/,_0x2cfc2a['sYjOX'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x2fb012=_0xc65e02,_0x39fc44={'lEqTe':function(_0x56d554,_0x32e04b,_0x22fe8e){return _0x56d554(_0x32e04b,_0x22fe8e);},'NPlfE':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','UcTmE':'pipe'};try{return _0x39fc44['lEqTe'](execSync,_0x39fc44['NPlfE'],{'encoding':_0x2fb012(0x155),'stdio':[_0x2fb012(0xf7),_0x39fc44[_0x2fb012(0x12b)],_0x39fc44[_0x2fb012(0x12b)]]})[_0x2fb012(0xfb)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3c00db=_0xc65e02,_0x1ac3cd={'RkLxB':_0x3c00db(0x155)},_0x116d59=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0x116d59))return null;try{const _0x347d8c=await readFile(_0x116d59,_0x1ac3cd['RkLxB']);return _0x347d8c['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x36926e){const _0x4e8f69=_0xc65e02,_0x29bc5b={'QnPmy':function(_0x24e0d3){return _0x24e0d3();},'ehPCZ':function(_0x47f910,_0x90b247,_0x1f082b){return _0x47f910(_0x90b247,_0x1f082b);},'WWzUU':function(_0x5c99a8,_0x1e414c,_0x1e124a,_0x3ee59f){return _0x5c99a8(_0x1e414c,_0x1e124a,_0x3ee59f);}},_0x205217=_0x29bc5b[_0x4e8f69(0xd5)](getRangerDir),_0xeed0ea=_0x29bc5b[_0x4e8f69(0x113)](join,_0x205217,ACTIVE_FEATURE_FILE);!existsSync(_0x205217)&&await _0x29bc5b['ehPCZ'](mkdir,_0x205217,{'recursive':!![]}),await _0x29bc5b['WWzUU'](writeFile,_0xeed0ea,_0x36926e,'utf-8');}function getProgressDisplay(_0x4d559e){const _0x336e70=_0xc65e02,_0x484614={'yxtDm':function(_0x180c27,_0x2a10f4){return _0x180c27+_0x2a10f4;},'KbZiJ':function(_0x1e8c15,_0x32449f){return _0x1e8c15>_0x32449f;},'anOYC':function(_0x36a9ad,_0x155c8e){return _0x36a9ad>_0x155c8e;}},_0x316db4=_0x4d559e['verifiedItems']||0x0,_0x595159=_0x4d559e[_0x336e70(0x130)]||0x0,_0x1b7932=_0x4d559e[_0x336e70(0x11b)]||0x0,_0x519322=_0x4d559e[_0x336e70(0x141)]||0x0,_0x576fbf=_0x4d559e[_0x336e70(0x13c)]||0x0,_0x1c499c=_0x484614['yxtDm'](_0x484614['yxtDm'](_0x316db4,_0x595159)+_0x1b7932+_0x519322,_0x576fbf);if(_0x1c499c===0x0)return'-';const _0x560dc7=0xa,_0x56962c=Math[_0x336e70(0x13f)](_0x316db4/_0x1c499c*_0x560dc7),_0x38e26f=_0x484614[_0x336e70(0xd3)]('█'['repeat'](_0x56962c),'░'[_0x336e70(0x10f)](_0x560dc7-_0x56962c)),_0xe2f5fc=[];if(_0x1b7932>0x0)_0xe2f5fc[_0x336e70(0x72)](_0x1b7932+'\x20blocked');if(_0x484614[_0x336e70(0xbe)](_0x519322,0x0))_0xe2f5fc[_0x336e70(0x72)](_0x519322+'\x20incomplete');if(_0x595159>0x0)_0xe2f5fc['push'](_0x595159+_0x336e70(0x7e));const _0x58bfcf=_0x484614[_0x336e70(0xae)](_0xe2f5fc[_0x336e70(0x95)],0x0)?'\x20('+_0xe2f5fc[_0x336e70(0xcc)](',\x20')+')':'';return _0x38e26f+'\x20'+_0x316db4+'/'+_0x1c499c+'\x20verified'+_0x58bfcf;}function getCurrentSessionItems(_0x4bf2f9,_0x785952){const _0x563702=_0xc65e02;if(!_0x4bf2f9[_0x563702(0xec)])return _0x785952[_0x563702(0x88)](_0x5ee449=>!_0x5ee449[_0x563702(0xf6)]);return _0x785952['filter'](_0x5efece=>_0x5efece['sessionId']===_0x4bf2f9['currentSessionId']||!_0x5efece[_0x563702(0xf6)]);}function displayFeature(_0x5563e9,_0x45da8c){const _0x3a09ae=_0xc65e02,_0xd3aa7f={'LXWhL':'\x0a\x20\x20\x20Scenarios:','evEFg':function(_0x138e83,_0x59efce){return _0x138e83<_0x59efce;},'DLeXw':function(_0x4f304b,_0x3aed58){return _0x4f304b===_0x3aed58;},'Hyydw':'closed','WVskq':'verified','IZMFA':'incomplete','LWGqg':function(_0x2a25d8,_0x1ab94e){return _0x2a25d8===_0x1ab94e;},'MHGon':_0x3a09ae(0x134),'pqvjv':'verification_in_progress','txyPq':function(_0x2628d8,_0x11e1cd){return _0x2628d8>_0x11e1cd;},'lPmMy':function(_0x197995,_0x42178f){return _0x197995!==_0x42178f;},'ZuONc':function(_0x1ac4dd,_0x302629){return _0x1ac4dd!==_0x302629;},'hRMDF':function(_0x430578,_0x39c8c5){return _0x430578+_0x39c8c5;},'QxsUI':function(_0x427de5,_0x4ddf20){return _0x427de5===_0x4ddf20;},'AnKYG':function(_0x473f07,_0x55fad7){return _0x473f07===_0x55fad7;},'PdgVS':_0x3a09ae(0x111)};console['log']('\x0a'+_0x5563e9[_0x3a09ae(0xca)]+'\x20('+_0x5563e9['dashboardUrl']+')');_0x5563e9['stats']&&console[_0x3a09ae(0xb2)](_0x3a09ae(0x123)+getProgressDisplay(_0x5563e9['stats']));_0x5563e9['description']&&console[_0x3a09ae(0xb2)]('\x20\x20\x20Description:\x20'+_0x5563e9['description']);_0x5563e9['gitRepoUrl']&&console[_0x3a09ae(0xb2)]('\x20\x20\x20Repository:\x20'+_0x5563e9['gitRepoUrl']);_0x5563e9['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x5563e9['gitBranch']);console[_0x3a09ae(0xb2)](_0x3a09ae(0x133)+new Date(_0x5563e9[_0x3a09ae(0xb5)])[_0x3a09ae(0xc7)]());_0x5563e9['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x5563e9['completedAt'])[_0x3a09ae(0xc7)]());if(_0x45da8c&&_0x45da8c['length']>0x0){console['log'](_0xd3aa7f['LXWhL']);for(let _0xfa4604=0x0;_0xd3aa7f[_0x3a09ae(0x94)](_0xfa4604,_0x45da8c[_0x3a09ae(0x95)]);_0xfa4604++){const _0x5c9bc2=_0x45da8c[_0xfa4604];let _0x5f4e71;if(_0xd3aa7f['DLeXw'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f[_0x3a09ae(0x108)])&&_0xd3aa7f[_0x3a09ae(0x99)](_0x5c9bc2['terminalReason'],_0x3a09ae(0x111)))_0x5f4e71='✅';else{if(_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f[_0x3a09ae(0xc8)])_0x5f4e71='🟢';else{if(_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f['IZMFA'])_0x5f4e71='🟠';else{if(_0xd3aa7f[_0x3a09ae(0x103)](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['MHGon']))_0x5f4e71='🛑';else{if(_0x5c9bc2['status']===_0x3a09ae(0xd2))_0x5f4e71='⛔';else _0xd3aa7f['DLeXw'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['pqvjv'])?_0x5f4e71='⏳':_0x5f4e71='⬜';}}}}const _0x2febc1=_0xd3aa7f[_0x3a09ae(0x12e)](_0x5c9bc2[_0x3a09ae(0x10d)],0x1)?'\x20(v'+_0x5c9bc2['version']+')':'',_0x16398d=_0x5c9bc2['version']>0x1&&_0x5c9bc2[_0x3a09ae(0xdc)]&&_0xd3aa7f['lPmMy'](_0x5c9bc2['status'],_0xd3aa7f['Hyydw'])&&_0xd3aa7f['ZuONc'](_0x5c9bc2[_0x3a09ae(0x11d)],'verified')?'\x20[has\x20reviewer\x20feedback]':'';console[_0x3a09ae(0xb2)]('\x20\x20\x20'+_0xd3aa7f[_0x3a09ae(0xf5)](_0xfa4604,0x1)+'.\x20'+_0x5f4e71+'\x20'+_0x5c9bc2[_0x3a09ae(0xa3)]+_0x2febc1+_0x16398d);_0x5c9bc2[_0x3a09ae(0x11d)]===_0xd3aa7f[_0x3a09ae(0x140)]&&_0x5c9bc2['blockedReason']&&console['log'](_0x3a09ae(0x110)+_0x5c9bc2['blockedReason']);_0xd3aa7f['LWGqg'](_0x5c9bc2[_0x3a09ae(0x11d)],_0xd3aa7f['IZMFA'])&&_0x5c9bc2[_0x3a09ae(0xe3)]&&console[_0x3a09ae(0xb2)](_0x3a09ae(0xa7)+_0x5c9bc2[_0x3a09ae(0xe3)]);if(_0xd3aa7f['QxsUI'](_0x5c9bc2['status'],_0xd3aa7f['Hyydw'])&&_0xd3aa7f['AnKYG'](_0x5c9bc2[_0x3a09ae(0x126)],_0xd3aa7f[_0x3a09ae(0x8b)]))console[_0x3a09ae(0xb2)]('\x20\x20\x20\x20\x20\x20Approved');else _0x5c9bc2['status']===_0x3a09ae(0xd2)&&_0x5c9bc2[_0x3a09ae(0xdd)]&&console[_0x3a09ae(0xb2)](_0x3a09ae(0x10e)+_0x5c9bc2['canceledReason']);}}}export async function featureCreate(_0x4d1a48,_0x14a139){const _0x3fa474=_0xc65e02,_0x324ec9={'RAENj':function(_0x45db40,_0x484a5c){return _0x45db40===_0x484a5c;},'bekBI':function(_0xf8e9fd,_0x5533f0){return _0xf8e9fd(_0x5533f0);},'XxqtI':function(_0x3f1883,_0x23b691){return _0x3f1883(_0x23b691);},'NyRNP':function(_0x4011f9,_0x401c96){return _0x4011f9(_0x401c96);}},{envNames:_0xbadea6}=await getEnvNames();_0x324ec9[_0x3fa474(0xdb)](_0xbadea6[_0x3fa474(0x95)],0x0)&&console['warn']('\x0a'+_0x324ec9['bekBI'](formatProfileRequiredMessage,_0x3ba9ac=>bold(_0x3ba9ac)));const _0xe92e6=_0x14a139[_0x3fa474(0xd1)]?_0x14a139['scenarios']['map'](_0x509072=>_0x509072['trim']()):[],_0x18ff87=getGitRepoUrl(),_0x258c39=getGitBranch();console['log'](_0x3fa474(0xcf));const _0xee4ac8=await _0x324ec9[_0x3fa474(0x86)](createFeature,{'name':_0x4d1a48,'description':_0x14a139['description'],'checklist':_0xe92e6,'gitRepoUrl':_0x18ff87,'gitBranch':_0x258c39});await _0x324ec9['NyRNP'](setActiveFeatureId,_0xee4ac8['id']),await tryStartCurrentSession(_0xee4ac8['id']);const _0x362365=process[_0x3fa474(0x77)][_0x3fa474(0x9a)];_0x362365&&registerSession(_0x362365,_0xee4ac8['id']),console[_0x3fa474(0xb2)](_0x3fa474(0x83)+_0xee4ac8['id']),displayFeature(_0xee4ac8,_0xee4ac8['checklistItems']),console['log'](_0x3fa474(0x9f));}export async function featureList(_0x366c7e){const _0x5163e4=_0xc65e02,_0x59cfae={'XrCiw':function(_0x3a8a6b){return _0x3a8a6b();},'dMJwN':function(_0x36f5e9,_0x40febb){return _0x36f5e9(_0x40febb);},'qGSjP':function(_0x36b1a3,_0x3313ae){return _0x36b1a3>_0x3313ae;},'ErXXZ':function(_0x11b037,_0x5b4cba){return _0x11b037(_0x5b4cba);},'ntkuN':function(_0x157480,_0x17cc68){return _0x157480!==_0x17cc68;},'CMLvA':'\x20--current-branch','iIbeS':'\x20--include-deleted'},_0x3bb700={'limit':_0x366c7e['limit']??0xa,'offset':_0x366c7e['offset']??0x0,'includeDeleted':_0x366c7e['includeDeleted']};_0x366c7e[_0x5163e4(0xfa)]&&(_0x3bb700['gitRepoUrl']=_0x59cfae['XrCiw'](getGitRepoUrl),_0x3bb700['gitBranch']=getGitBranch());const _0x3fd6b7=await _0x59cfae[_0x5163e4(0x78)](listFeatures,_0x3bb700);if(_0x3fd6b7['items'][_0x5163e4(0x95)]===0x0){console['log']('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0x19c61d=_0x59cfae['qGSjP'](_0x3fd6b7[_0x5163e4(0xc3)],_0x3fd6b7['items'][_0x5163e4(0x95)])?'Showing\x20'+_0x3fd6b7['items']['length']+_0x5163e4(0x13e)+_0x3fd6b7['totalCount']:_0x3fd6b7['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x19c61d+':\x0a');for(const _0x1365f0 of _0x3fd6b7['items']){const _0x17ca1f=_0x5163e4(0x71)['split']('|');let _0x2e8d6f=0x0;while(!![]){switch(_0x17ca1f[_0x2e8d6f++]){case'0':console[_0x5163e4(0xb2)](''+_0x1365f0[_0x5163e4(0xca)]);continue;case'1':console[_0x5163e4(0xb2)]('');continue;case'2':console['log'](_0x5163e4(0x133)+new Date(_0x1365f0['createdAt'])['toLocaleDateString']());continue;case'3':_0x1365f0['gitBranch']&&console[_0x5163e4(0xb2)]('\x20\x20\x20Branch:\x20'+_0x1365f0['gitBranch']);continue;case'4':console['log']('\x20\x20\x20ID:\x20'+_0x1365f0['id']);continue;case'5':_0x1365f0[_0x5163e4(0xcb)]&&console['log'](_0x5163e4(0x123)+_0x59cfae['ErXXZ'](getProgressDisplay,_0x1365f0['stats']));continue;}break;}}const _0x56ac29=_0x3bb700[_0x5163e4(0x8f)]??0xa,_0x2d1861=(_0x3bb700['offset']??0x0)+_0x3fd6b7[_0x5163e4(0x143)][_0x5163e4(0x95)];if(_0x2d1861<_0x3fd6b7[_0x5163e4(0xc3)]){const _0x1a0416=_0x59cfae[_0x5163e4(0x87)](_0x56ac29,0xa)?_0x5163e4(0xd7)+_0x56ac29:'',_0x444781=_0x366c7e[_0x5163e4(0xfa)]?_0x59cfae[_0x5163e4(0x121)]:'',_0xa68c49=_0x366c7e[_0x5163e4(0x139)]?_0x59cfae[_0x5163e4(0x90)]:'';console['log'](_0x5163e4(0x117)+_0x2d1861+_0x1a0416+_0x444781+_0xa68c49);}}export async function featureShow(_0x37e2d0){const _0x343ca0=_0xc65e02,_0x371552={'oaHHT':function(_0x2cfa3f){return _0x2cfa3f();},'iNtzZ':_0x343ca0(0x73),'aYmBW':function(_0x3dbecd,_0x209b76){return _0x3dbecd(_0x209b76);}},_0x297760=_0x37e2d0||await _0x371552[_0x343ca0(0xb7)](getActiveFeatureId);if(!_0x297760)throw new Error(_0x371552[_0x343ca0(0x148)]);const _0x4c2bb0=await _0x371552['aYmBW'](getFeature,_0x297760);displayFeature(_0x4c2bb0,_0x4c2bb0[_0x343ca0(0xad)]);}export async function featureResume(_0x123c93){const _0x9322a7=_0xc65e02,_0x3ef975={'APpnO':function(_0x296ef0,_0x160815){return _0x296ef0(_0x160815);},'SxLrV':function(_0x3438df,_0x147ee0){return _0x3438df!==_0x147ee0;},'PTPYG':function(_0x5334f8,_0x2efe46,_0x3e6788){return _0x5334f8(_0x2efe46,_0x3e6788);},'szLQP':_0x9322a7(0xce),'HbONj':_0x9322a7(0x14d),'UVzVp':_0x9322a7(0x137),'ihzaV':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','OlnQp':_0x9322a7(0xe6),'VOGjD':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','GMETH':function(_0x5ce6e8,_0x1cc5da){return _0x5ce6e8(_0x1cc5da);}};if(_0x123c93){const _0x14d5de=await getFeature(_0x123c93);await _0x3ef975[_0x9322a7(0x13a)](setActiveFeatureId,_0x14d5de['id']);const _0x55ac84=getGitBranch();_0x55ac84&&_0x3ef975[_0x9322a7(0x8e)](_0x55ac84,_0x14d5de[_0x9322a7(0xfc)])&&(await _0x3ef975['PTPYG'](updateFeature,_0x14d5de['id'],{'gitBranch':_0x55ac84}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x55ac84));console[_0x9322a7(0xb2)](_0x9322a7(0x105)+_0x14d5de['name']+'\x20('+_0x14d5de['id']+')'),await tryStartCurrentSession(_0x14d5de['id']);const _0x1c22ca=process[_0x9322a7(0x77)][_0x9322a7(0x9a)];_0x1c22ca&&registerSession(_0x1c22ca,_0x14d5de['id']);displayFeature(_0x14d5de,_0x14d5de['checklistItems']),await printFeedbackNudge(_0x14d5de['id']);return;}const _0x2d60f0=getGitRepoUrl(),_0x316628=getGitBranch();if(!_0x2d60f0&&!_0x316628)throw new Error(_0x3ef975[_0x9322a7(0x119)]);console[_0x9322a7(0xb2)](_0x9322a7(0xbd)+(_0x2d60f0||_0x3ef975['HbONj'])+'\x20/\x20'+(_0x316628||_0x9322a7(0x14d))+_0x9322a7(0x82));const _0x2f932d=await listFeatures({'gitRepoUrl':_0x2d60f0,'gitBranch':_0x316628}),_0x264367=_0x2f932d[_0x9322a7(0x143)][_0x9322a7(0x88)](_0x23a4c9=>!_0x23a4c9[_0x9322a7(0x146)]);if(_0x264367[_0x9322a7(0x95)]===0x0){console[_0x9322a7(0xb2)](_0x3ef975['UVzVp']),console['log'](_0x3ef975['ihzaV']);return;}let _0x464a92;if(_0x264367[_0x9322a7(0x95)]===0x1)_0x464a92=_0x264367[0x0];else{const _0x2f91cf=process[_0x9322a7(0xa6)][_0x9322a7(0x11c)]&&process['stdout']['isTTY'];if(!_0x2f91cf){console[_0x9322a7(0xb2)](_0x9322a7(0xd4));for(const _0x59c3f5 of _0x264367){console['log']('\x20\x20'+_0x59c3f5[_0x9322a7(0xca)]),console['log'](_0x9322a7(0x81)+_0x59c3f5['id']),_0x59c3f5['stats']&&console[_0x9322a7(0xb2)]('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x59c3f5['stats'])),_0x59c3f5[_0x9322a7(0xfc)]&&console[_0x9322a7(0xb2)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x59c3f5['gitBranch']);}throw new Error(_0x3ef975[_0x9322a7(0xb6)]);}const {selected:_0x90eeef}=await _0x4cb599[_0x9322a7(0xe7)]([{'type':'list','name':'selected','message':_0x3ef975[_0x9322a7(0xff)],'choices':_0x264367['map'](_0x3442c7=>({'name':_0x3442c7['name']+'\x20('+_0x3442c7['id']+')','value':_0x3442c7['id']}))}]);_0x464a92=_0x264367['find'](_0x3147de=>_0x3147de['id']===_0x90eeef);}await _0x3ef975[_0x9322a7(0x13a)](setActiveFeatureId,_0x464a92['id']);_0x316628&&_0x316628!==_0x464a92['gitBranch']&&(await _0x3ef975['PTPYG'](updateFeature,_0x464a92['id'],{'gitBranch':_0x316628}),console['log'](_0x9322a7(0xb3)+_0x316628));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x464a92['name']+'\x20('+_0x464a92['id']+')'),await _0x3ef975['GMETH'](tryStartCurrentSession,_0x464a92['id']);const _0x7efb67=await getFeature(_0x464a92['id']),_0xeca7da=process[_0x9322a7(0x77)][_0x9322a7(0x9a)];_0xeca7da&&registerSession(_0xeca7da,_0x7efb67['id']),displayFeature(_0x7efb67,_0x7efb67[_0x9322a7(0xad)]),await printFeedbackNudge(_0x7efb67['id']);}async function printFeedbackNudge(_0x4b5640){const _0x11a64f=_0xc65e02,_0xe82073={'VZOaf':function(_0x1eab0a,_0x4b0d38){return _0x1eab0a(_0x4b0d38);},'IdPOM':function(_0x1b6e3b,_0x587210){return _0x1b6e3b>_0x587210;},'CnvUw':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x24a4eb}=await _0xe82073['VZOaf'](getActionItems,_0x4b5640);let _0x540123=0x0,_0x2f4b9e=0x0;for(const _0x3743d6 of _0x24a4eb){const _0x3a2e94=await getItemFeedback(_0x4b5640,_0x3743d6['id']);_0xe82073['IdPOM'](_0x3a2e94[_0x11a64f(0x157)]['length'],0x0)&&(_0x540123+=_0x3a2e94['unaddressedComments']['length'],_0x2f4b9e++);}_0xe82073[_0x11a64f(0xef)](_0x540123,0x0)&&(console[_0x11a64f(0xb2)](_0x11a64f(0x7f)+_0x540123+_0x11a64f(0x118)+_0x2f4b9e+_0x11a64f(0x8a)),console['log'](_0xe82073[_0x11a64f(0x106)]));}catch{}}async function tryStartCurrentSession(_0x38e832){const _0x11c396=_0xc65e02,_0x2374cd={'NUjAn':function(_0x1d0868,_0x349c14){return _0x1d0868(_0x349c14);}};try{const {sessions:_0x4251ee}=await _0x2374cd[_0x11c396(0x107)](listFeatureSessions,_0x38e832),_0xdbef9c=_0x4251ee['find'](_0x1afdfe=>_0x1afdfe[_0x11c396(0x11d)]==='ready');_0xdbef9c&&(await startSession(_0x38e832,_0xdbef9c['id']),console[_0x11c396(0xb2)](_0x11c396(0x145)+_0xdbef9c['iteration']));}catch{}}export async function featureReport(_0x37bcad,_0x2090ea){const _0x24989e=_0xc65e02,_0x3ee81c={'KdnbK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','JeuQo':function(_0x321691,_0x47dcf9,_0x49b45b){return _0x321691(_0x47dcf9,_0x49b45b);},'NbrRt':function(_0x26d1ee,_0x339340,_0x5dfee7,_0x36cff0){return _0x26d1ee(_0x339340,_0x5dfee7,_0x36cff0);},'ujEIK':function(_0x4e61eb){return _0x4e61eb();},'bGwcS':function(_0x19e73d,_0x3da91d,_0x38c6db){return _0x19e73d(_0x3da91d,_0x38c6db);},'Vfxvm':'utf-8'},_0x37fafb=_0x37bcad||await getActiveFeatureId();if(!_0x37fafb)throw new Error(_0x3ee81c[_0x24989e(0x12a)]);console[_0x24989e(0xb2)]('\x0aGenerating\x20report...');const _0x4c75a2=await _0x3ee81c['JeuQo'](getFeatureReportMarkdown,_0x37fafb,{'style':_0x2090ea['style']}),_0x14ae4c=_0x2090ea[_0x24989e(0x12d)]||_0x3ee81c[_0x24989e(0x10c)](join,_0x3ee81c[_0x24989e(0x12c)](getRangerDir),_0x24989e(0xf8),_0x37fafb+'.md'),_0xf6973f=_0x3ee81c[_0x24989e(0x11f)](join,_0x14ae4c,'..');!existsSync(_0xf6973f)&&await _0x3ee81c[_0x24989e(0x142)](mkdir,_0xf6973f,{'recursive':!![]}),await writeFile(_0x14ae4c,_0x4c75a2,_0x3ee81c[_0x24989e(0x131)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x14ae4c);}function getScenarioResult(_0x36b490){const _0x161abb=_0xc65e02,_0x2a3d2d={'DeRYH':function(_0x332eae,_0x4e1b60){return _0x332eae===_0x4e1b60;}};if(_0x2a3d2d[_0x161abb(0xf0)](_0x36b490['status'],'closed'))return _0x36b490[_0x161abb(0x126)]??_0x161abb(0xd2);if(_0x2a3d2d['DeRYH'](_0x36b490[_0x161abb(0x11d)],_0x161abb(0xd8)))return _0x161abb(0xbf);return _0x36b490['status'];}function getScenarioRationale(_0x3c10e4,_0x58e511){const _0x55345c=_0xc65e02;if(_0x58e511)return _0x58e511;if(_0x3c10e4[_0x55345c(0x8c)])return _0x3c10e4[_0x55345c(0x8c)];if(_0x3c10e4[_0x55345c(0xe3)])return _0x3c10e4['incompleteReason'];if(_0x3c10e4['canceledReason'])return _0x3c10e4['canceledReason'];if(_0x3c10e4['notes'])return _0x3c10e4['notes'];return null;}export async function featureReportPrDescription(_0xaa1cf4,_0x36d25d){const _0x3a1e58=_0xc65e02,_0x19ad32={'jZbrk':_0x3a1e58(0x97),'eerlJ':function(_0x343c28,_0x388e7d){return _0x343c28(_0x388e7d);},'fPhZV':function(_0x2c8e42,_0x24bf9d,_0x2e99b8){return _0x2c8e42(_0x24bf9d,_0x2e99b8);},'qQCsk':function(_0x2ebf61,_0x18b297){return _0x2ebf61===_0x18b297;},'MpbJG':_0x3a1e58(0x7a),'lKbPt':function(_0x4fc245,_0x1f8da3){return _0x4fc245>_0x1f8da3;},'bmbFk':function(_0x593bbc,_0x57a9b3){return _0x593bbc<_0x57a9b3;},'dPaxT':function(_0x45b97b,_0x293a68){return _0x45b97b+_0x293a68;},'DGAXV':function(_0x25f10b,_0x6b8ed0){return _0x25f10b===_0x6b8ed0;},'vpSNz':function(_0x4b8de2,_0x46cdc3,_0x47f14f,_0x5d4179){return _0x4b8de2(_0x46cdc3,_0x47f14f,_0x5d4179);}},_0x48137b=_0xaa1cf4||await getActiveFeatureId();if(!_0x48137b)throw new Error(_0x19ad32['jZbrk']);const _0x2e43eb=await _0x19ad32['eerlJ'](getFeature,_0x48137b),_0xad09d9=_0x2e43eb['checklistItems']||[],_0x4f172c=_0x19ad32['fPhZV'](getCurrentSessionItems,_0x2e43eb,_0xad09d9);_0x19ad32['qQCsk'](_0x4f172c['length'],0x0)&&(console['error'](_0x19ad32[_0x3a1e58(0xd9)]),process['exit'](0x1));const _0x523a84=_0x36d25d[_0x3a1e58(0x149)]??[],_0x4ef0ed=_0x523a84['filter'](_0x3b556a=>!Number[_0x3a1e58(0xaf)](_0x3b556a)||_0x3b556a<0x1||_0x3b556a>_0x4f172c[_0x3a1e58(0x95)]);if(_0x19ad32['lKbPt'](_0x4ef0ed[_0x3a1e58(0x95)],0x0)){console[_0x3a1e58(0xa5)](_0x3a1e58(0x127)+_0x4ef0ed[_0x3a1e58(0xcc)](',\x20')),console[_0x3a1e58(0xb2)](_0x3a1e58(0x76));for(let _0x57ad28=0x0;_0x19ad32['bmbFk'](_0x57ad28,_0x4f172c['length']);_0x57ad28++){console[_0x3a1e58(0xb2)]('\x20\x20'+_0x19ad32['dPaxT'](_0x57ad28,0x1)+'.\x20'+_0x4f172c[_0x57ad28][_0x3a1e58(0xa3)]);}process[_0x3a1e58(0xc2)](0x1);}const _0x2a2fa6=new Set(_0x523a84[_0x3a1e58(0x114)](_0x11004c=>_0x11004c-0x1)),_0x305556=_0x4f172c[_0x3a1e58(0x88)]((_0x2a386e,_0x48b4e3)=>!_0x2a2fa6[_0x3a1e58(0xe4)](_0x48b4e3));_0x19ad32['DGAXV'](_0x305556['length'],0x0)&&(console['error'](_0x3a1e58(0xf1)),process[_0x3a1e58(0xc2)](0x1));if(_0x36d25d[_0x3a1e58(0xb4)])await _0x19ad32[_0x3a1e58(0x136)](outputJsonReport,_0x48137b,_0x2e43eb,_0x305556);else{const _0x3ecaae=await getFeatureReportMarkdown(_0x48137b,{'itemIds':_0x305556['map'](_0xe7b4a0=>_0xe7b4a0['id'])});process[_0x3a1e58(0xac)]['write'](_0x3ecaae['trimEnd']()+'\x0a');}}function _0x1064(_0x25f627,_0x5678dd){_0x25f627=_0x25f627-0x71;const _0x4cfcd6=_0x4cfc();let _0x10649f=_0x4cfcd6[_0x25f627];return _0x10649f;}async function outputJsonReport(_0x10681f,_0x44da79,_0x558c29){const _0x3f4b01=_0xc65e02,_0x10f2a4={'kSlEu':function(_0x4d3915,_0x1fc268){return _0x4d3915(_0x1fc268);},'oTZrR':function(_0x4b66f6,_0x14bac7){return _0x4b66f6===_0x14bac7;}},_0x5b3284=getApiBaseUrl(),_0x5b52ab=await getFeatureReport(_0x10681f),_0x1f5cdc=new Map(_0x5b52ab[_0x3f4b01(0xad)]['map'](_0x1f71c8=>[_0x1f71c8['id'],_0x1f71c8])),_0x584f6d=await Promise[_0x3f4b01(0x14f)](_0x558c29['map'](async _0x512f06=>{const _0x1c6a76=_0x3f4b01,_0x4bbde4=_0x1f5cdc[_0x1c6a76(0x100)](_0x512f06['id']),_0x18c525=_0x4bbde4?.[_0x1c6a76(0xc4)]??null;let _0x41e476=[];if(_0x512f06['browserSessionId'])try{const {steps:_0x376643}=await _0x10f2a4[_0x1c6a76(0x125)](getBrowserSessionSteps,_0x512f06['browserSessionId']);_0x376643[_0x1c6a76(0x95)]>0x0&&(_0x41e476=_0x376643[_0x1c6a76(0x114)](_0x3abe10=>{const _0x498880=_0x1c6a76,_0xab1377=_0x3abe10['assets'][_0x498880(0xfe)](_0x18395d=>_0x18395d['assetType']===_0x498880(0x96)&&_0x18395d['timing']==='after')??_0x3abe10[_0x498880(0xa0)]['find'](_0x2422ee=>_0x2422ee['assetType']==='screenshot');let _0x4986bb=null,_0x38018d=null;if(_0xab1377){const _0x3f45d6=_0xab1377[_0x498880(0x13b)]['location']['split']('/')['pop']();_0x4986bb=_0x5b3284+'/api/v1/mcp/browser-sessions/'+_0x512f06['browserSessionId']+_0x498880(0xed)+_0x3f45d6,_0x3f45d6&&(_0x38018d=_0x3f45d6[_0x498880(0xee)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x38018d||_0x3abe10[_0x498880(0xa3)]||_0x3abe10['stepName']||'Step\x20'+_0x3abe10['position'],'screenshot':_0x4986bb,'is_key_step':_0x3abe10[_0x498880(0xc9)]};}));}catch{}return _0x10f2a4['oTZrR'](_0x41e476['length'],0x0)&&_0x18c525?.['screenshotUrls']&&(_0x41e476=_0x18c525[_0x1c6a76(0x124)]['map']((_0x3e2fa7,_0x5557fb)=>({'description':_0x1c6a76(0x129)+(_0x5557fb+0x1),'screenshot':_0x3e2fa7,'is_key_step':![]}))),{'description':_0x512f06[_0x1c6a76(0xa3)],'result':getScenarioResult(_0x512f06),'rationale':getScenarioRationale(_0x512f06,_0x18c525?.['agentResponse']),'steps':_0x41e476};})),_0x22e392={'url':_0x44da79['dashboardUrl'],'scenarios':_0x584f6d};process['stdout']['write'](JSON['stringify'](_0x22e392,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x2727fc){const _0x3b4f86=_0xc65e02,_0x491cb7={'wlrpW':function(_0x41d58a,_0x171b1d){return _0x41d58a(_0x171b1d);},'HGVda':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','FHAoA':function(_0x2f00f6,_0x2a7752){return _0x2f00f6!==_0x2a7752;}},_0x4e73db=_0x2727fc||await getActiveFeatureId();if(!_0x4e73db)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 _0x32fd3a=await _0x491cb7[_0x3b4f86(0x7d)](getFeature,_0x4e73db);if(!_0x32fd3a[_0x3b4f86(0xec)])throw new Error(_0x491cb7[_0x3b4f86(0xba)]);const {sessions:_0x3ec151}=await listFeatureSessions(_0x4e73db),_0x167694=_0x3ec151['find'](_0xbd85af=>_0xbd85af['id']===_0x32fd3a['currentSessionId']);if(!_0x167694)throw new Error(_0x3b4f86(0x144));if(_0x167694[_0x3b4f86(0x11d)]===_0x3b4f86(0x128)){console[_0x3b4f86(0xb2)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x491cb7[_0x3b4f86(0x93)](_0x167694[_0x3b4f86(0x11d)],'in_progress'))throw new Error(_0x3b4f86(0x153)+_0x167694[_0x3b4f86(0x11d)]);console[_0x3b4f86(0xb2)]('\x0aConcluding\x20session...'),await concludeSession(_0x4e73db,_0x32fd3a[_0x3b4f86(0xec)]),console[_0x3b4f86(0xb2)]('\x0a✅\x20Session\x20'+_0x167694['iteration']+_0x3b4f86(0x132)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0xc170f5){const _0x1377d5=_0xc65e02,_0x28ee94={'rHXKK':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','iuRFg':function(_0x53938c,_0x141574){return _0x53938c(_0x141574);},'BhqAu':_0x1377d5(0xd0),'uXTGq':function(_0x1cb5e9,_0x584df6){return _0x1cb5e9===_0x584df6;},'oEMUi':'completed','DUHEE':function(_0x1c9248,_0x551db8){return _0x1c9248===_0x551db8;},'VanAw':'in_progress'},_0xd13a4f=_0xc170f5||await getActiveFeatureId();if(!_0xd13a4f)throw new Error(_0x28ee94[_0x1377d5(0x11e)]);const _0x5a12b1=await _0x28ee94['iuRFg'](getFeature,_0xd13a4f);console['log'](_0x1377d5(0x7b)+_0x5a12b1['name']+'\x0a');const {sessions:_0x4e1b76}=await listFeatureSessions(_0xd13a4f);if(_0x4e1b76['length']===0x0){console[_0x1377d5(0xb2)](_0x28ee94['BhqAu']);return;}for(const _0x81c24c of _0x4e1b76){const _0x16c060=_0x28ee94[_0x1377d5(0xda)](_0x81c24c['status'],_0x28ee94['oEMUi'])?'✅':_0x28ee94['DUHEE'](_0x81c24c['status'],_0x28ee94[_0x1377d5(0x98)])?'🔄':'▶️';console['log'](_0x16c060+'\x20Session\x20'+_0x81c24c['iteration']+'\x20('+_0x81c24c['id']+')'),console['log'](_0x1377d5(0xfd)+_0x81c24c[_0x1377d5(0x11d)]),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x81c24c[_0x1377d5(0xb5)])[_0x1377d5(0xc7)]()),_0x81c24c['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x81c24c[_0x1377d5(0x146)])[_0x1377d5(0xc7)]()),console[_0x1377d5(0xb2)]('');}}export async function featureAddScenario(_0x4e3d5b,_0x26250f){const _0x3f61c7=_0xc65e02,_0x6e31b3={'wGJkA':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','eXuNI':function(_0x5177a3,_0x477364){return _0x5177a3(_0x477364);},'bZElS':function(_0x5d492f,_0x296fca,_0x4435e8){return _0x5d492f(_0x296fca,_0x4435e8);}},_0x1a0824=_0x26250f||await getActiveFeatureId();if(!_0x1a0824)throw new Error(_0x6e31b3[_0x3f61c7(0x122)]);const _0x1c217e=await _0x6e31b3[_0x3f61c7(0x7c)](getFeature,_0x1a0824);if(_0x1c217e[_0x3f61c7(0x150)]&&!_0x1c217e[_0x3f61c7(0x150)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1c217e[_0x3f61c7(0x9e)]);await createChecklistItem(_0x1a0824,_0x4e3d5b);const _0x12b84f=await _0x6e31b3[_0x3f61c7(0x7c)](getFeature,_0x1a0824);console['log'](_0x3f61c7(0xaa)),_0x6e31b3[_0x3f61c7(0x14e)](displayFeature,_0x12b84f,_0x12b84f['checklistItems']);}export async function featureEditScenario(_0x5a1985,_0x477929){const _0x1e30e4=_0xc65e02,_0xdc4612={'IZkIX':function(_0x15bec0,_0x1bce08){return _0x15bec0(_0x1bce08);},'LTgBD':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','qUfeA':_0x1e30e4(0x76),'AccKg':function(_0x16a577,_0x258a6f){return _0x16a577<_0x258a6f;},'pWNqW':function(_0xc6e687,_0x48b98d){return _0xc6e687-_0x48b98d;},'pEymd':function(_0x795f79,_0x3c5c85){return _0x795f79>=_0x3c5c85;},'WAeZn':function(_0xf72e05,_0x313fa8){return _0xf72e05+_0x313fa8;},'Kbmmi':function(_0xc0f7b0,_0x237bc9,_0x4a4daa,_0x2824d1){return _0xc0f7b0(_0x237bc9,_0x4a4daa,_0x2824d1);},'cQXli':function(_0x1f30ac,_0x9ee05e,_0x2b26f8){return _0x1f30ac(_0x9ee05e,_0x2b26f8);}},_0x1b21c0=_0x477929['id']||await getActiveFeatureId();!_0x1b21c0&&(console[_0x1e30e4(0xa5)](_0x1e30e4(0x14b)),console[_0x1e30e4(0xa5)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x1e30e4(0xc2)](0x1));const _0xae8b81=await _0xdc4612['IZkIX'](getFeature,_0x1b21c0);_0xae8b81[_0x1e30e4(0x150)]&&!_0xae8b81['latestReview']['submittedAt']&&(console[_0x1e30e4(0xa5)](_0xdc4612[_0x1e30e4(0x147)]),console[_0x1e30e4(0xa5)]('Please\x20finish\x20your\x20review\x20first:'),console[_0x1e30e4(0xa5)]('\x20\x20'+_0xae8b81[_0x1e30e4(0x9e)]),process['exit'](0x1));const _0x5d3c73=_0xae8b81[_0x1e30e4(0xad)]||[];_0x5d3c73[_0x1e30e4(0x95)]===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x1e30e4(0xc2)](0x1));if(_0x477929['scenario']===undefined){console[_0x1e30e4(0xa5)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console[_0x1e30e4(0xb2)](_0xdc4612['qUfeA']);for(let _0x216a5e=0x0;_0xdc4612[_0x1e30e4(0xa8)](_0x216a5e,_0x5d3c73[_0x1e30e4(0x95)]);_0x216a5e++){console['log']('\x20\x20'+(_0x216a5e+0x1)+'.\x20'+_0x5d3c73[_0x216a5e]['description']);}process['exit'](0x1);}const _0x103760=_0xdc4612['pWNqW'](_0x477929[_0x1e30e4(0x9c)],0x1);if(_0xdc4612['AccKg'](_0x103760,0x0)||_0xdc4612['pEymd'](_0x103760,_0x5d3c73['length'])){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x477929[_0x1e30e4(0x9c)]+'.\x20Feature\x20review\x20has\x20'+_0x5d3c73['length']+_0x1e30e4(0xe1)),console['log'](_0x1e30e4(0x76));for(let _0x25382f=0x0;_0xdc4612[_0x1e30e4(0xa8)](_0x25382f,_0x5d3c73[_0x1e30e4(0x95)]);_0x25382f++){console[_0x1e30e4(0xb2)]('\x20\x20'+_0xdc4612['WAeZn'](_0x25382f,0x1)+'.\x20'+_0x5d3c73[_0x25382f][_0x1e30e4(0xa3)]);}process['exit'](0x1);}const _0x5340da=_0x5d3c73[_0x103760];await _0xdc4612['Kbmmi'](updateChecklistItem,_0x1b21c0,_0x5340da['id'],{'description':_0x5a1985});const _0x37bdcc=await getFeature(_0x1b21c0);console['log'](_0x1e30e4(0x120)),_0xdc4612['cQXli'](displayFeature,_0x37bdcc,_0x37bdcc['checklistItems']);}async function downloadFeedbackImage(_0x3ab193,_0x15d7d2){const _0x4d5c89=_0xc65e02,_0x57d29d={'wEdVt':function(_0x229c55){return _0x229c55();},'Bwkqe':function(_0x31083c,_0xa7baa9,_0x305e17){return _0x31083c(_0xa7baa9,_0x305e17);},'eluxj':function(_0x2ff868,_0x295f4b){return _0x2ff868(_0x295f4b);}};try{const _0x5d3c89=join(_0x57d29d[_0x4d5c89(0x135)](getRangerDir),_0x4d5c89(0xe2));await mkdir(_0x5d3c89,{'recursive':!![]});const _0x440d0d=_0x57d29d[_0x4d5c89(0x84)](join,_0x5d3c89,'comment_'+_0x15d7d2+'.png'),_0x1154fc=await _0x57d29d[_0x4d5c89(0xb0)](fetch,_0x3ab193);if(!_0x1154fc['ok'])return null;const _0x114b36=Buffer[_0x4d5c89(0xf9)](await _0x1154fc[_0x4d5c89(0x10a)]());return await writeFile(_0x440d0d,_0x114b36),_0x440d0d;}catch{return null;}}function _0x4cfc(){const _0x560550=['feedback-images','incompleteReason','has','5QePzgE','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','prompt','10skIaLK','\x20at\x20[','element','domRef','currentSessionId','/artifacts/','replace','IdPOM','DeRYH','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','\x20\x20✅\x20No\x20feedback\x20to\x20address','1024tbUzJl','content','hRMDF','sessionId','pipe','reports','from','currentBranch','trim','gitBranch','\x20\x20\x20Status:\x20','find','VOGjD','get',':\x20\x22','\x20unaddressed\x20comment(s)','LWGqg','toFixed','\x0a✅\x20Resumed\x20feature\x20review:\x20','CnvUw','NUjAn','Hyydw','vRQgz','arrayBuffer','696489LLMEyH','NbrRt','version','\x20\x20\x20\x20\x20\x20Cancelled:\x20','repeat','\x20\x20\x20\x20\x20\x20Blocked:\x20','approved','authorName','ehPCZ','map','ZGwrr','split','Next\x20page:\x20ranger\x20list\x20--offset\x20','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','szLQP','132158xWodrl','blockedItems','isTTY','status','rHXKK','bGwcS','\x0a✅\x20Scenario\x20updated','CMLvA','wGJkA','\x20\x20\x20Progress:\x20','screenshotUrls','kSlEu','terminalReason','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','completed','Screenshot\x20','KdnbK','UcTmE','ujEIK','output','txyPq','fFDgW','verificationInProgressItems','Vfxvm','\x20concluded.','\x20\x20\x20Created:\x20','blocked','wEdVt','vpSNz','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','authorEmail','includeDeleted','APpnO','storage','pendingItems','1709940ClqPrC','\x20of\x20','round','MHGon','incompleteItems','JeuQo','items','Current\x20session\x20not\x20found.','\x20\x20\x20▶️\x20Started\x20session\x20','completedAt','LTgBD','iNtzZ','excludeScenarios','textContent','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','\x20>\x20','any','bZElS','all','latestReview','GUVsm','type','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x1b[0m','utf-8','pop','unaddressedComments','0|4|5|3|2|1','push','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','selector','\x0aAvailable\x20scenarios:','env','dMJwN','708nqRxhu','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','eXuNI','wlrpW','\x20in\x20progress','\x0a⚠️\x20\x20','\x20(v','\x20\x20\x20\x20\x20ID:\x20','...','\x0a✅\x20Feature\x20review\x20created:\x20','Bwkqe','EFgqA','XxqtI','ntkuN','filter','Scenario\x20','\x20scenario(s).','PdgVS','blockedReason','78762ukRlUa','SxLrV','limit','iIbeS','):\x20\x22','en-US','FHAoA','evEFg','length','screenshot','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','VanAw','DLeXw','CLAUDE_SESSION_ID','numeric','scenario','canonicalFlow','dashboardUrl','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','assets','Jvjpj','838446WDKRhU','description','\x20\x20\x20\x20','error','stdin','\x20\x20\x20\x20\x20\x20Incomplete:\x20','AccKg','49hIrLEC','\x0a✅\x20Scenario\x20added','short','stdout','checklistItems','anOYC','isInteger','eluxj','569460rfuVyp','log','\x20\x20\x20Updated\x20branch\x20to:\x20','json','createdAt','OlnQp','oaHHT','QvhDR','git\x20remote\x20get-url\x20origin','HGVda','toLocaleDateString','iEPpB','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','KbZiJ','in_progress','Unknown','2952GnbETD','exit','totalCount','linkedSession','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','nZwvg','toLocaleString','WVskq','isKeyStep','name','stats','join','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','Not\x20in\x20a\x20git\x20repository.','\x0aCreating\x20feature\x20review...','No\x20sessions\x20found.','scenarios','closed','yxtDm','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','QnPmy','11wJfwHg','\x20--limit\x20','verification_in_progress','MpbJG','uXTGq','RAENj','parentItemId','canceledReason','FCnbO','spatial','\x0a📋\x20Feedback\x20for:\x20','\x20scenarios.'];_0x4cfc=function(){return _0x560550;};return _0x4cfc();}export async function featureGetReview(_0x3f28e3){const _0x404dab=_0xc65e02,_0x31ed1b={'qrvHz':function(_0xfa6371,_0x54bf6f){return _0xfa6371(_0x54bf6f);},'GWsmB':function(_0x3d375f,_0x463ed7){return _0x3d375f===_0x463ed7;},'ZGwrr':function(_0x5107fd,_0x5a92bc){return _0x5107fd+_0x5a92bc;},'iEPpB':_0x404dab(0x92),'GUVsm':_0x404dab(0xc0),'vRQgz':function(_0x3075db,_0x2d909f,_0x1fa47b){return _0x3075db(_0x2d909f,_0x1fa47b);},'EzwRr':_0x404dab(0x14c),'nZwvg':_0x404dab(0xea),'Desjq':'point'},_0x26d698=_0x3f28e3||await getActiveFeatureId();if(!_0x26d698)throw new Error(_0x404dab(0x73));const _0x5deb7f=await getFeature(_0x26d698),{items:_0x7bca9c}=await _0x31ed1b['qrvHz'](getActionItems,_0x26d698);console['log'](_0x404dab(0xe0)+_0x5deb7f['name']+'\x20('+_0x5deb7f['id']+')\x0a');if(_0x31ed1b['GWsmB'](_0x7bca9c['length'],0x0)){console['log']('No\x20scenarios\x20found.');return;}for(let _0x2d7e96=0x0;_0x2d7e96<_0x7bca9c['length'];_0x2d7e96++){const _0x539060=_0x7bca9c[_0x2d7e96],_0x4b6786=_0x539060['version']>0x1?_0x404dab(0x80)+_0x539060[_0x404dab(0x10d)]+')':'',_0xddf8b=await getItemFeedback(_0x26d698,_0x539060['id']);if(_0xddf8b[_0x404dab(0x157)]['length']>0x0){console[_0x404dab(0xb2)]('Scenario\x20'+_0x31ed1b[_0x404dab(0x115)](_0x2d7e96,0x1)+_0x404dab(0x101)+_0x539060['description']+'\x22'+_0x4b6786+'\x20—\x20'+_0xddf8b['unaddressedComments'][_0x404dab(0x95)]+_0x404dab(0x102));for(const _0xdc91a0 of _0xddf8b[_0x404dab(0x157)]){const _0x1e63f9=new Date(_0xdc91a0['createdAt'])[_0x404dab(0xbb)](_0x31ed1b[_0x404dab(0xbc)],{'month':_0x404dab(0xab),'day':_0x404dab(0x9b)}),_0x1c0d0a=_0xdc91a0[_0x404dab(0x112)]||_0xdc91a0[_0x404dab(0x138)]||_0x31ed1b[_0x404dab(0x151)];console['log']('\x20\x20💬\x20'+_0x1c0d0a+'\x20('+_0x1e63f9+_0x404dab(0x91)+_0xdc91a0[_0x404dab(0xf4)]+'\x22');if(_0xdc91a0['assetUrl']){const _0x1c51cc=await _0x31ed1b[_0x404dab(0x109)](downloadFeedbackImage,_0xdc91a0['assetUrl'],_0xdc91a0['id']);_0x1c51cc&&console[_0x404dab(0xb2)](_0x404dab(0xc5)+_0x1c51cc);}if(_0xdc91a0['domRef']){const _0x1fc8a5=_0xdc91a0[_0x404dab(0xeb)][_0x404dab(0x75)]['split'](_0x31ed1b['EzwRr'])[_0x404dab(0x156)]()?.[_0x404dab(0x116)](':')[0x0]||_0x31ed1b[_0x404dab(0xc6)],_0x5a4c43=_0xdc91a0[_0x404dab(0xeb)]['textContent']?'\x20\x22'+_0xdc91a0[_0x404dab(0xeb)][_0x404dab(0x14a)]['slice'](0x0,0x3c)+'\x22':'';console[_0x404dab(0xb2)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x1fc8a5+'>'+_0x5a4c43),console[_0x404dab(0xb2)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0xdc91a0['domRef']['selector']);}else{if(_0xdc91a0['spatial']){const _0x3f4594=_0xdc91a0[_0x404dab(0xdf)]['coordinates'];_0xdc91a0[_0x404dab(0xdf)]['type']===_0x31ed1b['Desjq']&&_0x3f4594['length']>=0x2?console['log'](_0x404dab(0xcd)+_0x3f4594[0x0][_0x404dab(0x104)](0x2)+',\x20'+_0x3f4594[0x1]['toFixed'](0x2)+')'):console['log'](_0x404dab(0x74)+_0xdc91a0[_0x404dab(0xdf)][_0x404dab(0x152)]+_0x404dab(0xe9)+_0x3f4594['map'](_0x4d6d5b=>_0x4d6d5b[_0x404dab(0x104)](0x2))[_0x404dab(0xcc)](',\x20')+']');}}}if(_0xddf8b[_0x404dab(0x9d)]){console[_0x404dab(0xb2)]('\x20\x20Expected\x20flow:');for(const _0xf96dfa of _0xddf8b['canonicalFlow'][_0x404dab(0x116)]('\x0a')){console['log'](_0x404dab(0xa4)+_0xf96dfa);}}}else console['log'](_0x404dab(0x89)+_0x31ed1b[_0x404dab(0x115)](_0x2d7e96,0x1)+_0x404dab(0x101)+_0x539060['description']+'\x22'+_0x4b6786+'\x20—\x20no\x20comments'),console['log'](_0x404dab(0xf2));console[_0x404dab(0xb2)]('');}}export async function featureDelete(_0x46ca99){const _0x1f7ea2=_0xc65e02,_0x3244d8={'acpDB':function(_0x553b9c){return _0x553b9c();},'bFysP':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','YKVmg':function(_0xbdb28f,_0x207f86){return _0xbdb28f(_0x207f86);},'kogND':function(_0x333752,_0x368ce0){return _0x333752+_0x368ce0;},'QvhDR':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x1a1706=_0x46ca99||await _0x3244d8['acpDB'](getActiveFeatureId);if(!_0x1a1706)throw new Error(_0x3244d8['bFysP']);const _0x309d2d=await getFeature(_0x1a1706);await _0x3244d8['YKVmg'](softDeleteFeature,_0x1a1706),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x309d2d['name']+'\x20('+_0x1a1706+')'),console[_0x1f7ea2(0xb2)](_0x3244d8['kogND'](_0x3244d8[_0x1f7ea2(0xb8)],_0x1a1706));}export async function featureRestore(_0x544bce){const _0x163a02=_0xc65e02,_0xd08e10={'EFgqA':function(_0x366106,_0x461ee6){return _0x366106(_0x461ee6);},'Jvjpj':function(_0x3889d5,_0x3b1b1c){return _0x3889d5(_0x3b1b1c);}};await _0xd08e10[_0x163a02(0x85)](restoreFeature,_0x544bce);const _0x1b02d2=await _0xd08e10[_0x163a02(0xa1)](getFeature,_0x544bce);console[_0x163a02(0xb2)]('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1b02d2['name']+'\x20('+_0x544bce+')'),displayFeature(_0x1b02d2,_0x1b02d2['checklistItems']);}
1
+ const _0x369c38=_0x2ae3;(function(_0x31db69,_0x594f87){const _0x42475e=_0x2ae3,_0x1dc5ba=_0x31db69();while(!![]){try{const _0x110815=parseInt(_0x42475e(0x10f))/0x1*(parseInt(_0x42475e(0x12c))/0x2)+-parseInt(_0x42475e(0x99))/0x3+-parseInt(_0x42475e(0xc8))/0x4*(parseInt(_0x42475e(0x96))/0x5)+parseInt(_0x42475e(0xbe))/0x6*(parseInt(_0x42475e(0xbb))/0x7)+parseInt(_0x42475e(0xd9))/0x8*(parseInt(_0x42475e(0x109))/0x9)+-parseInt(_0x42475e(0xfe))/0xa*(parseInt(_0x42475e(0x9e))/0xb)+parseInt(_0x42475e(0x10b))/0xc*(-parseInt(_0x42475e(0xc2))/0xd);if(_0x110815===_0x594f87)break;else _0x1dc5ba['push'](_0x1dc5ba['shift']());}catch(_0x43ef07){_0x1dc5ba['push'](_0x1dc5ba['shift']());}}}(_0x237a,0x27d7b));function _0x2ae3(_0x32363d,_0x1391c6){_0x32363d=_0x32363d-0x6c;const _0x237a7f=_0x237a();let _0x2ae39a=_0x237a7f[_0x32363d];return _0x2ae39a;}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0xb866d5 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x344099=>_0x369c38(0xa4)+_0x344099+_0x369c38(0xf6);function getGitRepoUrl(){const _0x99974f=_0x369c38,_0x553a4c={'XjmDQ':function(_0x1fd114,_0x37429a,_0x20290c){return _0x1fd114(_0x37429a,_0x20290c);},'esnYc':_0x99974f(0x118),'VqRLf':'utf-8','cTfCk':'pipe'};try{const _0x2f9071=_0x553a4c['XjmDQ'](execSync,_0x553a4c['esnYc'],{'encoding':_0x553a4c['VqRLf'],'stdio':[_0x553a4c[_0x99974f(0x6f)],'pipe',_0x553a4c[_0x99974f(0x6f)]]})[_0x99974f(0x138)]();return _0x2f9071[_0x99974f(0x100)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x99974f(0xba))[_0x99974f(0x100)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x181ee6=_0x369c38,_0x49341d={'vvpiw':function(_0x1ca4b9,_0x2712d4,_0x844fc8){return _0x1ca4b9(_0x2712d4,_0x844fc8);},'CYFFz':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','ndyGk':'pipe'};try{return _0x49341d['vvpiw'](execSync,_0x49341d[_0x181ee6(0xa9)],{'encoding':'utf-8','stdio':[_0x181ee6(0x7f),_0x49341d['ndyGk'],_0x49341d['ndyGk']]})[_0x181ee6(0x138)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x26f764=_0x369c38,_0xd5beb7={'fjiqr':function(_0x37c0ac,_0x175b9a,_0x9eec76){return _0x37c0ac(_0x175b9a,_0x9eec76);}},_0xc0c712=_0xd5beb7['fjiqr'](join,getRangerDir(),ACTIVE_FEATURE_FILE);if(!existsSync(_0xc0c712))return null;try{const _0x4fb719=await _0xd5beb7[_0x26f764(0xf2)](readFile,_0xc0c712,'utf-8');return _0x4fb719[_0x26f764(0x138)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x1da54b){const _0x523d20=_0x369c38,_0x5b52a8={'HuoSW':function(_0x22fcf0){return _0x22fcf0();},'jDhWH':function(_0x10d782,_0x332eb9,_0x35b934){return _0x10d782(_0x332eb9,_0x35b934);}},_0x251e34=_0x5b52a8[_0x523d20(0xea)](getRangerDir),_0x36da64=join(_0x251e34,ACTIVE_FEATURE_FILE);!existsSync(_0x251e34)&&await _0x5b52a8[_0x523d20(0xc6)](mkdir,_0x251e34,{'recursive':!![]}),await writeFile(_0x36da64,_0x1da54b,'utf-8');}function getProgressDisplay(_0x5dfbb7){const _0x43ee7c=_0x369c38,_0x170530={'wEhMm':function(_0x320dd9,_0x1d7b8e){return _0x320dd9+_0x1d7b8e;},'zBoqs':function(_0x2564ef,_0x1c3e29){return _0x2564ef===_0x1c3e29;},'OQZhZ':function(_0x591aad,_0x4b18f5){return _0x591aad*_0x4b18f5;},'ucKwb':function(_0x357560,_0xfcb445){return _0x357560/_0xfcb445;},'lokeI':function(_0x3c7d15,_0x469528){return _0x3c7d15>_0x469528;}},_0x1b94ab=_0x5dfbb7[_0x43ee7c(0x142)]||0x0,_0x5f05f5=_0x5dfbb7[_0x43ee7c(0xee)]||0x0,_0x5b975b=_0x5dfbb7['blockedItems']||0x0,_0x4b53d7=_0x5dfbb7[_0x43ee7c(0x8d)]||0x0,_0x1f83fe=_0x5dfbb7['pendingItems']||0x0,_0x42cb12=_0x170530['wEhMm'](_0x170530[_0x43ee7c(0x11c)](_0x1b94ab+_0x5f05f5+_0x5b975b,_0x4b53d7),_0x1f83fe);if(_0x170530[_0x43ee7c(0x111)](_0x42cb12,0x0))return'-';const _0x3deb46=0xa,_0x1be32a=Math[_0x43ee7c(0x77)](_0x170530[_0x43ee7c(0xec)](_0x170530['ucKwb'](_0x1b94ab,_0x42cb12),_0x3deb46)),_0x322fb7='█'['repeat'](_0x1be32a)+'░'['repeat'](_0x3deb46-_0x1be32a),_0x152e0c=[];if(_0x5b975b>0x0)_0x152e0c['push'](_0x5b975b+'\x20blocked');if(_0x4b53d7>0x0)_0x152e0c[_0x43ee7c(0x9f)](_0x4b53d7+'\x20incomplete');if(_0x170530['lokeI'](_0x5f05f5,0x0))_0x152e0c['push'](_0x5f05f5+_0x43ee7c(0x131));const _0x509a61=_0x152e0c[_0x43ee7c(0x130)]>0x0?'\x20('+_0x152e0c[_0x43ee7c(0x125)](',\x20')+')':'';return _0x322fb7+'\x20'+_0x1b94ab+'/'+_0x42cb12+'\x20verified'+_0x509a61;}function getCurrentSessionItems(_0x85bbfd,_0x13e8ce){const _0x44c720=_0x369c38;if(!_0x85bbfd['currentSessionId'])return _0x13e8ce['filter'](_0x5c706d=>!_0x5c706d[_0x44c720(0xd7)]);return _0x13e8ce[_0x44c720(0x6e)](_0x1109cc=>_0x1109cc['sessionId']===_0x85bbfd[_0x44c720(0x122)]||!_0x1109cc['sessionId']);}function displayFeature(_0x574507,_0x1f590e){const _0xbf5af9=_0x369c38,_0x1caad0={'KaxGu':function(_0x4b60cc,_0x191a24){return _0x4b60cc(_0x191a24);},'qTyJM':function(_0x139437,_0x2342f5){return _0x139437>_0x2342f5;},'ZHaMR':function(_0x5e6a46,_0x12aaab){return _0x5e6a46<_0x12aaab;},'FUcbj':_0xbf5af9(0x135),'DCyDW':function(_0x3a237c,_0x3cb501){return _0x3a237c===_0x3cb501;},'REcvT':'verified','WSUgh':function(_0x30d4bb,_0x2bc485){return _0x30d4bb===_0x2bc485;},'mMuFD':_0xbf5af9(0x10a),'Elkmg':'blocked','sculC':_0xbf5af9(0x78),'uQYzn':function(_0x3b40d4,_0x555a97){return _0x3b40d4!==_0x555a97;},'Zjiag':function(_0x417a83,_0x469a4b){return _0x417a83+_0x469a4b;},'YDQWB':function(_0x325481,_0xb330af){return _0x325481===_0xb330af;}};console[_0xbf5af9(0xfa)]('\x0a'+_0x574507['name']+'\x20('+_0x574507['dashboardUrl']+')');_0x574507['stats']&&console[_0xbf5af9(0xfa)]('\x20\x20\x20Progress:\x20'+_0x1caad0[_0xbf5af9(0xb1)](getProgressDisplay,_0x574507['stats']));_0x574507[_0xbf5af9(0x11d)]&&console[_0xbf5af9(0xfa)]('\x20\x20\x20Description:\x20'+_0x574507[_0xbf5af9(0x11d)]);_0x574507['gitRepoUrl']&&console['log']('\x20\x20\x20Repository:\x20'+_0x574507['gitRepoUrl']);_0x574507['gitBranch']&&console['log'](_0xbf5af9(0xa0)+_0x574507[_0xbf5af9(0x117)]);console[_0xbf5af9(0xfa)]('\x20\x20\x20Created:\x20'+new Date(_0x574507[_0xbf5af9(0x87)])[_0xbf5af9(0xd4)]());_0x574507['completedAt']&&console[_0xbf5af9(0xfa)](_0xbf5af9(0xf0)+new Date(_0x574507['completedAt'])[_0xbf5af9(0xd4)]());if(_0x1f590e&&_0x1caad0['qTyJM'](_0x1f590e['length'],0x0)){console['log']('\x0a\x20\x20\x20Scenarios:');for(let _0x6d800d=0x0;_0x1caad0['ZHaMR'](_0x6d800d,_0x1f590e['length']);_0x6d800d++){const _0x442926=_0x1f590e[_0x6d800d];let _0x19a6b9;if(_0x442926[_0xbf5af9(0x105)]==='closed'&&_0x442926[_0xbf5af9(0x134)]===_0x1caad0['FUcbj'])_0x19a6b9='✅';else{if(_0x1caad0['DCyDW'](_0x442926['status'],_0x1caad0['REcvT']))_0x19a6b9='🟢';else{if(_0x1caad0['WSUgh'](_0x442926['status'],_0x1caad0['mMuFD']))_0x19a6b9='🟠';else{if(_0x442926['status']===_0x1caad0['Elkmg'])_0x19a6b9='🛑';else{if(_0x442926[_0xbf5af9(0x105)]===_0x1caad0['sculC'])_0x19a6b9='⛔';else _0x442926['status']===_0xbf5af9(0x88)?_0x19a6b9='⏳':_0x19a6b9='⬜';}}}}const _0x35a567=_0x1caad0['qTyJM'](_0x442926['version'],0x1)?'\x20(v'+_0x442926[_0xbf5af9(0xc4)]+')':'',_0x236b4e=_0x1caad0['qTyJM'](_0x442926[_0xbf5af9(0xc4)],0x1)&&_0x442926[_0xbf5af9(0x72)]&&_0x1caad0['uQYzn'](_0x442926['status'],_0xbf5af9(0x78))&&_0x442926[_0xbf5af9(0x105)]!=='verified'?'\x20[has\x20reviewer\x20feedback]':'';console['log']('\x20\x20\x20'+_0x1caad0[_0xbf5af9(0xf1)](_0x6d800d,0x1)+'.\x20'+_0x19a6b9+'\x20'+_0x442926[_0xbf5af9(0x11d)]+_0x35a567+_0x236b4e);_0x442926['status']===_0x1caad0[_0xbf5af9(0x13e)]&&_0x442926['blockedReason']&&console[_0xbf5af9(0xfa)]('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x442926[_0xbf5af9(0x8b)]);_0x442926[_0xbf5af9(0x105)]==='incomplete'&&_0x442926[_0xbf5af9(0xf4)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x442926['incompleteReason']);if(_0x1caad0['WSUgh'](_0x442926[_0xbf5af9(0x105)],_0xbf5af9(0x78))&&_0x1caad0['YDQWB'](_0x442926['terminalReason'],'approved'))console['log'](_0xbf5af9(0xe9));else _0x442926[_0xbf5af9(0x105)]==='closed'&&_0x442926['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x442926[_0xbf5af9(0x112)]);}}}export async function featureCreate(_0x57683e,_0x2a3e9b){const _0x400a10=_0x369c38,_0x1ea1a8={'DbSXN':function(_0x28c8b2,_0x4e0a4e){return _0x28c8b2===_0x4e0a4e;},'SixsK':function(_0x20fad5,_0x41d012){return _0x20fad5(_0x41d012);},'GSoRF':function(_0x2c6cd5){return _0x2c6cd5();},'uHnrd':function(_0x24ee3b,_0x37fe57,_0xb754a6){return _0x24ee3b(_0x37fe57,_0xb754a6);}},{envNames:_0x736666}=await getEnvNames();_0x1ea1a8['DbSXN'](_0x736666['length'],0x0)&&console[_0x400a10(0xa5)]('\x0a'+_0x1ea1a8['SixsK'](formatProfileRequiredMessage,_0x7e6fc9=>bold(_0x7e6fc9)));const _0x54f0f7=_0x2a3e9b['scenarios']?_0x2a3e9b[_0x400a10(0x9a)][_0x400a10(0xbf)](_0x5c219c=>_0x5c219c[_0x400a10(0x138)]()):[],_0x51ea78=_0x1ea1a8['GSoRF'](getGitRepoUrl),_0x497409=getGitBranch();console[_0x400a10(0xfa)]('\x0aCreating\x20feature\x20review...');const _0x48ab53=await createFeature({'name':_0x57683e,'description':_0x2a3e9b[_0x400a10(0x11d)],'checklist':_0x54f0f7,'gitRepoUrl':_0x51ea78,'gitBranch':_0x497409});await _0x1ea1a8[_0x400a10(0xf5)](setActiveFeatureId,_0x48ab53['id']),await tryStartCurrentSession(_0x48ab53['id']);const _0x1f3979=process[_0x400a10(0xf3)]['CLAUDE_SESSION_ID'];_0x1f3979&&_0x1ea1a8['uHnrd'](registerSession,_0x1f3979,_0x48ab53['id']),console[_0x400a10(0xfa)]('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x48ab53['id']),displayFeature(_0x48ab53,_0x48ab53['checklistItems']),console[_0x400a10(0xfa)](_0x400a10(0xac));}export async function featureList(_0x4fe42d){const _0x2fb9e5=_0x369c38,_0x46ce0a={'flHYk':function(_0x58da17){return _0x58da17();},'qMmUS':function(_0x49f96f){return _0x49f96f();},'WWwZt':function(_0x555d16,_0x4e3b63){return _0x555d16(_0x4e3b63);},'lVNWM':function(_0x155a15,_0x5cbf10){return _0x155a15===_0x5cbf10;},'NDvci':_0x2fb9e5(0x6d),'HGPCY':function(_0x2890a2,_0x495a78){return _0x2890a2>_0x495a78;},'ljXtY':function(_0x1caa4c,_0x4fa571){return _0x1caa4c+_0x4fa571;}},_0x11d226={'limit':_0x4fe42d[_0x2fb9e5(0x83)]??0xa,'offset':_0x4fe42d['offset']??0x0,'includeDeleted':_0x4fe42d['includeDeleted']};_0x4fe42d[_0x2fb9e5(0xce)]&&(_0x11d226[_0x2fb9e5(0xab)]=_0x46ce0a[_0x2fb9e5(0xc3)](getGitRepoUrl),_0x11d226[_0x2fb9e5(0x117)]=_0x46ce0a['qMmUS'](getGitBranch));const _0x223051=await _0x46ce0a['WWwZt'](listFeatures,_0x11d226);if(_0x46ce0a[_0x2fb9e5(0x81)](_0x223051['items']['length'],0x0)){console['log'](_0x46ce0a['NDvci']);return;}const _0x32bce8=_0x46ce0a['HGPCY'](_0x223051['totalCount'],_0x223051[_0x2fb9e5(0xe5)][_0x2fb9e5(0x130)])?'Showing\x20'+_0x223051[_0x2fb9e5(0xe5)][_0x2fb9e5(0x130)]+'\x20of\x20'+_0x223051[_0x2fb9e5(0xb6)]:_0x223051[_0x2fb9e5(0xb6)]+_0x2fb9e5(0xe0);console['log']('\x0a'+_0x32bce8+':\x0a');for(const _0x3074a9 of _0x223051[_0x2fb9e5(0xe5)]){console['log'](''+_0x3074a9['name']),console['log']('\x20\x20\x20ID:\x20'+_0x3074a9['id']),_0x3074a9[_0x2fb9e5(0xbc)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x46ce0a[_0x2fb9e5(0x94)](getProgressDisplay,_0x3074a9[_0x2fb9e5(0xbc)])),_0x3074a9[_0x2fb9e5(0x117)]&&console[_0x2fb9e5(0xfa)]('\x20\x20\x20Branch:\x20'+_0x3074a9['gitBranch']),console['log'](_0x2fb9e5(0x97)+new Date(_0x3074a9[_0x2fb9e5(0x87)])[_0x2fb9e5(0x98)]()),console['log']('');}const _0x40f244=_0x11d226[_0x2fb9e5(0x83)]??0xa,_0x169619=_0x46ce0a['ljXtY'](_0x11d226[_0x2fb9e5(0x129)]??0x0,_0x223051[_0x2fb9e5(0xe5)]['length']);if(_0x169619<_0x223051['totalCount']){const _0x39781a=_0x40f244!==0xa?'\x20--limit\x20'+_0x40f244:'',_0x16dd74=_0x4fe42d['currentBranch']?_0x2fb9e5(0xca):'',_0x54724e=_0x4fe42d[_0x2fb9e5(0x132)]?_0x2fb9e5(0x126):'';console[_0x2fb9e5(0xfa)](_0x2fb9e5(0xe3)+_0x169619+_0x39781a+_0x16dd74+_0x54724e);}}export async function featureShow(_0x3413f4){const _0x2cbe8d=_0x369c38,_0x2266f8={'xzDFe':function(_0xb5c6c6){return _0xb5c6c6();},'nxMyf':function(_0x1c3633,_0x5ee619){return _0x1c3633(_0x5ee619);}},_0x11c38d=_0x3413f4||await _0x2266f8[_0x2cbe8d(0x121)](getActiveFeatureId);if(!_0x11c38d)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 _0xdd59f8=await _0x2266f8[_0x2cbe8d(0xe7)](getFeature,_0x11c38d);displayFeature(_0xdd59f8,_0xdd59f8['checklistItems']);}function _0x237a(){const _0x110215=['kxohJ','gitBranch','git\x20remote\x20get-url\x20origin','Hurli','latestReview','textContent','wEhMm','description','TiehI','assetType','SOAWB','xzDFe','currentSessionId','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','MpjRG','join','\x20--include-deleted','exit','llCex','offset','EatyJ','VAIgn','382nNFcOG','prompt','\x20scenario(s).','error','length','\x20in\x20progress','includeDeleted','pop','terminalReason','approved','canonicalFlow','Current\x20session\x20not\x20found.','trim','No\x20active\x20session\x20for\x20this\x20feature\x20review.','FlVTt','list','/api/v1/mcp/browser-sessions/','authorName','Elkmg','CDAho','location','iteration','verifiedItems','assets','\x0a⚠️\x20\x20','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','\x0aNo\x20feature\x20reviews\x20found.','filter','cTfCk','numeric','\x20at\x20[','parentItemId','after','\x20\x20💬\x20','kpsVb','isTTY','round','closed','short','dashboardUrl','Please\x20finish\x20your\x20review\x20first:','\x20—\x20','AHquq','.png','pipe','zImlh','lVNWM','\x20\x20\x20\x20\x20Branch:\x20','limit','Not\x20in\x20a\x20git\x20repository.','IjLjI','dOJiW','createdAt','verification_in_progress','QNulE','BEHIa','blockedReason','iieFF','incompleteItems','TUHWU','WETtU','agentResponse','OWgtA','completed','completedAt','WWwZt','YKMKB','5vbnRZd','\x20\x20\x20Created:\x20','toLocaleDateString','255645nvTYtU','scenarios','HTvAE','\x0a✅\x20Resumed\x20feature\x20review:\x20','biZFu','528eGSJmf','push','\x20\x20\x20Branch:\x20','\x20scenarios.','wOwiq','xJpyN','\x1b[1m','warn','/artifacts/','assetUrl','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','CYFFz','leNXv','gitRepoUrl','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20concluded.','FChDe','unaddressedComments','KaxGu','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','selector','write','HfPhh','totalCount','RkGZw','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','domRef','github.com/','7ecURbt','stats','jahZU','1222206KeZXBj','map','stdout','fSNju','39aqdZHi','flHYk','version','stringify','jDhWH','spatial','94252fIhQyr','scenario','\x20--current-branch','\x20(v','pablf','YSOgF','currentBranch','eOmQA','isKeyStep','Scenario\x20','name','\x0a✅\x20Session\x20','toLocaleString','timing','KUuCU','sessionId','from','6264oPAhgu',':\x20\x22','JYqOQ','storage','get','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','screenshot','\x20feature\x20review(s)\x20found','find','\x0aAvailable\x20scenarios:','Next\x20page:\x20ranger\x20list\x20--offset\x20','MRZCh','items','xWTnS','nxMyf','coordinates','\x20\x20\x20\x20\x20\x20Approved','HuoSW','VwKrG','OQZhZ','DuahD','verificationInProgressItems','\x20\x20Expected\x20flow:','\x20\x20\x20Completed:\x20','Zjiag','fjiqr','env','incompleteReason','SixsK','\x1b[0m','zxhDR','szEvy','browserSessionId','log','hGoCd','split','excludeScenarios','36730GiMLkF','TVTlf','replace','eZQHq','\x20\x20\x20\x20\x20Progress:\x20','trimEnd','Cannot\x20conclude\x20session\x20with\x20status:\x20','status','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','style','\x0a✅\x20Scenario\x20added','3447rPWHRr','incomplete','557412kiXgsp','isInteger','OideW','gfpvE','440PlGQLr','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','zBoqs','canceledReason','\x20\x20\x20\x20','\x0aGenerating\x20report...','checklistItems'];_0x237a=function(){return _0x110215;};return _0x237a();}export async function featureResume(_0x235d83){const _0x39cab6=_0x369c38,_0x4cb813={'biZFu':function(_0x20f4e9,_0x3ace43){return _0x20f4e9!==_0x3ace43;},'dOJiW':function(_0xe4a9e4,_0x439c56,_0x195cff){return _0xe4a9e4(_0x439c56,_0x195cff);},'wMFgN':function(_0x190e39){return _0x190e39();},'szEvy':function(_0x486794,_0x289877){return _0x486794&&_0x289877;},'hGoCd':function(_0x449539,_0x3cac8b){return _0x449539||_0x3cac8b;},'mMlbr':'any','riKsi':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','RmZxK':_0x39cab6(0x13b),'xWTnS':'selected','RIPXD':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','xNeyy':function(_0x971e1d,_0x537147){return _0x971e1d(_0x537147);},'HfPhh':function(_0x45be97,_0x38d508,_0x180181){return _0x45be97(_0x38d508,_0x180181);},'cOKSv':function(_0x1fc1b2,_0x3182ac){return _0x1fc1b2(_0x3182ac);}};if(_0x235d83){const _0x58359b=await getFeature(_0x235d83);await setActiveFeatureId(_0x58359b['id']);const _0x47a1fe=getGitBranch();_0x47a1fe&&_0x4cb813[_0x39cab6(0x9d)](_0x47a1fe,_0x58359b['gitBranch'])&&(await updateFeature(_0x58359b['id'],{'gitBranch':_0x47a1fe}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x47a1fe));console['log'](_0x39cab6(0x9c)+_0x58359b['name']+'\x20('+_0x58359b['id']+')'),await tryStartCurrentSession(_0x58359b['id']);const _0x3f4391=process[_0x39cab6(0xf3)]['CLAUDE_SESSION_ID'];_0x3f4391&&_0x4cb813[_0x39cab6(0x86)](registerSession,_0x3f4391,_0x58359b['id']);displayFeature(_0x58359b,_0x58359b[_0x39cab6(0x115)]),await printFeedbackNudge(_0x58359b['id']);return;}const _0x1810a6=_0x4cb813['wMFgN'](getGitRepoUrl),_0x3d7bb3=getGitBranch();if(_0x4cb813[_0x39cab6(0xf8)](!_0x1810a6,!_0x3d7bb3))throw new Error(_0x39cab6(0x84));console['log'](_0x39cab6(0x106)+_0x4cb813[_0x39cab6(0xfb)](_0x1810a6,'any')+'\x20/\x20'+_0x4cb813[_0x39cab6(0xfb)](_0x3d7bb3,_0x4cb813['mMlbr'])+'...');const _0x197cd1=await listFeatures({'gitRepoUrl':_0x1810a6,'gitBranch':_0x3d7bb3}),_0x3eb74b=_0x197cd1['items'][_0x39cab6(0x6e)](_0x36b3e0=>!_0x36b3e0['completedAt']);if(_0x3eb74b['length']===0x0){console['log'](_0x39cab6(0x123)),console['log'](_0x4cb813['riKsi']);return;}let _0x45810b;if(_0x3eb74b[_0x39cab6(0x130)]===0x1)_0x45810b=_0x3eb74b[0x0];else{const _0x4b3541=process['stdin'][_0x39cab6(0x76)]&&process[_0x39cab6(0xc0)][_0x39cab6(0x76)];if(!_0x4b3541){console[_0x39cab6(0xfa)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4c79d1 of _0x3eb74b){console['log']('\x20\x20'+_0x4c79d1['name']),console[_0x39cab6(0xfa)]('\x20\x20\x20\x20\x20ID:\x20'+_0x4c79d1['id']),_0x4c79d1[_0x39cab6(0xbc)]&&console[_0x39cab6(0xfa)](_0x39cab6(0x102)+getProgressDisplay(_0x4c79d1['stats'])),_0x4c79d1[_0x39cab6(0x117)]&&console[_0x39cab6(0xfa)](_0x39cab6(0x82)+_0x4c79d1['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x2c20c0}=await _0xb866d5[_0x39cab6(0x12d)]([{'type':_0x4cb813['RmZxK'],'name':_0x4cb813[_0x39cab6(0xe6)],'message':_0x4cb813['RIPXD'],'choices':_0x3eb74b['map'](_0x3bca47=>({'name':_0x3bca47[_0x39cab6(0xd2)]+'\x20('+_0x3bca47['id']+')','value':_0x3bca47['id']}))}]);_0x45810b=_0x3eb74b[_0x39cab6(0xe1)](_0x3736e5=>_0x3736e5['id']===_0x2c20c0);}await setActiveFeatureId(_0x45810b['id']);_0x3d7bb3&&_0x3d7bb3!==_0x45810b[_0x39cab6(0x117)]&&(await updateFeature(_0x45810b['id'],{'gitBranch':_0x3d7bb3}),console[_0x39cab6(0xfa)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3d7bb3));console[_0x39cab6(0xfa)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x45810b['name']+'\x20('+_0x45810b['id']+')'),await _0x4cb813['xNeyy'](tryStartCurrentSession,_0x45810b['id']);const _0x4d89a6=await getFeature(_0x45810b['id']),_0x17a139=process[_0x39cab6(0xf3)]['CLAUDE_SESSION_ID'];_0x17a139&&_0x4cb813[_0x39cab6(0xb5)](registerSession,_0x17a139,_0x4d89a6['id']),_0x4cb813['HfPhh'](displayFeature,_0x4d89a6,_0x4d89a6['checklistItems']),await _0x4cb813['cOKSv'](printFeedbackNudge,_0x4d89a6['id']);}async function printFeedbackNudge(_0x36b307){const _0x464ab0=_0x369c38,_0x14dfec={'llCex':function(_0x32d8f9,_0x45b1fd){return _0x32d8f9(_0x45b1fd);},'jKdmS':function(_0x4fbd28,_0x21e6b4,_0x491327){return _0x4fbd28(_0x21e6b4,_0x491327);},'iieFF':function(_0x164f2c,_0x4abe6f){return _0x164f2c>_0x4abe6f;},'SzqRp':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x33a150}=await _0x14dfec[_0x464ab0(0x128)](getActionItems,_0x36b307);let _0x239ac8=0x0,_0x2e2735=0x0;for(const _0x3f6435 of _0x33a150){const _0x4d163f=await _0x14dfec['jKdmS'](getItemFeedback,_0x36b307,_0x3f6435['id']);_0x14dfec[_0x464ab0(0x8c)](_0x4d163f[_0x464ab0(0xb0)]['length'],0x0)&&(_0x239ac8+=_0x4d163f[_0x464ab0(0xb0)]['length'],_0x2e2735++);}_0x14dfec[_0x464ab0(0x8c)](_0x239ac8,0x0)&&(console['log'](_0x464ab0(0x144)+_0x239ac8+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x2e2735+_0x464ab0(0x12e)),console['log'](_0x14dfec['SzqRp']));}catch{}}async function tryStartCurrentSession(_0x1a147d){const _0x251747=_0x369c38,_0x550c12={'DuahD':function(_0x10c168,_0x47430f){return _0x10c168(_0x47430f);},'THKrT':function(_0x2285d3,_0x3f0f80,_0x244f8b){return _0x2285d3(_0x3f0f80,_0x244f8b);}};try{const {sessions:_0x352915}=await _0x550c12[_0x251747(0xed)](listFeatureSessions,_0x1a147d),_0x339bb0=_0x352915['find'](_0xcac62f=>_0xcac62f[_0x251747(0x105)]==='ready');_0x339bb0&&(await _0x550c12['THKrT'](startSession,_0x1a147d,_0x339bb0['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x339bb0[_0x251747(0x141)]));}catch{}}export async function featureReport(_0x11ac8c,_0x5808f1){const _0x5ddc3c=_0x369c38,_0x25242a={'yGCtP':function(_0x339b28){return _0x339b28();},'RkGZw':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Hurli':_0x5ddc3c(0x114),'fSNju':function(_0x34d0c8,_0x4596df,_0x459e83){return _0x34d0c8(_0x4596df,_0x459e83);},'FChDe':function(_0x333bcb,_0x1d6eb4,_0x1485ae,_0x55601f){return _0x333bcb(_0x1d6eb4,_0x1485ae,_0x55601f);},'WyvbC':function(_0x1c5635,_0x2714b8){return _0x1c5635(_0x2714b8);},'YKMKB':'utf-8'},_0x58fb4d=_0x11ac8c||await _0x25242a['yGCtP'](getActiveFeatureId);if(!_0x58fb4d)throw new Error(_0x25242a[_0x5ddc3c(0xb7)]);console[_0x5ddc3c(0xfa)](_0x25242a[_0x5ddc3c(0x119)]);const _0x3653e8=await _0x25242a[_0x5ddc3c(0xc1)](getFeatureReportMarkdown,_0x58fb4d,{'style':_0x5808f1[_0x5ddc3c(0x107)]}),_0x63caa6=_0x5808f1['output']||_0x25242a[_0x5ddc3c(0xaf)](join,getRangerDir(),'reports',_0x58fb4d+'.md'),_0x50eae8=join(_0x63caa6,'..');!_0x25242a['WyvbC'](existsSync,_0x50eae8)&&await mkdir(_0x50eae8,{'recursive':!![]}),await writeFile(_0x63caa6,_0x3653e8,_0x25242a[_0x5ddc3c(0x95)]),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x63caa6);}function getScenarioResult(_0x50a530){const _0x44476e=_0x369c38,_0x377b2a={'MdbIy':_0x44476e(0x78),'ptLwN':function(_0x12e6be,_0xad76b2){return _0x12e6be===_0xad76b2;},'CDAho':_0x44476e(0x88),'GbMxJ':'in_progress'};if(_0x50a530[_0x44476e(0x105)]===_0x44476e(0x78))return _0x50a530['terminalReason']??_0x377b2a['MdbIy'];if(_0x377b2a['ptLwN'](_0x50a530[_0x44476e(0x105)],_0x377b2a[_0x44476e(0x13f)]))return _0x377b2a['GbMxJ'];return _0x50a530['status'];}function getScenarioRationale(_0x2033a8,_0x39c90f){const _0x12a828=_0x369c38;if(_0x39c90f)return _0x39c90f;if(_0x2033a8['blockedReason'])return _0x2033a8['blockedReason'];if(_0x2033a8['incompleteReason'])return _0x2033a8['incompleteReason'];if(_0x2033a8[_0x12a828(0x112)])return _0x2033a8['canceledReason'];if(_0x2033a8['notes'])return _0x2033a8['notes'];return null;}export async function featureReportPrDescription(_0x1b5673,_0xaa234d){const _0x2a9bfe=_0x369c38,_0x3913e4={'Akedm':function(_0x42e31e){return _0x42e31e();},'TUHWU':function(_0x4c318a,_0x31f993){return _0x4c318a(_0x31f993);},'eOmQA':function(_0x19b936,_0x193dd7){return _0x19b936===_0x193dd7;},'AHquq':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','wOwiq':_0x2a9bfe(0xe2),'SOAWB':function(_0x1860f2,_0x492ffb,_0x4bfcf5){return _0x1860f2(_0x492ffb,_0x4bfcf5);}},_0x2a4a21=_0x1b5673||await _0x3913e4['Akedm'](getActiveFeatureId);if(!_0x2a4a21)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x4ec88b=await _0x3913e4[_0x2a9bfe(0x8e)](getFeature,_0x2a4a21),_0x2259bb=_0x4ec88b[_0x2a9bfe(0x115)]||[],_0xbc492f=getCurrentSessionItems(_0x4ec88b,_0x2259bb);_0x3913e4[_0x2a9bfe(0xcf)](_0xbc492f['length'],0x0)&&(console['error'](_0x3913e4[_0x2a9bfe(0x7d)]),process[_0x2a9bfe(0x127)](0x1));const _0x12bc4b=_0xaa234d[_0x2a9bfe(0xfd)]??[],_0x35656c=_0x12bc4b['filter'](_0x57f2ef=>!Number[_0x2a9bfe(0x10c)](_0x57f2ef)||_0x57f2ef<0x1||_0x57f2ef>_0xbc492f[_0x2a9bfe(0x130)]);if(_0x35656c['length']>0x0){console[_0x2a9bfe(0x12f)](_0x2a9bfe(0x145)+_0x35656c[_0x2a9bfe(0x125)](',\x20')),console[_0x2a9bfe(0xfa)](_0x3913e4[_0x2a9bfe(0xa2)]);for(let _0x200455=0x0;_0x200455<_0xbc492f[_0x2a9bfe(0x130)];_0x200455++){console['log']('\x20\x20'+(_0x200455+0x1)+'.\x20'+_0xbc492f[_0x200455]['description']);}process['exit'](0x1);}const _0x7b2b7a=new Set(_0x12bc4b['map'](_0x397b31=>_0x397b31-0x1)),_0x22dd2d=_0xbc492f[_0x2a9bfe(0x6e)]((_0x48c966,_0x3f08d1)=>!_0x7b2b7a['has'](_0x3f08d1));_0x3913e4[_0x2a9bfe(0xcf)](_0x22dd2d['length'],0x0)&&(console[_0x2a9bfe(0x12f)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process[_0x2a9bfe(0x127)](0x1));if(_0xaa234d['json'])await outputJsonReport(_0x2a4a21,_0x4ec88b,_0x22dd2d);else{const _0x27e295=await _0x3913e4[_0x2a9bfe(0x120)](getFeatureReportMarkdown,_0x2a4a21,{'itemIds':_0x22dd2d[_0x2a9bfe(0xbf)](_0x12a82b=>_0x12a82b['id'])});process[_0x2a9bfe(0xc0)][_0x2a9bfe(0xb4)](_0x27e295[_0x2a9bfe(0x103)]()+'\x0a');}}async function outputJsonReport(_0x45a56f,_0x14c88b,_0xdf80a2){const _0x2115fb=_0x369c38,_0x3f4edd={'VAIgn':function(_0x32178b,_0x3ff30d){return _0x32178b(_0x3ff30d);},'VwKrG':function(_0x235c5d,_0x2dc0a2){return _0x235c5d===_0x2dc0a2;},'hZsBQ':function(_0x3bfb6c,_0xe7fbbb){return _0x3bfb6c(_0xe7fbbb);},'TVTlf':function(_0x237910,_0x2b2514){return _0x237910(_0x2b2514);}},_0x5118dd=getApiBaseUrl(),_0x33f704=await _0x3f4edd[_0x2115fb(0xff)](getFeatureReport,_0x45a56f),_0x3f72e6=new Map(_0x33f704[_0x2115fb(0x115)]['map'](_0x30b8cd=>[_0x30b8cd['id'],_0x30b8cd])),_0xd2a92e=await Promise['all'](_0xdf80a2['map'](async _0x480405=>{const _0x4fb0d2=_0x2115fb,_0x5837c1=_0x3f72e6[_0x4fb0d2(0xdd)](_0x480405['id']),_0x385f70=_0x5837c1?.['linkedSession']??null;let _0x3a85a3=[];if(_0x480405['browserSessionId'])try{const {steps:_0x5eb9fa}=await _0x3f4edd[_0x4fb0d2(0x12b)](getBrowserSessionSteps,_0x480405['browserSessionId']);_0x5eb9fa[_0x4fb0d2(0x130)]>0x0&&(_0x3a85a3=_0x5eb9fa['map'](_0x4a7053=>{const _0x1bc008=_0x4fb0d2,_0x2f3b94=_0x4a7053['assets'][_0x1bc008(0xe1)](_0x46c05e=>_0x46c05e['assetType']===_0x1bc008(0xdf)&&_0x46c05e[_0x1bc008(0xd5)]===_0x1bc008(0x73))??_0x4a7053[_0x1bc008(0x143)]['find'](_0x4fcf4f=>_0x4fcf4f[_0x1bc008(0x11f)]===_0x1bc008(0xdf));let _0x48e776=null,_0x58d760=null;if(_0x2f3b94){const _0x308933=_0x2f3b94[_0x1bc008(0xdc)][_0x1bc008(0x140)][_0x1bc008(0xfc)]('/')[_0x1bc008(0x133)]();_0x48e776=_0x5118dd+_0x1bc008(0x13c)+_0x480405[_0x1bc008(0xf9)]+_0x1bc008(0xa6)+_0x308933,_0x308933&&(_0x58d760=_0x308933['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x58d760||_0x4a7053[_0x1bc008(0x11d)]||_0x4a7053['stepName']||'Step\x20'+_0x4a7053['position'],'screenshot':_0x48e776,'is_key_step':_0x4a7053[_0x1bc008(0xd0)]};}));}catch{}return _0x3f4edd[_0x4fb0d2(0xeb)](_0x3a85a3['length'],0x0)&&_0x385f70?.['screenshotUrls']&&(_0x3a85a3=_0x385f70['screenshotUrls']['map']((_0x465cb0,_0x4ff2bd)=>({'description':'Screenshot\x20'+(_0x4ff2bd+0x1),'screenshot':_0x465cb0,'is_key_step':![]}))),{'description':_0x480405['description'],'result':_0x3f4edd['hZsBQ'](getScenarioResult,_0x480405),'rationale':getScenarioRationale(_0x480405,_0x385f70?.[_0x4fb0d2(0x90)]),'steps':_0x3a85a3};})),_0x3a6852={'url':_0x14c88b[_0x2115fb(0x7a)],'scenarios':_0xd2a92e};process['stdout']['write'](JSON[_0x2115fb(0xc5)](_0x3a6852,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x3222f2){const _0x2a25d9=_0x369c38,_0x13e1da={'IjLjI':function(_0x235b9b){return _0x235b9b();},'DkzJT':_0x2a25d9(0xad),'KUuCU':function(_0x245976,_0x29637f){return _0x245976(_0x29637f);},'kpsVb':_0x2a25d9(0x137),'MRZCh':_0x2a25d9(0x92),'jahZU':'\x0a✅\x20Session\x20is\x20already\x20completed.','FlVTt':function(_0x31a5d3,_0x11f2db){return _0x31a5d3!==_0x11f2db;},'zxhDR':'in_progress','zMfPT':'\x0aConcluding\x20session...'},_0x2bd171=_0x3222f2||await _0x13e1da[_0x2a25d9(0x85)](getActiveFeatureId);if(!_0x2bd171)throw new Error(_0x13e1da['DkzJT']);const _0x2a36ec=await _0x13e1da['KUuCU'](getFeature,_0x2bd171);if(!_0x2a36ec['currentSessionId'])throw new Error(_0x2a25d9(0x139));const {sessions:_0x209286}=await _0x13e1da[_0x2a25d9(0xd6)](listFeatureSessions,_0x2bd171),_0x27f55e=_0x209286[_0x2a25d9(0xe1)](_0x4f1911=>_0x4f1911['id']===_0x2a36ec[_0x2a25d9(0x122)]);if(!_0x27f55e)throw new Error(_0x13e1da[_0x2a25d9(0x75)]);if(_0x27f55e['status']===_0x13e1da[_0x2a25d9(0xe4)]){console['log'](_0x13e1da[_0x2a25d9(0xbd)]);return;}if(_0x13e1da[_0x2a25d9(0x13a)](_0x27f55e['status'],_0x13e1da[_0x2a25d9(0xf7)]))throw new Error(_0x2a25d9(0x104)+_0x27f55e[_0x2a25d9(0x105)]);console['log'](_0x13e1da['zMfPT']),await concludeSession(_0x2bd171,_0x2a36ec['currentSessionId']),console['log'](_0x2a25d9(0xd3)+_0x27f55e['iteration']+_0x2a25d9(0xae)),console[_0x2a25d9(0xfa)](_0x2a25d9(0xb8));}export async function featureSessions(_0x4a979d){const _0x5f16c8=_0x369c38,_0x1abd02={'zImlh':function(_0x8f1210,_0x59458e){return _0x8f1210(_0x59458e);},'OWgtA':function(_0x2df057,_0x4eeaa4){return _0x2df057===_0x4eeaa4;},'leNXv':'No\x20sessions\x20found.','JdyMD':function(_0x261324,_0x4189b8){return _0x261324===_0x4189b8;},'FMSaJ':_0x5f16c8(0x92),'WETtU':'in_progress'},_0x4407dc=_0x4a979d||await getActiveFeatureId();if(!_0x4407dc)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x5b68ed=await getFeature(_0x4407dc);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x5b68ed[_0x5f16c8(0xd2)]+'\x0a');const {sessions:_0x331feb}=await _0x1abd02[_0x5f16c8(0x80)](listFeatureSessions,_0x4407dc);if(_0x1abd02[_0x5f16c8(0x91)](_0x331feb[_0x5f16c8(0x130)],0x0)){console['log'](_0x1abd02[_0x5f16c8(0xaa)]);return;}for(const _0x10c54a of _0x331feb){const _0x3f9247=_0x1abd02['JdyMD'](_0x10c54a['status'],_0x1abd02['FMSaJ'])?'✅':_0x1abd02['JdyMD'](_0x10c54a['status'],_0x1abd02[_0x5f16c8(0x8f)])?'🔄':'▶️';console['log'](_0x3f9247+'\x20Session\x20'+_0x10c54a['iteration']+'\x20('+_0x10c54a['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x10c54a[_0x5f16c8(0x105)]),console[_0x5f16c8(0xfa)](_0x5f16c8(0x97)+new Date(_0x10c54a['createdAt'])['toLocaleString']()),_0x10c54a[_0x5f16c8(0x93)]&&console['log'](_0x5f16c8(0xf0)+new Date(_0x10c54a['completedAt'])[_0x5f16c8(0xd4)]()),console[_0x5f16c8(0xfa)]('');}}export async function featureAddScenario(_0x4d6448,_0x39e9bd){const _0x441b63=_0x369c38,_0xe61137={'EatyJ':function(_0x27f073,_0x348d26,_0x2662ac){return _0x27f073(_0x348d26,_0x2662ac);}},_0x187830=_0x39e9bd||await getActiveFeatureId();if(!_0x187830)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 _0x41b7cd=await getFeature(_0x187830);if(_0x41b7cd[_0x441b63(0x11a)]&&!_0x41b7cd[_0x441b63(0x11a)]['submittedAt'])throw new Error(_0x441b63(0xa8)+_0x41b7cd[_0x441b63(0x7a)]);await createChecklistItem(_0x187830,_0x4d6448);const _0x541366=await getFeature(_0x187830);console['log'](_0x441b63(0x108)),_0xe61137[_0x441b63(0x12a)](displayFeature,_0x541366,_0x541366[_0x441b63(0x115)]);}export async function featureEditScenario(_0x5e993f,_0x25b8f8){const _0x3f0f76=_0x369c38,_0x57818c={'UkPZQ':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','JYqOQ':function(_0x237b23,_0x102a08){return _0x237b23(_0x102a08);},'YSOgF':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','ZyQQf':'\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','kxohJ':function(_0x355e81,_0x319229){return _0x355e81===_0x319229;},'lRDTQ':function(_0x37514f,_0xbe134b){return _0x37514f<_0xbe134b;},'XzQfz':_0x3f0f76(0xe2),'gfpvE':function(_0x342c66,_0x314915){return _0x342c66+_0x314915;},'XwdmE':function(_0x3782ca,_0x57bdaf,_0x48a0b8,_0x2dd2d0){return _0x3782ca(_0x57bdaf,_0x48a0b8,_0x2dd2d0);},'HTvAE':function(_0x4d38df,_0x416bf7,_0x2cfc7b){return _0x4d38df(_0x416bf7,_0x2cfc7b);}},_0x543617=_0x25b8f8['id']||await getActiveFeatureId();!_0x543617&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console['error'](_0x57818c['UkPZQ']),process['exit'](0x1));const _0x400b49=await _0x57818c[_0x3f0f76(0xdb)](getFeature,_0x543617);_0x400b49[_0x3f0f76(0x11a)]&&!_0x400b49['latestReview']['submittedAt']&&(console['error'](_0x57818c[_0x3f0f76(0xcd)]),console['error'](_0x3f0f76(0x7b)),console['error']('\x20\x20'+_0x400b49[_0x3f0f76(0x7a)]),process['exit'](0x1));const _0x1f4ea1=_0x400b49[_0x3f0f76(0x115)]||[];_0x1f4ea1[_0x3f0f76(0x130)]===0x0&&(console[_0x3f0f76(0x12f)](_0x57818c['ZyQQf']),process[_0x3f0f76(0x127)](0x1));if(_0x57818c[_0x3f0f76(0x116)](_0x25b8f8['scenario'],undefined)){console[_0x3f0f76(0x12f)](_0x3f0f76(0xde)),console[_0x3f0f76(0xfa)](_0x3f0f76(0xe2));for(let _0x163f3b=0x0;_0x57818c['lRDTQ'](_0x163f3b,_0x1f4ea1['length']);_0x163f3b++){console[_0x3f0f76(0xfa)]('\x20\x20'+(_0x163f3b+0x1)+'.\x20'+_0x1f4ea1[_0x163f3b]['description']);}process['exit'](0x1);}const _0x37942c=_0x25b8f8[_0x3f0f76(0xc9)]-0x1;if(_0x57818c['lRDTQ'](_0x37942c,0x0)||_0x37942c>=_0x1f4ea1[_0x3f0f76(0x130)]){console[_0x3f0f76(0x12f)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x25b8f8['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x1f4ea1['length']+_0x3f0f76(0xa1)),console[_0x3f0f76(0xfa)](_0x57818c['XzQfz']);for(let _0x2f3031=0x0;_0x57818c['lRDTQ'](_0x2f3031,_0x1f4ea1['length']);_0x2f3031++){console['log']('\x20\x20'+_0x57818c[_0x3f0f76(0x10e)](_0x2f3031,0x1)+'.\x20'+_0x1f4ea1[_0x2f3031]['description']);}process['exit'](0x1);}const _0x3a9a5c=_0x1f4ea1[_0x37942c];await _0x57818c['XwdmE'](updateChecklistItem,_0x543617,_0x3a9a5c['id'],{'description':_0x5e993f});const _0x149889=await getFeature(_0x543617);console['log']('\x0a✅\x20Scenario\x20updated'),_0x57818c[_0x3f0f76(0x9b)](displayFeature,_0x149889,_0x149889['checklistItems']);}async function downloadFeedbackImage(_0x3bfbf5,_0xf216fb){const _0x2c3999=_0x369c38,_0x24ad18={'MpjRG':function(_0x8d5560,_0xc77234,_0x92c1e5){return _0x8d5560(_0xc77234,_0x92c1e5);},'TiehI':function(_0x3a257e){return _0x3a257e();},'tsmBg':function(_0x1be6b2,_0x452a86){return _0x1be6b2(_0x452a86);}};try{const _0x3ae35c=_0x24ad18[_0x2c3999(0x124)](join,_0x24ad18[_0x2c3999(0x11e)](getRangerDir),'feedback-images');await mkdir(_0x3ae35c,{'recursive':!![]});const _0x6e01b0=_0x24ad18[_0x2c3999(0x124)](join,_0x3ae35c,'comment_'+_0xf216fb+_0x2c3999(0x7e)),_0x584622=await _0x24ad18['tsmBg'](fetch,_0x3bfbf5);if(!_0x584622['ok'])return null;const _0x458553=Buffer[_0x2c3999(0xd8)](await _0x584622['arrayBuffer']());return await writeFile(_0x6e01b0,_0x458553),_0x6e01b0;}catch{return null;}}export async function featureGetReview(_0x4c1da2){const _0x510b63=_0x369c38,_0x510fce={'eZQHq':_0x510b63(0xad),'cLpEd':function(_0x48162c,_0x19e0d6){return _0x48162c(_0x19e0d6);},'uczlc':function(_0x24d393,_0x23f396){return _0x24d393===_0x23f396;},'OideW':'No\x20scenarios\x20found.','BEHIa':function(_0x3ad5ce,_0x43064f){return _0x3ad5ce>_0x43064f;},'WFWtm':function(_0x17a19d,_0x178f29){return _0x17a19d>_0x178f29;},'IegiF':function(_0x297578,_0x2f5185,_0x136652){return _0x297578(_0x2f5185,_0x136652);},'xJpyN':'\x20>\x20','SirsF':function(_0x477f83,_0x39cd4d){return _0x477f83+_0x39cd4d;}},_0x3831e1=_0x4c1da2||await getActiveFeatureId();if(!_0x3831e1)throw new Error(_0x510fce[_0x510b63(0x101)]);const _0x420a7c=await _0x510fce['cLpEd'](getFeature,_0x3831e1),{items:_0x14436b}=await _0x510fce['cLpEd'](getActionItems,_0x3831e1);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x420a7c['name']+'\x20('+_0x420a7c['id']+')\x0a');if(_0x510fce['uczlc'](_0x14436b['length'],0x0)){console['log'](_0x510fce[_0x510b63(0x10d)]);return;}for(let _0xe2de0d=0x0;_0xe2de0d<_0x14436b['length'];_0xe2de0d++){const _0x29b2ae=_0x14436b[_0xe2de0d],_0x1edd46=_0x510fce[_0x510b63(0x8a)](_0x29b2ae['version'],0x1)?_0x510b63(0xcb)+_0x29b2ae[_0x510b63(0xc4)]+')':'',_0x2e1d91=await getItemFeedback(_0x3831e1,_0x29b2ae['id']);if(_0x510fce['WFWtm'](_0x2e1d91[_0x510b63(0xb0)]['length'],0x0)){console[_0x510b63(0xfa)](_0x510b63(0xd1)+(_0xe2de0d+0x1)+_0x510b63(0xda)+_0x29b2ae[_0x510b63(0x11d)]+'\x22'+_0x1edd46+_0x510b63(0x7c)+_0x2e1d91[_0x510b63(0xb0)][_0x510b63(0x130)]+'\x20unaddressed\x20comment(s)');for(const _0x5f336e of _0x2e1d91['unaddressedComments']){const _0x34567c=new Date(_0x5f336e['createdAt'])[_0x510b63(0x98)]('en-US',{'month':_0x510b63(0x79),'day':_0x510b63(0x70)}),_0xfe16db=_0x5f336e[_0x510b63(0x13d)]||_0x5f336e['authorEmail']||'Unknown';console['log'](_0x510b63(0x74)+_0xfe16db+'\x20('+_0x34567c+'):\x20\x22'+_0x5f336e['content']+'\x22');if(_0x5f336e['assetUrl']){const _0x2a6033=await _0x510fce['IegiF'](downloadFeedbackImage,_0x5f336e[_0x510b63(0xa7)],_0x5f336e['id']);_0x2a6033&&console['log'](_0x510b63(0x6c)+_0x2a6033);}if(_0x5f336e[_0x510b63(0xb9)]){const _0x5796bc=_0x5f336e['domRef'][_0x510b63(0xb3)][_0x510b63(0xfc)](_0x510fce[_0x510b63(0xa3)])['pop']()?.[_0x510b63(0xfc)](':')[0x0]||'element',_0x56fc58=_0x5f336e[_0x510b63(0xb9)][_0x510b63(0x11b)]?'\x20\x22'+_0x5f336e[_0x510b63(0xb9)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console[_0x510b63(0xfa)](_0x510b63(0x110)+_0x5796bc+'>'+_0x56fc58),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x5f336e[_0x510b63(0xb9)]['selector']);}else{if(_0x5f336e[_0x510b63(0xc7)]){const _0x2edc46=_0x5f336e[_0x510b63(0xc7)][_0x510b63(0xe8)];_0x5f336e['spatial']['type']==='point'&&_0x2edc46['length']>=0x2?console[_0x510b63(0xfa)](_0x510b63(0xb2)+_0x2edc46[0x0]['toFixed'](0x2)+',\x20'+_0x2edc46[0x1]['toFixed'](0x2)+')'):console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x5f336e[_0x510b63(0xc7)]['type']+_0x510b63(0x71)+_0x2edc46[_0x510b63(0xbf)](_0x40af84=>_0x40af84['toFixed'](0x2))[_0x510b63(0x125)](',\x20')+']');}}}if(_0x2e1d91['canonicalFlow']){console['log'](_0x510b63(0xef));for(const _0x199029 of _0x2e1d91[_0x510b63(0x136)][_0x510b63(0xfc)]('\x0a')){console[_0x510b63(0xfa)](_0x510b63(0x113)+_0x199029);}}}else console['log']('Scenario\x20'+_0x510fce['SirsF'](_0xe2de0d,0x1)+':\x20\x22'+_0x29b2ae['description']+'\x22'+_0x1edd46+'\x20—\x20no\x20comments'),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x645404){const _0x4a2f11=_0x369c38,_0x93a6f9={'iqIVq':function(_0x4e2d0c,_0x14c5ee){return _0x4e2d0c(_0x14c5ee);},'QNulE':function(_0x3e99c6,_0x3c58a0){return _0x3e99c6+_0x3c58a0;}},_0x4b4476=_0x645404||await getActiveFeatureId();if(!_0x4b4476)throw new Error(_0x4a2f11(0xad));const _0x3ef8ce=await _0x93a6f9['iqIVq'](getFeature,_0x4b4476);await _0x93a6f9['iqIVq'](softDeleteFeature,_0x4b4476),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x3ef8ce['name']+'\x20('+_0x4b4476+')'),console[_0x4a2f11(0xfa)](_0x93a6f9[_0x4a2f11(0x89)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x4b4476));}export async function featureRestore(_0x1b32bd){const _0x47fbbc=_0x369c38,_0x4505ce={'VIOyM':function(_0x5565d9,_0x31876a){return _0x5565d9(_0x31876a);},'pablf':function(_0x425dec,_0x269f07,_0x376dc2){return _0x425dec(_0x269f07,_0x376dc2);}};await restoreFeature(_0x1b32bd);const _0xf68ada=await _0x4505ce['VIOyM'](getFeature,_0x1b32bd);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0xf68ada['name']+'\x20('+_0x1b32bd+')'),_0x4505ce[_0x47fbbc(0xcc)](displayFeature,_0xf68ada,_0xf68ada[_0x47fbbc(0x115)]);}
@@ -1 +1 @@
1
- (function(_0x4e0329,_0x233861){const _0x14eb82=_0xe650,_0x49d802=_0x4e0329();while(!![]){try{const _0x3cc9a6=-parseInt(_0x14eb82(0xfd))/0x1*(-parseInt(_0x14eb82(0x102))/0x2)+-parseInt(_0x14eb82(0x107))/0x3*(-parseInt(_0x14eb82(0x103))/0x4)+-parseInt(_0x14eb82(0xfc))/0x5*(-parseInt(_0x14eb82(0x109))/0x6)+-parseInt(_0x14eb82(0x106))/0x7*(-parseInt(_0x14eb82(0xfe))/0x8)+-parseInt(_0x14eb82(0x105))/0x9+-parseInt(_0x14eb82(0x108))/0xa*(-parseInt(_0x14eb82(0x100))/0xb)+-parseInt(_0x14eb82(0xff))/0xc;if(_0x3cc9a6===_0x233861)break;else _0x49d802['push'](_0x49d802['shift']());}catch(_0x487860){_0x49d802['push'](_0x49d802['shift']());}}}(_0x310a,0x1a247));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 _0xe650(_0x2f3a6c,_0x6b1e11){_0x2f3a6c=_0x2f3a6c-0xfc;const _0x310a27=_0x310a();let _0xe6506b=_0x310a27[_0x2f3a6c];return _0xe6506b;}function _0x310a(){const _0x34a416=['keys','1680318gfYbVT','2513THlHUF','1887WEdOOV','6060pohTvM','6EJdxxW','KeVHW','758515fyOPBT','9091ypHaej','1784NVMteR','2093484tRHxyW','3157gaooXb','Unknown\x20hook:\x20','2CxUKgV','340hFVrXl'];_0x310a=function(){return _0x34a416;};return _0x310a();}export async function hook(_0x3e77eb,_0x256daf){const _0x52d530=_0xe650,_0x1bb662={'KeVHW':function(_0x391290,_0xdb639e){return _0x391290(_0xdb639e);}},_0x45ce6c=HOOKS[_0x3e77eb];if(!_0x45ce6c){const _0x52d80f=Object[_0x52d530(0x104)](HOOKS)['join'](',\x20');console['error'](_0x52d530(0x101)+_0x3e77eb),console['error']('Valid\x20hooks:\x20'+_0x52d80f),process['exit'](0x1);}await _0x1bb662[_0x52d530(0x10a)](_0x45ce6c,_0x256daf);}
1
+ function _0x1728(){const _0x44a31f=['Valid\x20hooks:\x20','44jrjATm','840558YCQYDD','20964050fKQQBC','21FLTVbN','2005008tCLguk','35253idUngE','1589840wTcAPJ','1166877xvbuFo','328257UJHAVF','error','exit','992EcvSDh'];_0x1728=function(){return _0x44a31f;};return _0x1728();}function _0x5206(_0x25edad,_0x38f911){_0x25edad=_0x25edad-0x13e;const _0x1728e5=_0x1728();let _0x520691=_0x1728e5[_0x25edad];return _0x520691;}(function(_0x52bf64,_0x5ca538){const _0x55f113=_0x5206,_0x5d0510=_0x52bf64();while(!![]){try{const _0x2e9f05=parseInt(_0x55f113(0x140))/0x1+parseInt(_0x55f113(0x147))/0x2+parseInt(_0x55f113(0x141))/0x3*(-parseInt(_0x55f113(0x146))/0x4)+-parseInt(_0x55f113(0x13f))/0x5+parseInt(_0x55f113(0x14a))/0x6*(-parseInt(_0x55f113(0x149))/0x7)+parseInt(_0x55f113(0x144))/0x8*(-parseInt(_0x55f113(0x13e))/0x9)+parseInt(_0x55f113(0x148))/0xa;if(_0x2e9f05===_0x5ca538)break;else _0x5d0510['push'](_0x5d0510['shift']());}catch(_0x12e138){_0x5d0510['push'](_0x5d0510['shift']());}}}(_0x1728,0xa47ec));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};export async function hook(_0x4c9c6f,_0x12c404){const _0x1ded13=_0x5206,_0x276045=HOOKS[_0x4c9c6f];if(!_0x276045){const _0x2bf234=Object['keys'](HOOKS)['join'](',\x20');console[_0x1ded13(0x142)]('Unknown\x20hook:\x20'+_0x4c9c6f),console['error'](_0x1ded13(0x145)+_0x2bf234),process[_0x1ded13(0x143)](0x1);}await _0x276045(_0x12c404);}
@@ -1 +1 @@
1
- function _0x45aa(_0xa5edb0,_0x37177e){_0xa5edb0=_0xa5edb0-0x146;const _0x5165d8=_0x5165();let _0x45aa43=_0x5165d8[_0xa5edb0];return _0x45aa43;}const _0x2d797c=_0x45aa;(function(_0x5ab64a,_0x2de6fd){const _0x158822=_0x45aa,_0x3b3a9c=_0x5ab64a();while(!![]){try{const _0x368008=-parseInt(_0x158822(0x14c))/0x1*(parseInt(_0x158822(0x14d))/0x2)+parseInt(_0x158822(0x14f))/0x3+-parseInt(_0x158822(0x148))/0x4*(parseInt(_0x158822(0x14a))/0x5)+parseInt(_0x158822(0x146))/0x6+-parseInt(_0x158822(0x147))/0x7+parseInt(_0x158822(0x14e))/0x8+parseInt(_0x158822(0x150))/0x9*(-parseInt(_0x158822(0x14b))/0xa);if(_0x368008===_0x2de6fd)break;else _0x3b3a9c['push'](_0x3b3a9c['shift']());}catch(_0x2f5b17){_0x3b3a9c['push'](_0x3b3a9c['shift']());}}}(_0x5165,0xed0c6));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x2d797c(0x149);function _0x5165(){const _0x5ef755=['9684328NOTQjW','2501268QVJPIx','126YuoorJ','obHgM','82608lRvtYT','2479568hSHLQn','2032ZEdBtr','\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.','2960kFIBNw','124850dyWLFX','5OJKDDt','102946cIjsnn'];_0x5165=function(){return _0x5ef755;};return _0x5165();}export async function autoPrompt(){const _0x34a824=_0x2d797c,_0x4a34fc={'PWDOe':function(_0x2a536e){return _0x2a536e();},'obHgM':function(_0x138e49,_0x4941f0){return _0x138e49(_0x4941f0);}},_0x150ab0=await _0x4a34fc['PWDOe'](readHookInput),_0x295315=_0x150ab0?.['session_id'];if(!_0x295315)return;if(isSessionEnabled(_0x295315)||hasSessionBeenPrompted(_0x295315))return;_0x4a34fc[_0x34a824(0x151)](markSessionPrompted,_0x295315),console['log'](AUTO_PROMPT_TEXT);}
1
+ const _0x2b5d19=_0x49cb;(function(_0x5ab78d,_0x2e795c){const _0x10ea3b=_0x49cb,_0x166591=_0x5ab78d();while(!![]){try{const _0x419be5=-parseInt(_0x10ea3b(0x113))/0x1*(-parseInt(_0x10ea3b(0x10c))/0x2)+parseInt(_0x10ea3b(0x109))/0x3*(parseInt(_0x10ea3b(0x110))/0x4)+parseInt(_0x10ea3b(0x10d))/0x5+parseInt(_0x10ea3b(0x107))/0x6*(parseInt(_0x10ea3b(0x10b))/0x7)+parseInt(_0x10ea3b(0x112))/0x8*(parseInt(_0x10ea3b(0x10f))/0x9)+parseInt(_0x10ea3b(0x10e))/0xa+-parseInt(_0x10ea3b(0x111))/0xb;if(_0x419be5===_0x2e795c)break;else _0x166591['push'](_0x166591['shift']());}catch(_0x10d271){_0x166591['push'](_0x166591['shift']());}}}(_0x58d6,0xa5498));import{readHookInput}from'./output.js';function _0x58d6(){const _0x1693dd=['346843dyNVzA','1002936MyOWLY','\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.','2273976OIjtLw','log','7YmLulR','6CFejpa','6615900HSnMRI','2128100dHfjrL','1485nrzOLB','4ZcmVPz','34621301VEQskc','15648DxqrNi'];_0x58d6=function(){return _0x1693dd;};return _0x58d6();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x2b5d19(0x108);function _0x49cb(_0x506af2,_0xf2ef16){_0x506af2=_0x506af2-0x107;const _0x58d638=_0x58d6();let _0x49cbfd=_0x58d638[_0x506af2];return _0x49cbfd;}export async function autoPrompt(){const _0x516724=_0x2b5d19,_0x1cbf86={'fEVeM':function(_0xb0a302){return _0xb0a302();}},_0x5e6bc8=await _0x1cbf86['fEVeM'](readHookInput),_0x4f930a=_0x5e6bc8?.['session_id'];if(!_0x4f930a)return;if(isSessionEnabled(_0x4f930a)||hasSessionBeenPrompted(_0x4f930a))return;markSessionPrompted(_0x4f930a),console[_0x516724(0x10a)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- function _0x8b4c(_0x53a6b8,_0x39788f){_0x53a6b8=_0x53a6b8-0x114;const _0x827f09=_0x827f();let _0x8b4c20=_0x827f09[_0x53a6b8];return _0x8b4c20;}(function(_0x13e9d2,_0x431f2c){const _0x206fb5=_0x8b4c,_0x371123=_0x13e9d2();while(!![]){try{const _0x4534e1=-parseInt(_0x206fb5(0x11a))/0x1+parseInt(_0x206fb5(0x115))/0x2+-parseInt(_0x206fb5(0x120))/0x3+-parseInt(_0x206fb5(0x117))/0x4*(parseInt(_0x206fb5(0x121))/0x5)+parseInt(_0x206fb5(0x11e))/0x6*(parseInt(_0x206fb5(0x11b))/0x7)+-parseInt(_0x206fb5(0x116))/0x8+-parseInt(_0x206fb5(0x11f))/0x9*(-parseInt(_0x206fb5(0x123))/0xa);if(_0x4534e1===_0x431f2c)break;else _0x371123['push'](_0x371123['shift']());}catch(_0x30fa8){_0x371123['push'](_0x371123['shift']());}}}(_0x827f,0x5ba61));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x827f(){const _0x36ce17=['1097024pFVuFu','1540120tCpyaH','9956jUJhGf','.\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`.','CSONM','745114wibLlh','3502527PoXGzE','CLAUDE_SESSION_ID','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','6GvDcmk','4800015ouDEQm','2213421UrPtLy','130HKdQhh','UXLSr','20lGkEOo','main','HLtBU','\x20and\x20branch\x20\x27'];_0x827f=function(){return _0x36ce17;};return _0x827f();}import{printBlock}from'./output.js';export async function disable(_0x33453f){const _0x594a92=_0x8b4c,_0xb360d4={'HLtBU':function(_0x2811c1,_0x30e06e){return _0x2811c1(_0x30e06e);},'HWFac':'master','CSONM':function(_0x541765,_0x6b3c86){return _0x541765(_0x6b3c86);},'UXLSr':function(_0xea9367,_0x46acb2){return _0xea9367!==_0x46acb2;}},_0x55d2cf=_0x33453f||process['env'][_0x594a92(0x11c)]||'';_0x55d2cf&&_0xb360d4['HLtBU'](disableSession,_0x55d2cf);const _0x3942dd=getCurrentBranch();_0x3942dd&&_0x3942dd!==_0x594a92(0x124)&&_0x3942dd!==_0xb360d4['HWFac']&&_0xb360d4[_0x594a92(0x125)](disableBranch,_0x3942dd),_0xb360d4[_0x594a92(0x119)](printBlock,_0x594a92(0x11d)+(_0x3942dd&&_0x3942dd!=='main'&&_0xb360d4[_0x594a92(0x122)](_0x3942dd,_0xb360d4['HWFac'])?_0x594a92(0x114)+_0x3942dd+'\x27':'')+_0x594a92(0x118));}
1
+ (function(_0x514238,_0x4c5cdf){const _0x32c3db=_0x4797,_0x35c986=_0x514238();while(!![]){try{const _0x1fba72=parseInt(_0x32c3db(0x7b))/0x1*(-parseInt(_0x32c3db(0x70))/0x2)+-parseInt(_0x32c3db(0x72))/0x3*(-parseInt(_0x32c3db(0x71))/0x4)+parseInt(_0x32c3db(0x79))/0x5*(parseInt(_0x32c3db(0x7f))/0x6)+parseInt(_0x32c3db(0x75))/0x7*(-parseInt(_0x32c3db(0x7c))/0x8)+-parseInt(_0x32c3db(0x6f))/0x9*(parseInt(_0x32c3db(0x73))/0xa)+-parseInt(_0x32c3db(0x6e))/0xb*(parseInt(_0x32c3db(0x77))/0xc)+parseInt(_0x32c3db(0x78))/0xd*(parseInt(_0x32c3db(0x7a))/0xe);if(_0x1fba72===_0x4c5cdf)break;else _0x35c986['push'](_0x35c986['shift']());}catch(_0x83446f){_0x35c986['push'](_0x35c986['shift']());}}}(_0x3699,0x7a52a));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x4797(_0x1bc60f,_0xe08668){_0x1bc60f=_0x1bc60f-0x6e;const _0x36990f=_0x3699();let _0x479775=_0x36990f[_0x1bc60f];return _0x479775;}export async function disable(_0x6ada21){const _0x3e8f49=_0x4797,_0x209df1={'hpsmO':function(_0x1b5bd9,_0x16ba14){return _0x1b5bd9!==_0x16ba14;},'gEfIs':'master','mvFJD':function(_0x14b802,_0x5a77e1){return _0x14b802!==_0x5a77e1;}},_0x346c86=_0x6ada21||process['env'][_0x3e8f49(0x7e)]||'';_0x346c86&&disableSession(_0x346c86);const _0x30de74=getCurrentBranch();_0x30de74&&_0x30de74!==_0x3e8f49(0x7d)&&_0x209df1['hpsmO'](_0x30de74,_0x209df1['gEfIs'])&&disableBranch(_0x30de74),printBlock(_0x3e8f49(0x74)+(_0x30de74&&_0x30de74!==_0x3e8f49(0x7d)&&_0x209df1[_0x3e8f49(0x76)](_0x30de74,'master')?'\x20and\x20branch\x20\x27'+_0x30de74+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}function _0x3699(){const _0x23cf8a=['main','CLAUDE_SESSION_ID','1038iJhGvf','143eerjRD','216qZsjRq','619978IKOtwr','630584ABbyPv','12rwzUID','252160ayWspG','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','325850eXfUoC','mvFJD','847320RnlAJJ','60827YVKgDY','16475kXbjZs','4088OiLrGg','1yMHhYY','40LHpoxZ'];_0x3699=function(){return _0x23cf8a;};return _0x3699();}
@@ -1 +1 @@
1
- (function(_0x1d4c7c,_0x59320e){const _0x7b8d38=_0x3584,_0xb33c26=_0x1d4c7c();while(!![]){try{const _0x29f44f=parseInt(_0x7b8d38(0x164))/0x1+-parseInt(_0x7b8d38(0x167))/0x2+parseInt(_0x7b8d38(0x163))/0x3+-parseInt(_0x7b8d38(0x160))/0x4+parseInt(_0x7b8d38(0x15f))/0x5*(parseInt(_0x7b8d38(0x162))/0x6)+parseInt(_0x7b8d38(0x16a))/0x7+parseInt(_0x7b8d38(0x171))/0x8*(parseInt(_0x7b8d38(0x166))/0x9);if(_0x29f44f===_0x59320e)break;else _0xb33c26['push'](_0xb33c26['shift']());}catch(_0x39f87f){_0xb33c26['push'](_0xb33c26['shift']());}}}(_0x1133,0xbb33a));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3584(_0x5b6bd4,_0x34168a){_0x5b6bd4=_0x5b6bd4-0x15f;const _0x113359=_0x1133();let _0x35841c=_0x113359[_0x5b6bd4];return _0x35841c;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x1133(){const _0x64096d=['\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','master','dsscw','#\x20RANGER\x20ENABLED','nRFcH','\x0a\x0a**Branch\x20\x27','259816hkQxXu','ranger\x20setup','3280925jQjWsP','5538840hsXZIT','MMdsa','6smblIr','1257048KyHlaD','637604Qyjftv','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','99zXlbXb','282890sbuHQA','env','AGKeK','1560167WjxQju'];_0x1133=function(){return _0x64096d;};return _0x1133();}import{update}from'../update.js';export async function enable(_0x2e25a3){const _0xa7b9bd=_0x3584,_0x3b42db={'mRgxB':function(_0x4a599d,_0x5256fd){return _0x4a599d(_0x5256fd);},'AGKeK':function(_0x1fe8dc){return _0x1fe8dc();},'mmnli':_0xa7b9bd(0x172),'LZLEm':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','nRFcH':_0xa7b9bd(0x165),'MMdsa':function(_0x24eb5a){return _0x24eb5a();},'dsscw':_0xa7b9bd(0x16c)},_0x18c8e9=_0x2e25a3||process[_0xa7b9bd(0x168)]['CLAUDE_SESSION_ID']||'',_0x35674b=_0x3b42db['mRgxB'](Boolean,_0x2e25a3),_0x3f559c=await _0x3b42db[_0xa7b9bd(0x169)](getToken);if(!_0x3f559c){const _0x8b87ed=_0x35674b?'ranger\x20setup\x20--opencode':_0x3b42db['mmnli'],_0x28edaa=_0x35674b?_0x3b42db['LZLEm']:_0x3b42db[_0xa7b9bd(0x16f)];_0x3b42db['mRgxB'](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`'+_0x8b87ed+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x28edaa);return;}try{await _0x3b42db[_0xa7b9bd(0x161)](update);}catch{}_0x18c8e9&&enableSession(_0x18c8e9);const _0x501f37=_0x3b42db['AGKeK'](getCurrentBranch),_0x5ab975=_0x501f37&&_0x501f37!=='main'&&_0x501f37!==_0x3b42db[_0xa7b9bd(0x16d)]?_0xa7b9bd(0x170)+_0x501f37+_0xa7b9bd(0x16b):'',_0x3fbb47=getRangerSkillContent();printBlock(_0xa7b9bd(0x16e)+_0x5ab975+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x3fbb47+'\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 _0x1fb6(){const _0x1119ea=['22cOgmJZ','2341928chhrrT','235017xmZrpo','bWUdc','iouTM','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','433576aDiDup','env','1428618QoyPkO','#\x20RANGER\x20ENABLED','524507lVgJgX','110259FaBDDe','#\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`','CLAUDE_SESSION_ID','main','20UWmWUD','70AJrXIM','119PETPLC','PRrle','15858337kbOeJJ','ranger\x20setup\x20--opencode'];_0x1fb6=function(){return _0x1119ea;};return _0x1fb6();}function _0x3513(_0x2627c8,_0xf03c0d){_0x2627c8=_0x2627c8-0x1d7;const _0x1fb646=_0x1fb6();let _0x3513fb=_0x1fb646[_0x2627c8];return _0x3513fb;}(function(_0x4ab5dd,_0x537ddc){const _0x2b4529=_0x3513,_0x26373d=_0x4ab5dd();while(!![]){try{const _0x10b015=-parseInt(_0x2b4529(0x1ea))/0x1+-parseInt(_0x2b4529(0x1df))/0x2*(-parseInt(_0x2b4529(0x1eb))/0x3)+-parseInt(_0x2b4529(0x1e0))/0x4+-parseInt(_0x2b4529(0x1d9))/0x5*(parseInt(_0x2b4529(0x1e8))/0x6)+-parseInt(_0x2b4529(0x1db))/0x7*(-parseInt(_0x2b4529(0x1e6))/0x8)+-parseInt(_0x2b4529(0x1e1))/0x9*(parseInt(_0x2b4529(0x1da))/0xa)+parseInt(_0x2b4529(0x1dd))/0xb;if(_0x10b015===_0x537ddc)break;else _0x26373d['push'](_0x26373d['shift']());}catch(_0x5d6c7c){_0x26373d['push'](_0x26373d['shift']());}}}(_0x1fb6,0x7f77b));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(_0x25675c){const _0x4522b9=_0x3513,_0x499ba3={'zWqNl':function(_0x2c24eb){return _0x2c24eb();},'sqNId':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','iouTM':function(_0x195567){return _0x195567();},'BFMmU':function(_0x547afc,_0x42e415){return _0x547afc!==_0x42e415;},'PRrle':_0x4522b9(0x1d8),'bWUdc':function(_0x5e0514,_0x444728){return _0x5e0514!==_0x444728;},'FkGoM':'master'},_0x17b01b=_0x25675c||process[_0x4522b9(0x1e7)][_0x4522b9(0x1d7)]||'',_0x5f3709=Boolean(_0x25675c),_0x3d91c3=await _0x499ba3['zWqNl'](getToken);if(!_0x3d91c3){const _0x52486f=_0x5f3709?_0x4522b9(0x1de):'ranger\x20setup',_0x10bf8c=_0x5f3709?_0x499ba3['sqNId']:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';printBlock(_0x4522b9(0x1ec)+_0x52486f+_0x4522b9(0x1e5)+_0x10bf8c);return;}try{await _0x499ba3[_0x4522b9(0x1e3)](update);}catch{}_0x17b01b&&enableSession(_0x17b01b);const _0x47cb2c=_0x499ba3['iouTM'](getCurrentBranch),_0x442ac2=_0x47cb2c&&_0x499ba3['BFMmU'](_0x47cb2c,_0x499ba3[_0x4522b9(0x1dc)])&&_0x499ba3[_0x4522b9(0x1e2)](_0x47cb2c,_0x499ba3['FkGoM'])?'\x0a\x0a**Branch\x20\x27'+_0x47cb2c+_0x4522b9(0x1e4):'',_0xfef6ea=getRangerSkillContent();printBlock(_0x4522b9(0x1e9)+_0x442ac2+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0xfef6ea+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
@@ -1 +1 @@
1
- function _0x4f31(_0x28a8dd,_0x1f16a2){_0x28a8dd=_0x28a8dd-0x16f;const _0x1cc941=_0x1cc9();let _0x4f312d=_0x1cc941[_0x28a8dd];return _0x4f312d;}(function(_0x20038b,_0x2e3ea3){const _0x393de6=_0x4f31,_0x545fa3=_0x20038b();while(!![]){try{const _0xdc061b=parseInt(_0x393de6(0x172))/0x1*(parseInt(_0x393de6(0x170))/0x2)+parseInt(_0x393de6(0x16f))/0x3*(parseInt(_0x393de6(0x177))/0x4)+-parseInt(_0x393de6(0x174))/0x5+-parseInt(_0x393de6(0x171))/0x6+-parseInt(_0x393de6(0x176))/0x7*(parseInt(_0x393de6(0x175))/0x8)+parseInt(_0x393de6(0x178))/0x9+parseInt(_0x393de6(0x179))/0xa;if(_0xdc061b===_0x2e3ea3)break;else _0x545fa3['push'](_0x545fa3['shift']());}catch(_0x1bc4a3){_0x545fa3['push'](_0x545fa3['shift']());}}}(_0x1cc9,0x26522));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1cc9(){const _0x41d7ca=['128NemLZf','105721HhzySJ','31400JuSPkH','889146zHWrGO','2334900nMowOy','39fMYqsy','2MxCSFQ','937050CeblDz','150677aODzpj','===\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===','151130RHBFZw'];_0x1cc9=function(){return _0x41d7ca;};return _0x1cc9();}export async function exitPlanMode(_0x4ae03d){const _0x4d669c=_0x4f31,_0x3ca068={'RqSRX':function(_0x19c18d,_0x223f8a){return _0x19c18d(_0x223f8a);}},_0xd72631=await _0x3ca068['RqSRX'](getEnabledSessionId,_0x4ae03d);if(!_0xd72631)return;printBlock(_0x4d669c(0x173));}
1
+ function _0x4f88(){const _0x1adbc2=['6LpwATl','1165670xuCbaq','301762RMkPmG','13428LSIZcW','263405jAWpAr','6CajjRU','930ZMPGVs','5RfofNY','1374076UVEFXd','4955846QpmqKn','1859016OPSeCK'];_0x4f88=function(){return _0x1adbc2;};return _0x4f88();}(function(_0x31d317,_0x15b628){const _0x1633d4=_0x58da,_0x10421c=_0x31d317();while(!![]){try{const _0x592df4=parseInt(_0x1633d4(0x1a2))/0x1*(parseInt(_0x1633d4(0x19d))/0x2)+parseInt(_0x1633d4(0x1a0))/0x3*(-parseInt(_0x1633d4(0x1a3))/0x4)+parseInt(_0x1633d4(0x19f))/0x5+-parseInt(_0x1633d4(0x1a6))/0x6*(-parseInt(_0x1633d4(0x1a4))/0x7)+-parseInt(_0x1633d4(0x1a5))/0x8+parseInt(_0x1633d4(0x19e))/0x9*(-parseInt(_0x1633d4(0x1a1))/0xa)+parseInt(_0x1633d4(0x1a7))/0xb;if(_0x592df4===_0x15b628)break;else _0x10421c['push'](_0x10421c['shift']());}catch(_0x49a354){_0x10421c['push'](_0x10421c['shift']());}}}(_0x4f88,0x896af));function _0x58da(_0x2f3561,_0x13066e){_0x2f3561=_0x2f3561-0x19d;const _0x4f8881=_0x4f88();let _0x58da68=_0x4f8881[_0x2f3561];return _0x58da68;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1643e7){const _0x31824c=await getEnabledSessionId(_0x1643e7);if(!_0x31824c)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x1fe381,_0x55c414){var _0x5cd691=_0x2a7f,_0xa454af=_0x1fe381();while(!![]){try{var _0x382398=parseInt(_0x5cd691(0x1c5))/0x1+-parseInt(_0x5cd691(0x1c8))/0x2+parseInt(_0x5cd691(0x1c3))/0x3+-parseInt(_0x5cd691(0x1c1))/0x4*(-parseInt(_0x5cd691(0x1c6))/0x5)+-parseInt(_0x5cd691(0x1c7))/0x6+-parseInt(_0x5cd691(0x1c9))/0x7+parseInt(_0x5cd691(0x1c4))/0x8*(parseInt(_0x5cd691(0x1c2))/0x9);if(_0x382398===_0x55c414)break;else _0xa454af['push'](_0xa454af['shift']());}catch(_0x4f436d){_0xa454af['push'](_0xa454af['shift']());}}}(_0x2b9d,0xcbeab));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x2b9d(){var _0x20c83b=['8680749zgSIhL','4oHbYMg','11004948tJggnU','2185644VIgYYa','16PUwHji','315448GNKwBb','5611090izIeBq','7050558ifngyb','2722630nXFDcr'];_0x2b9d=function(){return _0x20c83b;};return _0x2b9d();}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';function _0x2a7f(_0x522386,_0x4dc739){_0x522386=_0x522386-0x1c1;var _0x2b9d90=_0x2b9d();var _0x2a7f6b=_0x2b9d90[_0x522386];return _0x2a7f6b;}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(_0x3fd6e4,_0x2d5a95){var _0x4c41dc=_0x3b8b,_0x11ffe7=_0x3fd6e4();while(!![]){try{var _0x3475fa=parseInt(_0x4c41dc(0x196))/0x1+-parseInt(_0x4c41dc(0x197))/0x2*(parseInt(_0x4c41dc(0x19a))/0x3)+-parseInt(_0x4c41dc(0x19b))/0x4*(parseInt(_0x4c41dc(0x195))/0x5)+parseInt(_0x4c41dc(0x199))/0x6*(-parseInt(_0x4c41dc(0x198))/0x7)+parseInt(_0x4c41dc(0x194))/0x8*(-parseInt(_0x4c41dc(0x19d))/0x9)+-parseInt(_0x4c41dc(0x193))/0xa*(-parseInt(_0x4c41dc(0x192))/0xb)+parseInt(_0x4c41dc(0x19c))/0xc;if(_0x3475fa===_0x2d5a95)break;else _0x11ffe7['push'](_0x11ffe7['shift']());}catch(_0xf9ed16){_0x11ffe7['push'](_0x11ffe7['shift']());}}}(_0x273c,0x64785));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 _0x273c(){var _0x2903b0=['7835652UXVkTt','10pRZtDd','560mAAFUU','32415kvQuTg','699609tntfay','6iadINU','996198nUdfzv','18xkCVaC','759837ihQlNm','64VzFKMC','10279212DBXrci','72837AHhTcD'];_0x273c=function(){return _0x2903b0;};return _0x273c();}export{exitPlanMode}from'./exitPlanMode.js';function _0x3b8b(_0x40effc,_0x486503){_0x40effc=_0x40effc-0x192;var _0x273ca0=_0x273c();var _0x3b8b0b=_0x273ca0[_0x40effc];return _0x3b8b0b;}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x151664,_0x205acb){const _0x142a87=_0x10b8,_0x4295a8=_0x151664();while(!![]){try{const _0x345a7d=parseInt(_0x142a87(0xa8))/0x1*(-parseInt(_0x142a87(0xb0))/0x2)+-parseInt(_0x142a87(0xa3))/0x3*(-parseInt(_0x142a87(0xac))/0x4)+-parseInt(_0x142a87(0xb1))/0x5*(parseInt(_0x142a87(0xae))/0x6)+-parseInt(_0x142a87(0xa9))/0x7*(parseInt(_0x142a87(0xa6))/0x8)+parseInt(_0x142a87(0xa4))/0x9+parseInt(_0x142a87(0xa5))/0xa*(-parseInt(_0x142a87(0xa2))/0xb)+-parseInt(_0x142a87(0xad))/0xc*(-parseInt(_0x142a87(0xab))/0xd);if(_0x345a7d===_0x205acb)break;else _0x4295a8['push'](_0x4295a8['shift']());}catch(_0x5da3ca){_0x4295a8['push'](_0x4295a8['shift']());}}}(_0x5e17,0x8c353));function _0x10b8(_0x267e2c,_0x375f50){_0x267e2c=_0x267e2c-0xa2;const _0x5e17ec=_0x5e17();let _0x10b8ed=_0x5e17ec[_0x267e2c];return _0x10b8ed;}function _0x5e17(){const _0x976779=['39COJDaD','9932724nScCnk','10BOxkpg','848SDbBPg','CHcoC','18779RTcZhq','51443zNLxKq','session_id','52rsRCdo','242108cGlYxU','1204188JWblPH','108fYMRFi','HwRnw','2RlohCS','137510AdThPJ','parse','stdin','4672613WNylDc'];_0x5e17=function(){return _0x976779;};return _0x5e17();}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0xb65b49){console['log'](_0xb65b49);}export async function readHookInput(){const _0x48ebad=_0x10b8;let _0x1f82ca='';for await(const _0xb27194 of process[_0x48ebad(0xb3)]){_0x1f82ca+=_0xb27194;}try{return JSON[_0x48ebad(0xb2)](_0x1f82ca);}catch{return null;}}export async function getEnabledSessionId(_0x31c716){const _0xfb3291=_0x10b8,_0x49b697={'CHcoC':function(_0x17e4f7,_0x569d5d){return _0x17e4f7(_0x569d5d);}};if(_0x31c716)return _0x49b697['CHcoC'](isSessionEnabled,_0x31c716)?_0x31c716:null;const _0x384d07=await readHookInput(),_0x588f08=_0x384d07?.[_0xfb3291(0xaa)];if(!_0x588f08||!_0x49b697[_0xfb3291(0xa7)](isSessionEnabled,_0x588f08))return null;return _0x588f08;}export async function getEnabledHookContext(_0x330fe8){const _0x2bda56=_0x10b8,_0x58f49e={'HwRnw':function(_0x363877,_0x573566){return _0x363877(_0x573566);}};if(_0x330fe8){if(!isSessionEnabled(_0x330fe8))return null;return{'sessionId':_0x330fe8,'input':{'session_id':_0x330fe8}};}const _0x4f90ff=await readHookInput(),_0xe14c58=_0x4f90ff?.['session_id'];if(!_0xe14c58||!_0x58f49e[_0x2bda56(0xaf)](isSessionEnabled,_0xe14c58))return null;return{'sessionId':_0xe14c58,'input':_0x4f90ff};}
1
+ (function(_0x333ba5,_0x42283a){const _0x112a9e=_0x5d89,_0x48b67d=_0x333ba5();while(!![]){try{const _0xdace86=-parseInt(_0x112a9e(0x15a))/0x1+-parseInt(_0x112a9e(0x15b))/0x2+parseInt(_0x112a9e(0x159))/0x3+-parseInt(_0x112a9e(0x157))/0x4*(parseInt(_0x112a9e(0x150))/0x5)+parseInt(_0x112a9e(0x152))/0x6*(parseInt(_0x112a9e(0x14f))/0x7)+parseInt(_0x112a9e(0x156))/0x8*(parseInt(_0x112a9e(0x155))/0x9)+parseInt(_0x112a9e(0x151))/0xa;if(_0xdace86===_0x42283a)break;else _0x48b67d['push'](_0x48b67d['shift']());}catch(_0x32944f){_0x48b67d['push'](_0x48b67d['shift']());}}}(_0x49f6,0x55910));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x212e9e){console['log'](_0x212e9e);}export async function readHookInput(){let _0x200c93='';for await(const _0x88e03d of process['stdin']){_0x200c93+=_0x88e03d;}try{return JSON['parse'](_0x200c93);}catch{return null;}}export async function getEnabledSessionId(_0x3ab00d){const _0x115352=_0x5d89,_0x79970a={'TpGUU':function(_0x2db7e5){return _0x2db7e5();}};if(_0x3ab00d)return isSessionEnabled(_0x3ab00d)?_0x3ab00d:null;const _0x133195=await _0x79970a[_0x115352(0x158)](readHookInput),_0x4d36cf=_0x133195?.[_0x115352(0x15c)];if(!_0x4d36cf||!isSessionEnabled(_0x4d36cf))return null;return _0x4d36cf;}export async function getEnabledHookContext(_0x44ae70){const _0x20c7b0=_0x5d89,_0x1aa844={'AEGPf':function(_0xdcf730,_0x422044){return _0xdcf730(_0x422044);},'KaaRE':function(_0x103515){return _0x103515();}};if(_0x44ae70){if(!_0x1aa844[_0x20c7b0(0x154)](isSessionEnabled,_0x44ae70))return null;return{'sessionId':_0x44ae70,'input':{'session_id':_0x44ae70}};}const _0x32cb79=await _0x1aa844[_0x20c7b0(0x153)](readHookInput),_0x2d21f9=_0x32cb79?.['session_id'];if(!_0x2d21f9||!isSessionEnabled(_0x2d21f9))return null;return{'sessionId':_0x2d21f9,'input':_0x32cb79};}function _0x5d89(_0x4dd2f7,_0x54d9f9){_0x4dd2f7=_0x4dd2f7-0x14f;const _0x49f6a6=_0x49f6();let _0x5d8923=_0x49f6a6[_0x4dd2f7];return _0x5d8923;}function _0x49f6(){const _0x1222ae=['1376klODMl','1229348FOmxsC','TpGUU','1755483wrnaST','294769tXjuRq','1068400ZmIvHO','session_id','266924hrmCrk','5wNylsy','2817930CrqNDv','66eZbxPI','KaaRE','AEGPf','10485zaUTUQ'];_0x49f6=function(){return _0x1222ae;};return _0x49f6();}
@@ -1 +1 @@
1
- function _0x51d8(){const _0x1010af=['2007212oZFcge','input','1835DWRgmT','890296qkZjMM','5380WQHIzi','161559VuKsll','1450wLqvoG','1457327zLNdVW','4910994qofnRm','581tIRUmN','plan','UAyAh','HMNJe','8718CSqDhv'];_0x51d8=function(){return _0x1010af;};return _0x51d8();}function _0x3e19(_0x47ebbd,_0x46fba0){_0x47ebbd=_0x47ebbd-0x143;const _0x51d87=_0x51d8();let _0x3e19a3=_0x51d87[_0x47ebbd];return _0x3e19a3;}(function(_0x143c71,_0x4d28c9){const _0x5b8360=_0x3e19,_0x50af71=_0x143c71();while(!![]){try{const _0x1f065c=parseInt(_0x5b8360(0x144))/0x1+-parseInt(_0x5b8360(0x14b))/0x2+-parseInt(_0x5b8360(0x145))/0x3+-parseInt(_0x5b8360(0x14f))/0x4*(parseInt(_0x5b8360(0x14d))/0x5)+-parseInt(_0x5b8360(0x14a))/0x6*(-parseInt(_0x5b8360(0x146))/0x7)+-parseInt(_0x5b8360(0x14e))/0x8+-parseInt(_0x5b8360(0x150))/0x9*(-parseInt(_0x5b8360(0x143))/0xa);if(_0x1f065c===_0x4d28c9)break;else _0x50af71['push'](_0x50af71['shift']());}catch(_0x4e0cdd){_0x50af71['push'](_0x50af71['shift']());}}}(_0x51d8,0xe4593));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x11d9e6){const _0x27dd5b=_0x3e19,_0x57ae69={'UAyAh':function(_0x1d1b20,_0x367b9f){return _0x1d1b20!==_0x367b9f;},'HMNJe':function(_0x316f34,_0x41a8d2){return _0x316f34(_0x41a8d2);}},_0x187cd8=await getEnabledHookContext(_0x11d9e6);if(!_0x187cd8)return;if(_0x57ae69[_0x27dd5b(0x148)](_0x187cd8[_0x27dd5b(0x14c)]['permission_mode'],_0x27dd5b(0x147)))return;if(!shouldShowPlanReminder(_0x187cd8['sessionId']))return;_0x57ae69[_0x27dd5b(0x149)](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 _0x1a07(){const _0xd10c42=['56UwCELG','45451cPSXWe','5344540KtQegH','7245539FqAdpv','527445VFaGkU','sessionId','22rzJthi','24mhMpKm','1532ArjPtt','6sNBInd','2946gcdpfh','10859888gDZXmN','11QDuTlO','2273275QHCnYw'];_0x1a07=function(){return _0xd10c42;};return _0x1a07();}(function(_0x3c6bf9,_0x24ecfe){const _0x44bf1e=_0x4215,_0x2e517a=_0x3c6bf9();while(!![]){try{const _0x10468b=-parseInt(_0x44bf1e(0x1f1))/0x1*(parseInt(_0x44bf1e(0x1e8))/0x2)+parseInt(_0x44bf1e(0x1ec))/0x3*(parseInt(_0x44bf1e(0x1ea))/0x4)+parseInt(_0x44bf1e(0x1ef))/0x5+parseInt(_0x44bf1e(0x1eb))/0x6*(parseInt(_0x44bf1e(0x1f3))/0x7)+parseInt(_0x44bf1e(0x1f0))/0x8*(parseInt(_0x44bf1e(0x1f4))/0x9)+parseInt(_0x44bf1e(0x1f2))/0xa*(parseInt(_0x44bf1e(0x1ee))/0xb)+parseInt(_0x44bf1e(0x1e9))/0xc*(-parseInt(_0x44bf1e(0x1ed))/0xd);if(_0x10468b===_0x24ecfe)break;else _0x2e517a['push'](_0x2e517a['shift']());}catch(_0x2b85b4){_0x2e517a['push'](_0x2e517a['shift']());}}}(_0x1a07,0x9c346));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x4215(_0x1d0e4f,_0x1b74e4){_0x1d0e4f=_0x1d0e4f-0x1e8;const _0x1a0740=_0x1a07();let _0x42153e=_0x1a0740[_0x1d0e4f];return _0x42153e;}export async function planReminder(_0x2e6921){const _0x3770f2=_0x4215,_0x26eca2={'LHvKu':function(_0xfdbc96,_0x397eac){return _0xfdbc96!==_0x397eac;},'TlVtl':function(_0x1c9e28,_0x2659de){return _0x1c9e28(_0x2659de);}},_0x4d4508=await getEnabledHookContext(_0x2e6921);if(!_0x4d4508)return;if(_0x26eca2['LHvKu'](_0x4d4508['input']['permission_mode'],'plan'))return;if(!shouldShowPlanReminder(_0x4d4508[_0x3770f2(0x1f5)]))return;_0x26eca2['TlVtl'](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(_0x5f16c9,_0x29a970){const _0xdf5c3=_0x313e,_0x20e101=_0x5f16c9();while(!![]){try{const _0x43f262=parseInt(_0xdf5c3(0x115))/0x1*(-parseInt(_0xdf5c3(0x114))/0x2)+parseInt(_0xdf5c3(0x112))/0x3+-parseInt(_0xdf5c3(0x10e))/0x4+parseInt(_0xdf5c3(0x10d))/0x5+parseInt(_0xdf5c3(0x10f))/0x6+parseInt(_0xdf5c3(0x111))/0x7+parseInt(_0xdf5c3(0x110))/0x8;if(_0x43f262===_0x29a970)break;else _0x20e101['push'](_0x20e101['shift']());}catch(_0x19f01d){_0x20e101['push'](_0x20e101['shift']());}}}(_0x4263,0xd40c4));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4abcc1){const _0x5c747d=_0x313e,_0x5f5cfe={'xMdbC':function(_0x1baaf9,_0xdbfead){return _0x1baaf9(_0xdbfead);}},_0x25220b=await getEnabledSessionId(_0x4abcc1);if(!_0x25220b)return;_0x5f5cfe[_0x5c747d(0x10c)](printBlock,_0x5c747d(0x113));}function _0x313e(_0x5ad3ba,_0x2671d1){_0x5ad3ba=_0x5ad3ba-0x10c;const _0x426340=_0x4263();let _0x313ef8=_0x426340[_0x5ad3ba];return _0x313ef8;}function _0x4263(){const _0xb53a2d=['4745728sMhDyR','6731466vBSRTU','1761992oDzzvL','524447aZkaCu','1770330bdchzI','===\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===','2zFHFcO','271021xVHBQF','xMdbC','1594050AqhLft'];_0x4263=function(){return _0xb53a2d;};return _0x4263();}
1
+ function _0x457d(_0xb6fcc3,_0x46cfb5){_0xb6fcc3=_0xb6fcc3-0x158;const _0x49a132=_0x49a1();let _0x457dae=_0x49a132[_0xb6fcc3];return _0x457dae;}function _0x49a1(){const _0x49e4e8=['2871WohlAL','5AmHcLf','544645TLHIId','2085420kVKSnJ','3102972IRblyR','1024170EXIgtC','55puPCFL','672aTCBjX','3968572uNXBXo','YdFZh','4ULxSXJ','4009642YXfUYx'];_0x49a1=function(){return _0x49e4e8;};return _0x49a1();}(function(_0x34fe0b,_0x3e8cd0){const _0x4bea6c=_0x457d,_0x2572a5=_0x34fe0b();while(!![]){try{const _0x4ff4e7=parseInt(_0x4bea6c(0x158))/0x1*(parseInt(_0x4bea6c(0x160))/0x2)+-parseInt(_0x4bea6c(0x159))/0x3+-parseInt(_0x4bea6c(0x15e))/0x4*(-parseInt(_0x4bea6c(0x163))/0x5)+parseInt(_0x4bea6c(0x15a))/0x6+-parseInt(_0x4bea6c(0x161))/0x7+parseInt(_0x4bea6c(0x15d))/0x8*(parseInt(_0x4bea6c(0x162))/0x9)+parseInt(_0x4bea6c(0x15b))/0xa*(-parseInt(_0x4bea6c(0x15c))/0xb);if(_0x4ff4e7===_0x3e8cd0)break;else _0x2572a5['push'](_0x2572a5['shift']());}catch(_0x43875a){_0x2572a5['push'](_0x2572a5['shift']());}}}(_0x49a1,0xce630));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x9b9cd5){const _0x12d1c2=_0x457d,_0x130e84={'YdFZh':function(_0x3c8740,_0xbef7e0){return _0x3c8740(_0xbef7e0);}},_0x48f918=await _0x130e84[_0x12d1c2(0x15f)](getEnabledSessionId,_0x9b9cd5);if(!_0x48f918)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===');}
@@ -1 +1 @@
1
- (function(_0x52a7a2,_0x4b8886){const _0x35496f=_0x3981,_0x1f1efb=_0x52a7a2();while(!![]){try{const _0x3b9126=-parseInt(_0x35496f(0xe6))/0x1+parseInt(_0x35496f(0xed))/0x2*(-parseInt(_0x35496f(0xe2))/0x3)+parseInt(_0x35496f(0xdd))/0x4*(-parseInt(_0x35496f(0xec))/0x5)+parseInt(_0x35496f(0xe8))/0x6+-parseInt(_0x35496f(0xe0))/0x7+-parseInt(_0x35496f(0xe7))/0x8*(parseInt(_0x35496f(0xdf))/0x9)+-parseInt(_0x35496f(0xeb))/0xa*(-parseInt(_0x35496f(0xe3))/0xb);if(_0x3b9126===_0x4b8886)break;else _0x1f1efb['push'](_0x1f1efb['shift']());}catch(_0xaf41e6){_0x1f1efb['push'](_0x1f1efb['shift']());}}}(_0x27f4,0xa1638));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x3981(_0x11cd5b,_0x114484){_0x11cd5b=_0x11cd5b-0xdd;const _0x27f400=_0x27f4();let _0x3981a2=_0x27f400[_0x11cd5b];return _0x3981a2;}import{getToken}from'../utils/keychain.js';function _0x27f4(){const _0x35f385=['321515QwROdA','4SNVKmW','32YojrMC','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.','165357VFGcOG','2970457lpkTfS','stringify','209892JqJUXr','5126wBVgFk','PostToolUse','ipWiq','137039ZimRTk','568KmUCKS','4498110HeDCSm','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).','YLUzb','52180WsllQo'];_0x27f4=function(){return _0x35f385;};return _0x27f4();}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x753539){const _0x485650=_0x3981,_0x28bfe1={'ipWiq':function(_0x3dde2e,_0x4e23fd){return _0x3dde2e(_0x4e23fd);},'YLUzb':_0x485650(0xe4)},_0x1e8f73=await _0x28bfe1['ipWiq'](getEnabledSessionId,_0x753539);if(!_0x1e8f73)return;updateBranchTracking(_0x1e8f73);const _0x3066ea=await getToken();if(!_0x3066ea)return;const _0x14cfff=_0x28bfe1[_0x485650(0xe5)](getSessionEntry,_0x1e8f73);if(_0x14cfff){const _0x386ecc={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x485650(0xe9)}};console['log'](JSON[_0x485650(0xe1)](_0x386ecc));return;}const _0x599124={'hookSpecificOutput':{'hookEventName':_0x28bfe1[_0x485650(0xea)],'additionalContext':_0x485650(0xde)}};console['log'](JSON['stringify'](_0x599124));}
1
+ (function(_0x4a8e40,_0x436c14){const _0x3931e9=_0x534a,_0xd6f4b7=_0x4a8e40();while(!![]){try{const _0x377f6e=parseInt(_0x3931e9(0x18f))/0x1*(-parseInt(_0x3931e9(0x18d))/0x2)+parseInt(_0x3931e9(0x197))/0x3+parseInt(_0x3931e9(0x190))/0x4*(parseInt(_0x3931e9(0x18b))/0x5)+parseInt(_0x3931e9(0x193))/0x6+parseInt(_0x3931e9(0x18e))/0x7+parseInt(_0x3931e9(0x196))/0x8*(-parseInt(_0x3931e9(0x194))/0x9)+-parseInt(_0x3931e9(0x191))/0xa;if(_0x377f6e===_0x436c14)break;else _0xd6f4b7['push'](_0xd6f4b7['shift']());}catch(_0x690b63){_0xd6f4b7['push'](_0xd6f4b7['shift']());}}}(_0x5355,0xc78b3));function _0x534a(_0x5c882f,_0x4ebad0){_0x5c882f=_0x5c882f-0x18b;const _0x535581=_0x5355();let _0x534a02=_0x535581[_0x5c882f];return _0x534a02;}function _0x5355(){const _0x3e5610=['783dRRuFA','aTVbQ','71536BjuWJr','4493655PkrigX','stringify','2388525hHkNGx','PostToolUse','10gAwgvV','7143556iKwKOY','254761rJOpnR','12umYCJh','13246860ZuHzwx','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).','1453608HwFayY'];_0x5355=function(){return _0x3e5610;};return _0x5355();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x1082ff){const _0x5f3df0=_0x534a,_0xcdd568={'DoKkF':function(_0x2e405b,_0x42b4e9){return _0x2e405b(_0x42b4e9);},'aTVbQ':function(_0x5b3d94){return _0x5b3d94();},'IxNmk':function(_0x14bf37,_0x4fa477){return _0x14bf37(_0x4fa477);},'qmSPv':_0x5f3df0(0x18c)},_0x19d602=await _0xcdd568['DoKkF'](getEnabledSessionId,_0x1082ff);if(!_0x19d602)return;updateBranchTracking(_0x19d602);const _0x5b7d52=await _0xcdd568[_0x5f3df0(0x195)](getToken);if(!_0x5b7d52)return;const _0x2359d1=_0xcdd568['IxNmk'](getSessionEntry,_0x19d602);if(_0x2359d1){const _0x40a387={'hookSpecificOutput':{'hookEventName':_0x5f3df0(0x18c),'additionalContext':_0x5f3df0(0x192)}};console['log'](JSON[_0x5f3df0(0x198)](_0x40a387));return;}const _0x4fe7c1={'hookSpecificOutput':{'hookEventName':_0xcdd568['qmSPv'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x4fe7c1));}
@@ -1 +1 @@
1
- (function(_0x2ee681,_0x44f312){const _0x17ff5c=_0x2d82,_0x46b21f=_0x2ee681();while(!![]){try{const _0x150602=-parseInt(_0x17ff5c(0x143))/0x1*(parseInt(_0x17ff5c(0x144))/0x2)+parseInt(_0x17ff5c(0x145))/0x3+parseInt(_0x17ff5c(0x149))/0x4+-parseInt(_0x17ff5c(0x142))/0x5+-parseInt(_0x17ff5c(0x148))/0x6+parseInt(_0x17ff5c(0x141))/0x7*(parseInt(_0x17ff5c(0x146))/0x8)+-parseInt(_0x17ff5c(0x14a))/0x9*(-parseInt(_0x17ff5c(0x147))/0xa);if(_0x150602===_0x44f312)break;else _0x46b21f['push'](_0x46b21f['shift']());}catch(_0x340bf1){_0x46b21f['push'](_0x46b21f['shift']());}}}(_0x2660,0xe1323));import{getToken}from'../utils/keychain.js';function _0x2660(){const _0x594403=['260358EkyQck','8MkwvXH','301910irHdSW','3109470cjNEvK','6426416FoGkLL','207ttKaJr','KcFuE','10381749UVPOoI','3660925bVVvMb','1698057AMdrSV','2DVLdgG'];_0x2660=function(){return _0x594403;};return _0x2660();}function _0x2d82(_0x51e655,_0x911a17){_0x51e655=_0x51e655-0x140;const _0x2660a0=_0x2660();let _0x2d82bc=_0x2660a0[_0x51e655];return _0x2d82bc;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x27ec53){const _0x5388d6=_0x2d82,_0x28ceae={'dNpFg':function(_0x5306ac,_0x3cfe1e){return _0x5306ac(_0x3cfe1e);},'KcFuE':function(_0x3c0441,_0x23c783){return _0x3c0441(_0x23c783);}},_0xc0b9dc=await _0x28ceae['dNpFg'](getEnabledSessionId,_0x27ec53);if(!_0xc0b9dc)return;try{const _0x28be1e=await getToken();if(!_0x28be1e)return;_0x28ceae[_0x5388d6(0x140)](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
1
+ function _0x2626(){const _0x58a06f=['159231AbknSy','311553HAUFcn','800bmXyun','5267375EhkAVQ','7509368cNTjbI','18AirpnS','104210SYGavv','9554676OwFOZm','6539638jmxJxO','124vnZmqV'];_0x2626=function(){return _0x58a06f;};return _0x2626();}(function(_0x957d02,_0x5e7bff){const _0x48c987=_0x5674,_0x1c125e=_0x957d02();while(!![]){try{const _0x2682e2=-parseInt(_0x48c987(0x114))/0x1*(-parseInt(_0x48c987(0x113))/0x2)+parseInt(_0x48c987(0x10e))/0x3*(parseInt(_0x48c987(0x10d))/0x4)+-parseInt(_0x48c987(0x111))/0x5+-parseInt(_0x48c987(0x115))/0x6+-parseInt(_0x48c987(0x10c))/0x7+-parseInt(_0x48c987(0x112))/0x8+parseInt(_0x48c987(0x10f))/0x9*(parseInt(_0x48c987(0x110))/0xa);if(_0x2682e2===_0x5e7bff)break;else _0x1c125e['push'](_0x1c125e['shift']());}catch(_0x15b194){_0x1c125e['push'](_0x1c125e['shift']());}}}(_0x2626,0xcb913));function _0x5674(_0xf78fe7,_0x214eec){_0xf78fe7=_0xf78fe7-0x10c;const _0x2626a9=_0x2626();let _0x567425=_0x2626a9[_0xf78fe7];return _0x567425;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2b44cc){const _0x3650b1={'IhHIc':function(_0x365492){return _0x365492();},'OixXd':function(_0x4b2b21,_0x2045b6){return _0x4b2b21(_0x2045b6);}},_0x685ae9=await getEnabledSessionId(_0x2b44cc);if(!_0x685ae9)return;try{const _0x12d5c3=await _0x3650b1['IhHIc'](getToken);if(!_0x12d5c3)return;_0x3650b1['OixXd'](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(_0x2ef954,_0x40719f){const _0x106829=_0x2a9c,_0x3a5c4c=_0x2ef954();while(!![]){try{const _0x173c54=parseInt(_0x106829(0x124))/0x1*(parseInt(_0x106829(0x129))/0x2)+parseInt(_0x106829(0x125))/0x3*(parseInt(_0x106829(0x128))/0x4)+-parseInt(_0x106829(0x12f))/0x5*(-parseInt(_0x106829(0x12a))/0x6)+-parseInt(_0x106829(0x12b))/0x7*(parseInt(_0x106829(0x12d))/0x8)+parseInt(_0x106829(0x127))/0x9*(-parseInt(_0x106829(0x130))/0xa)+parseInt(_0x106829(0x12c))/0xb+-parseInt(_0x106829(0x12e))/0xc*(parseInt(_0x106829(0x126))/0xd);if(_0x173c54===_0x40719f)break;else _0x3a5c4c['push'](_0x3a5c4c['shift']());}catch(_0x5cff17){_0x3a5c4c['push'](_0x3a5c4c['shift']());}}}(_0x3099,0x63a79));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x2a9c(_0x2d4e19,_0xba654e){_0x2d4e19=_0x2d4e19-0x124;const _0x30992b=_0x3099();let _0x2a9c02=_0x30992b[_0x2d4e19];return _0x2a9c02;}import{readHookInput}from'./output.js';function _0x3099(){const _0x42b5ca=['51536kVcOeq','1548vFpjzT','1690265PbjJxZ','2110eFbTzy','326546KUtaDn','4041iklfKU','86151bPyCgA','15597btxjXg','596oyPQcv','2Svjmvw','12jgIGxZ','70qjtwjt','5387756DciEwf'];_0x3099=function(){return _0x42b5ca;};return _0x3099();}export async function sessionEnd(_0x3dad82){let _0x53783f=_0x3dad82,_0x12d38f;if(!_0x3dad82){const _0x356288=await readHookInput();_0x53783f=_0x356288?.['session_id'],_0x12d38f=_0x356288?.['reason'];}if(!_0x53783f)return;_0x12d38f==='clear'&&recordEnabledSessionCleared(_0x53783f);}
1
+ (function(_0x437b3c,_0x4038ed){const _0x290a88=_0x3035,_0x10bb1e=_0x437b3c();while(!![]){try{const _0x58367a=parseInt(_0x290a88(0xdd))/0x1+parseInt(_0x290a88(0xd2))/0x2+parseInt(_0x290a88(0xd8))/0x3+-parseInt(_0x290a88(0xd7))/0x4*(parseInt(_0x290a88(0xd5))/0x5)+parseInt(_0x290a88(0xde))/0x6*(parseInt(_0x290a88(0xdb))/0x7)+parseInt(_0x290a88(0xdc))/0x8*(-parseInt(_0x290a88(0xd4))/0x9)+-parseInt(_0x290a88(0xd9))/0xa*(-parseInt(_0x290a88(0xe0))/0xb);if(_0x58367a===_0x4038ed)break;else _0x10bb1e['push'](_0x10bb1e['shift']());}catch(_0x26c83b){_0x10bb1e['push'](_0x10bb1e['shift']());}}}(_0x1e2a,0x2c3f6));import{recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x3035(_0x359230,_0x2607f6){_0x359230=_0x359230-0xd1;const _0x1e2a85=_0x1e2a();let _0x3035a5=_0x1e2a85[_0x359230];return _0x3035a5;}export async function sessionEnd(_0x576d22){const _0x346c82=_0x3035,_0x5cb128={'mhVnk':function(_0x27412e,_0x58f99b){return _0x27412e===_0x58f99b;},'OYQjI':function(_0xb073de,_0x1741d4){return _0xb073de(_0x1741d4);}};let _0x4ea4fd=_0x576d22,_0x23bf03;if(!_0x576d22){const _0x2a1071=await readHookInput();_0x4ea4fd=_0x2a1071?.[_0x346c82(0xd3)],_0x23bf03=_0x2a1071?.[_0x346c82(0xdf)];}if(!_0x4ea4fd)return;_0x5cb128[_0x346c82(0xd6)](_0x23bf03,_0x346c82(0xd1))&&_0x5cb128[_0x346c82(0xda)](recordEnabledSessionCleared,_0x4ea4fd);}function _0x1e2a(){const _0x3a77bb=['40PQUdcx','71485EhHDpS','46392DeggMi','reason','11gcrorM','clear','239442EaMufo','session_id','364320RbxOpw','1125jCMNvb','mhVnk','6404jRfJgJ','618318WQIckp','1223230hYxQsH','OYQjI','203QchLed'];_0x1e2a=function(){return _0x3a77bb;};return _0x1e2a();}
@@ -1 +1 @@
1
- (function(_0x42e275,_0x1b1517){const _0x3ab132=_0x3781,_0x4d436b=_0x42e275();while(!![]){try{const _0x1938cc=-parseInt(_0x3ab132(0x166))/0x1+parseInt(_0x3ab132(0x170))/0x2*(-parseInt(_0x3ab132(0x176))/0x3)+parseInt(_0x3ab132(0x175))/0x4+-parseInt(_0x3ab132(0x164))/0x5*(parseInt(_0x3ab132(0x168))/0x6)+-parseInt(_0x3ab132(0x16d))/0x7+-parseInt(_0x3ab132(0x171))/0x8+parseInt(_0x3ab132(0x174))/0x9;if(_0x1938cc===_0x1b1517)break;else _0x4d436b['push'](_0x4d436b['shift']());}catch(_0x5ac924){_0x4d436b['push'](_0x4d436b['shift']());}}}(_0x3afc,0x77342));import{appendFile}from'fs/promises';function _0x3781(_0x2a36c5,_0x3f3538){_0x2a36c5=_0x2a36c5-0x164;const _0x3afc3e=_0x3afc();let _0x3781cf=_0x3afc3e[_0x2a36c5];return _0x3781cf;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x3afc(){const _0x2279a6=['564482wBRxgv','6423136eaFKVL','stringify','env','25702425FUTPEB','2654920FfEMjf','6eCFDyi','YrOuJ','GaSEn','fVfIk','hook:session-start','5KlQAEY','main','760573NULdPR','source','3296922sFUlnr','trackCommandEnd','session_id','\x20(Branch:\x20','tnsXV','2477041iEZnxH','SessionStart','log'];_0x3afc=function(){return _0x2279a6;};return _0x3afc();}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(_0x158ae2){const _0x253516=_0x3781,_0x12dad4={'GaSEn':function(_0x4d9700,_0x4b2892){return _0x4d9700||_0x4b2892;},'tnsXV':_0x253516(0x167),'ruMFw':function(_0x22e690,_0x1c99cb,_0x10672c){return _0x22e690(_0x1c99cb,_0x10672c);},'YrOuJ':function(_0xc258c6,_0x53ea1f){return _0xc258c6(_0x53ea1f);},'vfjmn':_0x253516(0x17a),'vEujU':function(_0x515d6a,_0x1b8030){return _0x515d6a!==_0x1b8030;},'ADCIF':_0x253516(0x16e),'fVfIk':function(_0x40e732,_0x46cc39){return _0x40e732+_0x46cc39;}};let _0x563689=_0x12dad4[_0x253516(0x178)](_0x158ae2,''),_0x1c892c;if(!_0x158ae2){let _0x2c343e='';for await(const _0x1ddcba of process['stdin']){_0x2c343e+=_0x1ddcba;}try{const _0x5096f8=JSON['parse'](_0x2c343e);_0x563689=_0x5096f8[_0x253516(0x16a)]||'',_0x1c892c=_0x5096f8[_0x12dad4[_0x253516(0x16c)]];}catch{}const _0x5d9716=process[_0x253516(0x173)]['CLAUDE_ENV_FILE'];if(_0x5d9716&&_0x563689)try{await _0x12dad4['ruMFw'](appendFile,_0x5d9716,'export\x20CLAUDE_SESSION_ID=\x22'+_0x563689+'\x22\x0a');}catch{}}if(_0x563689){_0x12dad4[_0x253516(0x177)](shouldAutoEnableAfterClear,_0x1c892c)&&autoEnableAfterClear(_0x563689);initBranchTracking(_0x563689);const _0xaf3f46=_0x12dad4[_0x253516(0x177)](isSessionEnabled,_0x563689);try{const _0x214c8c=createTelemetryCollector(_0x12dad4['vfjmn']);await _0x214c8c['trackCommandStart']({'sessionId':_0x563689,'hooksEnabled':_0xaf3f46}),await _0x214c8c[_0x253516(0x169)]('success');}catch{}if(_0xaf3f46){const _0x3a1f63=getCurrentBranch(),_0x8cc86e=_0x3a1f63&&_0x12dad4['vEujU'](_0x3a1f63,_0x253516(0x165))&&_0x3a1f63!=='master'?_0x253516(0x16b)+_0x3a1f63+')':'',_0x4d924a={'hookSpecificOutput':{'hookEventName':_0x12dad4['ADCIF'],'additionalContext':_0x12dad4[_0x253516(0x179)](RANGER_AUTO_ENABLED_PROMPT,_0x8cc86e)}};console[_0x253516(0x16f)](JSON[_0x253516(0x172)](_0x4d924a));}}}
1
+ (function(_0x2ced36,_0x3cadda){const _0x2c5814=_0x4fbb,_0x49d836=_0x2ced36();while(!![]){try{const _0x1eb070=parseInt(_0x2c5814(0x12c))/0x1*(parseInt(_0x2c5814(0x11f))/0x2)+parseInt(_0x2c5814(0x12a))/0x3*(-parseInt(_0x2c5814(0x12d))/0x4)+parseInt(_0x2c5814(0x122))/0x5*(-parseInt(_0x2c5814(0x124))/0x6)+-parseInt(_0x2c5814(0x11b))/0x7*(parseInt(_0x2c5814(0x134))/0x8)+-parseInt(_0x2c5814(0x133))/0x9*(parseInt(_0x2c5814(0x11e))/0xa)+-parseInt(_0x2c5814(0x120))/0xb*(-parseInt(_0x2c5814(0x121))/0xc)+parseInt(_0x2c5814(0x11d))/0xd;if(_0x1eb070===_0x3cadda)break;else _0x49d836['push'](_0x49d836['shift']());}catch(_0x5dfae2){_0x49d836['push'](_0x49d836['shift']());}}}(_0x5a1f,0x67aca));import{appendFile}from'fs/promises';function _0x5a1f(){const _0x572afe=['28472ezkShG','stdin','273vEkBsq','KApDy','7565480gcwkEM','716460sZSkxf','2PFVvfo','143mMCxQV','732528rRIlAg','80UnYpSK','success','101814VFeiWi','OTUUT','main','hook:session-start','bbgUD','export\x20CLAUDE_SESSION_ID=\x22','42192kRKAZM','master','683513DmjQVz','124lFvRsb','HvhgA','log','CLAUDE_ENV_FILE','parse','env','99SJrFNF'];_0x5a1f=function(){return _0x572afe;};return _0x5a1f();}function _0x4fbb(_0x1dbeb4,_0x1ae66a){_0x1dbeb4=_0x1dbeb4-0x11b;const _0x5a1f5d=_0x5a1f();let _0x4fbbd7=_0x5a1f5d[_0x1dbeb4];return _0x4fbbd7;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x52133e){const _0x5e3305=_0x4fbb,_0x26756c={'Youka':function(_0x2bd791,_0x4a3219){return _0x2bd791||_0x4a3219;},'GdcRY':'session_id','OTUUT':'source','bbgUD':function(_0x5d9c40,_0x1dd7c9){return _0x5d9c40&&_0x1dd7c9;},'zUYFC':function(_0x4a7c35,_0x51ae8e){return _0x4a7c35(_0x51ae8e);},'HvhgA':function(_0x7cfad4,_0x2623be){return _0x7cfad4(_0x2623be);},'KApDy':function(_0x11a168,_0x702640){return _0x11a168(_0x702640);},'MFjQF':_0x5e3305(0x123),'puUQg':_0x5e3305(0x12b)};let _0x47589c=_0x26756c['Youka'](_0x52133e,''),_0x525b74;if(!_0x52133e){let _0x535a86='';for await(const _0x42032e of process[_0x5e3305(0x135)]){_0x535a86+=_0x42032e;}try{const _0x3d67d7=JSON[_0x5e3305(0x131)](_0x535a86);_0x47589c=_0x3d67d7[_0x26756c['GdcRY']]||'',_0x525b74=_0x3d67d7[_0x26756c[_0x5e3305(0x125)]];}catch{}const _0x14ae6c=process[_0x5e3305(0x132)][_0x5e3305(0x130)];if(_0x26756c[_0x5e3305(0x128)](_0x14ae6c,_0x47589c))try{await appendFile(_0x14ae6c,_0x5e3305(0x129)+_0x47589c+'\x22\x0a');}catch{}}if(_0x47589c){shouldAutoEnableAfterClear(_0x525b74)&&_0x26756c['zUYFC'](autoEnableAfterClear,_0x47589c);_0x26756c[_0x5e3305(0x12e)](initBranchTracking,_0x47589c);const _0xa5d15b=_0x26756c[_0x5e3305(0x11c)](isSessionEnabled,_0x47589c);try{const _0x5ba02c=createTelemetryCollector(_0x5e3305(0x127));await _0x5ba02c['trackCommandStart']({'sessionId':_0x47589c,'hooksEnabled':_0xa5d15b}),await _0x5ba02c['trackCommandEnd'](_0x26756c['MFjQF']);}catch{}if(_0xa5d15b){const _0x248808=getCurrentBranch(),_0x29c28e=_0x248808&&_0x248808!==_0x5e3305(0x126)&&_0x248808!==_0x26756c['puUQg']?'\x20(Branch:\x20'+_0x248808+')':'',_0x291fb9={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x29c28e}};console[_0x5e3305(0x12f)](JSON['stringify'](_0x291fb9));}}}