@ranger-testing/ranger-cli 3.1.7-alpha.387730d-58 → 3.1.7-alpha.44736ee-66

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 (88) 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/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/actors.js +1 -0
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -1
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -1
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/organizationEnvApi.js +1 -1
  61. package/build/commands/utils/playwrightCli.js +1 -1
  62. package/build/commands/utils/profileMessages.js +1 -1
  63. package/build/commands/utils/profileSetupBanner.js +1 -1
  64. package/build/commands/utils/projectsConfig.js +1 -1
  65. package/build/commands/utils/rangerConfig.js +1 -1
  66. package/build/commands/utils/rangerRoot.js +1 -1
  67. package/build/commands/utils/rangerwrightCli.js +1 -1
  68. package/build/commands/utils/resolveProfileContext.js +1 -1
  69. package/build/commands/utils/resolveProfileUrl.js +1 -1
  70. package/build/commands/utils/retry.js +1 -1
  71. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  72. package/build/commands/utils/sessionCache.js +1 -1
  73. package/build/commands/utils/settings.js +1 -1
  74. package/build/commands/utils/skillContent.js +1 -1
  75. package/build/commands/utils/skills.js +1 -1
  76. package/build/commands/utils/stitchWebmFiles.js +1 -1
  77. package/build/commands/utils/telemetry.js +1 -1
  78. package/build/commands/utils/tokenRefresh.js +1 -1
  79. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  80. package/build/commands/utils/tunnelClient.js +1 -1
  81. package/build/commands/utils/userApi.js +1 -1
  82. package/build/commands/utils/version.js +1 -1
  83. package/build/commands/verifyFeature.js +1 -1
  84. package/build/commands/verifyFeatureCli.js +1 -1
  85. package/build/commands/verifyFeatureNovaCli.js +1 -1
  86. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  87. package/build/skills/ranger/SKILL.md +8 -0
  88. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x1e5f3e=_0xddcf;(function(_0x59c618,_0x47d575){const _0x2e52fb=_0xddcf,_0x485d6e=_0x59c618();while(!![]){try{const _0x18c3b1=parseInt(_0x2e52fb(0x25f))/0x1*(-parseInt(_0x2e52fb(0x201))/0x2)+-parseInt(_0x2e52fb(0x1fd))/0x3+-parseInt(_0x2e52fb(0x204))/0x4+-parseInt(_0x2e52fb(0x1f0))/0x5*(parseInt(_0x2e52fb(0x244))/0x6)+parseInt(_0x2e52fb(0x280))/0x7+parseInt(_0x2e52fb(0x266))/0x8+parseInt(_0x2e52fb(0x251))/0x9;if(_0x18c3b1===_0x47d575)break;else _0x485d6e['push'](_0x485d6e['shift']());}catch(_0xcc4cc2){_0x485d6e['push'](_0x485d6e['shift']());}}}(_0x446d,0x71aae));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x53eba1 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x1e5f3e(0x283),bold=_0x1bab0c=>_0x1e5f3e(0x25a)+_0x1bab0c+'\x1b[0m';function _0xddcf(_0x470ec3,_0x15dc40){_0x470ec3=_0x470ec3-0x1bc;const _0x446d54=_0x446d();let _0xddcf7f=_0x446d54[_0x470ec3];return _0xddcf7f;}function getGitRepoUrl(){const _0x2a0cdd=_0x1e5f3e,_0xecfd38={'chIJl':'git\x20remote\x20get-url\x20origin','ylWHx':'pipe','FYlfw':'github.com/'};try{const _0x5bb68c=execSync(_0xecfd38[_0x2a0cdd(0x281)],{'encoding':'utf-8','stdio':[_0xecfd38[_0x2a0cdd(0x208)],_0xecfd38[_0x2a0cdd(0x208)],_0x2a0cdd(0x285)]})[_0x2a0cdd(0x21a)]();return _0x5bb68c[_0x2a0cdd(0x267)](/\.git$/,'')[_0x2a0cdd(0x267)](/^git@github\.com:/,_0xecfd38['FYlfw'])[_0x2a0cdd(0x267)](/^https?:\/\//,'');}catch{return undefined;}}function _0x446d(){const _0x6d0727=['parentItemId','\x20scenarios.','pendingItems','stdin','MaLgb','scenarios','5mMzXLx','EUVDp','RkqcZ','MLxwo','type','screenshotUrls','closed','spatial','SFych','zjzTX','\x20\x20\x20▶️\x20Started\x20session\x20','eESxC','\x20\x20\x20','176133MqxwOB','.\x20Feature\x20review\x20has\x20','Cannot\x20conclude\x20session\x20with\x20status:\x20','hHCbS','98zWYdoz','TNSbI','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','2941176zXfQCD','latestReview','/api/v1/mcp/browser-sessions/','\x20\x20\x20\x20\x20\x20Approved','ylWHx','Please\x20finish\x20your\x20review\x20first:','RSmIF','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x20—\x20no\x20comments','verification_in_progress','sessionId','TtBRL','stats','canonicalFlow','VTtSL','CLAUDE_SESSION_ID','toFixed','ixAdC','\x20--include-deleted','pUtqR','qgLJP','slice','trim','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','textContent','unaddressedComments','Scenario\x20','terminalReason','authorName','blocked','.png','xkXzC','timing','RCiAB','write','\x20blocked','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','verified','toLocaleDateString','\x0a✅\x20Resumed\x20feature\x20review:\x20','join','mfJjO','createdAt','blockedReason','domRef','iteration','IcJQN','limit','approved','zIBtE','repeat','isKeyStep','\x20--limit\x20','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','pheHq','canceledReason','utf-8','stringify','kkesu','point','TkImt','No\x20sessions\x20found.','description','JJyrI','419982WzpwLA','TNULl','list','items','\x20\x20\x20Status:\x20','UMnTt','pop','Showing\x20','linkedSession','RANGER_TEST_USERNAME','git\x20rev-parse\x20--abbrev-ref\x20HEAD','hyFAO','\x20--current-branch','5383953CSsjcZ','4|3|1|0|2|5','excludeScenarios','status','prompt','fvBhR','lXGwN','log','assetUrl','\x1b[1m','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','name','IdywV','reports','485MOpQNn','split','\x20at\x20[','Not\x20in\x20a\x20git\x20repository.','EuRgd','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','length','5628808obSTnc','replace','UTtYx','version','QGBYU','warn','notes','fvorM','gitRepoUrl','YgfJO','\x20\x20\x20Created:\x20','\x0aGenerating\x20report...','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','bIxec','round','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','json','agentResponse','No\x20scenarios\x20found.','\x0aAvailable\x20scenarios:','NXqWx','nosWm','bYxLc','GZDBE','HVSWZ','\x0a✅\x20Feature\x20review\x20created:\x20','360717wdsmsk','chIJl','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','active-feature.txt','arrayBuffer','pipe','CctCe','ZWqof','stdout','\x0aCreating\x20feature\x20review...','\x0a✅\x20Scenario\x20added','\x0a\x20\x20\x20Scenarios:','from','\x20\x20\x20Description:\x20','\x20in\x20progress','vhGZA','incompleteReason','error','gVJNe','OJpJI','isInteger','\x20\x20\x20\x20\x20\x20Cancelled:\x20','.md','dashboardUrl','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','currentBranch','XnYzF','exit','filter','\x20\x20\x20\x20\x20\x20Incomplete:\x20','OCltr','):\x20\x22','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','includeDeleted','any','\x0a✅\x20Session\x20','\x20\x20\x20\x20\x20Progress:\x20','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','toLocaleString','BoyYX','find','map','gitBranch','\x20[has\x20reviewer\x20feedback]','YFJUc','\x20\x20\x20\x20','\x20of\x20','\x0a📋\x20Feedback\x20for:\x20','\x20feature\x20review(s)\x20found','has','checklistItems','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','selector','KAYAh','get','scenario','totalCount','\x20\x20\x20\x20\x20ID:\x20','\x0a✅\x20Scenario\x20updated','\x0aConcluding\x20session...','env','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','assetType','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','completedAt','\x20\x20\x20\x20\x20Branch:\x20','...','CGqhm','currentSessionId','\x20(v','eszpn'];_0x446d=function(){return _0x6d0727;};return _0x446d();}function getGitBranch(){const _0x50882f=_0x1e5f3e,_0x2b473b={'GZDBE':function(_0x5a166c,_0x296da7,_0x34b023){return _0x5a166c(_0x296da7,_0x34b023);},'pUtqR':_0x50882f(0x23c),'bYxLc':'pipe'};try{return _0x2b473b[_0x50882f(0x27d)](execSync,_0x50882f(0x24e),{'encoding':_0x2b473b[_0x50882f(0x217)],'stdio':[_0x2b473b['bYxLc'],_0x2b473b['bYxLc'],_0x2b473b[_0x50882f(0x27c)]]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x3fbe8d=_0x1e5f3e,_0x533bbc={'RSmIF':function(_0x31889d,_0x295475,_0x1a15fa){return _0x31889d(_0x295475,_0x1a15fa);},'TtBRL':function(_0x3cc509){return _0x3cc509();},'RkqcZ':function(_0x218d2f,_0x2a0708,_0x26380e){return _0x218d2f(_0x2a0708,_0x26380e);},'hyFAO':'utf-8'},_0x3462f2=_0x533bbc[_0x3fbe8d(0x20a)](join,_0x533bbc[_0x3fbe8d(0x20f)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x3462f2))return null;try{const _0x1503e5=await _0x533bbc[_0x3fbe8d(0x1f2)](readFile,_0x3462f2,_0x533bbc[_0x3fbe8d(0x24f)]);return _0x1503e5[_0x3fbe8d(0x21a)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x5f469e){const _0x50f999=_0x1e5f3e,_0x5896be={'pXfFo':function(_0x202e54,_0x3f0f61,_0xd069c3){return _0x202e54(_0x3f0f61,_0xd069c3);},'kBsDl':function(_0x4b368c,_0x63b894,_0xb04177,_0x5ab306){return _0x4b368c(_0x63b894,_0xb04177,_0x5ab306);},'jRYPk':_0x50f999(0x23c)},_0x18238c=getRangerDir(),_0x481cb2=join(_0x18238c,ACTIVE_FEATURE_FILE);!existsSync(_0x18238c)&&await _0x5896be['pXfFo'](mkdir,_0x18238c,{'recursive':!![]}),await _0x5896be['kBsDl'](writeFile,_0x481cb2,_0x5f469e,_0x5896be['jRYPk']);}function getProgressDisplay(_0x5a547b){const _0x1297e3=_0x1e5f3e,_0x527c1f={'vdNDy':function(_0x405135,_0xc373d8){return _0x405135+_0xc373d8;},'PgbAQ':function(_0x16eac9,_0x76a5c4){return _0x16eac9+_0x76a5c4;},'ixAdC':function(_0x28c933,_0x407e42){return _0x28c933===_0x407e42;},'zIBtE':function(_0xd4663f,_0x3248ed){return _0xd4663f*_0x3248ed;},'TTLjA':function(_0x13469f,_0x4cc9e3){return _0x13469f/_0x4cc9e3;},'YgfJO':function(_0xb15b0a,_0x28dd42){return _0xb15b0a>_0x28dd42;}},_0x2d9394=_0x5a547b['verifiedItems']||0x0,_0x18b183=_0x5a547b['verificationInProgressItems']||0x0,_0xf40656=_0x5a547b['blockedItems']||0x0,_0x1b7d82=_0x5a547b['incompleteItems']||0x0,_0x351793=_0x5a547b[_0x1297e3(0x1ec)]||0x0,_0x586238=_0x527c1f['vdNDy'](_0x527c1f['PgbAQ'](_0x2d9394+_0x18b183,_0xf40656)+_0x1b7d82,_0x351793);if(_0x527c1f[_0x1297e3(0x215)](_0x586238,0x0))return'-';const _0x3099ad=0xa,_0x50d6a9=Math[_0x1297e3(0x274)](_0x527c1f[_0x1297e3(0x235)](_0x527c1f['TTLjA'](_0x2d9394,_0x586238),_0x3099ad)),_0x34ae6b='█'[_0x1297e3(0x236)](_0x50d6a9)+'░'['repeat'](_0x3099ad-_0x50d6a9),_0x13a471=[];if(_0x527c1f['YgfJO'](_0xf40656,0x0))_0x13a471['push'](_0xf40656+_0x1297e3(0x227));if(_0x1b7d82>0x0)_0x13a471['push'](_0x1b7d82+'\x20incomplete');if(_0x18b183>0x0)_0x13a471['push'](_0x18b183+_0x1297e3(0x28e));const _0xc005fc=_0x527c1f[_0x1297e3(0x26f)](_0x13a471[_0x1297e3(0x265)],0x0)?'\x20('+_0x13a471[_0x1297e3(0x22c)](',\x20')+')':'';return _0x34ae6b+'\x20'+_0x2d9394+'/'+_0x586238+'\x20verified'+_0xc005fc;}function getCurrentSessionItems(_0x5bca95,_0x3350ed){const _0x47b264=_0x1e5f3e;if(!_0x5bca95[_0x47b264(0x1e7)])return _0x3350ed['filter'](_0x1df935=>!_0x1df935[_0x47b264(0x20e)]);return _0x3350ed[_0x47b264(0x1bf)](_0x261dab=>_0x261dab['sessionId']===_0x5bca95['currentSessionId']||!_0x261dab['sessionId']);}function displayFeature(_0x5dfc6a,_0x4f9e40){const _0x553fe3=_0x1e5f3e,_0x59aa55={'KtFBW':function(_0x15d1bb,_0x1dac4c){return _0x15d1bb>_0x1dac4c;},'pheHq':function(_0x33a96e,_0x3d619c){return _0x33a96e<_0x3d619c;},'jKfXS':_0x553fe3(0x1f6),'IdywV':_0x553fe3(0x234),'OCltr':function(_0x97bbc0,_0x68e946){return _0x97bbc0===_0x68e946;},'UTtYx':function(_0x53ad0d,_0xf13d95){return _0x53ad0d!==_0xf13d95;},'KfoCw':'verified','JbBRI':_0x553fe3(0x1ce),'lMXcJ':function(_0x26b5af,_0x283664){return _0x26b5af+_0x283664;},'sNkZs':'incomplete'};console['log']('\x0a'+_0x5dfc6a[_0x553fe3(0x25c)]+'\x20('+_0x5dfc6a['dashboardUrl']+')');_0x5dfc6a[_0x553fe3(0x210)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x5dfc6a[_0x553fe3(0x210)]));_0x5dfc6a[_0x553fe3(0x242)]&&console[_0x553fe3(0x258)](_0x553fe3(0x28d)+_0x5dfc6a['description']);_0x5dfc6a[_0x553fe3(0x26e)]&&console['log']('\x20\x20\x20Repository:\x20'+_0x5dfc6a[_0x553fe3(0x26e)]);_0x5dfc6a[_0x553fe3(0x1cd)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x5dfc6a['gitBranch']);console['log'](_0x553fe3(0x270)+new Date(_0x5dfc6a['createdAt'])['toLocaleString']());_0x5dfc6a['completedAt']&&console[_0x553fe3(0x258)]('\x20\x20\x20Completed:\x20'+new Date(_0x5dfc6a['completedAt'])['toLocaleString']());if(_0x4f9e40&&_0x59aa55['KtFBW'](_0x4f9e40['length'],0x0)){console[_0x553fe3(0x258)](_0x553fe3(0x28b));for(let _0x2062c6=0x0;_0x59aa55[_0x553fe3(0x23a)](_0x2062c6,_0x4f9e40['length']);_0x2062c6++){const _0x37c1a9=_0x4f9e40[_0x2062c6];let _0x486fad;if(_0x37c1a9['status']===_0x59aa55['jKfXS']&&_0x37c1a9[_0x553fe3(0x21f)]===_0x59aa55[_0x553fe3(0x25d)])_0x486fad='✅';else{if(_0x59aa55[_0x553fe3(0x1c1)](_0x37c1a9[_0x553fe3(0x254)],_0x553fe3(0x229)))_0x486fad='🟢';else{if(_0x37c1a9[_0x553fe3(0x254)]==='incomplete')_0x486fad='🟠';else{if(_0x37c1a9['status']===_0x553fe3(0x221))_0x486fad='🛑';else{if(_0x37c1a9[_0x553fe3(0x254)]==='closed')_0x486fad='⛔';else _0x37c1a9[_0x553fe3(0x254)]===_0x553fe3(0x20d)?_0x486fad='⏳':_0x486fad='⬜';}}}}const _0x119a10=_0x37c1a9[_0x553fe3(0x269)]>0x1?_0x553fe3(0x1e8)+_0x37c1a9[_0x553fe3(0x269)]+')':'',_0x466cfc=_0x37c1a9['version']>0x1&&_0x37c1a9[_0x553fe3(0x1ea)]&&_0x59aa55[_0x553fe3(0x268)](_0x37c1a9[_0x553fe3(0x254)],_0x553fe3(0x1f6))&&_0x37c1a9['status']!==_0x59aa55['KfoCw']?_0x59aa55['JbBRI']:'';console['log'](_0x553fe3(0x1fc)+_0x59aa55['lMXcJ'](_0x2062c6,0x1)+'.\x20'+_0x486fad+'\x20'+_0x37c1a9['description']+_0x119a10+_0x466cfc);_0x59aa55['OCltr'](_0x37c1a9[_0x553fe3(0x254)],'blocked')&&_0x37c1a9['blockedReason']&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x37c1a9[_0x553fe3(0x22f)]);_0x37c1a9[_0x553fe3(0x254)]===_0x59aa55['sNkZs']&&_0x37c1a9['incompleteReason']&&console[_0x553fe3(0x258)](_0x553fe3(0x1c0)+_0x37c1a9[_0x553fe3(0x290)]);if(_0x37c1a9[_0x553fe3(0x254)]===_0x59aa55['jKfXS']&&_0x59aa55[_0x553fe3(0x1c1)](_0x37c1a9['terminalReason'],_0x59aa55[_0x553fe3(0x25d)]))console[_0x553fe3(0x258)](_0x553fe3(0x207));else _0x59aa55['OCltr'](_0x37c1a9[_0x553fe3(0x254)],_0x553fe3(0x1f6))&&_0x37c1a9['canceledReason']&&console[_0x553fe3(0x258)](_0x553fe3(0x295)+_0x37c1a9['canceledReason']);}}}export async function featureCreate(_0xf8461f,_0x50a76b){const _0x43ae5c=_0x1e5f3e,_0xf6a7c9={'avFhv':function(_0x468137,_0x50cd0b){return _0x468137===_0x50cd0b;},'tcSyC':function(_0x4237a7){return _0x4237a7();},'rfmQB':function(_0x3a1d7b,_0x4e5247){return _0x3a1d7b(_0x4e5247);},'VTtSL':function(_0x1cb125,_0x1a1c16,_0x510f04){return _0x1cb125(_0x1a1c16,_0x510f04);}},{envNames:_0x566a4e}=await getEnvNames();if(_0xf6a7c9['avFhv'](_0x566a4e['length'],0x0)&&!process[_0x43ae5c(0x1df)][_0x43ae5c(0x24d)]){let _0x5a3074=0x0;try{_0x5a3074=(await _0xf6a7c9['tcSyC'](listCloudProfiles))[_0x43ae5c(0x265)];}catch{_0x5a3074=0x1;}_0x5a3074===0x0&&console[_0x43ae5c(0x26b)]('\x0a'+formatProfileRequiredMessage(_0x4ab9f0=>bold(_0x4ab9f0)));}const _0x522130=_0x50a76b[_0x43ae5c(0x1ef)]?_0x50a76b[_0x43ae5c(0x1ef)]['map'](_0x5b0bcd=>_0x5b0bcd['trim']()):[],_0x2677c5=getGitRepoUrl(),_0x3cd96=getGitBranch();console[_0x43ae5c(0x258)](_0x43ae5c(0x289));const _0x206fc6=await createFeature({'name':_0xf8461f,'description':_0x50a76b[_0x43ae5c(0x242)],'checklist':_0x522130,'gitRepoUrl':_0x2677c5,'gitBranch':_0x3cd96});await _0xf6a7c9['rfmQB'](setActiveFeatureId,_0x206fc6['id']),await tryStartCurrentSession(_0x206fc6['id']);const _0x319058=process[_0x43ae5c(0x1df)][_0x43ae5c(0x213)];_0x319058&&_0xf6a7c9[_0x43ae5c(0x212)](registerSession,_0x319058,_0x206fc6['id']),console['log'](_0x43ae5c(0x27f)+_0x206fc6['id']),displayFeature(_0x206fc6,_0x206fc6['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x2c8968){const _0x55823e=_0x1e5f3e,_0x1c2670={'bIxec':function(_0x5e49f8){return _0x5e49f8();},'uffyl':function(_0x1ada13,_0x514432){return _0x1ada13(_0x514432);},'Mrjti':function(_0x4702ab,_0x612d3d){return _0x4702ab===_0x612d3d;},'MaLgb':'\x0aNo\x20feature\x20reviews\x20found.','lYGgW':function(_0x5b121c,_0x56e17e){return _0x5b121c>_0x56e17e;},'dnvjh':function(_0x1b8d2d,_0x31a6df){return _0x1b8d2d+_0x31a6df;},'kXSbL':function(_0x4cc666,_0x3309ff){return _0x4cc666!==_0x3309ff;},'EUVDp':_0x55823e(0x250),'Koerj':_0x55823e(0x216)},_0x1f0114={'limit':_0x2c8968[_0x55823e(0x233)]??0xa,'offset':_0x2c8968['offset']??0x0,'includeDeleted':_0x2c8968[_0x55823e(0x1c4)]};_0x2c8968[_0x55823e(0x1bc)]&&(_0x1f0114[_0x55823e(0x26e)]=getGitRepoUrl(),_0x1f0114['gitBranch']=_0x1c2670[_0x55823e(0x273)](getGitBranch));const _0x1900a6=await _0x1c2670['uffyl'](listFeatures,_0x1f0114);if(_0x1c2670['Mrjti'](_0x1900a6['items'][_0x55823e(0x265)],0x0)){console['log'](_0x1c2670[_0x55823e(0x1ee)]);return;}const _0x3f1996=_0x1c2670['lYGgW'](_0x1900a6[_0x55823e(0x1db)],_0x1900a6[_0x55823e(0x247)][_0x55823e(0x265)])?_0x55823e(0x24b)+_0x1900a6['items'][_0x55823e(0x265)]+_0x55823e(0x1d1)+_0x1900a6['totalCount']:_0x1900a6['totalCount']+_0x55823e(0x1d3);console['log']('\x0a'+_0x3f1996+':\x0a');for(const _0x1b27a7 of _0x1900a6[_0x55823e(0x247)]){const _0x339073='4|2|3|1|0|5'['split']('|');let _0x4d157a=0x0;while(!![]){switch(_0x339073[_0x4d157a++]){case'0':console[_0x55823e(0x258)](_0x55823e(0x270)+new Date(_0x1b27a7['createdAt'])['toLocaleDateString']());continue;case'1':_0x1b27a7['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0x1b27a7[_0x55823e(0x1cd)]);continue;case'2':console['log']('\x20\x20\x20ID:\x20'+_0x1b27a7['id']);continue;case'3':_0x1b27a7['stats']&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x1b27a7[_0x55823e(0x210)]));continue;case'4':console['log'](''+_0x1b27a7[_0x55823e(0x25c)]);continue;case'5':console[_0x55823e(0x258)]('');continue;}break;}}const _0x1d0799=_0x1f0114[_0x55823e(0x233)]??0xa,_0xd6e49a=_0x1c2670['dnvjh'](_0x1f0114['offset']??0x0,_0x1900a6[_0x55823e(0x247)]['length']);if(_0xd6e49a<_0x1900a6['totalCount']){const _0x521677=_0x1c2670['kXSbL'](_0x1d0799,0xa)?_0x55823e(0x238)+_0x1d0799:'',_0x2da3f7=_0x2c8968[_0x55823e(0x1bc)]?_0x1c2670[_0x55823e(0x1f1)]:'',_0x2da419=_0x2c8968['includeDeleted']?_0x1c2670['Koerj']:'';console['log']('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0xd6e49a+_0x521677+_0x2da3f7+_0x2da419);}}export async function featureShow(_0x4bc2b7){const _0xd166d2=_0x1e5f3e,_0x3b8ef6={'TkImt':function(_0x26e925){return _0x26e925();},'mfJjO':_0xd166d2(0x272),'fvBhR':function(_0x45aaca,_0x57d711){return _0x45aaca(_0x57d711);}},_0x30fe0b=_0x4bc2b7||await _0x3b8ef6[_0xd166d2(0x240)](getActiveFeatureId);if(!_0x30fe0b)throw new Error(_0x3b8ef6[_0xd166d2(0x22d)]);const _0x4e110d=await _0x3b8ef6[_0xd166d2(0x256)](getFeature,_0x30fe0b);displayFeature(_0x4e110d,_0x4e110d[_0xd166d2(0x1d5)]);}export async function featureResume(_0x41dc36){const _0x28e563=_0x1e5f3e,_0x46da13={'QGBYU':function(_0xe01cb2,_0x2b7bd1){return _0xe01cb2(_0x2b7bd1);},'KAYAh':function(_0xb88b2d,_0x4f00ac,_0x2769af){return _0xb88b2d(_0x4f00ac,_0x2769af);},'hNibN':function(_0xf7d9df,_0x478a2d){return _0xf7d9df&&_0x478a2d;},'YDtDT':function(_0x8d5c2f,_0x29b795){return _0x8d5c2f||_0x29b795;},'UnHxu':_0x28e563(0x1c5),'hUuuK':function(_0x269aeb,_0x25675e){return _0x269aeb===_0x25675e;},'qysQj':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','JJyrI':'selected','MLxwo':_0x28e563(0x1e2),'VJZyl':function(_0x5e3c3d,_0x5469b0,_0x167162){return _0x5e3c3d(_0x5469b0,_0x167162);},'eszpn':function(_0x499e56,_0x1c4d55){return _0x499e56(_0x1c4d55);},'SFych':function(_0x177c3e,_0x27a373,_0x2852f5){return _0x177c3e(_0x27a373,_0x2852f5);},'UPQvP':function(_0x29a595,_0x4c6b31){return _0x29a595(_0x4c6b31);}};if(_0x41dc36){const _0x15d54e=await _0x46da13['QGBYU'](getFeature,_0x41dc36);await _0x46da13['QGBYU'](setActiveFeatureId,_0x15d54e['id']);const _0x17fbc1=getGitBranch();_0x17fbc1&&_0x17fbc1!==_0x15d54e[_0x28e563(0x1cd)]&&(await updateFeature(_0x15d54e['id'],{'gitBranch':_0x17fbc1}),console[_0x28e563(0x258)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x17fbc1));console[_0x28e563(0x258)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x15d54e['name']+'\x20('+_0x15d54e['id']+')'),await tryStartCurrentSession(_0x15d54e['id']);const _0x23d8c7=process['env']['CLAUDE_SESSION_ID'];_0x23d8c7&&_0x46da13[_0x28e563(0x1d8)](registerSession,_0x23d8c7,_0x15d54e['id']);_0x46da13[_0x28e563(0x1d8)](displayFeature,_0x15d54e,_0x15d54e[_0x28e563(0x1d5)]),await printFeedbackNudge(_0x15d54e['id']);return;}const _0x1ea0c8=getGitRepoUrl(),_0x35028d=getGitBranch();if(_0x46da13['hNibN'](!_0x1ea0c8,!_0x35028d))throw new Error(_0x28e563(0x262));console[_0x28e563(0x258)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x1ea0c8||'any')+'\x20/\x20'+_0x46da13['YDtDT'](_0x35028d,_0x46da13['UnHxu'])+_0x28e563(0x1e5));const _0x5f46ea=await _0x46da13[_0x28e563(0x26a)](listFeatures,{'gitRepoUrl':_0x1ea0c8,'gitBranch':_0x35028d}),_0x61a9be=_0x5f46ea[_0x28e563(0x247)]['filter'](_0x4291da=>_0x4291da[_0x28e563(0x254)]?_0x4291da['status']!==_0x28e563(0x229):!_0x4291da[_0x28e563(0x1e3)]);if(_0x46da13['hUuuK'](_0x61a9be['length'],0x0)){console[_0x28e563(0x258)](_0x28e563(0x298)),console[_0x28e563(0x258)](_0x46da13['qysQj']);return;}let _0x4db40d;if(_0x61a9be[_0x28e563(0x265)]===0x1)_0x4db40d=_0x61a9be[0x0];else{const _0x4413a6=process[_0x28e563(0x1ed)]['isTTY']&&process[_0x28e563(0x288)]['isTTY'];if(!_0x4413a6){console[_0x28e563(0x258)]('\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:');for(const _0x4e5eae of _0x61a9be){console[_0x28e563(0x258)]('\x20\x20'+_0x4e5eae[_0x28e563(0x25c)]),console[_0x28e563(0x258)](_0x28e563(0x1dc)+_0x4e5eae['id']),_0x4e5eae['stats']&&console[_0x28e563(0x258)](_0x28e563(0x1c7)+getProgressDisplay(_0x4e5eae[_0x28e563(0x210)])),_0x4e5eae['gitBranch']&&console[_0x28e563(0x258)](_0x28e563(0x1e4)+_0x4e5eae[_0x28e563(0x1cd)]);}throw new Error(_0x28e563(0x1d6));}const {selected:_0x48eea5}=await _0x53eba1[_0x28e563(0x255)]([{'type':_0x28e563(0x246),'name':_0x46da13[_0x28e563(0x243)],'message':_0x46da13[_0x28e563(0x1f3)],'choices':_0x61a9be[_0x28e563(0x1cc)](_0x30e6c1=>({'name':_0x30e6c1['name']+'\x20('+_0x30e6c1['id']+')','value':_0x30e6c1['id']}))}]);_0x4db40d=_0x61a9be['find'](_0x343155=>_0x343155['id']===_0x48eea5);}await setActiveFeatureId(_0x4db40d['id']);_0x35028d&&_0x35028d!==_0x4db40d[_0x28e563(0x1cd)]&&(await _0x46da13['VJZyl'](updateFeature,_0x4db40d['id'],{'gitBranch':_0x35028d}),console[_0x28e563(0x258)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x35028d));console['log'](_0x28e563(0x22b)+_0x4db40d['name']+'\x20('+_0x4db40d['id']+')'),await _0x46da13[_0x28e563(0x1e9)](tryStartCurrentSession,_0x4db40d['id']);const _0xd8038f=await getFeature(_0x4db40d['id']),_0xace256=process['env']['CLAUDE_SESSION_ID'];_0xace256&&_0x46da13[_0x28e563(0x1f8)](registerSession,_0xace256,_0xd8038f['id']),displayFeature(_0xd8038f,_0xd8038f['checklistItems']),await _0x46da13['UPQvP'](printFeedbackNudge,_0xd8038f['id']);}async function printFeedbackNudge(_0x207d01){const _0x103511=_0x1e5f3e,_0x263fb0={'CctCe':function(_0x39490f,_0x1cd600){return _0x39490f(_0x1cd600);},'UMnTt':function(_0x4af2ec,_0x20ca54,_0x4ad600){return _0x4af2ec(_0x20ca54,_0x4ad600);}};try{const {items:_0x2f1511}=await _0x263fb0[_0x103511(0x286)](getActionItems,_0x207d01);let _0x5479ce=0x0,_0x1a5f78=0x0;for(const _0x62c38 of _0x2f1511){const _0x2a0185=await _0x263fb0[_0x103511(0x249)](getItemFeedback,_0x207d01,_0x62c38['id']);_0x2a0185['unaddressedComments'][_0x103511(0x265)]>0x0&&(_0x5479ce+=_0x2a0185[_0x103511(0x21d)][_0x103511(0x265)],_0x1a5f78++);}_0x5479ce>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x5479ce+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x1a5f78+'\x20scenario(s).'),console[_0x103511(0x258)]('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x340a37){const _0x452230=_0x1e5f3e,_0x2f2179={'gVJNe':function(_0x17e8c5,_0x220dbc){return _0x17e8c5(_0x220dbc);}};try{const {sessions:_0x2016b9}=await _0x2f2179[_0x452230(0x292)](listFeatureSessions,_0x340a37),_0x2dc778=_0x2016b9['find'](_0x1b8bfe=>_0x1b8bfe['status']==='ready');_0x2dc778&&(await startSession(_0x340a37,_0x2dc778['id']),console['log'](_0x452230(0x1fa)+_0x2dc778[_0x452230(0x231)]));}catch{}}export async function featureReport(_0x255622,_0xfc9eb2){const _0x37a6aa=_0x1e5f3e,_0x38291e={'lNTvs':function(_0xbb8912){return _0xbb8912();},'TNULl':function(_0x57ba4a,_0xea289c,_0x32758f){return _0x57ba4a(_0xea289c,_0x32758f);},'xkXzC':function(_0x4aabc4,_0x2e7935,_0x579a4f,_0x3eb3cd){return _0x4aabc4(_0x2e7935,_0x579a4f,_0x3eb3cd);},'yKEbP':function(_0x5c7aed){return _0x5c7aed();},'Ewsvr':'utf-8'},_0x43a776=_0x255622||await _0x38291e['lNTvs'](getActiveFeatureId);if(!_0x43a776)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console['log'](_0x37a6aa(0x271));const _0x122efe=await _0x38291e[_0x37a6aa(0x245)](getFeatureReportMarkdown,_0x43a776,{'style':_0xfc9eb2['style']}),_0x4e6bbe=_0xfc9eb2['output']||_0x38291e[_0x37a6aa(0x223)](join,_0x38291e['yKEbP'](getRangerDir),_0x37a6aa(0x25e),_0x43a776+_0x37a6aa(0x296)),_0x52bbbc=_0x38291e[_0x37a6aa(0x245)](join,_0x4e6bbe,'..');!existsSync(_0x52bbbc)&&await mkdir(_0x52bbbc,{'recursive':!![]}),await writeFile(_0x4e6bbe,_0x122efe,_0x38291e['Ewsvr']),console['log']('\x0a✅\x20Report\x20generated:\x20'+_0x4e6bbe);}function getScenarioResult(_0x57d40f){const _0x363aaa=_0x1e5f3e,_0x188499={'bwuTA':'closed','nosWm':'verification_in_progress'};if(_0x57d40f[_0x363aaa(0x254)]===_0x188499['bwuTA'])return _0x57d40f['terminalReason']??'closed';if(_0x57d40f['status']===_0x188499[_0x363aaa(0x27b)])return'in_progress';return _0x57d40f['status'];}function getScenarioRationale(_0x3e5bac,_0x2baf05){const _0x3fd191=_0x1e5f3e,_0x265787={'ltrKI':_0x3fd191(0x252)},_0x24590f=_0x265787['ltrKI']['split']('|');let _0x36ba04=0x0;while(!![]){switch(_0x24590f[_0x36ba04++]){case'0':if(_0x3e5bac[_0x3fd191(0x23b)])return _0x3e5bac[_0x3fd191(0x23b)];continue;case'1':if(_0x3e5bac['incompleteReason'])return _0x3e5bac['incompleteReason'];continue;case'2':if(_0x3e5bac[_0x3fd191(0x26c)])return _0x3e5bac['notes'];continue;case'3':if(_0x3e5bac[_0x3fd191(0x22f)])return _0x3e5bac['blockedReason'];continue;case'4':if(_0x2baf05)return _0x2baf05;continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0x433baf,_0x4c42a3){const _0x5559f4=_0x1e5f3e,_0x27f37e={'BHloc':function(_0x319f2c){return _0x319f2c();},'XnYzF':function(_0x10abd7,_0x16a962){return _0x10abd7(_0x16a962);},'EuRgd':function(_0x2101b6,_0x2684ab,_0x2bcb27){return _0x2101b6(_0x2684ab,_0x2bcb27);},'zjzTX':function(_0x3edab6,_0x3106c6){return _0x3edab6===_0x3106c6;},'vIMte':'\x0aAvailable\x20scenarios:','UNdxj':function(_0x1be026,_0x4fe811){return _0x1be026<_0x4fe811;},'CGqhm':function(_0x4e63a2,_0x346133){return _0x4e63a2+_0x346133;},'pNWTe':_0x5559f4(0x21b),'ZWqof':function(_0x3e40e3,_0xc9f136,_0x1df48d){return _0x3e40e3(_0xc9f136,_0x1df48d);}},_0x4c15ca=_0x433baf||await _0x27f37e['BHloc'](getActiveFeatureId);if(!_0x4c15ca)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x1eb875=await _0x27f37e[_0x5559f4(0x1bd)](getFeature,_0x4c15ca),_0x1a5aa7=_0x1eb875['checklistItems']||[],_0x1bebed=_0x27f37e[_0x5559f4(0x263)](getCurrentSessionItems,_0x1eb875,_0x1a5aa7);_0x27f37e[_0x5559f4(0x1f9)](_0x1bebed['length'],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process[_0x5559f4(0x1be)](0x1));const _0x296eab=_0x4c42a3[_0x5559f4(0x253)]??[],_0x22403d=_0x296eab['filter'](_0x397df5=>!Number[_0x5559f4(0x294)](_0x397df5)||_0x397df5<0x1||_0x397df5>_0x1bebed[_0x5559f4(0x265)]);if(_0x22403d['length']>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x22403d[_0x5559f4(0x22c)](',\x20')),console[_0x5559f4(0x258)](_0x27f37e['vIMte']);for(let _0x874917=0x0;_0x27f37e['UNdxj'](_0x874917,_0x1bebed['length']);_0x874917++){console['log']('\x20\x20'+_0x27f37e[_0x5559f4(0x1e6)](_0x874917,0x1)+'.\x20'+_0x1bebed[_0x874917]['description']);}process[_0x5559f4(0x1be)](0x1);}const _0x2754b2=new Set(_0x296eab['map'](_0x171f0e=>_0x171f0e-0x1)),_0x2b2cef=_0x1bebed['filter']((_0x50c04f,_0x585c62)=>!_0x2754b2[_0x5559f4(0x1d4)](_0x585c62));_0x2b2cef[_0x5559f4(0x265)]===0x0&&(console[_0x5559f4(0x291)](_0x27f37e['pNWTe']),process[_0x5559f4(0x1be)](0x1));if(_0x4c42a3[_0x5559f4(0x276)])await outputJsonReport(_0x4c15ca,_0x1eb875,_0x2b2cef);else{const _0x45efc0=await _0x27f37e[_0x5559f4(0x287)](getFeatureReportMarkdown,_0x4c15ca,{'itemIds':_0x2b2cef[_0x5559f4(0x1cc)](_0x2ba649=>_0x2ba649['id'])});process[_0x5559f4(0x288)][_0x5559f4(0x226)](_0x45efc0['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x123150,_0x5b5371,_0x2e7ddc){const _0x4d52f0=_0x1e5f3e,_0xbf86ff={'UAXve':function(_0x21c353,_0xdbadd3){return _0x21c353(_0xdbadd3);},'gpeXR':function(_0x33390,_0x484720){return _0x33390>_0x484720;},'hHCbS':function(_0x19c62d,_0x302aa6){return _0x19c62d===_0x302aa6;},'kkesu':function(_0xb6464c){return _0xb6464c();},'eESxC':function(_0x546518,_0x19a3b9){return _0x546518+_0x19a3b9;}},_0x1da90d=_0xbf86ff[_0x4d52f0(0x23e)](getApiBaseUrl),_0x26d3e6=await _0xbf86ff['UAXve'](getFeatureReport,_0x123150),_0x5bbcb5=new Map(_0x26d3e6['checklistItems']['map'](_0x58d0e0=>[_0x58d0e0['id'],_0x58d0e0])),_0x526b5d=await Promise['all'](_0x2e7ddc['map'](async _0x1621f1=>{const _0x57f59f=_0x4d52f0,_0x468fc5=_0x5bbcb5[_0x57f59f(0x1d9)](_0x1621f1['id']),_0x201e88=_0x468fc5?.[_0x57f59f(0x24c)]??null;let _0x2ac9cb=[];if(_0x1621f1['browserSessionId'])try{const {steps:_0x1d6d64}=await _0xbf86ff['UAXve'](getBrowserSessionSteps,_0x1621f1['browserSessionId']);_0xbf86ff['gpeXR'](_0x1d6d64['length'],0x0)&&(_0x2ac9cb=_0x1d6d64[_0x57f59f(0x1cc)](_0x197964=>{const _0x193a0f=_0x57f59f,_0x1e8641=_0x197964['assets'][_0x193a0f(0x1cb)](_0x17c2cc=>_0x17c2cc[_0x193a0f(0x1e1)]==='screenshot'&&_0x17c2cc[_0x193a0f(0x224)]==='after')??_0x197964['assets']['find'](_0x3ad553=>_0x3ad553['assetType']==='screenshot');let _0xb9b344=null,_0x879987=null;if(_0x1e8641){const _0x2d50fb=_0x1e8641['storage']['location']['split']('/')[_0x193a0f(0x24a)]();_0xb9b344=_0x1da90d+_0x193a0f(0x206)+_0x1621f1['browserSessionId']+'/artifacts/'+_0x2d50fb,_0x2d50fb&&(_0x879987=_0x2d50fb[_0x193a0f(0x267)](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x879987||_0x197964[_0x193a0f(0x242)]||_0x197964['stepName']||'Step\x20'+_0x197964['position'],'screenshot':_0xb9b344,'is_key_step':_0x197964[_0x193a0f(0x237)]};}));}catch{}return _0xbf86ff[_0x57f59f(0x200)](_0x2ac9cb['length'],0x0)&&_0x201e88?.['screenshotUrls']&&(_0x2ac9cb=_0x201e88[_0x57f59f(0x1f5)]['map']((_0xb8c951,_0x141e38)=>({'description':'Screenshot\x20'+(_0x141e38+0x1),'screenshot':_0xb8c951,'is_key_step':![]}))),{'description':_0x1621f1['description'],'result':getScenarioResult(_0x1621f1),'rationale':getScenarioRationale(_0x1621f1,_0x201e88?.[_0x57f59f(0x277)]),'steps':_0x2ac9cb};})),_0x573bb3={'url':_0x5b5371[_0x4d52f0(0x297)],'scenarios':_0x526b5d};process[_0x4d52f0(0x288)]['write'](_0xbf86ff[_0x4d52f0(0x1fb)](JSON[_0x4d52f0(0x23d)](_0x573bb3,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x1bcdf1){const _0xeef5f2=_0x1e5f3e,_0x168da0={'QGlYW':'No\x20active\x20session\x20for\x20this\x20feature\x20review.','DLVYp':'Current\x20session\x20not\x20found.','RCiAB':'\x0a✅\x20Session\x20is\x20already\x20completed.','mOeTF':function(_0x5eaaf7,_0x27c680){return _0x5eaaf7!==_0x27c680;},'HSAzR':function(_0x54808f,_0x5d7245,_0x3392a9){return _0x54808f(_0x5d7245,_0x3392a9);}},_0x41e30d=_0x1bcdf1||await getActiveFeatureId();if(!_0x41e30d)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 _0x5f5dcd=await getFeature(_0x41e30d);if(!_0x5f5dcd['currentSessionId'])throw new Error(_0x168da0['QGlYW']);const {sessions:_0x5ac052}=await listFeatureSessions(_0x41e30d),_0x33d232=_0x5ac052[_0xeef5f2(0x1cb)](_0x3535a4=>_0x3535a4['id']===_0x5f5dcd['currentSessionId']);if(!_0x33d232)throw new Error(_0x168da0['DLVYp']);if(_0x33d232[_0xeef5f2(0x254)]==='completed'){console[_0xeef5f2(0x258)](_0x168da0[_0xeef5f2(0x225)]);return;}if(_0x168da0['mOeTF'](_0x33d232['status'],'in_progress'))throw new Error(_0xeef5f2(0x1ff)+_0x33d232[_0xeef5f2(0x254)]);console['log'](_0xeef5f2(0x1de)),await _0x168da0['HSAzR'](concludeSession,_0x41e30d,_0x5f5dcd['currentSessionId']),console['log'](_0xeef5f2(0x1c6)+_0x33d232['iteration']+'\x20concluded.'),console[_0xeef5f2(0x258)](_0xeef5f2(0x1c8));}export async function featureSessions(_0x4adbc9){const _0x246ba5=_0x1e5f3e,_0x2064bf={'HmuwA':function(_0x201ba6){return _0x201ba6();},'OJpJI':function(_0x5d323f,_0x46ff30){return _0x5d323f(_0x46ff30);},'XtreS':function(_0x5f27cf,_0x4e602a){return _0x5f27cf===_0x4e602a;},'WQWIX':function(_0x31b9ac,_0x350e){return _0x31b9ac===_0x350e;},'varqA':'completed','HVSWZ':function(_0xcd802f,_0x25398b){return _0xcd802f===_0x25398b;}},_0xfeed4e=_0x4adbc9||await _0x2064bf['HmuwA'](getActiveFeatureId);if(!_0xfeed4e)throw new Error(_0x246ba5(0x203));const _0x47e611=await _0x2064bf[_0x246ba5(0x293)](getFeature,_0xfeed4e);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x47e611['name']+'\x0a');const {sessions:_0x58e905}=await listFeatureSessions(_0xfeed4e);if(_0x2064bf['XtreS'](_0x58e905[_0x246ba5(0x265)],0x0)){console['log'](_0x246ba5(0x241));return;}for(const _0x44e85e of _0x58e905){const _0x8102d8=_0x2064bf['WQWIX'](_0x44e85e['status'],_0x2064bf['varqA'])?'✅':_0x2064bf[_0x246ba5(0x27e)](_0x44e85e['status'],'in_progress')?'🔄':'▶️';console['log'](_0x8102d8+'\x20Session\x20'+_0x44e85e[_0x246ba5(0x231)]+'\x20('+_0x44e85e['id']+')'),console[_0x246ba5(0x258)](_0x246ba5(0x248)+_0x44e85e['status']),console[_0x246ba5(0x258)](_0x246ba5(0x270)+new Date(_0x44e85e[_0x246ba5(0x22e)])['toLocaleString']()),_0x44e85e['completedAt']&&console[_0x246ba5(0x258)]('\x20\x20\x20Completed:\x20'+new Date(_0x44e85e['completedAt'])[_0x246ba5(0x1c9)]()),console['log']('');}}export async function featureAddScenario(_0x4c508f,_0x57af88){const _0x43bfa5=_0x1e5f3e,_0x4e90f5={'jnglS':function(_0x106572){return _0x106572();}},_0x3e79c3=_0x57af88||await _0x4e90f5['jnglS'](getActiveFeatureId);if(!_0x3e79c3)throw new Error(_0x43bfa5(0x272));const _0x4aa24e=await getFeature(_0x3e79c3);if(_0x4aa24e['latestReview']&&!_0x4aa24e['latestReview']['submittedAt'])throw new Error(_0x43bfa5(0x239)+_0x4aa24e['dashboardUrl']);await createChecklistItem(_0x3e79c3,_0x4c508f);const _0x4d8157=await getFeature(_0x3e79c3);console['log'](_0x43bfa5(0x28a)),displayFeature(_0x4d8157,_0x4d8157[_0x43bfa5(0x1d5)]);}export async function featureEditScenario(_0x32085c,_0x11d1e3){const _0x3edd03=_0x1e5f3e,_0x6367cb={'NKZqG':function(_0xa38379,_0xb34d0b){return _0xa38379(_0xb34d0b);},'KkCpI':_0x3edd03(0x282),'vhGZA':function(_0x2ed0a6,_0x5a3d6e){return _0x2ed0a6===_0x5a3d6e;},'IcJQN':_0x3edd03(0x1e0),'fvorM':function(_0x4d9cc3,_0x59dabf){return _0x4d9cc3===_0x59dabf;},'odYoa':_0x3edd03(0x228),'dCtBH':function(_0x34a192,_0x17d212){return _0x34a192+_0x17d212;},'qAEmw':function(_0xaa2b8e,_0x44a82b){return _0xaa2b8e<_0x44a82b;}},_0x207f74=_0x11d1e3['id']||await getActiveFeatureId();!_0x207f74&&(console[_0x3edd03(0x291)](_0x3edd03(0x25b)),console[_0x3edd03(0x291)](_0x3edd03(0x264)),process[_0x3edd03(0x1be)](0x1));const _0x3b9a8f=await _0x6367cb['NKZqG'](getFeature,_0x207f74);_0x3b9a8f[_0x3edd03(0x205)]&&!_0x3b9a8f[_0x3edd03(0x205)]['submittedAt']&&(console['error'](_0x6367cb['KkCpI']),console[_0x3edd03(0x291)](_0x3edd03(0x209)),console['error']('\x20\x20'+_0x3b9a8f['dashboardUrl']),process['exit'](0x1));const _0x2983c5=_0x3b9a8f['checklistItems']||[];_0x6367cb[_0x3edd03(0x28f)](_0x2983c5['length'],0x0)&&(console[_0x3edd03(0x291)](_0x6367cb[_0x3edd03(0x232)]),process[_0x3edd03(0x1be)](0x1));if(_0x6367cb[_0x3edd03(0x26d)](_0x11d1e3['scenario'],undefined)){console[_0x3edd03(0x291)](_0x6367cb['odYoa']),console[_0x3edd03(0x258)]('\x0aAvailable\x20scenarios:');for(let _0x3bcf0b=0x0;_0x3bcf0b<_0x2983c5[_0x3edd03(0x265)];_0x3bcf0b++){console[_0x3edd03(0x258)]('\x20\x20'+_0x6367cb['dCtBH'](_0x3bcf0b,0x1)+'.\x20'+_0x2983c5[_0x3bcf0b]['description']);}process[_0x3edd03(0x1be)](0x1);}const _0x1eb6b1=_0x11d1e3['scenario']-0x1;if(_0x6367cb['qAEmw'](_0x1eb6b1,0x0)||_0x1eb6b1>=_0x2983c5['length']){console['error'](_0x3edd03(0x20b)+_0x11d1e3[_0x3edd03(0x1da)]+_0x3edd03(0x1fe)+_0x2983c5['length']+_0x3edd03(0x1eb)),console[_0x3edd03(0x258)](_0x3edd03(0x279));for(let _0xab3dbf=0x0;_0xab3dbf<_0x2983c5['length'];_0xab3dbf++){console['log']('\x20\x20'+_0x6367cb['dCtBH'](_0xab3dbf,0x1)+'.\x20'+_0x2983c5[_0xab3dbf][_0x3edd03(0x242)]);}process[_0x3edd03(0x1be)](0x1);}const _0x299f3c=_0x2983c5[_0x1eb6b1];await updateChecklistItem(_0x207f74,_0x299f3c['id'],{'description':_0x32085c});const _0x9236fa=await getFeature(_0x207f74);console['log'](_0x3edd03(0x1dd)),displayFeature(_0x9236fa,_0x9236fa['checklistItems']);}async function downloadFeedbackImage(_0xc360de,_0x29a11f){const _0x12eb9a=_0x1e5f3e,_0x474080={'eGqyN':function(_0x335489,_0x3d8618,_0x3f464b){return _0x335489(_0x3d8618,_0x3f464b);},'IwKse':function(_0x5c5be5){return _0x5c5be5();},'rWqKD':'feedback-images'};try{const _0x17ee2d=_0x474080['eGqyN'](join,_0x474080['IwKse'](getRangerDir),_0x474080['rWqKD']);await mkdir(_0x17ee2d,{'recursive':!![]});const _0x105998=_0x474080['eGqyN'](join,_0x17ee2d,'comment_'+_0x29a11f+_0x12eb9a(0x222)),_0x3a66a4=await fetch(_0xc360de);if(!_0x3a66a4['ok'])return null;const _0xce5b30=Buffer[_0x12eb9a(0x28c)](await _0x3a66a4[_0x12eb9a(0x284)]());return await writeFile(_0x105998,_0xce5b30),_0x105998;}catch{return null;}}export async function featureGetReview(_0x16fa2a){const _0xb3a499=_0x1e5f3e,_0x485740={'rdmBY':function(_0x1bcb6d,_0x18e525){return _0x1bcb6d(_0x18e525);},'zuhHj':function(_0x8abdcb,_0x5f3306){return _0x8abdcb===_0x5f3306;},'fQhQi':function(_0x286515,_0xb86674){return _0x286515>_0xb86674;},'TNSbI':function(_0x14fc13,_0x4d5bfb){return _0x14fc13+_0x4d5bfb;},'NXqWx':'short','dHRmD':'Unknown','BoyYX':'\x20>\x20','dtMRc':'element','FzwKW':function(_0x1a1317,_0x53358b){return _0x1a1317===_0x53358b;}},_0x9e4448=_0x16fa2a||await getActiveFeatureId();if(!_0x9e4448)throw new Error(_0xb3a499(0x272));const _0x4f45e2=await getFeature(_0x9e4448),{items:_0x1be5a4}=await _0x485740['rdmBY'](getActionItems,_0x9e4448);console[_0xb3a499(0x258)](_0xb3a499(0x1d2)+_0x4f45e2['name']+'\x20('+_0x4f45e2['id']+')\x0a');if(_0x485740['zuhHj'](_0x1be5a4[_0xb3a499(0x265)],0x0)){console[_0xb3a499(0x258)](_0xb3a499(0x278));return;}for(let _0x53ef98=0x0;_0x53ef98<_0x1be5a4[_0xb3a499(0x265)];_0x53ef98++){const _0x7a986d=_0x1be5a4[_0x53ef98],_0x3c557a=_0x485740['fQhQi'](_0x7a986d['version'],0x1)?'\x20(v'+_0x7a986d[_0xb3a499(0x269)]+')':'',_0xb909b1=await getItemFeedback(_0x9e4448,_0x7a986d['id']);if(_0xb909b1[_0xb3a499(0x21d)]['length']>0x0){console['log']('Scenario\x20'+_0x485740[_0xb3a499(0x202)](_0x53ef98,0x1)+':\x20\x22'+_0x7a986d[_0xb3a499(0x242)]+'\x22'+_0x3c557a+'\x20—\x20'+_0xb909b1[_0xb3a499(0x21d)][_0xb3a499(0x265)]+'\x20unaddressed\x20comment(s)');for(const _0x526a74 of _0xb909b1[_0xb3a499(0x21d)]){const _0x4d1b85=new Date(_0x526a74['createdAt'])[_0xb3a499(0x22a)]('en-US',{'month':_0x485740[_0xb3a499(0x27a)],'day':'numeric'}),_0x4f8726=_0x526a74[_0xb3a499(0x220)]||_0x526a74['authorEmail']||_0x485740['dHRmD'];console['log']('\x20\x20💬\x20'+_0x4f8726+'\x20('+_0x4d1b85+_0xb3a499(0x1c2)+_0x526a74['content']+'\x22');if(_0x526a74[_0xb3a499(0x259)]){const _0x284dca=await downloadFeedbackImage(_0x526a74[_0xb3a499(0x259)],_0x526a74['id']);_0x284dca&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x284dca);}if(_0x526a74[_0xb3a499(0x230)]){const _0x2741ff=_0x526a74[_0xb3a499(0x230)][_0xb3a499(0x1d7)]['split'](_0x485740[_0xb3a499(0x1ca)])['pop']()?.[_0xb3a499(0x260)](':')[0x0]||_0x485740['dtMRc'],_0x334868=_0x526a74[_0xb3a499(0x230)][_0xb3a499(0x21c)]?'\x20\x22'+_0x526a74[_0xb3a499(0x230)]['textContent'][_0xb3a499(0x219)](0x0,0x3c)+'\x22':'';console[_0xb3a499(0x258)](_0xb3a499(0x275)+_0x2741ff+'>'+_0x334868),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x526a74[_0xb3a499(0x230)]['selector']);}else{if(_0x526a74[_0xb3a499(0x1f7)]){const _0x34cd58=_0x526a74[_0xb3a499(0x1f7)]['coordinates'];_0x485740['FzwKW'](_0x526a74['spatial'][_0xb3a499(0x1f4)],_0xb3a499(0x23f))&&_0x34cd58['length']>=0x2?console[_0xb3a499(0x258)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x34cd58[0x0][_0xb3a499(0x214)](0x2)+',\x20'+_0x34cd58[0x1]['toFixed'](0x2)+')'):console[_0xb3a499(0x258)](_0xb3a499(0x1c3)+_0x526a74[_0xb3a499(0x1f7)][_0xb3a499(0x1f4)]+_0xb3a499(0x261)+_0x34cd58[_0xb3a499(0x1cc)](_0xd4eec6=>_0xd4eec6[_0xb3a499(0x214)](0x2))[_0xb3a499(0x22c)](',\x20')+']');}}}if(_0xb909b1[_0xb3a499(0x211)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x3c0a16 of _0xb909b1[_0xb3a499(0x211)][_0xb3a499(0x260)]('\x0a')){console[_0xb3a499(0x258)](_0xb3a499(0x1d0)+_0x3c0a16);}}}else console[_0xb3a499(0x258)](_0xb3a499(0x21e)+(_0x53ef98+0x1)+':\x20\x22'+_0x7a986d[_0xb3a499(0x242)]+'\x22'+_0x3c557a+_0xb3a499(0x20c)),console['log']('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0xb3a499(0x258)]('');}}export async function featureDelete(_0xa4b06a){const _0x2bca24=_0x1e5f3e,_0x277a77={'mToNz':_0x2bca24(0x272),'OxkhH':function(_0x3844d5,_0x3086a3){return _0x3844d5(_0x3086a3);},'YFJUc':function(_0x3e7549,_0x2eda18){return _0x3e7549+_0x2eda18;},'qgLJP':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x56f920=_0xa4b06a||await getActiveFeatureId();if(!_0x56f920)throw new Error(_0x277a77['mToNz']);const _0x112240=await getFeature(_0x56f920);await _0x277a77['OxkhH'](softDeleteFeature,_0x56f920),console[_0x2bca24(0x258)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x112240[_0x2bca24(0x25c)]+'\x20('+_0x56f920+')'),console[_0x2bca24(0x258)](_0x277a77[_0x2bca24(0x1cf)](_0x277a77[_0x2bca24(0x218)],_0x56f920));}export async function featureRestore(_0x37771c){const _0x33f6d5=_0x1e5f3e,_0x165c23={'lXGwN':function(_0x2db48c,_0x236129){return _0x2db48c(_0x236129);}};await _0x165c23[_0x33f6d5(0x257)](restoreFeature,_0x37771c);const _0x1f295e=await getFeature(_0x37771c);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x1f295e['name']+'\x20('+_0x37771c+')'),displayFeature(_0x1f295e,_0x1f295e['checklistItems']);}
1
+ const _0x207aa7=_0x2d3f;(function(_0x2fc0ca,_0x3d3f19){const _0x295d9a=_0x2d3f,_0x30dbf5=_0x2fc0ca();while(!![]){try{const _0x124467=-parseInt(_0x295d9a(0x1af))/0x1+-parseInt(_0x295d9a(0x139))/0x2*(-parseInt(_0x295d9a(0x11e))/0x3)+-parseInt(_0x295d9a(0x15a))/0x4+-parseInt(_0x295d9a(0x1b9))/0x5*(parseInt(_0x295d9a(0x1e6))/0x6)+-parseInt(_0x295d9a(0x151))/0x7+-parseInt(_0x295d9a(0x153))/0x8*(-parseInt(_0x295d9a(0x1e0))/0x9)+parseInt(_0x295d9a(0x183))/0xa*(parseInt(_0x295d9a(0x16a))/0xb);if(_0x124467===_0x3d3f19)break;else _0x30dbf5['push'](_0x30dbf5['shift']());}catch(_0x1b3350){_0x30dbf5['push'](_0x30dbf5['shift']());}}}(_0x58fa,0xa4952));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x18e4a0 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';function _0x58fa(){const _0x5ffbdb=['assets','EWOTz','RCUFk','createdAt','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','smwVv','toLocaleDateString','Please\x20finish\x20your\x20review\x20first:','currentSessionId','UHaco','incompleteReason','OcbUK','.png','\x20in\x20progress','QvlrW','SeJBf','930454AJJEQq','error','16oGhhVd','RQnNq','utf-8','\x0a✅\x20Resumed\x20feature\x20review:\x20','gitRepoUrl','\x0a⚠️\x20\x20','authorName','3416644lPJYZf','cVMXY','filter','VuLka','scenarios','stdout','any','KYDLz','RgqGJ','in_progress','DTWMp','\x0a✅\x20Scenario\x20added','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x20blocked','PpSxY','0|3|1|4|2|5','3608dnpnaa','join','length','latestReview','FTVqN','\x20\x20\x20Created:\x20','\x0aGenerating\x20report...','Rchnj','wCeWK','\x0a📋\x20Feedback\x20for:\x20','repeat','UsMES','position','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','YYFMX','\x20concluded.','toLocaleString','Showing\x20','\x20\x20\x20Branch:\x20','XgJqs','log','all','write','GWPly','blockedItems','84470yQSOGm','GRLyT','XlGZp','trimEnd','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','en-US','hlrUp','ZBarF','arrayBuffer','git\x20remote\x20get-url\x20origin','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','from','notes','\x20(v','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','\x20\x20\x20\x20\x20\x20Blocked:\x20','kAnAG','pop','\x20incomplete','\x20\x20\x20Status:\x20','iteration','jXQir','wvQSd','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','verification_in_progress','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','TtIKy','textContent','\x0a✅\x20Feature\x20review\x20created:\x20','TDYMM','storage','verificationInProgressItems','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','YKZqw','stdin','Screenshot\x20','TqeWj','Cannot\x20conclude\x20session\x20with\x20status:\x20','oVXct','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','selected','agentResponse','isInteger','1209850ElgiWz','No\x20active\x20session\x20for\x20this\x20feature\x20review.','xtSLG','\x0a✅\x20Restored\x20feature\x20review:\x20','excludeScenarios','selector','RgbnK','prompt','nXaJO','includeDeleted','628715tobdQL','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','map','\x0a✅\x20Report\x20generated:\x20','CLAUDE_SESSION_ID','vZiMV','MchUJ','mtEAn','RGaAj','offset','canceledReason','aHFSZ','find','sessionId','screenshotUrls','currentBranch','\x0aNo\x20feature\x20reviews\x20found.','\x0a✅\x20Session\x20is\x20already\x20completed.','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','split','trim','domRef','gOPhH','toFixed','KoRrc','has','push','\x20\x20💬\x20','limit','TJUdc','nVucn','description','OVECY','items','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','verified','\x20\x20\x20','NMrZi','2099826vHrrDi','gpqWz','totalCount','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','JqAQd','stepName','48HTCeqZ','short','\x20\x20\x20\x20\x20\x20Incomplete:\x20','\x20--current-branch','closed','LaRnb','gBJKx','TLXIX','replace','\x20\x20Expected\x20flow:','PHYKt','RANGER_TEST_USERNAME','status','gitBranch','completedAt','GIdpl','RUDFz','kMGGG','\x20--limit\x20','Scenario\x20','name','active-feature.txt','1919289ffTOOQ','\x20Session\x20','Not\x20in\x20a\x20git\x20repository.','dashboardUrl','scenario','ready','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','env','canonicalFlow','exit','Lzypc','version','ojpOn','checklistItems','spatial','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','after','\x20\x20\x20▶️\x20Started\x20session\x20','KmTBZ','GimMf','completed','\x20\x20\x20ID:\x20','round','.md','adGvV','stats','unaddressedComments','2ccLnYl','parentItemId','location','point','qRfxW','\x20\x20\x20Completed:\x20','isKeyStep','blocked'];_0x58fa=function(){return _0x5ffbdb;};return _0x58fa();}import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE=_0x207aa7(0x11d),bold=_0x1a05c4=>'\x1b[1m'+_0x1a05c4+'\x1b[0m';function getGitRepoUrl(){const _0xfd6a7e=_0x207aa7,_0x3ae7de={'TDYMM':function(_0x5a6d21,_0x5ca926,_0x46cedc){return _0x5a6d21(_0x5ca926,_0x46cedc);},'cyjhX':_0xfd6a7e(0x18c),'VuLka':'pipe','IoJyR':'github.com/'};try{const _0x21482=_0x3ae7de[_0xfd6a7e(0x1a0)](execSync,_0x3ae7de['cyjhX'],{'encoding':_0xfd6a7e(0x155),'stdio':[_0x3ae7de[_0xfd6a7e(0x15d)],_0x3ae7de[_0xfd6a7e(0x15d)],_0x3ae7de['VuLka']]})[_0xfd6a7e(0x1ce)]();return _0x21482['replace'](/\.git$/,'')[_0xfd6a7e(0x1ee)](/^git@github\.com:/,_0x3ae7de['IoJyR'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x32d2fb=_0x207aa7,_0x59d239={'KYDLz':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','IejId':'utf-8','MchUJ':'pipe'};try{return execSync(_0x59d239[_0x32d2fb(0x161)],{'encoding':_0x59d239['IejId'],'stdio':[_0x59d239[_0x32d2fb(0x1bf)],'pipe',_0x59d239[_0x32d2fb(0x1bf)]]})[_0x32d2fb(0x1ce)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x1c3b1c=_0x207aa7,_0x3f8909={'wvQSd':function(_0x47a733,_0x589d28){return _0x47a733(_0x589d28);},'QlWff':'utf-8'},_0x3a3741=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x3f8909[_0x1c3b1c(0x199)](existsSync,_0x3a3741))return null;try{const _0x41b203=await readFile(_0x3a3741,_0x3f8909['QlWff']);return _0x41b203['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x2f32b3){const _0x24745c=_0x207aa7,_0x4249ca={'FTVqN':function(_0x3ef2ab,_0x5855be,_0x192793){return _0x3ef2ab(_0x5855be,_0x192793);},'XlGZp':function(_0x144ff2,_0x1322f5){return _0x144ff2(_0x1322f5);}},_0x12ba36=getRangerDir(),_0x52f64d=_0x4249ca[_0x24745c(0x16e)](join,_0x12ba36,ACTIVE_FEATURE_FILE);!_0x4249ca[_0x24745c(0x185)](existsSync,_0x12ba36)&&await mkdir(_0x12ba36,{'recursive':!![]}),await writeFile(_0x52f64d,_0x2f32b3,'utf-8');}function getProgressDisplay(_0x2baeba){const _0x33e93b=_0x207aa7,_0x42b4ea={'YjWuM':function(_0x39d4ca,_0x5d3ddf){return _0x39d4ca+_0x5d3ddf;},'HMWYj':function(_0xf00053,_0x56b197){return _0xf00053===_0x56b197;},'UHaco':function(_0x3b1f3c,_0x2ff8c8){return _0x3b1f3c>_0x2ff8c8;},'DgmFJ':function(_0x5d6202,_0x2d295a){return _0x5d6202>_0x2d295a;}},_0x3e7a99=_0x2baeba['verifiedItems']||0x0,_0x45573e=_0x2baeba[_0x33e93b(0x1a2)]||0x0,_0x572703=_0x2baeba[_0x33e93b(0x182)]||0x0,_0x49e639=_0x2baeba['incompleteItems']||0x0,_0x3d1095=_0x2baeba['pendingItems']||0x0,_0x32d06e=_0x42b4ea['YjWuM'](_0x3e7a99+_0x45573e+_0x572703,_0x49e639)+_0x3d1095;if(_0x42b4ea['HMWYj'](_0x32d06e,0x0))return'-';const _0x31c62b=0xa,_0x3649f0=Math[_0x33e93b(0x134)](_0x3e7a99/_0x32d06e*_0x31c62b),_0x151a32=_0x42b4ea['YjWuM']('█'[_0x33e93b(0x174)](_0x3649f0),'░'['repeat'](_0x31c62b-_0x3649f0)),_0x48148d=[];if(_0x42b4ea[_0x33e93b(0x14a)](_0x572703,0x0))_0x48148d[_0x33e93b(0x1d4)](_0x572703+_0x33e93b(0x167));if(_0x42b4ea['DgmFJ'](_0x49e639,0x0))_0x48148d['push'](_0x49e639+_0x33e93b(0x195));if(_0x42b4ea['DgmFJ'](_0x45573e,0x0))_0x48148d[_0x33e93b(0x1d4)](_0x45573e+_0x33e93b(0x14e));const _0x355dc8=_0x48148d['length']>0x0?'\x20('+_0x48148d['join'](',\x20')+')':'';return _0x151a32+'\x20'+_0x3e7a99+'/'+_0x32d06e+'\x20verified'+_0x355dc8;}function getCurrentSessionItems(_0x322756,_0x19b1f8){const _0x518dae=_0x207aa7;if(!_0x322756[_0x518dae(0x149)])return _0x19b1f8['filter'](_0x48930c=>!_0x48930c[_0x518dae(0x1c6)]);return _0x19b1f8[_0x518dae(0x15c)](_0x1b33c1=>_0x1b33c1[_0x518dae(0x1c6)]===_0x322756['currentSessionId']||!_0x1b33c1['sessionId']);}function displayFeature(_0x2b85a7,_0x2601d5){const _0x2c9844=_0x207aa7,_0x32b934={'WpqwK':function(_0x52b6c4,_0x380110){return _0x52b6c4(_0x380110);},'ZBarF':function(_0x2dbb9a,_0x30294d){return _0x2dbb9a>_0x30294d;},'nXaJO':'\x0a\x20\x20\x20Scenarios:','XymMx':'closed','dwCok':'approved','YYFMX':_0x2c9844(0x1dd),'VtsbS':function(_0x5c7d41,_0xcf1ac2){return _0x5c7d41===_0xcf1ac2;},'ONJzI':function(_0x306184,_0x5ef59c){return _0x306184===_0x5ef59c;},'YKZqw':function(_0x311452,_0x5305fc){return _0x311452!==_0x5305fc;},'TtIKy':function(_0x55a995,_0x306920){return _0x55a995!==_0x306920;},'TLXIX':function(_0x37cefb,_0x56bd98){return _0x37cefb+_0x56bd98;},'dyezJ':function(_0x362c6b,_0x392a34){return _0x362c6b===_0x392a34;},'wMAxC':function(_0x50cca8,_0x7334c3){return _0x50cca8===_0x7334c3;},'LaRnb':'incomplete'};console['log']('\x0a'+_0x2b85a7[_0x2c9844(0x11c)]+'\x20('+_0x2b85a7[_0x2c9844(0x121)]+')');_0x2b85a7['stats']&&console['log']('\x20\x20\x20Progress:\x20'+_0x32b934['WpqwK'](getProgressDisplay,_0x2b85a7['stats']));_0x2b85a7[_0x2c9844(0x1d9)]&&console['log']('\x20\x20\x20Description:\x20'+_0x2b85a7[_0x2c9844(0x1d9)]);_0x2b85a7[_0x2c9844(0x157)]&&console[_0x2c9844(0x17e)]('\x20\x20\x20Repository:\x20'+_0x2b85a7['gitRepoUrl']);_0x2b85a7[_0x2c9844(0x115)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x2b85a7['gitBranch']);console[_0x2c9844(0x17e)]('\x20\x20\x20Created:\x20'+new Date(_0x2b85a7['createdAt'])[_0x2c9844(0x17a)]());_0x2b85a7['completedAt']&&console['log'](_0x2c9844(0x13e)+new Date(_0x2b85a7[_0x2c9844(0x116)])[_0x2c9844(0x17a)]());if(_0x2601d5&&_0x32b934[_0x2c9844(0x18a)](_0x2601d5[_0x2c9844(0x16c)],0x0)){console[_0x2c9844(0x17e)](_0x32b934[_0x2c9844(0x1b7)]);for(let _0x420df9=0x0;_0x420df9<_0x2601d5[_0x2c9844(0x16c)];_0x420df9++){const _0x5d02e7=_0x2601d5[_0x420df9];let _0x39b5aa;if(_0x5d02e7['status']===_0x32b934['XymMx']&&_0x5d02e7['terminalReason']===_0x32b934['dwCok'])_0x39b5aa='✅';else{if(_0x5d02e7[_0x2c9844(0x114)]===_0x32b934['YYFMX'])_0x39b5aa='🟢';else{if(_0x32b934['VtsbS'](_0x5d02e7[_0x2c9844(0x114)],'incomplete'))_0x39b5aa='🟠';else{if(_0x5d02e7['status']===_0x2c9844(0x140))_0x39b5aa='🛑';else{if(_0x32b934['ONJzI'](_0x5d02e7[_0x2c9844(0x114)],'closed'))_0x39b5aa='⛔';else _0x5d02e7[_0x2c9844(0x114)]===_0x2c9844(0x19b)?_0x39b5aa='⏳':_0x39b5aa='⬜';}}}}const _0x3388d3=_0x5d02e7['version']>0x1?'\x20(v'+_0x5d02e7[_0x2c9844(0x129)]+')':'',_0x273eff=_0x5d02e7[_0x2c9844(0x129)]>0x1&&_0x5d02e7[_0x2c9844(0x13a)]&&_0x32b934[_0x2c9844(0x1a4)](_0x5d02e7['status'],_0x2c9844(0x1ea))&&_0x32b934[_0x2c9844(0x19d)](_0x5d02e7['status'],_0x32b934[_0x2c9844(0x178)])?'\x20[has\x20reviewer\x20feedback]':'';console[_0x2c9844(0x17e)](_0x2c9844(0x1de)+_0x32b934[_0x2c9844(0x1ed)](_0x420df9,0x1)+'.\x20'+_0x39b5aa+'\x20'+_0x5d02e7[_0x2c9844(0x1d9)]+_0x3388d3+_0x273eff);_0x32b934['dyezJ'](_0x5d02e7['status'],'blocked')&&_0x5d02e7['blockedReason']&&console[_0x2c9844(0x17e)](_0x2c9844(0x192)+_0x5d02e7['blockedReason']);_0x32b934['wMAxC'](_0x5d02e7[_0x2c9844(0x114)],_0x32b934[_0x2c9844(0x1eb)])&&_0x5d02e7['incompleteReason']&&console[_0x2c9844(0x17e)](_0x2c9844(0x1e8)+_0x5d02e7[_0x2c9844(0x14b)]);if(_0x5d02e7['status']===_0x2c9844(0x1ea)&&_0x5d02e7['terminalReason']==='approved')console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x5d02e7['status']===_0x2c9844(0x1ea)&&_0x5d02e7['canceledReason']&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x5d02e7[_0x2c9844(0x1c3)]);}}}export async function featureCreate(_0x36c712,_0x279f52){const _0x2e6a3b=_0x207aa7,_0x343375={'qRfxW':function(_0x3f2235){return _0x3f2235();},'adGvV':function(_0x24ba82,_0x28cada){return _0x24ba82(_0x28cada);},'OcbUK':function(_0x500dc3){return _0x500dc3();},'AHDfx':function(_0x2d3f2d,_0x3ed3a3){return _0x2d3f2d(_0x3ed3a3);},'zSVsj':function(_0x34eefa,_0x554cb5,_0x1e6559){return _0x34eefa(_0x554cb5,_0x1e6559);}},{envNames:_0xb11a30}=await getEnvNames();if(_0xb11a30['length']===0x0&&!process[_0x2e6a3b(0x125)][_0x2e6a3b(0x113)]){let _0x145a18=0x0;try{_0x145a18=(await _0x343375[_0x2e6a3b(0x13d)](listCloudProfiles))['length'];}catch{_0x145a18=0x1;}_0x145a18===0x0&&console['warn']('\x0a'+_0x343375[_0x2e6a3b(0x136)](formatProfileRequiredMessage,_0x34c1e2=>bold(_0x34c1e2)));}const _0x384573=_0x279f52[_0x2e6a3b(0x15e)]?_0x279f52['scenarios'][_0x2e6a3b(0x1bb)](_0x17c3ea=>_0x17c3ea['trim']()):[],_0x236e04=_0x343375[_0x2e6a3b(0x14c)](getGitRepoUrl),_0x2db578=_0x343375['qRfxW'](getGitBranch);console[_0x2e6a3b(0x17e)]('\x0aCreating\x20feature\x20review...');const _0x196d72=await _0x343375[_0x2e6a3b(0x136)](createFeature,{'name':_0x36c712,'description':_0x279f52['description'],'checklist':_0x384573,'gitRepoUrl':_0x236e04,'gitBranch':_0x2db578});await _0x343375[_0x2e6a3b(0x136)](setActiveFeatureId,_0x196d72['id']),await _0x343375['AHDfx'](tryStartCurrentSession,_0x196d72['id']);const _0x2ba33d=process['env']['CLAUDE_SESSION_ID'];_0x2ba33d&&registerSession(_0x2ba33d,_0x196d72['id']),console['log'](_0x2e6a3b(0x19f)+_0x196d72['id']),_0x343375['zSVsj'](displayFeature,_0x196d72,_0x196d72['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0xace50d){const _0x20a726=_0x207aa7,_0x2bbf1f={'eeFgC':function(_0x49b071,_0x4f4934){return _0x49b071(_0x4f4934);},'XgJqs':function(_0x5f26bc,_0x43b391){return _0x5f26bc<_0x43b391;},'Lzypc':function(_0x3e3fd9,_0x1d73fd){return _0x3e3fd9!==_0x1d73fd;},'psDCt':_0x20a726(0x1e9)},_0x6bb18={'limit':_0xace50d[_0x20a726(0x1d6)]??0xa,'offset':_0xace50d[_0x20a726(0x1c2)]??0x0,'includeDeleted':_0xace50d['includeDeleted']};_0xace50d[_0x20a726(0x1c8)]&&(_0x6bb18['gitRepoUrl']=getGitRepoUrl(),_0x6bb18['gitBranch']=getGitBranch());const _0x1ef7c9=await _0x2bbf1f['eeFgC'](listFeatures,_0x6bb18);if(_0x1ef7c9['items'][_0x20a726(0x16c)]===0x0){console[_0x20a726(0x17e)](_0x20a726(0x1c9));return;}const _0xdcf294=_0x1ef7c9[_0x20a726(0x1e2)]>_0x1ef7c9[_0x20a726(0x1db)][_0x20a726(0x16c)]?_0x20a726(0x17b)+_0x1ef7c9[_0x20a726(0x1db)]['length']+'\x20of\x20'+_0x1ef7c9[_0x20a726(0x1e2)]:_0x1ef7c9[_0x20a726(0x1e2)]+'\x20feature\x20review(s)\x20found';console[_0x20a726(0x17e)]('\x0a'+_0xdcf294+':\x0a');for(const _0x5db1a9 of _0x1ef7c9['items']){console[_0x20a726(0x17e)](''+_0x5db1a9['name']),console[_0x20a726(0x17e)](_0x20a726(0x133)+_0x5db1a9['id']),_0x5db1a9['stats']&&console[_0x20a726(0x17e)]('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x5db1a9[_0x20a726(0x137)])),_0x5db1a9[_0x20a726(0x115)]&&console['log'](_0x20a726(0x17c)+_0x5db1a9['gitBranch']),console[_0x20a726(0x17e)](_0x20a726(0x16f)+new Date(_0x5db1a9['createdAt'])[_0x20a726(0x147)]()),console[_0x20a726(0x17e)]('');}const _0x6a5b48=_0x6bb18[_0x20a726(0x1d6)]??0xa,_0x18b85a=(_0x6bb18[_0x20a726(0x1c2)]??0x0)+_0x1ef7c9['items']['length'];if(_0x2bbf1f[_0x20a726(0x17d)](_0x18b85a,_0x1ef7c9['totalCount'])){const _0x3bc1d3=_0x2bbf1f[_0x20a726(0x128)](_0x6a5b48,0xa)?_0x20a726(0x11a)+_0x6a5b48:'',_0x1cfc6f=_0xace50d[_0x20a726(0x1c8)]?_0x2bbf1f['psDCt']:'',_0x4acf1d=_0xace50d[_0x20a726(0x1b8)]?'\x20--include-deleted':'';console[_0x20a726(0x17e)]('Next\x20page:\x20ranger\x20list\x20--offset\x20'+_0x18b85a+_0x3bc1d3+_0x1cfc6f+_0x4acf1d);}}export async function featureShow(_0x3842ba){const _0x26e2bf=_0x207aa7,_0x1e627a={'Rchnj':function(_0xa6b803){return _0xa6b803();}},_0xf2ee35=_0x3842ba||await _0x1e627a[_0x26e2bf(0x171)](getActiveFeatureId);if(!_0xf2ee35)throw new Error(_0x26e2bf(0x19a));const _0x172c9f=await getFeature(_0xf2ee35);displayFeature(_0x172c9f,_0x172c9f['checklistItems']);}export async function featureResume(_0x39c884){const _0x143c37=_0x207aa7,_0x1c52a8={'oVXct':function(_0x476797,_0x319805){return _0x476797(_0x319805);},'gOPhH':function(_0x3e21fe){return _0x3e21fe();},'ohzsw':function(_0x47edf7,_0x3f8d38,_0x4a9f81){return _0x47edf7(_0x3f8d38,_0x4a9f81);},'ojpOn':function(_0x5a5acb,_0x2e5576){return _0x5a5acb(_0x2e5576);},'aHFSZ':function(_0x5d3bd4,_0xc0de62){return _0x5d3bd4||_0xc0de62;},'RCUFk':function(_0x372678,_0x552a56){return _0x372678===_0x552a56;},'NAZBC':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','gBJKx':function(_0x3bb615,_0x4e877c){return _0x3bb615(_0x4e877c);},'KmTBZ':'list','AEhcB':function(_0x376335,_0x56e1d8){return _0x376335(_0x56e1d8);},'KoRrc':function(_0x5e55fd,_0x384fcb,_0x22c6ed){return _0x5e55fd(_0x384fcb,_0x22c6ed);}};if(_0x39c884){const _0x85d5b4=await getFeature(_0x39c884);await _0x1c52a8[_0x143c37(0x1a9)](setActiveFeatureId,_0x85d5b4['id']);const _0x4d856a=_0x1c52a8[_0x143c37(0x1d0)](getGitBranch);_0x4d856a&&_0x4d856a!==_0x85d5b4['gitBranch']&&(await _0x1c52a8['ohzsw'](updateFeature,_0x85d5b4['id'],{'gitBranch':_0x4d856a}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x4d856a));console[_0x143c37(0x17e)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x85d5b4['name']+'\x20('+_0x85d5b4['id']+')'),await tryStartCurrentSession(_0x85d5b4['id']);const _0x338348=process[_0x143c37(0x125)][_0x143c37(0x1bd)];_0x338348&&registerSession(_0x338348,_0x85d5b4['id']);displayFeature(_0x85d5b4,_0x85d5b4['checklistItems']),await _0x1c52a8[_0x143c37(0x12a)](printFeedbackNudge,_0x85d5b4['id']);return;}const _0x188773=_0x1c52a8['gOPhH'](getGitRepoUrl),_0x5c8ceb=getGitBranch();if(!_0x188773&&!_0x5c8ceb)throw new Error(_0x143c37(0x120));console[_0x143c37(0x17e)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0x188773||_0x143c37(0x160))+'\x20/\x20'+_0x1c52a8[_0x143c37(0x1c4)](_0x5c8ceb,_0x143c37(0x160))+'...');const _0x434ac4=await listFeatures({'gitRepoUrl':_0x188773,'gitBranch':_0x5c8ceb}),_0x59b950=_0x434ac4[_0x143c37(0x1db)]['filter'](_0x1a4dbf=>_0x1a4dbf[_0x143c37(0x114)]?_0x1a4dbf[_0x143c37(0x114)]!=='verified':!_0x1a4dbf[_0x143c37(0x116)]);if(_0x59b950[_0x143c37(0x16c)]===0x0){console['log'](_0x143c37(0x1ab)),console[_0x143c37(0x17e)](_0x143c37(0x19c));return;}let _0x1aa810;if(_0x1c52a8[_0x143c37(0x143)](_0x59b950[_0x143c37(0x16c)],0x1))_0x1aa810=_0x59b950[0x0];else{const _0x8313d5=process[_0x143c37(0x1a5)]['isTTY']&&process[_0x143c37(0x15f)]['isTTY'];if(!_0x8313d5){console['log'](_0x1c52a8['NAZBC']);for(const _0x5859e5 of _0x59b950){console[_0x143c37(0x17e)]('\x20\x20'+_0x5859e5[_0x143c37(0x11c)]),console[_0x143c37(0x17e)]('\x20\x20\x20\x20\x20ID:\x20'+_0x5859e5['id']),_0x5859e5['stats']&&console[_0x143c37(0x17e)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x1c52a8[_0x143c37(0x1ec)](getProgressDisplay,_0x5859e5['stats'])),_0x5859e5['gitBranch']&&console[_0x143c37(0x17e)]('\x20\x20\x20\x20\x20Branch:\x20'+_0x5859e5['gitBranch']);}throw new Error(_0x143c37(0x1ba));}const {selected:_0x1d68d4}=await _0x18e4a0[_0x143c37(0x1b6)]([{'type':_0x1c52a8[_0x143c37(0x130)],'name':_0x143c37(0x1ac),'message':_0x143c37(0x124),'choices':_0x59b950['map'](_0x552a36=>({'name':_0x552a36[_0x143c37(0x11c)]+'\x20('+_0x552a36['id']+')','value':_0x552a36['id']}))}]);_0x1aa810=_0x59b950['find'](_0x1630c6=>_0x1630c6['id']===_0x1d68d4);}await _0x1c52a8['AEhcB'](setActiveFeatureId,_0x1aa810['id']);_0x5c8ceb&&_0x5c8ceb!==_0x1aa810['gitBranch']&&(await updateFeature(_0x1aa810['id'],{'gitBranch':_0x5c8ceb}),console[_0x143c37(0x17e)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x5c8ceb));console['log'](_0x143c37(0x156)+_0x1aa810[_0x143c37(0x11c)]+'\x20('+_0x1aa810['id']+')'),await tryStartCurrentSession(_0x1aa810['id']);const _0x3325e7=await getFeature(_0x1aa810['id']),_0x6a1933=process[_0x143c37(0x125)]['CLAUDE_SESSION_ID'];_0x6a1933&&_0x1c52a8[_0x143c37(0x1d2)](registerSession,_0x6a1933,_0x3325e7['id']),displayFeature(_0x3325e7,_0x3325e7['checklistItems']),await printFeedbackNudge(_0x3325e7['id']);}async function printFeedbackNudge(_0x1c5f23){const _0x38dfb5=_0x207aa7,_0x40c907={'vZiMV':function(_0x16075c,_0x19496d){return _0x16075c(_0x19496d);},'SFWAa':function(_0x44a12e,_0x4c745a){return _0x44a12e>_0x4c745a;}};try{const {items:_0x43ffba}=await _0x40c907[_0x38dfb5(0x1be)](getActionItems,_0x1c5f23);let _0x2bb414=0x0,_0x43798e=0x0;for(const _0xf3ffcc of _0x43ffba){const _0x13d2d6=await getItemFeedback(_0x1c5f23,_0xf3ffcc['id']);_0x40c907['SFWAa'](_0x13d2d6[_0x38dfb5(0x138)][_0x38dfb5(0x16c)],0x0)&&(_0x2bb414+=_0x13d2d6[_0x38dfb5(0x138)]['length'],_0x43798e++);}_0x2bb414>0x0&&(console[_0x38dfb5(0x17e)](_0x38dfb5(0x158)+_0x2bb414+_0x38dfb5(0x1cb)+_0x43798e+'\x20scenario(s).'),console['log'](_0x38dfb5(0x191)));}catch{}}function _0x2d3f(_0x26e7f6,_0x53626f){_0x26e7f6=_0x26e7f6-0x111;const _0x58fa4f=_0x58fa();let _0x2d3f0e=_0x58fa4f[_0x26e7f6];return _0x2d3f0e;}async function tryStartCurrentSession(_0x2f04ec){const _0x1dd5a0=_0x207aa7,_0x3a7084={'nVucn':function(_0x175ed0,_0xd5bffe){return _0x175ed0(_0xd5bffe);}};try{const {sessions:_0x85fbfa}=await _0x3a7084[_0x1dd5a0(0x1d8)](listFeatureSessions,_0x2f04ec),_0x1acefc=_0x85fbfa[_0x1dd5a0(0x1c5)](_0x1ad91a=>_0x1ad91a['status']===_0x1dd5a0(0x123));_0x1acefc&&(await startSession(_0x2f04ec,_0x1acefc['id']),console[_0x1dd5a0(0x17e)](_0x1dd5a0(0x12f)+_0x1acefc[_0x1dd5a0(0x197)]));}catch{}}export async function featureReport(_0x52decc,_0x3ea816){const _0x56924c=_0x207aa7,_0x267df1={'HKVEy':_0x56924c(0x1e3),'Eqddu':_0x56924c(0x170),'GWPly':function(_0x1f6011,_0x107ba4,_0x455903){return _0x1f6011(_0x107ba4,_0x455903);},'NYIXe':function(_0x574c4b,_0x35a63c,_0x1b85c4,_0x361695){return _0x574c4b(_0x35a63c,_0x1b85c4,_0x361695);},'SeJBf':_0x56924c(0x155)},_0x5e6d8a=_0x52decc||await getActiveFeatureId();if(!_0x5e6d8a)throw new Error(_0x267df1['HKVEy']);console[_0x56924c(0x17e)](_0x267df1['Eqddu']);const _0x493e93=await getFeatureReportMarkdown(_0x5e6d8a,{'style':_0x3ea816['style']}),_0xd31872=_0x3ea816['output']||join(getRangerDir(),'reports',_0x5e6d8a+_0x56924c(0x135)),_0x47af01=_0x267df1[_0x56924c(0x181)](join,_0xd31872,'..');!existsSync(_0x47af01)&&await _0x267df1['GWPly'](mkdir,_0x47af01,{'recursive':!![]}),await _0x267df1['NYIXe'](writeFile,_0xd31872,_0x493e93,_0x267df1[_0x56924c(0x150)]),console[_0x56924c(0x17e)](_0x56924c(0x1bc)+_0xd31872);}function getScenarioResult(_0x3acafe){const _0xa81352=_0x207aa7,_0x596e18={'wSScI':function(_0x1b0e29,_0x5c9f7f){return _0x1b0e29===_0x5c9f7f;},'gpqWz':'in_progress'};if(_0x596e18['wSScI'](_0x3acafe[_0xa81352(0x114)],_0xa81352(0x1ea)))return _0x3acafe['terminalReason']??'closed';if(_0x3acafe[_0xa81352(0x114)]==='verification_in_progress')return _0x596e18[_0xa81352(0x1e1)];return _0x3acafe[_0xa81352(0x114)];}function getScenarioRationale(_0x288e36,_0x1b54db){const _0x58f4d3=_0x207aa7,_0x50c4a3={'rdrNS':_0x58f4d3(0x169)},_0x4c3f1f=_0x50c4a3['rdrNS'][_0x58f4d3(0x1cd)]('|');let _0x4992bb=0x0;while(!![]){switch(_0x4c3f1f[_0x4992bb++]){case'0':if(_0x1b54db)return _0x1b54db;continue;case'1':if(_0x288e36['incompleteReason'])return _0x288e36['incompleteReason'];continue;case'2':if(_0x288e36[_0x58f4d3(0x18f)])return _0x288e36['notes'];continue;case'3':if(_0x288e36['blockedReason'])return _0x288e36['blockedReason'];continue;case'4':if(_0x288e36['canceledReason'])return _0x288e36[_0x58f4d3(0x1c3)];continue;case'5':return null;}break;}}export async function featureReportPrDescription(_0x367ecb,_0x7884c1){const _0x1ea83e=_0x207aa7,_0x1819c8={'DBWcw':function(_0x5f03cd){return _0x5f03cd();},'DTWMp':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','TSYUI':function(_0x4fe483,_0x3a2a28){return _0x4fe483(_0x3a2a28);},'iBoSf':function(_0x656ea,_0x3e3b56){return _0x656ea+_0x3e3b56;},'hlrUp':function(_0x113193,_0x2a7ac8){return _0x113193===_0x2a7ac8;}},_0x25258c=_0x367ecb||await _0x1819c8['DBWcw'](getActiveFeatureId);if(!_0x25258c)throw new Error(_0x1819c8[_0x1ea83e(0x164)]);const _0x5397f3=await _0x1819c8['TSYUI'](getFeature,_0x25258c),_0x145f20=_0x5397f3['checklistItems']||[],_0xae620=getCurrentSessionItems(_0x5397f3,_0x145f20);_0xae620[_0x1ea83e(0x16c)]===0x0&&(console['error'](_0x1ea83e(0x1aa)),process['exit'](0x1));const _0x39cb16=_0x7884c1[_0x1ea83e(0x1b3)]??[],_0x1987dc=_0x39cb16['filter'](_0x1b886a=>!Number[_0x1ea83e(0x1ae)](_0x1b886a)||_0x1b886a<0x1||_0x1b886a>_0xae620[_0x1ea83e(0x16c)]);if(_0x1987dc['length']>0x0){console[_0x1ea83e(0x152)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x1987dc[_0x1ea83e(0x16b)](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x3e8fd2=0x0;_0x3e8fd2<_0xae620['length'];_0x3e8fd2++){console['log']('\x20\x20'+_0x1819c8['iBoSf'](_0x3e8fd2,0x1)+'.\x20'+_0xae620[_0x3e8fd2][_0x1ea83e(0x1d9)]);}process[_0x1ea83e(0x127)](0x1);}const _0x4c80c3=new Set(_0x39cb16['map'](_0x2824c3=>_0x2824c3-0x1)),_0x2e3fc0=_0xae620['filter']((_0x14ee84,_0xdf10ba)=>!_0x4c80c3[_0x1ea83e(0x1d3)](_0xdf10ba));_0x1819c8[_0x1ea83e(0x189)](_0x2e3fc0[_0x1ea83e(0x16c)],0x0)&&(console[_0x1ea83e(0x152)](_0x1ea83e(0x1cc)),process[_0x1ea83e(0x127)](0x1));if(_0x7884c1['json'])await outputJsonReport(_0x25258c,_0x5397f3,_0x2e3fc0);else{const _0xf5308f=await getFeatureReportMarkdown(_0x25258c,{'itemIds':_0x2e3fc0['map'](_0x2ff8f2=>_0x2ff8f2['id'])});process['stdout']['write'](_0xf5308f[_0x1ea83e(0x186)]()+'\x0a');}}async function outputJsonReport(_0x22d040,_0x51f4b8,_0x3aa8cd){const _0x2812a9=_0x207aa7,_0x1c73e9={'NMrZi':function(_0x401da3,_0x1d9482){return _0x401da3(_0x1d9482);},'RQnNq':function(_0x1d7105,_0x3d2cb7){return _0x1d7105===_0x3d2cb7;},'ybFcw':function(_0x354d4a){return _0x354d4a();},'mtEAn':function(_0xd11d06,_0x1a1bce){return _0xd11d06+_0x1a1bce;}},_0x5b87c8=_0x1c73e9['ybFcw'](getApiBaseUrl),_0x4e0d6c=await _0x1c73e9[_0x2812a9(0x1df)](getFeatureReport,_0x22d040),_0x2334ee=new Map(_0x4e0d6c['checklistItems'][_0x2812a9(0x1bb)](_0x3cfb54=>[_0x3cfb54['id'],_0x3cfb54])),_0x19f55d=await Promise[_0x2812a9(0x17f)](_0x3aa8cd['map'](async _0x565e1b=>{const _0x239bee=_0x2812a9,_0x28b15e=_0x2334ee['get'](_0x565e1b['id']),_0x47aec0=_0x28b15e?.['linkedSession']??null;let _0xea38ee=[];if(_0x565e1b['browserSessionId'])try{const {steps:_0x5a0032}=await _0x1c73e9['NMrZi'](getBrowserSessionSteps,_0x565e1b['browserSessionId']);_0x5a0032['length']>0x0&&(_0xea38ee=_0x5a0032[_0x239bee(0x1bb)](_0x3c1a09=>{const _0x1c59ae=_0x239bee,_0x268d1a=_0x3c1a09['assets'][_0x1c59ae(0x1c5)](_0x4e4f3e=>_0x4e4f3e['assetType']==='screenshot'&&_0x4e4f3e['timing']===_0x1c59ae(0x12e))??_0x3c1a09[_0x1c59ae(0x141)][_0x1c59ae(0x1c5)](_0x46c799=>_0x46c799['assetType']==='screenshot');let _0x49b265=null,_0x4c60d3=null;if(_0x268d1a){const _0x351077=_0x268d1a[_0x1c59ae(0x1a1)][_0x1c59ae(0x13b)]['split']('/')[_0x1c59ae(0x194)]();_0x49b265=_0x5b87c8+'/api/v1/mcp/browser-sessions/'+_0x565e1b['browserSessionId']+'/artifacts/'+_0x351077,_0x351077&&(_0x4c60d3=_0x351077['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x1c59ae(0x1ee)](/[-_]/g,'\x20'));}return{'description':_0x4c60d3||_0x3c1a09[_0x1c59ae(0x1d9)]||_0x3c1a09[_0x1c59ae(0x1e5)]||'Step\x20'+_0x3c1a09[_0x1c59ae(0x176)],'screenshot':_0x49b265,'is_key_step':_0x3c1a09[_0x1c59ae(0x13f)]};}));}catch{}return _0x1c73e9[_0x239bee(0x154)](_0xea38ee['length'],0x0)&&_0x47aec0?.['screenshotUrls']&&(_0xea38ee=_0x47aec0[_0x239bee(0x1c7)]['map']((_0x15e47e,_0x44c9f6)=>({'description':_0x239bee(0x1a6)+(_0x44c9f6+0x1),'screenshot':_0x15e47e,'is_key_step':![]}))),{'description':_0x565e1b[_0x239bee(0x1d9)],'result':getScenarioResult(_0x565e1b),'rationale':getScenarioRationale(_0x565e1b,_0x47aec0?.[_0x239bee(0x1ad)]),'steps':_0xea38ee};})),_0x318020={'url':_0x51f4b8['dashboardUrl'],'scenarios':_0x19f55d};process['stdout'][_0x2812a9(0x180)](_0x1c73e9[_0x2812a9(0x1c0)](JSON['stringify'](_0x318020,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x41769d){const _0xfcb7c2=_0x207aa7,_0x3e7f7a={'wCeWK':_0xfcb7c2(0x19a),'iIrrY':'Current\x20session\x20not\x20found.','uPJMt':function(_0x117978,_0x2b968a){return _0x117978!==_0x2b968a;},'EWOTz':_0xfcb7c2(0x163),'kAnAG':function(_0x16f64a,_0x126684,_0x1e738e){return _0x16f64a(_0x126684,_0x1e738e);}},_0x17c244=_0x41769d||await getActiveFeatureId();if(!_0x17c244)throw new Error(_0x3e7f7a[_0xfcb7c2(0x172)]);const _0x257d81=await getFeature(_0x17c244);if(!_0x257d81[_0xfcb7c2(0x149)])throw new Error(_0xfcb7c2(0x1b0));const {sessions:_0x4cab62}=await listFeatureSessions(_0x17c244),_0x52c7ee=_0x4cab62[_0xfcb7c2(0x1c5)](_0x344aa9=>_0x344aa9['id']===_0x257d81['currentSessionId']);if(!_0x52c7ee)throw new Error(_0x3e7f7a['iIrrY']);if(_0x52c7ee[_0xfcb7c2(0x114)]===_0xfcb7c2(0x132)){console['log'](_0xfcb7c2(0x1ca));return;}if(_0x3e7f7a['uPJMt'](_0x52c7ee['status'],_0x3e7f7a[_0xfcb7c2(0x142)]))throw new Error(_0xfcb7c2(0x1a8)+_0x52c7ee[_0xfcb7c2(0x114)]);console[_0xfcb7c2(0x17e)]('\x0aConcluding\x20session...'),await _0x3e7f7a[_0xfcb7c2(0x193)](concludeSession,_0x17c244,_0x257d81['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x52c7ee[_0xfcb7c2(0x197)]+_0xfcb7c2(0x179)),console[_0xfcb7c2(0x17e)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x412121){const _0x28dec9=_0x207aa7,_0x46687d={'FCVFR':function(_0x5ccb89){return _0x5ccb89();},'tbGeJ':function(_0x1f5566,_0xdb40ce){return _0x1f5566(_0xdb40ce);},'JPjCS':'No\x20sessions\x20found.','tGuGz':function(_0x196c21,_0x23a291){return _0x196c21===_0x23a291;},'Bfvuq':_0x28dec9(0x132)},_0x565170=_0x412121||await _0x46687d['FCVFR'](getActiveFeatureId);if(!_0x565170)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x3fc110=await getFeature(_0x565170);console[_0x28dec9(0x17e)](_0x28dec9(0x187)+_0x3fc110[_0x28dec9(0x11c)]+'\x0a');const {sessions:_0x543a99}=await _0x46687d['tbGeJ'](listFeatureSessions,_0x565170);if(_0x543a99['length']===0x0){console[_0x28dec9(0x17e)](_0x46687d['JPjCS']);return;}for(const _0x15a7d2 of _0x543a99){const _0x1c267b=_0x46687d['tGuGz'](_0x15a7d2['status'],_0x46687d['Bfvuq'])?'✅':_0x15a7d2[_0x28dec9(0x114)]===_0x28dec9(0x163)?'🔄':'▶️';console[_0x28dec9(0x17e)](_0x1c267b+_0x28dec9(0x11f)+_0x15a7d2[_0x28dec9(0x197)]+'\x20('+_0x15a7d2['id']+')'),console[_0x28dec9(0x17e)](_0x28dec9(0x196)+_0x15a7d2['status']),console[_0x28dec9(0x17e)](_0x28dec9(0x16f)+new Date(_0x15a7d2[_0x28dec9(0x144)])['toLocaleString']()),_0x15a7d2[_0x28dec9(0x116)]&&console[_0x28dec9(0x17e)]('\x20\x20\x20Completed:\x20'+new Date(_0x15a7d2['completedAt'])[_0x28dec9(0x17a)]()),console['log']('');}}export async function featureAddScenario(_0x33a9d2,_0x2278b1){const _0x2c1b1e=_0x207aa7,_0x4ad941={'PpSxY':function(_0x48fdda){return _0x48fdda();},'RGaAj':function(_0x55f526,_0x1d1ce1){return _0x55f526(_0x1d1ce1);},'WwMyk':function(_0x3ca00f,_0x3e4eb4,_0x4b32a3){return _0x3ca00f(_0x3e4eb4,_0x4b32a3);}},_0x348957=_0x2278b1||await _0x4ad941[_0x2c1b1e(0x168)](getActiveFeatureId);if(!_0x348957)throw new Error(_0x2c1b1e(0x19a));const _0x4d2345=await _0x4ad941[_0x2c1b1e(0x1c1)](getFeature,_0x348957);if(_0x4d2345['latestReview']&&!_0x4d2345[_0x2c1b1e(0x16d)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x4d2345['dashboardUrl']);await _0x4ad941['WwMyk'](createChecklistItem,_0x348957,_0x33a9d2);const _0x2c191f=await getFeature(_0x348957);console[_0x2c1b1e(0x17e)](_0x2c1b1e(0x165)),displayFeature(_0x2c191f,_0x2c191f['checklistItems']);}export async function featureEditScenario(_0x303b3c,_0x4c3341){const _0x3cd2b9=_0x207aa7,_0x597c57={'uNrdR':function(_0x427df7){return _0x427df7();},'RgqGJ':_0x3cd2b9(0x1dc),'kMGGG':function(_0x443a93,_0x116048){return _0x443a93(_0x116048);},'QvlrW':_0x3cd2b9(0x177),'xtSLG':function(_0x280280,_0x4efb13){return _0x280280===_0x4efb13;},'mDsrd':_0x3cd2b9(0x1a3),'PHYKt':function(_0x5bed3a,_0x1c029d){return _0x5bed3a-_0x1c029d;},'cVMXY':'\x0aAvailable\x20scenarios:','sfwAW':function(_0x20d45b,_0x3f7228){return _0x20d45b<_0x3f7228;},'DjlhP':function(_0x369c2a,_0x1fad91,_0x48ac5c){return _0x369c2a(_0x1fad91,_0x48ac5c);}},_0x131449=_0x4c3341['id']||await _0x597c57['uNrdR'](getActiveFeatureId);!_0x131449&&(console['error'](_0x597c57[_0x3cd2b9(0x162)]),console['error'](_0x3cd2b9(0x12d)),process['exit'](0x1));const _0x380213=await _0x597c57[_0x3cd2b9(0x119)](getFeature,_0x131449);_0x380213['latestReview']&&!_0x380213['latestReview']['submittedAt']&&(console[_0x3cd2b9(0x152)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x3cd2b9(0x152)](_0x3cd2b9(0x148)),console[_0x3cd2b9(0x152)]('\x20\x20'+_0x380213['dashboardUrl']),process['exit'](0x1));const _0x17ff47=_0x380213[_0x3cd2b9(0x12b)]||[];_0x17ff47['length']===0x0&&(console['error'](_0x597c57[_0x3cd2b9(0x14f)]),process['exit'](0x1));if(_0x597c57[_0x3cd2b9(0x1b1)](_0x4c3341['scenario'],undefined)){console[_0x3cd2b9(0x152)](_0x597c57['mDsrd']),console['log']('\x0aAvailable\x20scenarios:');for(let _0x5ce928=0x0;_0x5ce928<_0x17ff47['length'];_0x5ce928++){console['log']('\x20\x20'+(_0x5ce928+0x1)+'.\x20'+_0x17ff47[_0x5ce928][_0x3cd2b9(0x1d9)]);}process['exit'](0x1);}const _0x485fb9=_0x597c57[_0x3cd2b9(0x112)](_0x4c3341[_0x3cd2b9(0x122)],0x1);if(_0x485fb9<0x0||_0x485fb9>=_0x17ff47['length']){console['error']('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x4c3341['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x17ff47[_0x3cd2b9(0x16c)]+'\x20scenarios.'),console['log'](_0x597c57[_0x3cd2b9(0x15b)]);for(let _0x478a08=0x0;_0x597c57['sfwAW'](_0x478a08,_0x17ff47[_0x3cd2b9(0x16c)]);_0x478a08++){console[_0x3cd2b9(0x17e)]('\x20\x20'+(_0x478a08+0x1)+'.\x20'+_0x17ff47[_0x478a08][_0x3cd2b9(0x1d9)]);}process[_0x3cd2b9(0x127)](0x1);}const _0x21e35b=_0x17ff47[_0x485fb9];await updateChecklistItem(_0x131449,_0x21e35b['id'],{'description':_0x303b3c});const _0x5f2158=await getFeature(_0x131449);console['log']('\x0a✅\x20Scenario\x20updated'),_0x597c57['DjlhP'](displayFeature,_0x5f2158,_0x5f2158[_0x3cd2b9(0x12b)]);}async function downloadFeedbackImage(_0x375422,_0x5e1150){const _0x3fa410=_0x207aa7,_0x3a65c2={'UsMES':function(_0x3178ec,_0x2ba147,_0x2b02a5){return _0x3178ec(_0x2ba147,_0x2b02a5);},'TqeWj':'feedback-images','uhUlR':function(_0x5b984b,_0x41b0fd){return _0x5b984b(_0x41b0fd);}};try{const _0x18d463=_0x3a65c2[_0x3fa410(0x175)](join,getRangerDir(),_0x3a65c2[_0x3fa410(0x1a7)]);await mkdir(_0x18d463,{'recursive':!![]});const _0x2337a1=join(_0x18d463,'comment_'+_0x5e1150+_0x3fa410(0x14d)),_0x5cfa07=await _0x3a65c2['uhUlR'](fetch,_0x375422);if(!_0x5cfa07['ok'])return null;const _0x376568=Buffer[_0x3fa410(0x18e)](await _0x5cfa07[_0x3fa410(0x18b)]());return await _0x3a65c2[_0x3fa410(0x175)](writeFile,_0x2337a1,_0x376568),_0x2337a1;}catch{return null;}}export async function featureGetReview(_0x7ae2eb){const _0x5ea8c5=_0x207aa7,_0x24da2a={'ydlcU':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','RUDFz':function(_0x153421,_0x5a794c){return _0x153421(_0x5a794c);},'GimMf':function(_0x389275,_0x1a8e58){return _0x389275===_0x1a8e58;},'leRNa':'No\x20scenarios\x20found.','smwVv':function(_0x40a8dc,_0x37824f){return _0x40a8dc>_0x37824f;},'RgbnK':function(_0x4b238d,_0x4d55d7){return _0x4b238d+_0x4d55d7;},'TJUdc':'numeric','DONYR':function(_0x269259,_0x5b1928,_0x3f6783){return _0x269259(_0x5b1928,_0x3f6783);},'GRLyT':function(_0x519180,_0x10e531){return _0x519180===_0x10e531;},'OVECY':_0x5ea8c5(0x13c)},_0x2b0d82=_0x7ae2eb||await getActiveFeatureId();if(!_0x2b0d82)throw new Error(_0x24da2a['ydlcU']);const _0xc79201=await getFeature(_0x2b0d82),{items:_0x4b85d5}=await _0x24da2a[_0x5ea8c5(0x118)](getActionItems,_0x2b0d82);console['log'](_0x5ea8c5(0x173)+_0xc79201['name']+'\x20('+_0xc79201['id']+')\x0a');if(_0x24da2a[_0x5ea8c5(0x131)](_0x4b85d5['length'],0x0)){console[_0x5ea8c5(0x17e)](_0x24da2a['leRNa']);return;}for(let _0x5fe6a4=0x0;_0x5fe6a4<_0x4b85d5['length'];_0x5fe6a4++){const _0x53b389=_0x4b85d5[_0x5fe6a4],_0x2492c4=_0x24da2a[_0x5ea8c5(0x146)](_0x53b389['version'],0x1)?_0x5ea8c5(0x190)+_0x53b389['version']+')':'',_0x53f9b8=await getItemFeedback(_0x2b0d82,_0x53b389['id']);if(_0x53f9b8[_0x5ea8c5(0x138)][_0x5ea8c5(0x16c)]>0x0){console[_0x5ea8c5(0x17e)](_0x5ea8c5(0x11b)+_0x24da2a[_0x5ea8c5(0x1b5)](_0x5fe6a4,0x1)+':\x20\x22'+_0x53b389[_0x5ea8c5(0x1d9)]+'\x22'+_0x2492c4+'\x20—\x20'+_0x53f9b8['unaddressedComments']['length']+'\x20unaddressed\x20comment(s)');for(const _0x3963d9 of _0x53f9b8[_0x5ea8c5(0x138)]){const _0x5317a5=new Date(_0x3963d9['createdAt'])['toLocaleDateString'](_0x5ea8c5(0x188),{'month':_0x5ea8c5(0x1e7),'day':_0x24da2a[_0x5ea8c5(0x1d7)]}),_0x7a0667=_0x3963d9[_0x5ea8c5(0x159)]||_0x3963d9['authorEmail']||'Unknown';console[_0x5ea8c5(0x17e)](_0x5ea8c5(0x1d5)+_0x7a0667+'\x20('+_0x5317a5+'):\x20\x22'+_0x3963d9['content']+'\x22');if(_0x3963d9['assetUrl']){const _0x281220=await _0x24da2a['DONYR'](downloadFeedbackImage,_0x3963d9['assetUrl'],_0x3963d9['id']);_0x281220&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x281220);}if(_0x3963d9['domRef']){const _0x2b4b1a=_0x3963d9[_0x5ea8c5(0x1cf)][_0x5ea8c5(0x1b4)][_0x5ea8c5(0x1cd)]('\x20>\x20')[_0x5ea8c5(0x194)]()?.['split'](':')[0x0]||'element',_0x2bf386=_0x3963d9[_0x5ea8c5(0x1cf)][_0x5ea8c5(0x19e)]?'\x20\x22'+_0x3963d9[_0x5ea8c5(0x1cf)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log']('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x2b4b1a+'>'+_0x2bf386),console[_0x5ea8c5(0x17e)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x3963d9['domRef']['selector']);}else{if(_0x3963d9[_0x5ea8c5(0x12c)]){const _0x2cf3c0=_0x3963d9[_0x5ea8c5(0x12c)]['coordinates'];_0x24da2a[_0x5ea8c5(0x184)](_0x3963d9['spatial']['type'],_0x24da2a[_0x5ea8c5(0x1da)])&&_0x2cf3c0[_0x5ea8c5(0x16c)]>=0x2?console[_0x5ea8c5(0x17e)](_0x5ea8c5(0x166)+_0x2cf3c0[0x0]['toFixed'](0x2)+',\x20'+_0x2cf3c0[0x1][_0x5ea8c5(0x1d1)](0x2)+')'):console[_0x5ea8c5(0x17e)](_0x5ea8c5(0x145)+_0x3963d9[_0x5ea8c5(0x12c)]['type']+'\x20at\x20['+_0x2cf3c0['map'](_0x4985ec=>_0x4985ec['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x53f9b8['canonicalFlow']){console['log'](_0x5ea8c5(0x111));for(const _0xaa8c1e of _0x53f9b8[_0x5ea8c5(0x126)]['split']('\x0a')){console['log']('\x20\x20\x20\x20'+_0xaa8c1e);}}}else console['log'](_0x5ea8c5(0x11b)+_0x24da2a['RgbnK'](_0x5fe6a4,0x1)+':\x20\x22'+_0x53b389['description']+'\x22'+_0x2492c4+'\x20—\x20no\x20comments'),console[_0x5ea8c5(0x17e)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0xa6bee1){const _0x5e3e7a=_0x207aa7,_0x231480={'JqAQd':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','GIdpl':function(_0x5d1d74,_0x33e18d){return _0x5d1d74(_0x33e18d);}},_0x5867d4=_0xa6bee1||await getActiveFeatureId();if(!_0x5867d4)throw new Error(_0x231480[_0x5e3e7a(0x1e4)]);const _0x306b8a=await getFeature(_0x5867d4);await _0x231480[_0x5e3e7a(0x117)](softDeleteFeature,_0x5867d4),console['log'](_0x5e3e7a(0x18d)+_0x306b8a[_0x5e3e7a(0x11c)]+'\x20('+_0x5867d4+')'),console[_0x5e3e7a(0x17e)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'+_0x5867d4);}export async function featureRestore(_0x395894){const _0x2dd99b=_0x207aa7,_0x5b282f={'jXQir':function(_0x425ab5,_0x38bd39){return _0x425ab5(_0x38bd39);}};await restoreFeature(_0x395894);const _0x84bcb4=await _0x5b282f[_0x2dd99b(0x198)](getFeature,_0x395894);console[_0x2dd99b(0x17e)](_0x2dd99b(0x1b2)+_0x84bcb4['name']+'\x20('+_0x395894+')'),displayFeature(_0x84bcb4,_0x84bcb4['checklistItems']);}
@@ -1 +1 @@
1
- function _0x1275(){const _0x5e8fd3=['36YIubgb','13evfqEg','141qoJPiP','Valid\x20hooks:\x20','7pRsIFz','error','1059928iAHJKQ','keys','SIGINT','exit','10DRPvlv','7462452xHEwVL','1458932iXAwxe','2602DwjNMX','10qyXVqz','2595307LBElPV','395429UMWdkS','once','6499104Ufpmjw'];_0x1275=function(){return _0x5e8fd3;};return _0x1275();}(function(_0x52fe99,_0x50d6db){const _0x42ebff=_0x1925,_0x53b602=_0x52fe99();while(!![]){try{const _0x44f35a=-parseInt(_0x42ebff(0x169))/0x1+-parseInt(_0x42ebff(0x166))/0x2*(-parseInt(_0x42ebff(0x16e))/0x3)+-parseInt(_0x42ebff(0x165))/0x4*(parseInt(_0x42ebff(0x167))/0x5)+-parseInt(_0x42ebff(0x16b))/0x6*(-parseInt(_0x42ebff(0x170))/0x7)+parseInt(_0x42ebff(0x172))/0x8*(parseInt(_0x42ebff(0x16c))/0x9)+-parseInt(_0x42ebff(0x163))/0xa*(parseInt(_0x42ebff(0x168))/0xb)+parseInt(_0x42ebff(0x164))/0xc*(parseInt(_0x42ebff(0x16d))/0xd);if(_0x44f35a===_0x50d6db)break;else _0x53b602['push'](_0x53b602['shift']());}catch(_0x418072){_0x53b602['push'](_0x53b602['shift']());}}}(_0x1275,0xe45a6));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x1925(_0x4ccc7a,_0x4518bd){_0x4ccc7a=_0x4ccc7a-0x160;const _0x1275d9=_0x1275();let _0x19252c=_0x1275d9[_0x4ccc7a];return _0x19252c;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x247d43=_0x1925;if(cancellationHandlersInstalled)return;const _0x38818b=()=>{const _0x2ee900=_0x1925;process[_0x2ee900(0x162)](0x0);};process[_0x247d43(0x16a)](_0x247d43(0x161),_0x38818b),process[_0x247d43(0x16a)]('SIGTERM',_0x38818b),process['once']('SIGHUP',_0x38818b),cancellationHandlersInstalled=!![];}export async function hook(_0x5cc415,_0x49dcaa){const _0x3fa242=_0x1925;installCancellationHandlers();const _0x275971=HOOKS[_0x5cc415];if(!_0x275971){const _0x3e04f4=Object[_0x3fa242(0x160)](HOOKS)['join'](',\x20');console[_0x3fa242(0x171)]('Unknown\x20hook:\x20'+_0x5cc415),console[_0x3fa242(0x171)](_0x3fa242(0x16f)+_0x3e04f4),process[_0x3fa242(0x162)](0x1);}await _0x275971(_0x49dcaa);}
1
+ function _0x246b(){const _0x1ab559=['973008KsDWSY','join','153NHXwGh','SIGINT','250448wDkHJQ','744540WjeQPx','error','505845huZgTb','561568nnYEEf','94004IHwItX','345072MILkaW','8RrlrkP','keys','Valid\x20hooks:\x20','once'];_0x246b=function(){return _0x1ab559;};return _0x246b();}(function(_0x562adb,_0x58ca41){const _0x12c2fc=_0x2adf,_0x4296bd=_0x562adb();while(!![]){try{const _0x49d7bf=parseInt(_0x12c2fc(0xce))/0x1+-parseInt(_0x12c2fc(0xd4))/0x2+-parseInt(_0x12c2fc(0xcf))/0x3+parseInt(_0x12c2fc(0xd0))/0x4*(parseInt(_0x12c2fc(0xcc))/0x5)+parseInt(_0x12c2fc(0xd9))/0x6+-parseInt(_0x12c2fc(0xcd))/0x7+parseInt(_0x12c2fc(0xd8))/0x8*(parseInt(_0x12c2fc(0xd6))/0x9);if(_0x49d7bf===_0x58ca41)break;else _0x4296bd['push'](_0x4296bd['shift']());}catch(_0x404f67){_0x4296bd['push'](_0x4296bd['shift']());}}}(_0x246b,0x42222));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x4b73e0=_0x2adf;if(cancellationHandlersInstalled)return;const _0x1f6dbc=()=>{process['exit'](0x0);};process[_0x4b73e0(0xd3)](_0x4b73e0(0xd7),_0x1f6dbc),process[_0x4b73e0(0xd3)]('SIGTERM',_0x1f6dbc),process[_0x4b73e0(0xd3)]('SIGHUP',_0x1f6dbc),cancellationHandlersInstalled=!![];}function _0x2adf(_0x18d750,_0x122034){_0x18d750=_0x18d750-0xcc;const _0x246b12=_0x246b();let _0x2adfd3=_0x246b12[_0x18d750];return _0x2adfd3;}export async function hook(_0x3ba072,_0x2efb2c){const _0x32ab7e=_0x2adf,_0x5dcee3={'KRjaI':function(_0x1dd8ab){return _0x1dd8ab();},'mVEWA':function(_0x1eab70,_0x5cf9ba){return _0x1eab70(_0x5cf9ba);}};_0x5dcee3['KRjaI'](installCancellationHandlers);const _0x430d97=HOOKS[_0x3ba072];if(!_0x430d97){const _0x4fe909=Object[_0x32ab7e(0xd1)](HOOKS)[_0x32ab7e(0xd5)](',\x20');console['error']('Unknown\x20hook:\x20'+_0x3ba072),console[_0x32ab7e(0xda)](_0x32ab7e(0xd2)+_0x4fe909),process['exit'](0x1);}await _0x5dcee3['mVEWA'](_0x430d97,_0x2efb2c);}
@@ -1 +1 @@
1
- function _0xb1af(){const _0x1727a8=['517689eoqnLW','199944tFTUrm','104SIJPxJ','4yjKsLA','30QirMzL','9IJNyep','567007QExUar','7350120TgMLZv','69562sBYFxZ','885005XrDaBZ','21931701tjCMMN','off'];_0xb1af=function(){return _0x1727a8;};return _0xb1af();}(function(_0x2615ba,_0x3c3836){const _0x27ddf1=_0x1039,_0x1eb32a=_0x2615ba();while(!![]){try{const _0x42e70f=parseInt(_0x27ddf1(0x151))/0x1+-parseInt(_0x27ddf1(0x14c))/0x2*(-parseInt(_0x27ddf1(0x149))/0x3)+parseInt(_0x27ddf1(0x153))/0x4*(parseInt(_0x27ddf1(0x14d))/0x5)+-parseInt(_0x27ddf1(0x148))/0x6*(-parseInt(_0x27ddf1(0x14a))/0x7)+parseInt(_0x27ddf1(0x152))/0x8*(parseInt(_0x27ddf1(0x150))/0x9)+parseInt(_0x27ddf1(0x14b))/0xa+-parseInt(_0x27ddf1(0x14e))/0xb;if(_0x42e70f===_0x3c3836)break;else _0x1eb32a['push'](_0x1eb32a['shift']());}catch(_0x242d13){_0x1eb32a['push'](_0x1eb32a['shift']());}}}(_0xb1af,0x5b9f7));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x1039(_0x1ce9e5,_0x53359e){_0x1ce9e5=_0x1ce9e5-0x148;const _0xb1afab=_0xb1af();let _0x103961=_0xb1afab[_0x1ce9e5];return _0x103961;}import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT='\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.';export async function autoPrompt(){const _0x26dd9c=_0x1039;if(resolveHookMode()===_0x26dd9c(0x14f))return;const _0x1b8ab0=await readHookInput(),_0x11d112=_0x1b8ab0?.['session_id'];if(!_0x11d112)return;if(isSessionEnabled(_0x11d112)||hasSessionBeenPrompted(_0x11d112))return;markSessionPrompted(_0x11d112),console['log'](AUTO_PROMPT_TEXT);}
1
+ const _0x1cf9d8=_0x2e25;(function(_0x5427de,_0x47c801){const _0x3e99de=_0x2e25,_0x37e20b=_0x5427de();while(!![]){try{const _0x363b46=-parseInt(_0x3e99de(0x154))/0x1*(parseInt(_0x3e99de(0x15e))/0x2)+-parseInt(_0x3e99de(0x15a))/0x3*(-parseInt(_0x3e99de(0x15b))/0x4)+-parseInt(_0x3e99de(0x155))/0x5+-parseInt(_0x3e99de(0x15d))/0x6+-parseInt(_0x3e99de(0x15c))/0x7+-parseInt(_0x3e99de(0x158))/0x8+parseInt(_0x3e99de(0x159))/0x9;if(_0x363b46===_0x47c801)break;else _0x37e20b['push'](_0x37e20b['shift']());}catch(_0x1fa465){_0x37e20b['push'](_0x37e20b['shift']());}}}(_0x6bee,0x504fa));function _0x2e25(_0x52f8b0,_0xbfb363){_0x52f8b0=_0x52f8b0-0x154;const _0x6bee4=_0x6bee();let _0x2e25f7=_0x6bee4[_0x52f8b0];return _0x2e25f7;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';import{resolveHookMode}from'../utils/environment.js';const AUTO_PROMPT_TEXT=_0x1cf9d8(0x157);function _0x6bee(){const _0x436d81=['2778447YyQWjx','679524krPYQS','15688bddKyF','gOdcu','mNXWS','18tffPxH','380450RqqHpU','log','\x0a[Ranger]\x20Before\x20responding,\x20assess\x20whether\x20this\x20task\x20involves\x20frontend,\x20UI,\x20or\x20browser-facing\x20work.\x0a\x0a-\x20If\x20it\x20does:\x20enable\x20Ranger\x20Feature\x20Review\x20yourself\x20by\x20running\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool),\x20tell\x20the\x20user\x20in\x20one\x20short\x20line\x20that\x20you\x27re\x20doing\x20so\x20(e.g.\x20\x22Enabling\x20Ranger\x20feature\x20review\x20—\x20I\x27ll\x20verify\x20this\x20in\x20a\x20real\x20browser\x20as\x20I\x20work.\x22),\x20then\x20continue\x20with\x20their\x20request.\x0a-\x20If\x20it\x20does\x20not:\x20just\x20continue\x20with\x20the\x20request\x20and\x20say\x20nothing\x20about\x20Ranger.\x0a\x0aDecide\x20and\x20act\x20on\x20your\x20own.\x20Do\x20NOT\x20ask\x20the\x20user\x20whether\x20to\x20enable\x20Ranger,\x20and\x20do\x20NOT\x20wait\x20for\x20confirmation\x20—\x20that\x20blocks\x20autonomous\x20and\x20one-shot\x20agents.\x20The\x20user\x20can\x20toggle\x20Ranger\x20anytime\x20with\x20/ranger:enable\x20or\x20/ranger:disable.','4900736exaVJa','11979504TbfXZO','9LDNvEs','450596OnftyE'];_0x6bee=function(){return _0x436d81;};return _0x6bee();}export async function autoPrompt(){const _0x3d3756=_0x1cf9d8,_0x1c4491={'rRgIn':'off','gOdcu':function(_0xd1189d){return _0xd1189d();},'mNXWS':function(_0x32955b,_0xd798c3){return _0x32955b(_0xd798c3);}};if(resolveHookMode()===_0x1c4491['rRgIn'])return;const _0x84d9e8=await _0x1c4491[_0x3d3756(0x15f)](readHookInput),_0x4936d3=_0x84d9e8?.['session_id'];if(!_0x4936d3)return;if(_0x1c4491['mNXWS'](isSessionEnabled,_0x4936d3)||_0x1c4491[_0x3d3756(0x160)](hasSessionBeenPrompted,_0x4936d3))return;_0x1c4491['mNXWS'](markSessionPrompted,_0x4936d3),console[_0x3d3756(0x156)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0xa2766f,_0x44f1f4){const _0x5a9595=_0x2c16,_0x5f37ca=_0xa2766f();while(!![]){try{const _0x1d7975=-parseInt(_0x5a9595(0xd6))/0x1+-parseInt(_0x5a9595(0xd5))/0x2*(-parseInt(_0x5a9595(0xcf))/0x3)+-parseInt(_0x5a9595(0xd4))/0x4+-parseInt(_0x5a9595(0xc6))/0x5+-parseInt(_0x5a9595(0xca))/0x6+parseInt(_0x5a9595(0xcc))/0x7*(-parseInt(_0x5a9595(0xcb))/0x8)+parseInt(_0x5a9595(0xd1))/0x9;if(_0x1d7975===_0x44f1f4)break;else _0x5f37ca['push'](_0x5f37ca['shift']());}catch(_0x5e770d){_0x5f37ca['push'](_0x5f37ca['shift']());}}}(_0x4957,0xb2fc4));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x4957(){const _0x25abef=['353118ktffFA','CLAUDE_SESSION_ID','\x20and\x20branch\x20\x27','1185735ZcgqZy','oiqis','BfjLL','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','1427622XCVVOR','5944HipIfF','532emNBnK','master','ksESE','63bSLOBp','main','26766072CoXDOg','WdTnY','wLxVF','5817136ygTNuP','9340nPElzs'];_0x4957=function(){return _0x25abef;};return _0x4957();}import{printBlock}from'./output.js';function _0x2c16(_0x249089,_0x3ddd31){_0x249089=_0x249089-0xc4;const _0x495711=_0x4957();let _0x2c1694=_0x495711[_0x249089];return _0x2c1694;}export async function disable(_0x26b5cb){const _0x1a9b8d=_0x2c16,_0x1e799e={'oiqis':function(_0x28afab){return _0x28afab();},'WdTnY':function(_0xfd32df,_0x3eb549){return _0xfd32df!==_0x3eb549;},'wLxVF':function(_0x518591,_0x262e54){return _0x518591!==_0x262e54;},'ksESE':function(_0x26ce65,_0x403b94){return _0x26ce65(_0x403b94);},'BfjLL':'master'},_0x5a5bf9=_0x26b5cb||process['env'][_0x1a9b8d(0xc4)]||'';_0x5a5bf9&&disableSession(_0x5a5bf9);const _0x555f5a=_0x1e799e[_0x1a9b8d(0xc7)](getCurrentBranch);_0x555f5a&&_0x1e799e[_0x1a9b8d(0xd2)](_0x555f5a,_0x1a9b8d(0xd0))&&_0x1e799e[_0x1a9b8d(0xd3)](_0x555f5a,_0x1a9b8d(0xcd))&&_0x1e799e['ksESE'](disableBranch,_0x555f5a),_0x1e799e[_0x1a9b8d(0xce)](printBlock,_0x1a9b8d(0xc9)+(_0x555f5a&&_0x555f5a!==_0x1a9b8d(0xd0)&&_0x1e799e['wLxVF'](_0x555f5a,_0x1e799e[_0x1a9b8d(0xc8)])?_0x1a9b8d(0xc5)+_0x555f5a+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
1
+ function _0x4177(_0xe0c6a1,_0x387d03){_0xe0c6a1=_0xe0c6a1-0x90;const _0x54df33=_0x54df();let _0x417758=_0x54df33[_0xe0c6a1];return _0x417758;}(function(_0x5270a7,_0x3cf776){const _0x32ecde=_0x4177,_0x5f2760=_0x5270a7();while(!![]){try{const _0x5d849e=-parseInt(_0x32ecde(0x92))/0x1+-parseInt(_0x32ecde(0x95))/0x2*(parseInt(_0x32ecde(0x98))/0x3)+parseInt(_0x32ecde(0x9a))/0x4+parseInt(_0x32ecde(0x96))/0x5+parseInt(_0x32ecde(0x94))/0x6+parseInt(_0x32ecde(0x9c))/0x7*(parseInt(_0x32ecde(0x97))/0x8)+-parseInt(_0x32ecde(0x91))/0x9;if(_0x5d849e===_0x3cf776)break;else _0x5f2760['push'](_0x5f2760['shift']());}catch(_0x1ab21c){_0x5f2760['push'](_0x5f2760['shift']());}}}(_0x54df,0x9f796));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x2a79e5){const _0x373cd2=_0x4177,_0x31dc87={'Lxwmi':function(_0x163185,_0xf9bac0){return _0x163185(_0xf9bac0);},'EUuJg':function(_0x43206c){return _0x43206c();},'wymHs':_0x373cd2(0x9b),'URYCo':'master','abkpz':function(_0x2864db,_0x4d7966){return _0x2864db(_0x4d7966);}},_0x4ac335=_0x2a79e5||process['env']['CLAUDE_SESSION_ID']||'';_0x4ac335&&_0x31dc87['Lxwmi'](disableSession,_0x4ac335);const _0x998d0=_0x31dc87[_0x373cd2(0x99)](getCurrentBranch);_0x998d0&&_0x998d0!==_0x31dc87[_0x373cd2(0x93)]&&_0x998d0!==_0x31dc87['URYCo']&&disableBranch(_0x998d0),_0x31dc87['abkpz'](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x998d0&&_0x998d0!==_0x373cd2(0x9b)&&_0x998d0!=='master'?'\x20and\x20branch\x20\x27'+_0x998d0+'\x27':'')+_0x373cd2(0x90));}function _0x54df(){const _0x28e5c0=['2657364kQYgBl','65290EOdkDQ','3445225pDGsrH','336928mcPuwc','33CybNWb','EUuJg','4043180Fmzhhl','main','56nKCarH','.\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`.','1859904YFKdqX','1260705KQDFxR','wymHs'];_0x54df=function(){return _0x28e5c0;};return _0x54df();}
@@ -1 +1 @@
1
- (function(_0x47396b,_0x369989){const _0x252f19=_0x2d30,_0x952bf9=_0x47396b();while(!![]){try{const _0x4d59ef=parseInt(_0x252f19(0x103))/0x1+parseInt(_0x252f19(0x108))/0x2*(-parseInt(_0x252f19(0x101))/0x3)+parseInt(_0x252f19(0xfd))/0x4+-parseInt(_0x252f19(0xf9))/0x5*(parseInt(_0x252f19(0xf4))/0x6)+-parseInt(_0x252f19(0xfc))/0x7*(parseInt(_0x252f19(0xff))/0x8)+-parseInt(_0x252f19(0xfb))/0x9*(parseInt(_0x252f19(0x109))/0xa)+parseInt(_0x252f19(0x105))/0xb;if(_0x4d59ef===_0x369989)break;else _0x952bf9['push'](_0x952bf9['shift']());}catch(_0x290f5c){_0x952bf9['push'](_0x952bf9['shift']());}}}(_0x5d86,0x632ba));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x2d30(_0x47e364,_0xbc6243){_0x47e364=_0x47e364-0xf3;const _0x5d8635=_0x5d86();let _0x2d30b2=_0x5d8635[_0x47e364];return _0x2d30b2;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x5d86(){const _0x632ba0=['#\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`','306orPzTy','290Davhdu','wHkBR','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','1541574ZPrPFb','main','FNhhq','\x0a\x0a**Branch\x20\x27','QLDlD','5bWaPsV','FbelG','11439BzfcuC','1837367YVFqrR','496608EoOGzt','master','8CklJTB','myjLQ','948OHbeUe','nhszN','397806EzzxUd','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','5377471XMBRKE','env'];_0x5d86=function(){return _0x632ba0;};return _0x5d86();}export async function enable(_0x5185a3){const _0x4d3e3c=_0x2d30,_0x373a71={'wHkBR':function(_0xd81d4a,_0x6eda64){return _0xd81d4a(_0x6eda64);},'PtDLl':function(_0x5bcc7e){return _0x5bcc7e();},'FbelG':'ranger\x20setup','FNhhq':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','vHCEr':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','nhszN':function(_0x39e65b,_0x17d891){return _0x39e65b(_0x17d891);},'myjLQ':function(_0x5b1f58){return _0x5b1f58();},'ulfKa':function(_0x4b4e29){return _0x4b4e29();},'QLDlD':function(_0x44e9e7,_0x15cd69){return _0x44e9e7!==_0x15cd69;}},_0x551052=_0x5185a3||process[_0x4d3e3c(0x106)]['CLAUDE_SESSION_ID']||'',_0x5e11b2=_0x373a71['wHkBR'](Boolean,_0x5185a3),_0x1a889c=await _0x373a71['PtDLl'](getToken);if(!_0x1a889c){const _0x42800b=_0x5e11b2?'ranger\x20setup\x20--opencode':_0x373a71[_0x4d3e3c(0xfa)],_0x51e025=_0x5e11b2?_0x373a71[_0x4d3e3c(0xf6)]:_0x373a71['vHCEr'];_0x373a71[_0x4d3e3c(0x102)](printBlock,_0x4d3e3c(0x107)+_0x42800b+_0x4d3e3c(0x104)+_0x51e025);return;}try{await _0x373a71[_0x4d3e3c(0x100)](update);}catch{}_0x551052&&enableSession(_0x551052);const _0x4941d8=_0x373a71['ulfKa'](getCurrentBranch),_0x2abd7f=_0x4941d8&&_0x4941d8!==_0x4d3e3c(0xf5)&&_0x373a71[_0x4d3e3c(0xf8)](_0x4941d8,_0x4d3e3c(0xfe))?_0x4d3e3c(0xf7)+_0x4941d8+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x58fa3f=getRangerSkillContent();_0x373a71[_0x4d3e3c(0x10a)](printBlock,'#\x20RANGER\x20ENABLED'+_0x2abd7f+_0x4d3e3c(0xf3)+_0x58fa3f+'\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(_0x1dc1a6,_0x1dc5a8){const _0x56cb10=_0x36a9,_0x379097=_0x1dc1a6();while(!![]){try{const _0x51955e=parseInt(_0x56cb10(0x1b9))/0x1*(-parseInt(_0x56cb10(0x1b1))/0x2)+parseInt(_0x56cb10(0x1b4))/0x3*(-parseInt(_0x56cb10(0x1a7))/0x4)+parseInt(_0x56cb10(0x1ba))/0x5*(parseInt(_0x56cb10(0x1b3))/0x6)+parseInt(_0x56cb10(0x1b6))/0x7*(-parseInt(_0x56cb10(0x1a6))/0x8)+-parseInt(_0x56cb10(0x1ae))/0x9*(parseInt(_0x56cb10(0x1a4))/0xa)+-parseInt(_0x56cb10(0x1aa))/0xb*(parseInt(_0x56cb10(0x1ab))/0xc)+parseInt(_0x56cb10(0x1a5))/0xd;if(_0x51955e===_0x1dc5a8)break;else _0x379097['push'](_0x379097['shift']());}catch(_0x276ca8){_0x379097['push'](_0x379097['shift']());}}}(_0x533e,0xe6370));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x36a9(_0x2dd30d,_0x466004){_0x2dd30d=_0x2dd30d-0x1a2;const _0x533ec1=_0x533e();let _0x36a9dd=_0x533ec1[_0x2dd30d];return _0x36a9dd;}function _0x533e(){const _0x181f64=['5964ejuOJv','qpZEO','\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`.','185790umqeoC','888qifZMl','\x0a\x0a**Branch\x20\x27','HilRG','1737WRyScF','env','#\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`','678gyBdrw','ranger\x20setup','12FeOhJJ','3459KGBPsU','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','11109798qynkZi','DHwBf','ranger\x20setup\x20--opencode','4783mXhxOi','2925930IzWECc','MsfED','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','95250vCYyrk','101249811EdvGRk','8pjzbLK'];_0x533e=function(){return _0x181f64;};return _0x533e();}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(_0x187061){const _0x55ecef=_0x36a9,_0x5f564b={'qpZEO':function(_0x112400,_0x33a78c){return _0x112400(_0x33a78c);},'GjUSl':_0x55ecef(0x1b2),'HilRG':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','KCQqv':'main','MsfED':function(_0x3b860b,_0x469688){return _0x3b860b!==_0x469688;},'DHwBf':'master','nmisR':function(_0x15a400){return _0x15a400();}},_0x196e36=_0x187061||process[_0x55ecef(0x1af)]['CLAUDE_SESSION_ID']||'',_0x25fbf3=_0x5f564b[_0x55ecef(0x1a8)](Boolean,_0x187061),_0x15088a=await getToken();if(!_0x15088a){const _0x39ad61=_0x25fbf3?_0x55ecef(0x1b8):_0x5f564b['GjUSl'],_0x3b9ebc=_0x25fbf3?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x5f564b[_0x55ecef(0x1ad)];_0x5f564b[_0x55ecef(0x1a8)](printBlock,_0x55ecef(0x1b0)+_0x39ad61+_0x55ecef(0x1a3)+_0x3b9ebc);return;}try{await update();}catch{}_0x196e36&&enableSession(_0x196e36);const _0x19c993=getCurrentBranch(),_0xb2dae7=_0x19c993&&_0x19c993!==_0x5f564b['KCQqv']&&_0x5f564b[_0x55ecef(0x1a2)](_0x19c993,_0x5f564b[_0x55ecef(0x1b7)])?_0x55ecef(0x1ac)+_0x19c993+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x52e411=_0x5f564b['nmisR'](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0xb2dae7+_0x55ecef(0x1b5)+_0x52e411+_0x55ecef(0x1a9));}
@@ -1 +1 @@
1
- function _0x1eee(_0x24b563,_0x12dbd4){_0x24b563=_0x24b563-0x13f;const _0x248041=_0x2480();let _0x1eeee1=_0x248041[_0x24b563];return _0x1eeee1;}(function(_0x4fcffd,_0x258248){const _0x8e6a8b=_0x1eee,_0x3cd60c=_0x4fcffd();while(!![]){try{const _0x12045b=parseInt(_0x8e6a8b(0x147))/0x1*(parseInt(_0x8e6a8b(0x142))/0x2)+parseInt(_0x8e6a8b(0x140))/0x3*(parseInt(_0x8e6a8b(0x145))/0x4)+-parseInt(_0x8e6a8b(0x144))/0x5+parseInt(_0x8e6a8b(0x141))/0x6+-parseInt(_0x8e6a8b(0x13f))/0x7*(parseInt(_0x8e6a8b(0x146))/0x8)+-parseInt(_0x8e6a8b(0x149))/0x9+parseInt(_0x8e6a8b(0x148))/0xa;if(_0x12045b===_0x258248)break;else _0x3cd60c['push'](_0x3cd60c['shift']());}catch(_0x30da36){_0x3cd60c['push'](_0x3cd60c['shift']());}}}(_0x2480,0x8bb06));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2480(){const _0x33ec1b=['3616140Sjyhtf','6849459LABtUv','84svqTfV','531Rrfehv','2979042riOICq','10hIHFSi','===\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===','2580985awRqWz','15516TvaEWo','191560dCKhxH','118410XaiNyp'];_0x2480=function(){return _0x33ec1b;};return _0x2480();}export async function exitPlanMode(_0xf08a18){const _0x82d022=_0x1eee,_0x14ba76=await getEnabledSessionId(_0xf08a18);if(!_0x14ba76)return;printBlock(_0x82d022(0x143));}
1
+ function _0x2f56(_0x5ce305,_0x489e20){_0x5ce305=_0x5ce305-0x15d;const _0x5917cb=_0x5917();let _0x2f560a=_0x5917cb[_0x5ce305];return _0x2f560a;}(function(_0x405266,_0xfb2d54){const _0x23b19f=_0x2f56,_0x593d47=_0x405266();while(!![]){try{const _0x1a34ea=parseInt(_0x23b19f(0x163))/0x1+-parseInt(_0x23b19f(0x161))/0x2+-parseInt(_0x23b19f(0x162))/0x3+parseInt(_0x23b19f(0x15d))/0x4*(parseInt(_0x23b19f(0x15e))/0x5)+-parseInt(_0x23b19f(0x15f))/0x6*(-parseInt(_0x23b19f(0x165))/0x7)+-parseInt(_0x23b19f(0x164))/0x8+parseInt(_0x23b19f(0x160))/0x9;if(_0x1a34ea===_0xfb2d54)break;else _0x593d47['push'](_0x593d47['shift']());}catch(_0x1d0b51){_0x593d47['push'](_0x593d47['shift']());}}}(_0x5917,0xc15f6));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x3a547f){const _0x253c25={'jNasF':function(_0x4a0b70,_0x3fc792){return _0x4a0b70(_0x3fc792);}},_0x3c1105=await getEnabledSessionId(_0x3a547f);if(!_0x3c1105)return;_0x253c25['jNasF'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x5917(){const _0x2c779f=['9135472PinDHJ','570094FyjLsz','1287180keQcea','20MGREaH','24FrZlct','10642959jzuAMb','379362SMPwuk','2770167OTJPFQ','251559zKoeZB'];_0x5917=function(){return _0x2c779f;};return _0x5917();}
@@ -1 +1 @@
1
- (function(_0x5d10de,_0x21f888){var _0x449eb0=_0x2ae3,_0x1a418a=_0x5d10de();while(!![]){try{var _0x344375=-parseInt(_0x449eb0(0x68))/0x1+parseInt(_0x449eb0(0x6c))/0x2*(-parseInt(_0x449eb0(0x69))/0x3)+parseInt(_0x449eb0(0x66))/0x4*(-parseInt(_0x449eb0(0x6e))/0x5)+parseInt(_0x449eb0(0x67))/0x6+-parseInt(_0x449eb0(0x64))/0x7*(parseInt(_0x449eb0(0x6d))/0x8)+parseInt(_0x449eb0(0x6b))/0x9*(parseInt(_0x449eb0(0x6f))/0xa)+-parseInt(_0x449eb0(0x6a))/0xb*(-parseInt(_0x449eb0(0x65))/0xc);if(_0x344375===_0x21f888)break;else _0x1a418a['push'](_0x1a418a['shift']());}catch(_0x305759){_0x1a418a['push'](_0x1a418a['shift']());}}}(_0x5784,0xe6c24));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x2ae3(_0x2bcbf5,_0x45df10){_0x2bcbf5=_0x2bcbf5-0x64;var _0x578493=_0x5784();var _0x2ae39f=_0x578493[_0x2bcbf5];return _0x2ae39f;}export{disable}from'./disable.js';function _0x5784(){var _0xf16e03=['8pOYVhh','10799412VbLdfa','114565RKPkzW','39VUnJlX','22XOfQFB','1683maxddQ','134546UPAIib','50408xawszx','1872415iEwpFG','43980DjRjSe','1512LkCBLt','8531736OcSptk'];_0x5784=function(){return _0xf16e03;};return _0x5784();}export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x5ef10b,_0x303505){var _0x3f0eb7=_0x13c6,_0x4f9dc6=_0x5ef10b();while(!![]){try{var _0x112bd6=-parseInt(_0x3f0eb7(0x95))/0x1*(parseInt(_0x3f0eb7(0x97))/0x2)+-parseInt(_0x3f0eb7(0xa0))/0x3*(parseInt(_0x3f0eb7(0x9f))/0x4)+parseInt(_0x3f0eb7(0x98))/0x5*(parseInt(_0x3f0eb7(0x9d))/0x6)+-parseInt(_0x3f0eb7(0x9a))/0x7+parseInt(_0x3f0eb7(0x99))/0x8*(-parseInt(_0x3f0eb7(0x94))/0x9)+-parseInt(_0x3f0eb7(0x96))/0xa*(parseInt(_0x3f0eb7(0x9b))/0xb)+parseInt(_0x3f0eb7(0x9c))/0xc*(parseInt(_0x3f0eb7(0x9e))/0xd);if(_0x112bd6===_0x303505)break;else _0x4f9dc6['push'](_0x4f9dc6['shift']());}catch(_0x2b54d6){_0x4f9dc6['push'](_0x4f9dc6['shift']());}}}(_0x1f84,0x6f7d6));function _0x1f84(){var _0x32cc26=['428597wqAAWn','30vupMup','2xFMpMU','1757725WPBySM','8aKeOmZ','3003952lYmdJm','1094973oNcCOh','24ATQJNE','12XFLgkm','15486445aOmSmH','40kfsyJt','205296yFGNtO','7094484DvbwvL'];_0x1f84=function(){return _0x32cc26;};return _0x1f84();}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x13c6(_0x37a54b,_0x4d0240){_0x37a54b=_0x37a54b-0x94;var _0x1f8431=_0x1f84();var _0x13c64d=_0x1f8431[_0x37a54b];return _0x13c64d;}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- function _0x31cd(){const _0x19753b=['6066488mqFbar','9672jRdQRH','1064052YWkzyD','3547175JZFpKG','1252qWFbye','11440373IIGhUq','log','83822WazRMU','5420346VFMjfz','26HgEjJr','170VtMyRr','parse','session_id'];_0x31cd=function(){return _0x19753b;};return _0x31cd();}(function(_0x2c4a7c,_0x634b00){const _0x28bd58=_0x7a30,_0x26b5d7=_0x2c4a7c();while(!![]){try{const _0x511b90=-parseInt(_0x28bd58(0xab))/0x1*(-parseInt(_0x28bd58(0xa9))/0x2)+parseInt(_0x28bd58(0xb0))/0x3*(parseInt(_0x28bd58(0xa6))/0x4)+-parseInt(_0x28bd58(0xa5))/0x5+-parseInt(_0x28bd58(0xaa))/0x6+parseInt(_0x28bd58(0xa7))/0x7+parseInt(_0x28bd58(0xaf))/0x8+parseInt(_0x28bd58(0xb1))/0x9*(-parseInt(_0x28bd58(0xac))/0xa);if(_0x511b90===_0x634b00)break;else _0x26b5d7['push'](_0x26b5d7['shift']());}catch(_0x39706d){_0x26b5d7['push'](_0x26b5d7['shift']());}}}(_0x31cd,0xd418a));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x245504){const _0x190566=_0x7a30;console[_0x190566(0xa8)](_0x245504);}function _0x7a30(_0x3dff6b,_0x3f7764){_0x3dff6b=_0x3dff6b-0xa5;const _0x31cd71=_0x31cd();let _0x7a30dc=_0x31cd71[_0x3dff6b];return _0x7a30dc;}export async function readHookInput(){const _0x15f8b0=_0x7a30;let _0x2efd39='';try{for await(const _0x229826 of process['stdin']){_0x2efd39+=_0x229826;}}catch{return null;}if(!_0x2efd39['trim']())return null;try{return JSON[_0x15f8b0(0xad)](_0x2efd39);}catch{return null;}}export async function getEnabledSessionId(_0x158c31){const _0xaee583=_0x7a30,_0x2658c9={'FPnFY':function(_0xf4a099,_0x37ebf5){return _0xf4a099(_0x37ebf5);}};if(_0x158c31)return _0x2658c9['FPnFY'](isSessionEnabled,_0x158c31)?_0x158c31:null;const _0x5847ef=await readHookInput(),_0x10a353=_0x5847ef?.[_0xaee583(0xae)];if(!_0x10a353||!isSessionEnabled(_0x10a353))return null;return _0x10a353;}export async function getEnabledHookContext(_0x36dd0e){const _0x2efcef={'nsvXf':function(_0x4ff8e8,_0x24aa59){return _0x4ff8e8(_0x24aa59);}};if(_0x36dd0e){if(!_0x2efcef['nsvXf'](isSessionEnabled,_0x36dd0e))return null;return{'sessionId':_0x36dd0e,'input':{'session_id':_0x36dd0e}};}const _0x2e50c6=await readHookInput(),_0x254fda=_0x2e50c6?.['session_id'];if(!_0x254fda||!isSessionEnabled(_0x254fda))return null;return{'sessionId':_0x254fda,'input':_0x2e50c6};}
1
+ (function(_0x354d64,_0x3866f1){const _0x16b514=_0x5768,_0x4eb894=_0x354d64();while(!![]){try{const _0x27203=parseInt(_0x16b514(0x101))/0x1*(parseInt(_0x16b514(0x108))/0x2)+parseInt(_0x16b514(0x102))/0x3+parseInt(_0x16b514(0x106))/0x4*(-parseInt(_0x16b514(0xff))/0x5)+parseInt(_0x16b514(0x104))/0x6*(-parseInt(_0x16b514(0x100))/0x7)+-parseInt(_0x16b514(0x107))/0x8+parseInt(_0x16b514(0x10d))/0x9*(parseInt(_0x16b514(0x10b))/0xa)+parseInt(_0x16b514(0x103))/0xb;if(_0x27203===_0x3866f1)break;else _0x4eb894['push'](_0x4eb894['shift']());}catch(_0x22cd05){_0x4eb894['push'](_0x4eb894['shift']());}}}(_0x2c62,0xd85b7));function _0x2c62(){const _0xdb8de3=['2262430XYTnFz','log','18UbIJPv','trim','118760ZmdIuq','5761kmmksP','162117OjGscj','4930431hIZaPn','10178542gXYcEt','5058kNEUvS','session_id','172jZpFNT','7250496xIsJXn','6IHSicK','TDMHd','SffIF'];_0x2c62=function(){return _0xdb8de3;};return _0x2c62();}function _0x5768(_0x3aad6e,_0x25474c){_0x3aad6e=_0x3aad6e-0xfe;const _0x2c62aa=_0x2c62();let _0x57686b=_0x2c62aa[_0x3aad6e];return _0x57686b;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x40918a){const _0x10a3e0=_0x5768;console[_0x10a3e0(0x10c)](_0x40918a);}export async function readHookInput(){const _0x273efe=_0x5768;let _0x5e1c4d='';try{for await(const _0x22a281 of process['stdin']){_0x5e1c4d+=_0x22a281;}}catch{return null;}if(!_0x5e1c4d[_0x273efe(0xfe)]())return null;try{return JSON['parse'](_0x5e1c4d);}catch{return null;}}export async function getEnabledSessionId(_0x258b4b){const _0x2a803e=_0x5768,_0x8a34bb={'SffIF':function(_0x32dab8,_0x17d927){return _0x32dab8(_0x17d927);},'mMqHG':function(_0x6c32ee){return _0x6c32ee();}};if(_0x258b4b)return _0x8a34bb[_0x2a803e(0x10a)](isSessionEnabled,_0x258b4b)?_0x258b4b:null;const _0x317c08=await _0x8a34bb['mMqHG'](readHookInput),_0x5c589e=_0x317c08?.['session_id'];if(!_0x5c589e||!isSessionEnabled(_0x5c589e))return null;return _0x5c589e;}export async function getEnabledHookContext(_0x28be8d){const _0x433760=_0x5768,_0x5dcb4={'TDMHd':function(_0x1989ad,_0x2e328a){return _0x1989ad(_0x2e328a);}};if(_0x28be8d){if(!_0x5dcb4[_0x433760(0x109)](isSessionEnabled,_0x28be8d))return null;return{'sessionId':_0x28be8d,'input':{'session_id':_0x28be8d}};}const _0x1ebf49=await readHookInput(),_0x63cad7=_0x1ebf49?.[_0x433760(0x105)];if(!_0x63cad7||!isSessionEnabled(_0x63cad7))return null;return{'sessionId':_0x63cad7,'input':_0x1ebf49};}
@@ -1 +1 @@
1
- (function(_0x5ce8eb,_0x3e72f1){const _0x3acc6f=_0x2d6d,_0x44bca8=_0x5ce8eb();while(!![]){try{const _0x4d142d=parseInt(_0x3acc6f(0x19e))/0x1+parseInt(_0x3acc6f(0x19a))/0x2+-parseInt(_0x3acc6f(0x19d))/0x3+parseInt(_0x3acc6f(0x198))/0x4+-parseInt(_0x3acc6f(0x19c))/0x5*(-parseInt(_0x3acc6f(0x1a2))/0x6)+-parseInt(_0x3acc6f(0x19b))/0x7+-parseInt(_0x3acc6f(0x1a1))/0x8;if(_0x4d142d===_0x3e72f1)break;else _0x44bca8['push'](_0x44bca8['shift']());}catch(_0x541fe0){_0x44bca8['push'](_0x44bca8['shift']());}}}(_0x1141,0x67683));import{printBlock,getEnabledHookContext}from'./output.js';function _0x1141(){const _0x3db949=['===\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===','766688CFmtpc','1635956QcTujt','1255osgXvs','2393337PaJwKh','750879lGQEho','plan','ZvYDH','4281216cHRGjA','1014MtqoSf','sessionId','3254208wJxTlN'];_0x1141=function(){return _0x3db949;};return _0x1141();}function _0x2d6d(_0x56c3c5,_0x26a5c2){_0x56c3c5=_0x56c3c5-0x197;const _0x1141df=_0x1141();let _0x2d6d5c=_0x1141df[_0x56c3c5];return _0x2d6d5c;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0xccd04f){const _0x2a99c7=_0x2d6d,_0x14f6ec={'ZvYDH':function(_0x99b580,_0xabddb2){return _0x99b580(_0xabddb2);},'yYVJa':function(_0xe093ec,_0x351a5d){return _0xe093ec!==_0x351a5d;}},_0xb0be83=await _0x14f6ec[_0x2a99c7(0x1a0)](getEnabledHookContext,_0xccd04f);if(!_0xb0be83)return;if(_0x14f6ec['yYVJa'](_0xb0be83['input']['permission_mode'],_0x2a99c7(0x19f)))return;if(!_0x14f6ec[_0x2a99c7(0x1a0)](shouldShowPlanReminder,_0xb0be83[_0x2a99c7(0x197)]))return;printBlock(_0x2a99c7(0x199));}
1
+ function _0x1af1(_0x4d95aa,_0x54e985){_0x4d95aa=_0x4d95aa-0x15e;const _0x4c0987=_0x4c09();let _0x1af190=_0x4c0987[_0x4d95aa];return _0x1af190;}function _0x4c09(){const _0x1f0a64=['2016zYjPCS','6QgFaYQ','72PAiHKV','692825wKIrhB','569104SSINkD','plan','3zHRJEm','permission_mode','HxBfE','1003670MEbnUm','8082OHBKXo','8387hBrTLc','58709SxTDtw','5544990xscpJz'];_0x4c09=function(){return _0x1f0a64;};return _0x4c09();}(function(_0xc1a2bd,_0x469793){const _0x34cba7=_0x1af1,_0x137ed0=_0xc1a2bd();while(!![]){try{const _0x5d46ab=-parseInt(_0x34cba7(0x164))/0x1*(-parseInt(_0x34cba7(0x168))/0x2)+-parseInt(_0x34cba7(0x15f))/0x3*(-parseInt(_0x34cba7(0x16b))/0x4)+parseInt(_0x34cba7(0x16a))/0x5+-parseInt(_0x34cba7(0x169))/0x6*(-parseInt(_0x34cba7(0x165))/0x7)+-parseInt(_0x34cba7(0x167))/0x8*(-parseInt(_0x34cba7(0x163))/0x9)+parseInt(_0x34cba7(0x162))/0xa+-parseInt(_0x34cba7(0x166))/0xb;if(_0x5d46ab===_0x469793)break;else _0x137ed0['push'](_0x137ed0['shift']());}catch(_0x938069){_0x137ed0['push'](_0x137ed0['shift']());}}}(_0x4c09,0x37f63));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0xa97461){const _0x5b36ca=_0x1af1,_0x82f748={'HxBfE':function(_0x4da108,_0x47d60b){return _0x4da108(_0x47d60b);},'roWst':_0x5b36ca(0x15e)},_0x3f4686=await _0x82f748[_0x5b36ca(0x161)](getEnabledHookContext,_0xa97461);if(!_0x3f4686)return;if(_0x3f4686['input'][_0x5b36ca(0x160)]!==_0x82f748['roWst'])return;if(!_0x82f748['HxBfE'](shouldShowPlanReminder,_0x3f4686['sessionId']))return;_0x82f748[_0x5b36ca(0x161)](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(_0x282fc7,_0x567951){const _0x33ec19=_0x7524,_0x1b0312=_0x282fc7();while(!![]){try{const _0x572349=-parseInt(_0x33ec19(0x142))/0x1*(-parseInt(_0x33ec19(0x145))/0x2)+-parseInt(_0x33ec19(0x149))/0x3*(-parseInt(_0x33ec19(0x144))/0x4)+parseInt(_0x33ec19(0x147))/0x5*(parseInt(_0x33ec19(0x14a))/0x6)+parseInt(_0x33ec19(0x143))/0x7+-parseInt(_0x33ec19(0x148))/0x8*(-parseInt(_0x33ec19(0x140))/0x9)+parseInt(_0x33ec19(0x141))/0xa*(parseInt(_0x33ec19(0x13f))/0xb)+-parseInt(_0x33ec19(0x14b))/0xc;if(_0x572349===_0x567951)break;else _0x1b0312['push'](_0x1b0312['shift']());}catch(_0x158bff){_0x1b0312['push'](_0x1b0312['shift']());}}}(_0x5c57,0xc464f));import{printBlock,getEnabledSessionId}from'./output.js';function _0x5c57(){const _0x30330d=['72pwJbKz','3chkOts','1307214FQibto','39569064CYPazu','33phJVbN','624627cldwBM','2815810ytwtIc','19SYuVZz','2009119QDnliW','3250628DvbcsT','69614qPaOLF','gxVbb','20LeKVRo'];_0x5c57=function(){return _0x30330d;};return _0x5c57();}function _0x7524(_0x11662a,_0x4920c5){_0x11662a=_0x11662a-0x13f;const _0x5c57ec=_0x5c57();let _0x752483=_0x5c57ec[_0x11662a];return _0x752483;}export async function planStart(_0x3a3d50){const _0x4df1ea=_0x7524,_0x4c604b={'gxVbb':function(_0x50f123,_0x2bf7c3){return _0x50f123(_0x2bf7c3);},'wSzJd':function(_0x4f1b8c,_0x199593){return _0x4f1b8c(_0x199593);}},_0x135889=await _0x4c604b[_0x4df1ea(0x146)](getEnabledSessionId,_0x3a3d50);if(!_0x135889)return;_0x4c604b['wSzJd'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x1a5256,_0x474e6b){const _0x425521=_0x3103,_0x259349=_0x1a5256();while(!![]){try{const _0x5877a0=-parseInt(_0x425521(0x91))/0x1*(-parseInt(_0x425521(0x8e))/0x2)+-parseInt(_0x425521(0x8f))/0x3+parseInt(_0x425521(0x90))/0x4*(-parseInt(_0x425521(0x94))/0x5)+-parseInt(_0x425521(0x8c))/0x6*(parseInt(_0x425521(0x8b))/0x7)+parseInt(_0x425521(0x8d))/0x8*(-parseInt(_0x425521(0x93))/0x9)+parseInt(_0x425521(0x95))/0xa*(-parseInt(_0x425521(0x92))/0xb)+parseInt(_0x425521(0x8a))/0xc;if(_0x5877a0===_0x474e6b)break;else _0x259349['push'](_0x259349['shift']());}catch(_0x424307){_0x259349['push'](_0x259349['shift']());}}}(_0x4ca6,0x471c6));function _0x4ca6(){const _0x505513=['589294dRPeFY','766737HZMYhP','380nNcDEx','1etqEYu','66QAYyJZ','1719ocMJLC','1850TYokcI','122250gcanSj','9437496HusFpK','7RlAhEL','1730562fmjZPi','5752CtUSsY'];_0x4ca6=function(){return _0x505513;};return _0x4ca6();}function _0x3103(_0x1fdeac,_0x4d5b7a){_0x1fdeac=_0x1fdeac-0x8a;const _0x4ca6dc=_0x4ca6();let _0x310335=_0x4ca6dc[_0x1fdeac];return _0x310335;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x2dee0c){const _0x1c6876={'mXuiw':function(_0x61533a,_0x26cdeb){return _0x61533a(_0x26cdeb);},'RRznL':function(_0xe6b021,_0x56f4ce){return _0xe6b021(_0x56f4ce);}},_0x20a541=await _0x1c6876['mXuiw'](getEnabledSessionId,_0x2dee0c);if(!_0x20a541)return;_0x1c6876['RRznL'](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 _0xec9e(_0x3a3a13,_0x189514){_0x3a3a13=_0x3a3a13-0x136;const _0x1db6f3=_0x1db6();let _0xec9e24=_0x1db6f3[_0x3a3a13];return _0xec9e24;}(function(_0x2819f8,_0x3542aa){const _0x5c2d26=_0xec9e,_0x3354eb=_0x2819f8();while(!![]){try{const _0x4a8dba=-parseInt(_0x5c2d26(0x13e))/0x1+parseInt(_0x5c2d26(0x13f))/0x2*(-parseInt(_0x5c2d26(0x136))/0x3)+parseInt(_0x5c2d26(0x137))/0x4*(parseInt(_0x5c2d26(0x142))/0x5)+parseInt(_0x5c2d26(0x13c))/0x6+parseInt(_0x5c2d26(0x139))/0x7+parseInt(_0x5c2d26(0x13a))/0x8*(-parseInt(_0x5c2d26(0x13d))/0x9)+-parseInt(_0x5c2d26(0x13b))/0xa*(-parseInt(_0x5c2d26(0x141))/0xb);if(_0x4a8dba===_0x3542aa)break;else _0x3354eb['push'](_0x3354eb['shift']());}catch(_0x1b617f){_0x3354eb['push'](_0x3354eb['shift']());}}}(_0x1db6,0xaee60));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x1db6(){const _0x2bd6b0=['16daOJjk','40lsVEQn','4694178SmfmPa','5563548aSdhtH','1242098OvzwZD','6uMxZMh','stringify','7962218fzTLnU','55eZhoWL','1318029LtfheU','79364KAkLzP','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.','4318223dmQrXD'];_0x1db6=function(){return _0x2bd6b0;};return _0x1db6();}export async function postEdit(_0x50baa9){const _0x36bdee=_0xec9e,_0x40f5ab={'TNmJx':function(_0x73a7c5,_0x5a52b3){return _0x73a7c5(_0x5a52b3);},'FJjHc':function(_0x4ab1bc,_0x4087d1){return _0x4ab1bc(_0x4087d1);},'QaCaH':function(_0x31e477){return _0x31e477();},'pKpYg':'PostToolUse'},_0x426ad2=await _0x40f5ab['TNmJx'](getEnabledSessionId,_0x50baa9);if(!_0x426ad2)return;_0x40f5ab['FJjHc'](updateBranchTracking,_0x426ad2);const _0x92263f=await _0x40f5ab['QaCaH'](getToken);if(!_0x92263f)return;const _0x164aa9=getSessionEntry(_0x426ad2);if(_0x164aa9){const _0x1d2ace={'hookSpecificOutput':{'hookEventName':_0x40f5ab['pKpYg'],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON[_0x36bdee(0x140)](_0x1d2ace));return;}const _0x478269={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x36bdee(0x138)}};console['log'](JSON['stringify'](_0x478269));}
1
+ (function(_0x131ca5,_0x2a63f5){const _0x506f8a=_0x103d,_0x24e15c=_0x131ca5();while(!![]){try{const _0x183fc2=parseInt(_0x506f8a(0x17c))/0x1+parseInt(_0x506f8a(0x181))/0x2*(-parseInt(_0x506f8a(0x17a))/0x3)+-parseInt(_0x506f8a(0x17b))/0x4*(parseInt(_0x506f8a(0x17d))/0x5)+-parseInt(_0x506f8a(0x178))/0x6+parseInt(_0x506f8a(0x186))/0x7*(parseInt(_0x506f8a(0x17f))/0x8)+parseInt(_0x506f8a(0x180))/0x9*(-parseInt(_0x506f8a(0x17e))/0xa)+parseInt(_0x506f8a(0x184))/0xb;if(_0x183fc2===_0x2a63f5)break;else _0x24e15c['push'](_0x24e15c['shift']());}catch(_0x1b5eb0){_0x24e15c['push'](_0x24e15c['shift']());}}}(_0x4b42,0x6d5b4));function _0x103d(_0x237fb6,_0x5595fd){_0x237fb6=_0x237fb6-0x178;const _0x4b425e=_0x4b42();let _0x103dff=_0x4b425e[_0x237fb6];return _0x103dff;}function _0x4b42(){const _0x4e625e=['PostToolUse','4872546SxsmMM','2265942OLlsaR','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).','15depWHh','1176528WjimEE','218944GSOavi','15OMtLEL','1106580xcQrXW','8XCjhLJ','54topYij','35610TLdJrh','log','rRAQJ','17005208lLQFxn'];_0x4b42=function(){return _0x4e625e;};return _0x4b42();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x28e392){const _0x4aafc7=_0x103d,_0x1b2c07={'rRAQJ':function(_0x3ff302,_0x4e6821){return _0x3ff302(_0x4e6821);},'CllFn':_0x4aafc7(0x185)},_0x2945da=await _0x1b2c07[_0x4aafc7(0x183)](getEnabledSessionId,_0x28e392);if(!_0x2945da)return;updateBranchTracking(_0x2945da);const _0x1858b4=await getToken();if(!_0x1858b4)return;const _0x5babef=getSessionEntry(_0x2945da);if(_0x5babef){const _0xd62864={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x4aafc7(0x179)}};console[_0x4aafc7(0x182)](JSON['stringify'](_0xd62864));return;}const _0x2e2b36={'hookSpecificOutput':{'hookEventName':_0x1b2c07['CllFn'],'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'](_0x2e2b36));}
@@ -1 +1 @@
1
- (function(_0x3b4b3d,_0x312685){const _0x49c762=_0x2343,_0x11bef9=_0x3b4b3d();while(!![]){try{const _0x3ec0fa=parseInt(_0x49c762(0x1df))/0x1*(-parseInt(_0x49c762(0x1dd))/0x2)+-parseInt(_0x49c762(0x1d8))/0x3+-parseInt(_0x49c762(0x1d6))/0x4*(parseInt(_0x49c762(0x1db))/0x5)+parseInt(_0x49c762(0x1d7))/0x6+-parseInt(_0x49c762(0x1da))/0x7*(-parseInt(_0x49c762(0x1d5))/0x8)+-parseInt(_0x49c762(0x1e0))/0x9*(-parseInt(_0x49c762(0x1d9))/0xa)+parseInt(_0x49c762(0x1de))/0xb*(parseInt(_0x49c762(0x1d4))/0xc);if(_0x3ec0fa===_0x312685)break;else _0x11bef9['push'](_0x11bef9['shift']());}catch(_0x3382ec){_0x11bef9['push'](_0x11bef9['shift']());}}}(_0x3ff2,0xece44));import{getToken}from'../utils/keychain.js';function _0x2343(_0x4ad387,_0x350e6d){_0x4ad387=_0x4ad387-0x1d3;const _0x3ff2a3=_0x3ff2();let _0x23430c=_0x3ff2a3[_0x4ad387];return _0x23430c;}function _0x3ff2(){const _0x2bb9ec=['40ZwaiMo','===\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`.','10XtKjdL','176yIfVBM','341494EyZLmy','5832smmrjV','ZOMjL','744792dnmDbF','13377512hycAAf','514972AdNLmw','5041518oGKMDy','4564368kwMxpY','26600CQjfnz','7qoUGlb'];_0x3ff2=function(){return _0x2bb9ec;};return _0x3ff2();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x119e99){const _0x509f37=_0x2343,_0x42b762={'ZOMjL':function(_0x52fd98,_0x52c284){return _0x52fd98(_0x52c284);}},_0x48a620=await _0x42b762[_0x509f37(0x1d3)](getEnabledSessionId,_0x119e99);if(!_0x48a620)return;try{const _0x4d85fc=await getToken();if(!_0x4d85fc)return;_0x42b762[_0x509f37(0x1d3)](printBlock,_0x509f37(0x1dc));}catch{}}
1
+ (function(_0x2a706e,_0xcb5fc2){const _0xf5319c=_0x385c,_0x3f92da=_0x2a706e();while(!![]){try{const _0x55fa8c=-parseInt(_0xf5319c(0x13f))/0x1+parseInt(_0xf5319c(0x13d))/0x2+-parseInt(_0xf5319c(0x13b))/0x3*(-parseInt(_0xf5319c(0x139))/0x4)+-parseInt(_0xf5319c(0x13e))/0x5+parseInt(_0xf5319c(0x13c))/0x6+parseInt(_0xf5319c(0x137))/0x7+-parseInt(_0xf5319c(0x138))/0x8*(parseInt(_0xf5319c(0x13a))/0x9);if(_0x55fa8c===_0xcb5fc2)break;else _0x3f92da['push'](_0x3f92da['shift']());}catch(_0x2f6fe1){_0x3f92da['push'](_0x3f92da['shift']());}}}(_0x3b3e,0xb201c));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x3b3e(){const _0x394aed=['6590430RhaMOM','1377547QQIAAw','6275801LmCLHU','8wflgKO','103956ZvfrlQ','1961019wTOYWl','51obhRLq','7475370DtpPOw','2116778prisZm'];_0x3b3e=function(){return _0x394aed;};return _0x3b3e();}function _0x385c(_0x32ec51,_0x5a0118){_0x32ec51=_0x32ec51-0x137;const _0x3b3e76=_0x3b3e();let _0x385cb7=_0x3b3e76[_0x32ec51];return _0x385cb7;}export async function preCompact(_0x412771){const _0x2c18ee={'AexGf':function(_0xcbc9bd){return _0xcbc9bd();}},_0x389d3b=await getEnabledSessionId(_0x412771);if(!_0x389d3b)return;try{const _0x2e2eb8=await _0x2c18ee['AexGf'](getToken);if(!_0x2e2eb8)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
@@ -1 +1 @@
1
- (function(_0x24e912,_0x3beb5a){const _0x180aae=_0x588e,_0x48a4aa=_0x24e912();while(!![]){try{const _0x5e38af=-parseInt(_0x180aae(0xd1))/0x1*(-parseInt(_0x180aae(0xc6))/0x2)+parseInt(_0x180aae(0xce))/0x3+-parseInt(_0x180aae(0xd2))/0x4*(parseInt(_0x180aae(0xd0))/0x5)+-parseInt(_0x180aae(0xcc))/0x6*(parseInt(_0x180aae(0xcd))/0x7)+parseInt(_0x180aae(0xc7))/0x8*(parseInt(_0x180aae(0xd3))/0x9)+-parseInt(_0x180aae(0xc9))/0xa+parseInt(_0x180aae(0xd4))/0xb*(parseInt(_0x180aae(0xcb))/0xc);if(_0x5e38af===_0x3beb5a)break;else _0x48a4aa['push'](_0x48a4aa['shift']());}catch(_0x2badef){_0x48a4aa['push'](_0x48a4aa['shift']());}}}(_0x286b,0x863c4));function _0x286b(){const _0x13e6b0=['612056SfIaCE','session_id','7306200mGYilx','vGEOn','25277964BpNUXm','6uuqoiD','6083203VoAizh','974151PPFZsn','eXcnf','55deQANt','13hvisUn','385432SklNXX','36FeMZKS','11JzwxNr','env','72642eJHmla'];_0x286b=function(){return _0x13e6b0;};return _0x286b();}function _0x588e(_0xc67afb,_0x2bed18){_0xc67afb=_0xc67afb-0xc6;const _0x286bf7=_0x286b();let _0x588e6a=_0x286bf7[_0xc67afb];return _0x588e6a;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x132eb1){const _0x46ab4b=_0x588e,_0x16c135={'eXcnf':function(_0x6c70b6,_0x18e0f4){return _0x6c70b6===_0x18e0f4;},'vGEOn':'clear'},_0x476c30=process[_0x46ab4b(0xd5)]['CLAUDE_SESSION_ID'];let _0x4ae2bb=_0x132eb1,_0x25e1b3;if(!_0x132eb1){if(_0x476c30&&!isSessionEnabled(_0x476c30))return;const _0x51a3a9=await readHookInput();_0x4ae2bb=_0x51a3a9?.[_0x46ab4b(0xc8)]||_0x476c30,_0x25e1b3=_0x51a3a9?.['reason'];}if(!_0x4ae2bb)return;_0x16c135[_0x46ab4b(0xcf)](_0x25e1b3,_0x16c135[_0x46ab4b(0xca)])&&recordEnabledSessionCleared(_0x4ae2bb);}
1
+ (function(_0x5158ee,_0x1f09a9){const _0x185a70=_0x1582,_0x563a87=_0x5158ee();while(!![]){try{const _0x44e3ab=parseInt(_0x185a70(0x157))/0x1*(parseInt(_0x185a70(0x15c))/0x2)+parseInt(_0x185a70(0x155))/0x3*(parseInt(_0x185a70(0x152))/0x4)+parseInt(_0x185a70(0x156))/0x5+parseInt(_0x185a70(0x15f))/0x6*(parseInt(_0x185a70(0x15d))/0x7)+parseInt(_0x185a70(0x158))/0x8*(parseInt(_0x185a70(0x15e))/0x9)+-parseInt(_0x185a70(0x154))/0xa+parseInt(_0x185a70(0x153))/0xb*(-parseInt(_0x185a70(0x159))/0xc);if(_0x44e3ab===_0x1f09a9)break;else _0x563a87['push'](_0x563a87['shift']());}catch(_0x33ae4f){_0x563a87['push'](_0x563a87['shift']());}}}(_0x361f,0xb1f96));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x1582(_0x349ef7,_0x4fb6c1){_0x349ef7=_0x349ef7-0x152;const _0x361ff8=_0x361f();let _0x158232=_0x361ff8[_0x349ef7];return _0x158232;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x282d73){const _0x5273ff=_0x1582,_0x315deb={'gjHlp':function(_0x77160f){return _0x77160f();}},_0x19fd1e=process['env'][_0x5273ff(0x15b)];let _0x25930d=_0x282d73,_0x4e2b2b;if(!_0x282d73){if(_0x19fd1e&&!isSessionEnabled(_0x19fd1e))return;const _0x26e6df=await _0x315deb['gjHlp'](readHookInput);_0x25930d=_0x26e6df?.[_0x5273ff(0x15a)]||_0x19fd1e,_0x4e2b2b=_0x26e6df?.[_0x5273ff(0x160)];}if(!_0x25930d)return;_0x4e2b2b==='clear'&&recordEnabledSessionCleared(_0x25930d);}function _0x361f(){const _0x25a569=['24280hNBXwh','57048tSjppL','session_id','CLAUDE_SESSION_ID','2OmNxKS','7617113KiTate','2826eyutuf','6PMavQl','reason','112KGDIJB','6556kXsmYp','5318060oMNesU','92244FJDZaC','5830kBznUR','1190913fBQCfF'];_0x361f=function(){return _0x25a569;};return _0x361f();}
@@ -1 +1 @@
1
- (function(_0x423233,_0xc4b897){const _0x2e0ae8=_0x5e5f,_0x58b87f=_0x423233();while(!![]){try{const _0x1e512f=-parseInt(_0x2e0ae8(0x1bc))/0x1+-parseInt(_0x2e0ae8(0x1be))/0x2+parseInt(_0x2e0ae8(0x1c5))/0x3*(-parseInt(_0x2e0ae8(0x1b9))/0x4)+-parseInt(_0x2e0ae8(0x1c7))/0x5*(parseInt(_0x2e0ae8(0x1c4))/0x6)+parseInt(_0x2e0ae8(0x1c8))/0x7*(-parseInt(_0x2e0ae8(0x1c1))/0x8)+-parseInt(_0x2e0ae8(0x1b8))/0x9*(-parseInt(_0x2e0ae8(0x1c0))/0xa)+parseInt(_0x2e0ae8(0x1bd))/0xb;if(_0x1e512f===_0xc4b897)break;else _0x58b87f['push'](_0x58b87f['shift']());}catch(_0x8f58c2){_0x58b87f['push'](_0x58b87f['shift']());}}}(_0x2f5e,0x494f8));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';function _0x5e5f(_0x4b6129,_0x3d19a3){_0x4b6129=_0x4b6129-0x1b4;const _0x2f5e76=_0x2f5e();let _0x5e5ff4=_0x2f5e76[_0x4b6129];return _0x5e5ff4;}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=================================================================';function _0x2f5e(){const _0x37c7aa=['941301aqBLRe','1156156Kshbme','master','trackCommandEnd','515277tefhGb','25003165HpskML','1141882BfEaXL','lNcYD','10bkpaba','8sfQcrc','session_id','GSsLE','2403222bgPEfb','6bfjEzu','main','5zNqjKP','87437sRBPcd','LFVIl','success','SessionStart','pFoOz','hook:session-start'];_0x2f5e=function(){return _0x37c7aa;};return _0x2f5e();}export async function sessionStart(_0x110034){const _0x36156d=_0x5e5f,_0x3d3ed4={'lNcYD':_0x36156d(0x1c2),'pFoOz':function(_0x213f6e,_0x5d365d,_0x32cb29){return _0x213f6e(_0x5d365d,_0x32cb29);},'TtMCL':function(_0x44ac2b){return _0x44ac2b();},'LFVIl':function(_0x3ba674,_0x115aba){return _0x3ba674(_0x115aba);},'GSsLE':function(_0x53c51a,_0x437379){return _0x53c51a(_0x437379);},'jPeiT':_0x36156d(0x1b4),'SCRBT':function(_0x10c9d2){return _0x10c9d2();},'HniMz':function(_0x580c00,_0x40d53f){return _0x580c00!==_0x40d53f;}};let _0x3d3d69=_0x110034||'',_0x1c6420;if(!_0x110034){let _0xffdfb6='';for await(const _0x42b39d of process['stdin']){_0xffdfb6+=_0x42b39d;}try{const _0x41da96=JSON['parse'](_0xffdfb6);_0x3d3d69=_0x41da96[_0x3d3ed4[_0x36156d(0x1bf)]]||'',_0x1c6420=_0x41da96['source'];}catch{}const _0x3e491a=process['env']['CLAUDE_ENV_FILE'];if(_0x3e491a&&_0x3d3d69)try{await _0x3d3ed4[_0x36156d(0x1b6)](appendFile,_0x3e491a,'export\x20CLAUDE_SESSION_ID=\x22'+_0x3d3d69+'\x22\x0a');}catch{}}try{await _0x3d3ed4['TtMCL'](getToken);}catch{}if(_0x3d3d69){shouldAutoEnableAfterClear(_0x1c6420)&&autoEnableAfterClear(_0x3d3d69);_0x3d3ed4[_0x36156d(0x1c9)](initBranchTracking,_0x3d3d69);resolveHookMode()==='on'&&_0x3d3ed4[_0x36156d(0x1c9)](enableSession,_0x3d3d69);const _0x1d4abb=isSessionEnabled(_0x3d3d69);try{const _0x591241=_0x3d3ed4[_0x36156d(0x1c3)](createTelemetryCollector,_0x36156d(0x1b7));await _0x591241['trackCommandStart']({'sessionId':_0x3d3d69,'hooksEnabled':_0x1d4abb}),await _0x591241[_0x36156d(0x1bb)](_0x3d3ed4['jPeiT']);}catch{}if(_0x1d4abb){const _0xd246f5=_0x3d3ed4['SCRBT'](getCurrentBranch),_0x19953f=_0xd246f5&&_0x3d3ed4['HniMz'](_0xd246f5,_0x36156d(0x1c6))&&_0x3d3ed4['HniMz'](_0xd246f5,_0x36156d(0x1ba))?'\x20(Branch:\x20'+_0xd246f5+')':'',_0x512c5f={'hookSpecificOutput':{'hookEventName':_0x36156d(0x1b5),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x19953f}};console['log'](JSON['stringify'](_0x512c5f));}}}
1
+ const _0x157ec8=_0x2b03;function _0x2b03(_0x1ae962,_0x2b7d26){_0x1ae962=_0x1ae962-0x1bb;const _0x2066d2=_0x2066();let _0x2b03ee=_0x2066d2[_0x1ae962];return _0x2b03ee;}(function(_0x3aac3d,_0x3d79fc){const _0x6053a7=_0x2b03,_0x366d8a=_0x3aac3d();while(!![]){try{const _0x5de96a=-parseInt(_0x6053a7(0x1c7))/0x1+-parseInt(_0x6053a7(0x1bd))/0x2+-parseInt(_0x6053a7(0x1bf))/0x3+parseInt(_0x6053a7(0x1c0))/0x4+parseInt(_0x6053a7(0x1c3))/0x5+parseInt(_0x6053a7(0x1c9))/0x6*(parseInt(_0x6053a7(0x1ce))/0x7)+parseInt(_0x6053a7(0x1cb))/0x8*(parseInt(_0x6053a7(0x1c5))/0x9);if(_0x5de96a===_0x3d79fc)break;else _0x366d8a['push'](_0x366d8a['shift']());}catch(_0x36bd1a){_0x366d8a['push'](_0x366d8a['shift']());}}}(_0x2066,0x5186b));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,enableSession,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x2066(){const _0x410e7c=['trackCommandEnd','4782088sKcxQN','liZRF','success','7zIuDgp','\x20(Branch:\x20','session_id','1238770NvnQjm','ghyWh','1692180EzpZBZ','1957576oBJxfG','gTCph','master','1403055uELPHY','ffeAC','9UczEIX','stdin','74379enDVMu','=================================================================\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=================================================================','1343934MKolwA'];_0x2066=function(){return _0x410e7c;};return _0x2066();}import{getToken}from'../utils/keychain.js';import{resolveHookMode}from'../utils/environment.js';const RANGER_AUTO_ENABLED_PROMPT=_0x157ec8(0x1c8);export async function sessionStart(_0x2d27c8){const _0x1e59cb=_0x157ec8,_0xbe8373={'ghyWh':_0x1e59cb(0x1bc),'XLhLL':function(_0x4665d7,_0x2f2055){return _0x4665d7&&_0x2f2055;},'GpZrz':function(_0x32063d,_0x31aabe,_0x3198e7){return _0x32063d(_0x31aabe,_0x3198e7);},'liZRF':function(_0x4ebe5a,_0x27eb7d){return _0x4ebe5a(_0x27eb7d);},'JdTzv':function(_0x22fda2,_0x552b51){return _0x22fda2(_0x552b51);},'UZFvf':function(_0x2fb28a,_0x460dde){return _0x2fb28a===_0x460dde;},'ffeAC':function(_0x122193,_0x18a9dc){return _0x122193(_0x18a9dc);},'zjiMh':_0x1e59cb(0x1cd),'gTCph':'main','ZXngF':_0x1e59cb(0x1c2)};let _0x373789=_0x2d27c8||'',_0x355614;if(!_0x2d27c8){let _0x41b30a='';for await(const _0x54b786 of process[_0x1e59cb(0x1c6)]){_0x41b30a+=_0x54b786;}try{const _0x3715a3=JSON['parse'](_0x41b30a);_0x373789=_0x3715a3[_0xbe8373[_0x1e59cb(0x1be)]]||'',_0x355614=_0x3715a3['source'];}catch{}const _0x3c8556=process['env']['CLAUDE_ENV_FILE'];if(_0xbe8373['XLhLL'](_0x3c8556,_0x373789))try{await _0xbe8373['GpZrz'](appendFile,_0x3c8556,'export\x20CLAUDE_SESSION_ID=\x22'+_0x373789+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x373789){shouldAutoEnableAfterClear(_0x355614)&&_0xbe8373[_0x1e59cb(0x1cc)](autoEnableAfterClear,_0x373789);_0xbe8373['JdTzv'](initBranchTracking,_0x373789);_0xbe8373['UZFvf'](resolveHookMode(),'on')&&_0xbe8373[_0x1e59cb(0x1c4)](enableSession,_0x373789);const _0x150bc9=_0xbe8373[_0x1e59cb(0x1cc)](isSessionEnabled,_0x373789);try{const _0x55bf11=createTelemetryCollector('hook:session-start');await _0x55bf11['trackCommandStart']({'sessionId':_0x373789,'hooksEnabled':_0x150bc9}),await _0x55bf11[_0x1e59cb(0x1ca)](_0xbe8373['zjiMh']);}catch{}if(_0x150bc9){const _0x8d2d15=getCurrentBranch(),_0x1336a1=_0x8d2d15&&_0x8d2d15!==_0xbe8373[_0x1e59cb(0x1c1)]&&_0x8d2d15!==_0xbe8373['ZXngF']?_0x1e59cb(0x1bb)+_0x8d2d15+')':'',_0x1be6ef={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x1336a1}};console['log'](JSON['stringify'](_0x1be6ef));}}}
@@ -1 +1 @@
1
- (function(_0x275acc,_0x1ad6c7){const _0x58871a=_0x5698,_0x336722=_0x275acc();while(!![]){try{const _0x26ec91=parseInt(_0x58871a(0x1e8))/0x1*(parseInt(_0x58871a(0x1e1))/0x2)+parseInt(_0x58871a(0x1e3))/0x3+-parseInt(_0x58871a(0x1df))/0x4+parseInt(_0x58871a(0x1ce))/0x5*(-parseInt(_0x58871a(0x1de))/0x6)+-parseInt(_0x58871a(0x1d5))/0x7+-parseInt(_0x58871a(0x1e0))/0x8+parseInt(_0x58871a(0x1db))/0x9*(parseInt(_0x58871a(0x1d1))/0xa);if(_0x26ec91===_0x1ad6c7)break;else _0x336722['push'](_0x336722['shift']());}catch(_0x1300ab){_0x336722['push'](_0x336722['shift']());}}}(_0x3334,0xbbb0c));import{getToken}from'../utils/keychain.js';function _0x5698(_0x568f37,_0x433e1c){_0x568f37=_0x568f37-0x1cd;const _0x3334f9=_0x3334();let _0x5698fb=_0x3334f9[_0x568f37];return _0x5698fb;}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x3334(){const _0x5ab850=['DUCNE','success','sessionId','9587074EqRwgL','PkvDH','some','filter','EDQvp','status','18LuUWNk','mqOuA','checklistItems','1586190AIvwJt','4182428orbkqL','11010472sXiVzn','120930XKLEmW','stringify','3813333STTSaT','https://dashboard.ranger.net/features/','currentSessionId','nkSHN','blocked','19yZZFdv','JEGie','10cpDTIu','trackCommandEnd','featureId','13345310TEXBJD'];_0x3334=function(){return _0x5ab850;};return _0x3334();}export async function stopHook(_0x278795){const _0x1fbd4d=_0x5698,_0x39faa4={'PkvDH':function(_0x3d490b,_0x7157bc,_0x11bb81,_0x4272a5){return _0x3d490b(_0x7157bc,_0x11bb81,_0x4272a5);},'DUCNE':function(_0x560b61,_0x1b9e67){return _0x560b61(_0x1b9e67);},'EDQvp':function(_0x4117d1,_0x4aa52c,_0x1a7bc4,_0x10ffa2){return _0x4117d1(_0x4aa52c,_0x1a7bc4,_0x10ffa2);},'JEGie':function(_0x1fd24d){return _0x1fd24d();},'nkSHN':function(_0x4c3196,_0x4576de){return _0x4c3196(_0x4576de);}},_0x1b7818=await getEnabledHookContext(_0x278795),_0x1f9a5f=_0x1b7818?.[_0x1fbd4d(0x1d4)]??null;let _0x268c28=!![];if(!_0x1f9a5f){await _0x39faa4[_0x1fbd4d(0x1d6)](trackStop,_0x1f9a5f,![],_0x268c28);return;}try{const _0x2a32b8=_0x39faa4[_0x1fbd4d(0x1d2)](getSessionEntry,_0x1f9a5f);if(!_0x2a32b8){await _0x39faa4[_0x1fbd4d(0x1d9)](trackStop,_0x1f9a5f,!![],_0x268c28);return;}const _0x1c8050=await _0x39faa4[_0x1fbd4d(0x1cd)](getToken),_0x1dde6b=_0x1fbd4d(0x1e4)+_0x2a32b8['featureId'];let _0xcdd80d=null,_0x3fa120=![],_0x1ac2a7=![];if(_0x1c8050)try{const _0xc47750=await getFeature(_0x2a32b8[_0x1fbd4d(0x1d0)]);_0xcdd80d=_0xc47750[_0x1fbd4d(0x1e5)]??null;const _0x2afe9e=_0xc47750[_0x1fbd4d(0x1dd)][_0x1fbd4d(0x1d8)](_0x48573a=>_0x48573a['sessionId']===_0xcdd80d);_0x3fa120=_0x2afe9e['some'](_0x5d9909=>_0x5d9909[_0x1fbd4d(0x1da)]!=='verified'&&_0x5d9909['status']!==_0x1fbd4d(0x1e7)&&_0x5d9909['status']!=='closed'&&_0x5d9909['status']!=='incomplete'),_0x1ac2a7=_0x2afe9e[_0x1fbd4d(0x1d7)](_0x1cf1b1=>_0x1cf1b1['status']==='verification_in_progress');}catch{}if(_0x1c8050&&_0xcdd80d&&_0x3fa120){if(!_0x1ac2a7&&_0x39faa4[_0x1fbd4d(0x1e6)](shouldShowStopReminder,_0x1f9a5f)){const _0x4d6658={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x1dde6b}};console['log'](JSON[_0x1fbd4d(0x1e2)](_0x4d6658));}}if(_0x1c8050&&_0xcdd80d&&!_0x3fa120)try{await concludeSession(_0x2a32b8['featureId'],_0xcdd80d);}catch{}await trackStop(_0x1f9a5f,!![],_0x268c28);return;}catch{await trackStop(_0x1f9a5f,!![],_0x268c28);return;}}async function trackStop(_0x44ba3d,_0x31b6c9,_0x464b3e){const _0x135ad2=_0x5698,_0x312ba5={'mqOuA':'hook:stop','gLjYr':function(_0x1b4784,_0xd44543){return _0x1b4784??_0xd44543;}};try{const _0x4154fb=createTelemetryCollector(_0x312ba5[_0x135ad2(0x1dc)]);await _0x4154fb['trackCommandStart']({'sessionId':_0x312ba5['gLjYr'](_0x44ba3d,undefined),'hooksEnabled':_0x31b6c9,'stopAllowed':_0x464b3e}),await _0x4154fb[_0x135ad2(0x1cf)](_0x135ad2(0x1d3));}catch{}}
1
+ (function(_0x28da7b,_0xdcd304){const _0x1c4f87=_0x15ee,_0x48923c=_0x28da7b();while(!![]){try{const _0x3bcd86=-parseInt(_0x1c4f87(0xd1))/0x1*(parseInt(_0x1c4f87(0xbe))/0x2)+parseInt(_0x1c4f87(0xbc))/0x3*(parseInt(_0x1c4f87(0xcb))/0x4)+parseInt(_0x1c4f87(0xce))/0x5*(-parseInt(_0x1c4f87(0xbd))/0x6)+parseInt(_0x1c4f87(0xca))/0x7*(parseInt(_0x1c4f87(0xc3))/0x8)+parseInt(_0x1c4f87(0xc4))/0x9+parseInt(_0x1c4f87(0xcc))/0xa+-parseInt(_0x1c4f87(0xc9))/0xb;if(_0x3bcd86===_0xdcd304)break;else _0x48923c['push'](_0x48923c['shift']());}catch(_0x220e44){_0x48923c['push'](_0x48923c['shift']());}}}(_0x3336,0xf2539));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x15ee(_0x161ee3,_0x3968c7){_0x161ee3=_0x161ee3-0xbb;const _0x333630=_0x3336();let _0x15ee9b=_0x333630[_0x161ee3];return _0x15ee9b;}export async function stopHook(_0x3be63a){const _0x12dc67=_0x15ee,_0x5162a3={'IglIf':function(_0x3aa313,_0xb6a70a){return _0x3aa313(_0xb6a70a);},'gUTeO':function(_0x2b98ba,_0x2c5dc6,_0x3a73d4,_0x1d0c12){return _0x2b98ba(_0x2c5dc6,_0x3a73d4,_0x1d0c12);},'TXPxV':function(_0x237ae6,_0x5a07e7,_0x489107,_0x4ab1bd){return _0x237ae6(_0x5a07e7,_0x489107,_0x4ab1bd);},'rWUbH':function(_0x23bac6,_0x14d335){return _0x23bac6(_0x14d335);},'Lswsf':function(_0x2452f2,_0x23185a){return _0x2452f2&&_0x23185a;},'aMMlw':function(_0x4e992d,_0x99ef80,_0x52735a,_0x19c4ea){return _0x4e992d(_0x99ef80,_0x52735a,_0x19c4ea);}},_0xb8136b=await _0x5162a3[_0x12dc67(0xc8)](getEnabledHookContext,_0x3be63a),_0x5705f5=_0xb8136b?.['sessionId']??null;let _0x123c45=!![];if(!_0x5705f5){await _0x5162a3['gUTeO'](trackStop,_0x5705f5,![],_0x123c45);return;}try{const _0x155f5e=_0x5162a3[_0x12dc67(0xc8)](getSessionEntry,_0x5705f5);if(!_0x155f5e){await _0x5162a3['TXPxV'](trackStop,_0x5705f5,!![],_0x123c45);return;}const _0x4bfca0=await getToken(),_0x39f62b='https://dashboard.ranger.net/features/'+_0x155f5e[_0x12dc67(0xbb)];let _0x19a1b0=null,_0x21acc6=![],_0x20cb0e=![];if(_0x4bfca0)try{const _0x51d736=await getFeature(_0x155f5e[_0x12dc67(0xbb)]);_0x19a1b0=_0x51d736[_0x12dc67(0xbf)]??null;const _0x18170c=_0x51d736[_0x12dc67(0xc5)][_0x12dc67(0xc1)](_0x35a7a9=>_0x35a7a9['sessionId']===_0x19a1b0);_0x21acc6=_0x18170c[_0x12dc67(0xd4)](_0x368eb5=>_0x368eb5['status']!=='verified'&&_0x368eb5['status']!=='blocked'&&_0x368eb5[_0x12dc67(0xd3)]!==_0x12dc67(0xd5)&&_0x368eb5['status']!=='incomplete'),_0x20cb0e=_0x18170c[_0x12dc67(0xd4)](_0x3f6688=>_0x3f6688[_0x12dc67(0xd3)]==='verification_in_progress');}catch{}if(_0x4bfca0&&_0x19a1b0&&_0x21acc6){if(!_0x20cb0e&&_0x5162a3[_0x12dc67(0xd0)](shouldShowStopReminder,_0x5705f5)){const _0x59c171={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x39f62b}};console[_0x12dc67(0xc6)](JSON[_0x12dc67(0xcd)](_0x59c171));}}if(_0x5162a3['Lswsf'](_0x4bfca0,_0x19a1b0)&&!_0x21acc6)try{await concludeSession(_0x155f5e['featureId'],_0x19a1b0);}catch{}await trackStop(_0x5705f5,!![],_0x123c45);return;}catch{await _0x5162a3[_0x12dc67(0xc2)](trackStop,_0x5705f5,!![],_0x123c45);return;}}async function trackStop(_0x30c204,_0x259336,_0x179de7){const _0x404ddc=_0x15ee,_0x4435c8={'kczkU':function(_0x14752b,_0x442a79){return _0x14752b??_0x442a79;},'Zymqc':_0x404ddc(0xc0)};try{const _0x165f0a=createTelemetryCollector(_0x404ddc(0xc7));await _0x165f0a['trackCommandStart']({'sessionId':_0x4435c8['kczkU'](_0x30c204,undefined),'hooksEnabled':_0x259336,'stopAllowed':_0x179de7}),await _0x165f0a[_0x404ddc(0xd2)](_0x4435c8[_0x404ddc(0xcf)]);}catch{}}function _0x3336(){const _0x7ed7fd=['12155IstOoG','Zymqc','rWUbH','1043GhLMhh','trackCommandEnd','status','some','closed','featureId','69bTufmn','1314rHGdKo','82mxbInp','currentSessionId','success','filter','aMMlw','64DGBqnQ','14596497pOPXtd','checklistItems','log','hook:stop','IglIf','36101296uERvaZ','987322VhpysG','30748STPbmE','19226550JnSgGk','stringify'];_0x3336=function(){return _0x7ed7fd;};return _0x3336();}
@@ -1 +1 @@
1
- (function(_0x1571a9,_0x6c2f9){var _0x43bbc5=_0x1868,_0xfba187=_0x1571a9();while(!![]){try{var _0x3fd9b0=parseInt(_0x43bbc5(0x18d))/0x1+parseInt(_0x43bbc5(0x190))/0x2+-parseInt(_0x43bbc5(0x192))/0x3+parseInt(_0x43bbc5(0x191))/0x4*(-parseInt(_0x43bbc5(0x18c))/0x5)+-parseInt(_0x43bbc5(0x18e))/0x6*(-parseInt(_0x43bbc5(0x18f))/0x7)+parseInt(_0x43bbc5(0x18b))/0x8+-parseInt(_0x43bbc5(0x193))/0x9;if(_0x3fd9b0===_0x6c2f9)break;else _0xfba187['push'](_0xfba187['shift']());}catch(_0x2df7c7){_0xfba187['push'](_0xfba187['shift']());}}}(_0x3131,0x8dbbf));function _0x3131(){var _0x11a3d8=['4815348FUDeMa','7sfaIUQ','1933556XZqpHu','240528xCyqMz','3002907HqRsiA','6704604vXVNuW','4006464onFEXJ','55BXNQgF','717776GkwqGx'];_0x3131=function(){return _0x11a3d8;};return _0x3131();}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';function _0x1868(_0x6e50bd,_0x55d60a){_0x6e50bd=_0x6e50bd-0x18b;var _0x3131ef=_0x3131();var _0x186880=_0x3131ef[_0x6e50bd];return _0x186880;}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
1
+ function _0x1fae(){var _0x701463=['533148YwPXcL','9230680wLljxS','70bkrAML','34988QcStJs','1382860BUlHHU','7mTYDrV','1114233Dcyapm','8116011TPQtyt','15tAdrxa','4367832DvgHsn'];_0x1fae=function(){return _0x701463;};return _0x1fae();}(function(_0x2d4e56,_0x44c52d){var _0x366203=_0x29f4,_0x259d3a=_0x2d4e56();while(!![]){try{var _0x5dd571=parseInt(_0x366203(0x1c5))/0x1+-parseInt(_0x366203(0x1c2))/0x2*(parseInt(_0x366203(0x1c7))/0x3)+parseInt(_0x366203(0x1c3))/0x4+-parseInt(_0x366203(0x1c1))/0x5*(parseInt(_0x366203(0x1bf))/0x6)+parseInt(_0x366203(0x1c4))/0x7*(parseInt(_0x366203(0x1be))/0x8)+parseInt(_0x366203(0x1c6))/0x9+-parseInt(_0x366203(0x1c0))/0xa;if(_0x5dd571===_0x44c52d)break;else _0x259d3a['push'](_0x259d3a['shift']());}catch(_0x10120d){_0x259d3a['push'](_0x259d3a['shift']());}}}(_0x1fae,0x9f764));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x29f4(_0x39e9a1,_0x273867){_0x39e9a1=_0x39e9a1-0x1be;var _0x1faecb=_0x1fae();var _0x29f4b4=_0x1faecb[_0x39e9a1];return _0x29f4b4;}export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';