@ranger-testing/ranger-cli 2.0.0 → 2.0.2

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.
@@ -1,7 +1,8 @@
1
+ import { open } from 'fs/promises';
1
2
  import { getToken } from '../utils/keychain.js';
2
3
  import { getFeature, concludeSession } from '../utils/featureApi.js';
3
4
  import { getSessionEntry } from '../utils/sessionCache.js';
4
- import { getEnabledSessionId } from './output.js';
5
+ import { getEnabledHookContext } from './output.js';
5
6
  import { createTelemetryCollector } from '../utils/telemetry.js';
6
7
  /**
7
8
  * Stop hook handler
@@ -10,7 +11,12 @@ import { createTelemetryCollector } from '../utils/telemetry.js';
10
11
  * Attempts to conclude the feature review session before allowing stop.
11
12
  */
12
13
  export async function stopHook(sessionIdOverride) {
13
- const sessionId = await getEnabledSessionId(sessionIdOverride);
14
+ const context = await getEnabledHookContext(sessionIdOverride);
15
+ const sessionId = context?.sessionId ?? null;
16
+ const stopHookActive = Boolean(context?.input?.stop_hook_active);
17
+ const transcriptPath = typeof context?.input?.transcript_path === 'string'
18
+ ? context.input.transcript_path
19
+ : null;
14
20
  let stopAllowed = true;
15
21
  if (!sessionId) {
16
22
  await trackStop(sessionId, false, stopAllowed);
@@ -24,36 +30,69 @@ export async function stopHook(sessionIdOverride) {
24
30
  await trackStop(sessionId, true, stopAllowed);
25
31
  return;
26
32
  }
33
+ const dashboardUrl = `https://dashboard.ranger.net/features/${sessionEntry.featureId}`;
34
+ const skipToken = 'RANGER_SKIP_VERIFICATION';
27
35
  const token = await getToken();
28
- if (!token) {
29
- // No token configured - allow stop
30
- await trackStop(sessionId, true, stopAllowed);
31
- return;
36
+ const shouldRemind = !stopHookActive;
37
+ let featureName = null;
38
+ let currentSessionId = null;
39
+ const skipRequested = stopHookActive &&
40
+ (await transcriptHasToken(transcriptPath, skipToken));
41
+ const linkIncluded = await transcriptHasToken(transcriptPath, dashboardUrl);
42
+ if (token) {
43
+ try {
44
+ const feature = await getFeature(sessionEntry.featureId);
45
+ featureName = feature.name ?? null;
46
+ currentSessionId = feature.currentSessionId ?? null;
47
+ }
48
+ catch {
49
+ // Fail open for feature lookup
50
+ }
32
51
  }
33
- // Get the feature
34
- const feature = await getFeature(sessionEntry.featureId);
35
- // If there's no current session, allow stop
36
- if (!feature.currentSessionId) {
52
+ if (skipRequested && !linkIncluded) {
53
+ stopAllowed = false;
54
+ const output = {
55
+ decision: 'block',
56
+ reason: `Before ending, include a final message with the feature review link (${dashboardUrl}) and direct the user to visit it. If you are skipping verification, keep \`${skipToken}\` in that final message, then run /exit again.`,
57
+ };
58
+ console.log(JSON.stringify(output));
37
59
  await trackStop(sessionId, true, stopAllowed);
38
60
  return;
39
61
  }
40
- // Try to conclude the session
41
- try {
42
- await concludeSession(feature.id, feature.currentSessionId);
43
- await trackStop(sessionId, true, stopAllowed);
44
- return;
62
+ // Try to conclude the session if we have one
63
+ if (token && currentSessionId) {
64
+ try {
65
+ await concludeSession(sessionEntry.featureId, currentSessionId);
66
+ }
67
+ catch (err) {
68
+ if (skipRequested && linkIncluded) {
69
+ await trackStop(sessionId, true, stopAllowed);
70
+ return;
71
+ }
72
+ // Failed to conclude - block with error message
73
+ stopAllowed = false;
74
+ const errorMessage = err instanceof Error ? err.message : String(err);
75
+ const output = {
76
+ decision: 'block',
77
+ reason: `Failed to conclude Ranger feature review session${featureName ? ` for "${featureName}"` : ''}:\n\n${errorMessage}\n\nThis is most likely due to pending scenarios that need to be verified. Please resolve the issue or resume later with:\n ranger resume\n\nIf you are extremely sure this is the user's requirement and want to skip verification for now, send a final message that includes the feature review link (${dashboardUrl}) and the token \`${skipToken}\`, then run /exit again.`,
78
+ };
79
+ console.log(JSON.stringify(output));
80
+ await trackStop(sessionId, true, stopAllowed);
81
+ return;
82
+ }
45
83
  }
46
- catch (err) {
47
- // Failed to conclude - block with error message
84
+ if (shouldRemind) {
48
85
  stopAllowed = false;
49
- const errorMessage = err instanceof Error ? err.message : String(err);
50
86
  const output = {
51
87
  decision: 'block',
52
- reason: `Failed to conclude Ranger feature review session for "${feature.name}":\n\n${errorMessage}\n\nThis is most likely due to pending scenarios that need to be verified. Please resolve the issue or resume later with:\n ranger resume`,
88
+ reason: `Before ending, include a final message with the feature review link (${dashboardUrl}) and direct the user to visit it.`,
53
89
  };
54
90
  console.log(JSON.stringify(output));
55
91
  await trackStop(sessionId, true, stopAllowed);
92
+ return;
56
93
  }
94
+ await trackStop(sessionId, true, stopAllowed);
95
+ return;
57
96
  }
58
97
  catch {
59
98
  // On any error fetching feature, allow stop (fail open)
@@ -75,4 +114,35 @@ async function trackStop(sessionId, hooksEnabled, stopAllowed) {
75
114
  // Telemetry must never throw
76
115
  }
77
116
  }
117
+ async function transcriptHasToken(transcriptPath, token) {
118
+ if (!transcriptPath)
119
+ return false;
120
+ const tail = await readTranscriptTail(transcriptPath, 200_000);
121
+ return tail ? tail.includes(token) : false;
122
+ }
123
+ async function readTranscriptTail(transcriptPath, maxBytes) {
124
+ let handle = null;
125
+ try {
126
+ handle = await open(transcriptPath, 'r');
127
+ const stats = await handle.stat();
128
+ const length = Math.min(stats.size, maxBytes);
129
+ if (length <= 0) {
130
+ return '';
131
+ }
132
+ const buffer = Buffer.alloc(length);
133
+ await handle.read(buffer, 0, length, stats.size - length);
134
+ return buffer.toString('utf8');
135
+ }
136
+ catch {
137
+ return null;
138
+ }
139
+ finally {
140
+ try {
141
+ await handle?.close();
142
+ }
143
+ catch {
144
+ // Ignore close errors
145
+ }
146
+ }
147
+ }
78
148
  //# sourceMappingURL=stopHook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stopHook.js","sourceRoot":"","sources":["../../../src/commands/hooks/stopHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stopHook.js","sourceRoot":"","sources":["../../../src/commands/hooks/stopHook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- const _0x243794=_0x4d26;(function(_0x1d11d5,_0x4216cb){const _0x2d4548=_0x4d26,_0x3e781e=_0x1d11d5();while(!![]){try{const _0x319b29=-parseInt(_0x2d4548(0xae))/0x1+parseInt(_0x2d4548(0x9a))/0x2*(-parseInt(_0x2d4548(0xb3))/0x3)+-parseInt(_0x2d4548(0xdf))/0x4+parseInt(_0x2d4548(0xba))/0x5+parseInt(_0x2d4548(0xcb))/0x6+parseInt(_0x2d4548(0xc3))/0x7*(parseInt(_0x2d4548(0xe6))/0x8)+-parseInt(_0x2d4548(0x8b))/0x9*(parseInt(_0x2d4548(0x9f))/0xa);if(_0x319b29===_0x4216cb)break;else _0x3e781e['push'](_0x3e781e['shift']());}catch(_0x42905d){_0x3e781e['push'](_0x3e781e['shift']());}}}(_0x2dc8,0xa008d));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1f68b5 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{skillup}from'./skillup.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x2dc8(){const _0x1f71ac=['3vaXtmi','\x0aNext\x20steps:','user','profile','RPGMk','trackPhaseStart','rVLiM','5954055bEZWsi','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','❌\x20Failed\x20to\x20install\x20plugin:','prompt','close','yXjer','\x20\x201.\x20Navigate\x20to\x20your\x20project\x20directory','KSbMM','EKRIj','670145wNXxyc','CKrnp','RtyFh','✓\x20Ranger\x20skills\x20already\x20installed','No\x20token\x20provided\x20and\x20running\x20in\x20non-interactive\x20mode.\x20In\x20CI,\x20pass\x20a\x20token:\x20ranger\x20setup\x20[token].\x20Or\x20set\x20the\x20RANGER_MCP_TOKEN\x20environment\x20variable.','DFWcj','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','log','452958txgsWI','vbTXu','.gitignore','error','✓\x20Stored\x20credentials\x20locally','skipChromium','chromium','YrpZK','\x20\x20npx\x20playwright@','✓\x20Local\x20profile\x20already\x20exists','RCZOm','SIQJe','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','project','\x0a❌\x20Profile\x20setup\x20failed:','lRvFJ','env','✓\x20Already\x20authenticated\x20to\x20','vTNHb','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','1953692lyCZef','use\x20until\x20the\x20session\x20expires.\x0a','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','You\x20can\x20install\x20it\x20manually\x20by\x20running:','neVrz','playwright','88PUmpdw','ZQgmI','TntMv','\x1b[0m','list','organizationName','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','Non-interactive\x20mode\x20detected.\x20Skipping\x20optional\x20setup\x20prompts.','ready','ranger@trailhead','\x0aInstalling\x20Chromium\x20browser...\x0a','\x20\x204.\x20Run:\x20ranger\x20profile\x20add\x20local','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','✓\x20Marketplace\x20already\x20added','isTTY','xvURT','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','gJYph','resolve','PVBhF','BBjJW','\x0aIn\x20Claude\x20Code,\x20run\x20','fVYBR','EdlGr','✓\x20Exported\x20credentials\x20for\x20CI','RRhIl','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','180bJKfTE','DbFXY','\x20level)...\x0a','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','stdin','confirm','aqQRO','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','\x20\x20npx\x20playwright\x20install\x20chromium','hHvDL','DOHpM','status','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','stdout','rbCZp','945122GEUHTg','/ranger:enable','LYvGZ','RDucH','install','234380ugsuGb','KXPbj','ggNdq','SdXzM','installed','ycOxL','RNwrZ','✓\x20Playwright\x20Chromium\x20browser\x20found','nGMpE','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','--scope','playwright@','DgYTl','executablePath','gaexh','234144dRwRbh','\x20\x20\x20\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','success','The\x20required\x20version\x20(','wantsSkillup'];_0x2dc8=function(){return _0x1f71ac;};return _0x2dc8();}import{findExistingEnv}from'./utils/settings.js';const require=createRequire(import.meta.url),bold=_0x121cea=>'\x1b[1m'+_0x121cea+_0x243794(0xe9);function _0x4d26(_0x7d18ce,_0x2df620){_0x7d18ce=_0x7d18ce-0x86;const _0x2dc8b0=_0x2dc8();let _0x4d268a=_0x2dc8b0[_0x7d18ce];return _0x4d268a;}function getPlaywrightVersion(){const _0x4b199a=_0x243794,_0x123804={'mqvWW':'playwright/package.json'};try{const _0x3d461a=require[_0x4b199a(0xf8)](_0x123804['mqvWW']),_0x14f56c=require(_0x3d461a);return _0x14f56c['version'];}catch{return null;}}function installChromiumBinary(_0xccb858){const _0x109f08={'SdXzM':'install'};return new Promise((_0x23939b,_0x5be31d)=>{const _0x582b70=_0x4d26,_0x657228=_0xccb858?[_0x582b70(0xaa)+_0xccb858,_0x109f08['SdXzM'],_0x582b70(0xd1)]:[_0x582b70(0xe5),_0x109f08[_0x582b70(0xa2)],'chromium'],_0x20f76b=spawn('npx',_0x657228,{'stdio':'inherit','shell':!![]});_0x20f76b['on'](_0x582b70(0xbe),_0x526be6=>{_0x526be6===0x0?_0x23939b():_0x5be31d(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x526be6));}),_0x20f76b['on'](_0x582b70(0xce),_0x279cd8=>{_0x5be31d(_0x279cd8);});});}export async function authenticate(_0x3d3427){const _0x48ba54=_0x243794,_0x46a8f2={'eppdO':function(_0x492a89){return _0x492a89();},'rVLiM':_0x48ba54(0xc7),'CKrnp':function(_0x30a1b9,_0x55cb20){return _0x30a1b9(_0x55cb20);},'MmdFH':_0x48ba54(0xcf)};if(!_0x3d3427){const _0x17e5fa=await _0x46a8f2['eppdO'](getToken);if(_0x17e5fa){const _0x150ddc=await getCurrentUser(_0x17e5fa);if(_0x150ddc['success'])return console['log'](_0x48ba54(0xdc)+_0x150ddc[_0x48ba54(0xb5)][_0x48ba54(0xeb)]),_0x17e5fa;}const _0x52ff42=process[_0x48ba54(0x8f)]['isTTY']&&process['stdout']['isTTY'];if(!_0x52ff42)throw new Error(_0x46a8f2[_0x48ba54(0xb9)]);try{_0x3d3427=await runDeviceAuthFlow();}catch(_0x226080){throw new Error('Authentication\x20failed:\x20'+(_0x226080 instanceof Error?_0x226080['message']:_0x226080));}const _0x4be18d=await _0x46a8f2[_0x48ba54(0xc4)](getCurrentUser,_0x3d3427);if(!_0x4be18d[_0x48ba54(0xb0)])throw new Error(_0x48ba54(0x8a)+_0x4be18d['error']);return console[_0x48ba54(0xca)]('✓\x20Authenticated\x20to\x20'+_0x4be18d['user'][_0x48ba54(0xeb)]),_0x3d3427;}console[_0x48ba54(0xca)]('Validating\x20API\x20token...');const _0x27c1e1=await _0x46a8f2[_0x48ba54(0xc4)](getCurrentUser,_0x3d3427);if(!_0x27c1e1['success']){if(_0x27c1e1[_0x48ba54(0x96)])throw new Error('Authentication\x20failed:\x20'+_0x27c1e1[_0x48ba54(0xce)]+_0x48ba54(0xe2));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x27c1e1[_0x48ba54(0xce)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x48ba54(0xca)]('✓\x20Authenticated\x20to\x20'+_0x27c1e1['user'][_0x48ba54(0xeb)]),await _0x46a8f2[_0x48ba54(0xc4)](storeToken,_0x3d3427),console[_0x48ba54(0xca)](process[_0x48ba54(0xdb)]['GITHUB_ENV']?_0x48ba54(0x88):_0x46a8f2['MmdFH']),_0x3d3427;}export async function ensureRangerDir(){const _0x5781e1=_0x243794,_0x26b1f9={'RCZOm':function(_0x5bf8b5,_0x78e17d){return _0x5bf8b5(_0x78e17d);}},_0x48634f=getRangerDir();return!_0x26b1f9[_0x5781e1(0xd5)](existsSync,_0x48634f)?(await mkdir(_0x48634f,{'recursive':!![]}),console['log']('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x48634f,'installed':!![]}):(console[_0x5781e1(0xca)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x48634f,'installed':![]});}export async function ensureChromium(){const _0x3eaaf9=_0x243794,_0x1c9624={'DbFXY':function(_0x51987a,_0x1cbc23){return _0x51987a(_0x1cbc23);},'WxqAF':_0x3eaaf9(0xa6),'aqQRO':function(_0x133046){return _0x133046();},'TntMv':'confirm','pCpIQ':'install','KXPbj':'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','neVrz':_0x3eaaf9(0x97),'DgYTl':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','xKqCD':function(_0x5715f1,_0x4f23ba){return _0x5715f1 instanceof _0x4f23ba;},'STTuG':_0x3eaaf9(0xe3),'LYvGZ':_0x3eaaf9(0x93)};let _0x1cd56e=![];try{const _0x1e12d8=chromium[_0x3eaaf9(0xac)]();_0x1cd56e=_0x1c9624['DbFXY'](existsSync,_0x1e12d8);}catch{_0x1cd56e=![];}if(_0x1cd56e)return console[_0x3eaaf9(0xca)](_0x1c9624['WxqAF']),![];const _0x1dcb04=_0x1c9624[_0x3eaaf9(0x91)](getPlaywrightVersion),_0x1b8a64=process['stdin'][_0x3eaaf9(0xf4)]&&process[_0x3eaaf9(0x98)][_0x3eaaf9(0xf4)];let _0x5cbaa9=!![];if(_0x1b8a64){const {install:_0x1cda98}=await _0x1f68b5['prompt']([{'type':_0x1c9624[_0x3eaaf9(0xe8)],'name':_0x1c9624['pCpIQ'],'message':_0x1dcb04?_0x3eaaf9(0xb1)+_0x1dcb04+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x1c9624[_0x3eaaf9(0xa0)],'default':!![]}]);_0x5cbaa9=_0x1cda98;}else console[_0x3eaaf9(0xca)](_0x3eaaf9(0x8e)+(_0x1dcb04?'\x20'+_0x1dcb04:'')+'...');if(_0x5cbaa9){console[_0x3eaaf9(0xca)](_0x3eaaf9(0xf0));try{await _0x1c9624[_0x3eaaf9(0x8c)](installChromiumBinary,_0x1dcb04),console[_0x3eaaf9(0xca)](_0x1c9624[_0x3eaaf9(0xe4)]);}catch(_0x3c35fe){console['error'](_0x1c9624[_0x3eaaf9(0xab)],_0x1c9624['xKqCD'](_0x3c35fe,Error)?_0x3c35fe['message']:_0x3c35fe),console[_0x3eaaf9(0xca)](_0x1c9624['STTuG']),_0x1dcb04?console['log']('\x20\x20npx\x20playwright@'+_0x1dcb04+'\x20install\x20chromium'):console['log'](_0x1c9624[_0x3eaaf9(0x9c)]);}}else console[_0x3eaaf9(0xca)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x3eaaf9(0xca)](_0x3eaaf9(0xde)),_0x1dcb04?console[_0x3eaaf9(0xca)](_0x3eaaf9(0xd3)+_0x1dcb04+'\x20install\x20chromium'):console['log'](_0x1c9624[_0x3eaaf9(0x9c)]);return!![];}export async function writeRangerGitignore(_0x2dfc06){const _0x160743=_0x243794,_0x518408={'opqGD':function(_0x188d58,_0x3cee63,_0x5139f9){return _0x188d58(_0x3cee63,_0x5139f9);},'tmDzq':function(_0x462c7e,_0x2bbb6e,_0x11630f){return _0x462c7e(_0x2bbb6e,_0x11630f);}},_0x35124d=_0x518408['opqGD'](join,_0x2dfc06,_0x160743(0xcd)),_0x2a0665='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x518408['tmDzq'](writeFile,_0x35124d,_0x2a0665),console['log']('✓\x20Created\x20.ranger/.gitignore');}async function ensurePlugin(){const _0x2c1ae6=_0x243794,_0x38b0a0={'ujXph':function(_0x172db4,_0x6d7370){return _0x172db4(_0x6d7370);},'DFWcj':_0x2c1ae6(0xef),'kpToc':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','ycOxL':function(_0x3ba05f,_0x48a0a6,_0x3a7931){return _0x3ba05f(_0x48a0a6,_0x3a7931);},'vTNHb':_0x2c1ae6(0xf6),'vetOS':_0x2c1ae6(0xea),'RNwrZ':'pluginScope','xTCto':'Project\x20(shared\x20with\x20team\x20via\x20git)','EdlGr':_0x2c1ae6(0xd8),'BBjJW':'trailhead','ewZPr':_0x2c1ae6(0xf3),'RRhIl':'\x0aYou\x20can\x20install\x20manually\x20with:','ODmPe':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','zgTSX':'plugin','LVJcM':_0x2c1ae6(0x9e),'YrpZK':_0x2c1ae6(0xa9),'sdhSU':_0x2c1ae6(0xbc)},_0x4601eb=await _0x38b0a0['ujXph'](isPluginInstalled,_0x38b0a0[_0x2c1ae6(0xc8)]);if(_0x4601eb)return console[_0x2c1ae6(0xca)](_0x38b0a0['kpToc']),![];const _0x997d06=existsSync(_0x38b0a0[_0x2c1ae6(0xa4)](join,getProjectRoot(),'.claude'));let _0xb14f45;if(_0x997d06)_0xb14f45='project';else{console['log'](_0x38b0a0[_0x2c1ae6(0xdd)]);const _0x3b105b=await _0x1f68b5['prompt']([{'type':_0x38b0a0['vetOS'],'name':_0x38b0a0[_0x2c1ae6(0xa5)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x38b0a0['xTCto'],'value':_0x38b0a0[_0x2c1ae6(0x87)]}],'default':'user'}]);_0xb14f45=_0x3b105b['pluginScope'];}console[_0x2c1ae6(0xca)](_0x2c1ae6(0x92)+_0xb14f45+_0x2c1ae6(0x8d));const _0x392139=await isMarketplaceAdded(_0x38b0a0[_0x2c1ae6(0xfa)]);let _0x2ec007=_0x392139;if(_0x392139)console[_0x2c1ae6(0xca)](_0x38b0a0['ewZPr']);else{const _0x248245=await runClaudeCommand(['plugin','marketplace','add','ranger-testing/trailhead']);!_0x248245['success']?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x248245['error']),console[_0x2c1ae6(0xca)](_0x38b0a0[_0x2c1ae6(0x89)]),console['log'](_0x38b0a0['ODmPe']),console[_0x2c1ae6(0xca)](_0x2c1ae6(0xe1)+_0xb14f45)):_0x2ec007=!![];}if(_0x2ec007){const _0x57af9f=await runClaudeCommand([_0x38b0a0['zgTSX'],_0x38b0a0['LVJcM'],_0x38b0a0['DFWcj'],_0x38b0a0[_0x2c1ae6(0xd2)],_0xb14f45]);!_0x57af9f[_0x2c1ae6(0xb0)]?(console['error'](_0x38b0a0['sdhSU'],_0x57af9f['error']),console[_0x2c1ae6(0xca)](_0x38b0a0['RRhIl']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0xb14f45)):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');}return!![];}function printProfileSetupLaterInstructions(){const _0x1ad970=_0x243794,_0x797f15={'fmdrh':_0x1ad970(0xc9)};console['log']('\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:'),console['log']('\x20\x20'+bold('ranger\x20profile\x20add\x20local')),console[_0x1ad970(0xca)](_0x797f15['fmdrh']);}async function ensureLocalEnv(_0x19e8c0){const _0x29e006=_0x243794,_0x491edd={'ggNdq':function(_0x3e594d){return _0x3e594d();},'fVYBR':'local','gaexh':_0x29e006(0xd4),'IYSCL':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','rbCZp':_0x29e006(0x90),'SFPYR':'wantsProfile','INtve':function(_0x4c04f3){return _0x4c04f3();},'KSbMM':function(_0x58981a,_0x3550ec){return _0x58981a instanceof _0x3550ec;}};if(!_0x491edd[_0x29e006(0xa1)](findGitRoot))return console[_0x29e006(0xca)](_0x29e006(0xd7)),{'ready':![],'installed':![]};if(findExistingEnv('local',{'locations':[_0x491edd['fVYBR']]}))return console[_0x29e006(0xca)](_0x491edd[_0x29e006(0xad)]),{'ready':!![],'installed':![]};console['log']('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console['log']('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console[_0x29e006(0xca)]('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x29e006(0xca)](_0x29e006(0xe0)),console['log'](_0x491edd['IYSCL']);const {wantsProfile:_0x13ed40}=await _0x1f68b5['prompt']([{'type':_0x491edd[_0x29e006(0x99)],'name':_0x491edd['SFPYR'],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x13ed40)return _0x491edd['INtve'](printProfileSetupLaterInstructions),{'ready':![],'installed':![]};try{return await addEnv(_0x491edd[_0x29e006(0x86)],{},_0x19e8c0),{'ready':!![],'installed':!![]};}catch(_0x39bd42){return console['error'](_0x29e006(0xd9),_0x491edd[_0x29e006(0xc1)](_0x39bd42,Error)?_0x39bd42['message']:_0x39bd42),printProfileSetupLaterInstructions(),{'ready':![],'installed':![]};}}async function ensureSkills(){const _0xe238e0=_0x243794,_0x646388={'vbTXu':function(_0x3a08fe,_0x53bc46){return _0x3a08fe(_0x53bc46);},'cXaLZ':function(_0x57f64c,_0x4e6857,_0x5528db,_0xd29c0e){return _0x57f64c(_0x4e6857,_0x5528db,_0xd29c0e);},'yXjer':_0xe238e0(0xb5),'ZwtTy':_0xe238e0(0xd8),'RDucH':'ranger','Tadrd':_0xe238e0(0xc6),'yNQkI':function(_0x1ce954,_0x45eed7){return _0x1ce954(_0x45eed7);},'zrsqo':'.claude','DOHpM':_0xe238e0(0x90),'nZhFs':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x3316d3=_0x646388[_0xe238e0(0xcc)](existsSync,_0x646388['cXaLZ'](join,_0x646388['vbTXu'](getSkillsDir,_0x646388[_0xe238e0(0xbf)]),'ranger','SKILL.md')),_0x26b1a2=existsSync(join(getSkillsDir(_0x646388['ZwtTy']),_0x646388[_0xe238e0(0x9d)],'SKILL.md'));if(_0x3316d3||_0x26b1a2)return console[_0xe238e0(0xca)](_0x646388['Tadrd']),![];const _0x2a0be1=_0x646388['yNQkI'](existsSync,join(getProjectRoot(),_0x646388['zrsqo']));if(_0x2a0be1)await _0x646388[_0xe238e0(0xcc)](skillup,{'autoInstall':_0xe238e0(0xd8),'suppressUsage':!![]});else{const {wantsSkillup:_0x3de3a0}=await _0x1f68b5[_0xe238e0(0xbd)]([{'type':_0x646388[_0xe238e0(0x95)],'name':_0xe238e0(0xb2),'message':_0x646388['nZhFs'],'default':!![]}]);_0x3de3a0&&await skillup({'suppressUsage':!![]});}return!![];}export async function start(_0x5e18e4,_0xb43b5a,_0x4376dc){const _0x53ee7c=_0x243794,_0x434290={'SIQJe':function(_0x4e350c){return _0x4e350c();},'ZQgmI':'auth','PVBhF':'dir_setup','HDwEW':'chromium','JNFtD':_0x53ee7c(0xa8),'dcftU':function(_0x176bc2){return _0x176bc2();},'gJYph':function(_0x478473,_0x208c43){return _0x478473(_0x208c43);},'RtyFh':_0x53ee7c(0xf2),'abDBL':_0x53ee7c(0xed),'nGMpE':_0x53ee7c(0xb4),'qUEzh':_0x53ee7c(0xc0),'TQOSK':'\x20\x202.\x20Run:\x20ranger\x20skillup','lRvFJ':'\x20\x203.\x20Install\x20Claude\x20Code\x20plugin:','jwTxL':_0x53ee7c(0xf1),'hHvDL':'plugin','xvURT':'skills','RPGMk':function(_0x50d269){return _0x50d269();},'yyYPO':function(_0x7e951b,_0x4a3d75){return _0x7e951b(_0x4a3d75);},'EKRIj':_0x53ee7c(0x9b),'aJwbX':function(_0x9883ba,_0x46e8f6){return _0x9883ba+_0x46e8f6;}};console[_0x53ee7c(0xca)]('\x0a🚀\x20Ranger\x20Setup\x0a');if(!_0x434290[_0x53ee7c(0xd6)](findGitRoot))throw new Error('No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.');_0x4376dc?.['trackPhaseStart'](_0x434290[_0x53ee7c(0xe7)]),await authenticate(_0x5e18e4),_0x4376dc?.['trackPhaseEnd'](_0x434290[_0x53ee7c(0xe7)]),_0x4376dc?.['trackPhaseStart'](_0x434290['PVBhF']);const {path:_0x790338,installed:_0x152890}=await _0x434290[_0x53ee7c(0xd6)](ensureRangerDir);_0x4376dc?.['trackPhaseEnd'](_0x434290[_0x53ee7c(0xf9)],{'installed':_0x152890}),_0x4376dc?.[_0x53ee7c(0xb8)](_0x434290['HDwEW']);let _0x4972cc=![];_0xb43b5a?.['skipChromium']?console['log'](_0x434290['JNFtD']):_0x4972cc=await _0x434290['dcftU'](ensureChromium);_0x4376dc?.['trackPhaseEnd'](_0x434290['HDwEW'],{'installed':_0x4972cc,'skipped':!!_0xb43b5a?.[_0x53ee7c(0xd0)]}),await _0x434290[_0x53ee7c(0xf7)](writeRangerGitignore,_0x790338),console['log'](_0x434290[_0x53ee7c(0xc5)]);const _0x1b914a=process[_0x53ee7c(0x8f)][_0x53ee7c(0xf4)]&&process['stdout'][_0x53ee7c(0xf4)];if(!_0x1b914a){console[_0x53ee7c(0xca)](_0x434290['abDBL']),console['log'](_0x434290[_0x53ee7c(0xa7)]),console[_0x53ee7c(0xca)](_0x434290['qUEzh']),console[_0x53ee7c(0xca)](_0x434290['TQOSK']),console['log'](_0x434290[_0x53ee7c(0xda)]),console['log'](_0x53ee7c(0xaf)),console['log']('\x20\x20\x20\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x0a'),console[_0x53ee7c(0xca)](_0x434290['jwTxL']);return;}_0x4376dc?.[_0x53ee7c(0xb8)]('plugin');const _0x2aca20=await ensurePlugin();_0x4376dc?.['trackPhaseEnd'](_0x434290[_0x53ee7c(0x94)],{'installed':_0x2aca20}),_0x4376dc?.['trackPhaseStart'](_0x434290['xvURT']);const _0x5cfa9f=await _0x434290[_0x53ee7c(0xb7)](ensureSkills);_0x4376dc?.['trackPhaseEnd'](_0x434290[_0x53ee7c(0xf5)],{'installed':_0x5cfa9f}),_0x4376dc?.[_0x53ee7c(0xb8)](_0x53ee7c(0xb6));const _0x3b17f7=await _0x434290['yyYPO'](ensureLocalEnv,_0x4376dc);_0x4376dc?.['trackPhaseEnd']('profile',{'installed':_0x3b17f7[_0x53ee7c(0xa3)]});const _0x594468=_0x3b17f7[_0x53ee7c(0xee)],_0xb425b7=bold(_0x434290[_0x53ee7c(0xc2)]);_0x594468&&console[_0x53ee7c(0xca)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.'),console['log'](_0x434290['aJwbX'](_0x53ee7c(0xfb)+_0xb425b7+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+_0x53ee7c(0xec)+_0x53ee7c(0xbb));}
1
+ const _0x552547=_0x1cea;(function(_0x1f0082,_0x39465f){const _0x4b865d=_0x1cea,_0x2d6fa2=_0x1f0082();while(!![]){try{const _0x13a7a2=-parseInt(_0x4b865d(0x1ac))/0x1+parseInt(_0x4b865d(0x12c))/0x2*(parseInt(_0x4b865d(0x151))/0x3)+-parseInt(_0x4b865d(0x139))/0x4+parseInt(_0x4b865d(0x152))/0x5+parseInt(_0x4b865d(0x148))/0x6+parseInt(_0x4b865d(0x18c))/0x7+-parseInt(_0x4b865d(0x16d))/0x8*(parseInt(_0x4b865d(0x13a))/0x9);if(_0x13a7a2===_0x39465f)break;else _0x2d6fa2['push'](_0x2d6fa2['shift']());}catch(_0x34ee16){_0x2d6fa2['push'](_0x2d6fa2['shift']());}}}(_0x3617,0x5f717));import{mkdir,writeFile}from'fs/promises';function _0x3617(){const _0x3f51a0=['✓\x20Claude\x20Code\x20plugin\x20already\x20installed','xhXUq','pNxlp','UpJNr','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','stdout','auth','wEPjC','ranger','install','success','resolve','ZEnzX','WYTuK','Non-interactive\x20mode\x20detected.\x20Skipping\x20optional\x20setup\x20prompts.','log','8pYDNQj','bwWUW','isTTY','Where\x20should\x20the\x20plugin\x20be\x20installed?','KjtaI','project','ByFLj','Sromz','add','ssXgA','SnTUN','error','Project\x20(shared\x20with\x20team\x20via\x20git)','❌\x20Failed\x20to\x20add\x20marketplace:','local','CQVKt','mZDrA','zewAn','list','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','GvFyf','uehBO','\x20level)...\x0a','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x0a🚀\x20Ranger\x20Setup\x0a','message','bWvJn','RPWMV','\x20\x203.\x20Install\x20Claude\x20Code\x20plugin:','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','chromium','2272599wmbFJV','Authentication\x20failed:\x20','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','user','playwright/package.json','ranger@trailhead','\x0aYou\x20can\x20install\x20manually\x20with:','npx','prompt','installed','hpJiJ','✓\x20Created\x20.ranger/\x20directory','env','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x20\x20npx\x20playwright@','MSdLK','trackPhaseStart','organizationName','✓\x20Already\x20authenticated\x20to\x20','/ranger:enable','jtboL','pluginScope','EKHHT','usqlz','ZyIpY','trackPhaseEnd','stdin','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','status','hXCdx','You\x20can\x20install\x20it\x20manually\x20by\x20running:','WJHoS','345567qeDkqb','pALXy','kqxXh','tcHcU','mweuV','\x0a⚠\x20Skipping\x20Chromium\x20installation.','14iCChIP','fyFQt','PbxmC','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','DbCfH','LZZUP','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','executablePath','VbZLe','OwjOL','posZS','355856HpZqAG','2766537cSnGZs','ranger\x20profile\x20add\x20local','skills','✓\x20Local\x20profile\x20already\x20exists','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','confirm','wqYFX','wantsProfile','\x20install\x20chromium','version','cyowW','❌\x20Failed\x20to\x20install\x20plugin:','--scope','HmwJN','1940334lNcDhI','ghzKJ','profile','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','lbBTG','use\x20until\x20the\x20session\x20expires.\x0a','kXDuo','.claude','AWQMk','204882JpfoQX','33775kcLUta','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','eGkLS','WWRtT','CxQuo','gFJxZ','\x1b[1m','...','dir_setup','.gitignore','plugin'];_0x3617=function(){return _0x3f51a0;};return _0x3617();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x237690 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x1cea(_0x283abb,_0xd01f0b){_0x283abb=_0x283abb-0x127;const _0x361720=_0x3617();let _0x1cea5f=_0x361720[_0x283abb];return _0x1cea5f;}import{addEnv}from'./addEnv.js';import{skillup}from'./skillup.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';const require=createRequire(import.meta.url),bold=_0x2ad2aa=>_0x552547(0x158)+_0x2ad2aa+'\x1b[0m';function getPlaywrightVersion(){const _0x26cbab=_0x552547,_0x3260c4={'jtboL':_0x26cbab(0x190),'zewAn':function(_0x81a96c,_0x5e1d05){return _0x81a96c(_0x5e1d05);}};try{const _0x1e3433=require[_0x26cbab(0x168)](_0x3260c4[_0x26cbab(0x1a0)]),_0x4940a6=_0x3260c4[_0x26cbab(0x17e)](require,_0x1e3433);return _0x4940a6[_0x26cbab(0x143)];}catch{return null;}}function installChromiumBinary(_0xf4774){const _0x3d66f2=_0x552547,_0x1c21b0={'eUeXY':function(_0x1c729d,_0x46d954){return _0x1c729d===_0x46d954;},'UAGtL':'chromium','eyhCx':'playwright','WWRtT':'install','KjtaI':_0x3d66f2(0x193),'OwjOL':'inherit'};return new Promise((_0xdb9a22,_0x46c441)=>{const _0x5e9249=_0x3d66f2,_0x51b644=_0xf4774?['playwright@'+_0xf4774,_0x5e9249(0x166),_0x1c21b0['UAGtL']]:[_0x1c21b0['eyhCx'],_0x1c21b0[_0x5e9249(0x155)],_0x5e9249(0x18b)],_0x27ca64=spawn(_0x1c21b0[_0x5e9249(0x171)],_0x51b644,{'stdio':_0x1c21b0[_0x5e9249(0x137)],'shell':!![]});_0x27ca64['on']('close',_0x53e1fd=>{_0x1c21b0['eUeXY'](_0x53e1fd,0x0)?_0xdb9a22():_0x46c441(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x53e1fd));}),_0x27ca64['on']('error',_0x5a3315=>{_0x46c441(_0x5a3315);});});}export async function authenticate(_0x5d0273){const _0x2ef587=_0x552547,_0x11e487={'AWQMk':function(_0x1c07fb,_0x532918){return _0x1c07fb(_0x532918);},'CxQuo':function(_0x669179,_0x2708a1){return _0x669179 instanceof _0x2708a1;},'WYTuK':function(_0x5480db,_0x5c8fc2){return _0x5480db(_0x5c8fc2);},'fyFQt':'Validating\x20API\x20token...'};if(!_0x5d0273){const _0x36d5ec=await getToken();if(_0x36d5ec){const _0x2716c9=await _0x11e487[_0x2ef587(0x150)](getCurrentUser,_0x36d5ec);if(_0x2716c9[_0x2ef587(0x167)])return console[_0x2ef587(0x16c)](_0x2ef587(0x19e)+_0x2716c9['user'][_0x2ef587(0x19d)]),_0x36d5ec;}const _0x26778b=process[_0x2ef587(0x1a6)][_0x2ef587(0x16f)]&&process[_0x2ef587(0x162)][_0x2ef587(0x16f)];if(!_0x26778b)throw new Error('No\x20token\x20provided\x20and\x20running\x20in\x20non-interactive\x20mode.\x20In\x20CI,\x20pass\x20a\x20token:\x20ranger\x20setup\x20[token].\x20Or\x20set\x20the\x20RANGER_MCP_TOKEN\x20environment\x20variable.');try{_0x5d0273=await runDeviceAuthFlow();}catch(_0x3d3615){throw new Error(_0x2ef587(0x18d)+(_0x11e487[_0x2ef587(0x156)](_0x3d3615,Error)?_0x3d3615[_0x2ef587(0x186)]:_0x3d3615));}const _0x56e9a0=await _0x11e487['WYTuK'](getCurrentUser,_0x5d0273);if(!_0x56e9a0[_0x2ef587(0x167)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x56e9a0[_0x2ef587(0x178)]);return console[_0x2ef587(0x16c)]('✓\x20Authenticated\x20to\x20'+_0x56e9a0['user']['organizationName']),_0x5d0273;}console['log'](_0x11e487[_0x2ef587(0x12d)]);const _0x47e88b=await _0x11e487['WYTuK'](getCurrentUser,_0x5d0273);if(!_0x47e88b['success']){if(_0x47e88b[_0x2ef587(0x1a8)])throw new Error('Authentication\x20failed:\x20'+_0x47e88b[_0x2ef587(0x178)]+_0x2ef587(0x184));else throw new Error(_0x2ef587(0x153)+_0x47e88b['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x2ef587(0x16c)]('✓\x20Authenticated\x20to\x20'+_0x47e88b[_0x2ef587(0x18f)]['organizationName']),await _0x11e487[_0x2ef587(0x16a)](storeToken,_0x5d0273),console[_0x2ef587(0x16c)](process[_0x2ef587(0x198)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),_0x5d0273;}export async function ensureRangerDir(){const _0x179756=_0x552547,_0x124d38={'geNJP':function(_0x4eaa6f){return _0x4eaa6f();},'EFPAA':function(_0x1f43ab,_0x330f7a,_0x31e090){return _0x1f43ab(_0x330f7a,_0x31e090);},'kqxXh':_0x179756(0x197)},_0x48d202=_0x124d38['geNJP'](getRangerDir);return!existsSync(_0x48d202)?(await _0x124d38['EFPAA'](mkdir,_0x48d202,{'recursive':!![]}),console['log'](_0x124d38[_0x179756(0x128)]),{'path':_0x48d202,'installed':!![]}):(console[_0x179756(0x16c)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x48d202,'installed':![]});}export async function ensureChromium(){const _0x2da964=_0x552547,_0x3d9b42={'posZS':function(_0x3c90e4,_0x3bd1b4){return _0x3c90e4(_0x3bd1b4);},'lbBTG':'\x0aInstalling\x20Chromium\x20browser...\x0a','cjgts':function(_0x4ee956,_0x1ab1ab){return _0x4ee956(_0x1ab1ab);},'YpHaD':function(_0x36dfa2,_0x185277){return _0x36dfa2 instanceof _0x185277;},'WJHoS':_0x2da964(0x1aa),'ByFLj':'\x20\x20npx\x20playwright\x20install\x20chromium','xhXUq':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x2b7bc7=![];try{const _0x551707=chromium[_0x2da964(0x135)]();_0x2b7bc7=_0x3d9b42[_0x2da964(0x138)](existsSync,_0x551707);}catch{_0x2b7bc7=![];}if(_0x2b7bc7)return console[_0x2da964(0x16c)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x2ef112=getPlaywrightVersion(),_0xdcceca=process[_0x2da964(0x1a6)]['isTTY']&&process['stdout'][_0x2da964(0x16f)];let _0xb8abcb=!![];if(_0xdcceca){const {install:_0x45589c}=await _0x237690['prompt']([{'type':'confirm','name':'install','message':_0x2ef112?'The\x20required\x20version\x20('+_0x2ef112+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x2da964(0x180),'default':!![]}]);_0xb8abcb=_0x45589c;}else console[_0x2da964(0x16c)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x2ef112?'\x20'+_0x2ef112:'')+_0x2da964(0x159));if(_0xb8abcb){console['log'](_0x3d9b42[_0x2da964(0x14c)]);try{await _0x3d9b42['cjgts'](installChromiumBinary,_0x2ef112),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x395a77){console[_0x2da964(0x178)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3d9b42['YpHaD'](_0x395a77,Error)?_0x395a77[_0x2da964(0x186)]:_0x395a77),console['log'](_0x3d9b42[_0x2da964(0x1ab)]),_0x2ef112?console['log'](_0x2da964(0x19a)+_0x2ef112+_0x2da964(0x142)):console['log'](_0x3d9b42['ByFLj']);}}else console[_0x2da964(0x16c)](_0x2da964(0x12b)),console['log'](_0x3d9b42[_0x2da964(0x15e)]),_0x2ef112?console[_0x2da964(0x16c)]('\x20\x20npx\x20playwright@'+_0x2ef112+'\x20install\x20chromium'):console['log'](_0x3d9b42[_0x2da964(0x173)]);return!![];}export async function writeRangerGitignore(_0x5e3ae3){const _0x20ba3e=_0x552547,_0x16d9f7={'LZZUP':function(_0x490420,_0x2752af,_0x16f78c){return _0x490420(_0x2752af,_0x16f78c);},'hpJiJ':_0x20ba3e(0x15b),'ghzKJ':function(_0x14d621,_0xd51344,_0x39c0ec){return _0x14d621(_0xd51344,_0x39c0ec);}},_0x38214a=_0x16d9f7[_0x20ba3e(0x132)](join,_0x5e3ae3,_0x16d9f7[_0x20ba3e(0x196)]),_0x20f36d='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x16d9f7[_0x20ba3e(0x149)](writeFile,_0x38214a,_0x20f36d),console['log']('✓\x20Created\x20.ranger/.gitignore');}async function ensurePlugin(){const _0x389920=_0x552547,_0x72da9d={'YOlQR':function(_0x186b95,_0x5ae82c){return _0x186b95(_0x5ae82c);},'gFJxZ':_0x389920(0x191),'ZyIpY':function(_0x280eae,_0xb6cf4e,_0x346715){return _0x280eae(_0xb6cf4e,_0x346715);},'LtcZl':'.claude','kXDuo':_0x389920(0x172),'usqlz':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','nXIoR':_0x389920(0x17f),'RPWMV':'user','uehBO':function(_0x22e457,_0x114df6){return _0x22e457(_0x114df6);},'EKHHT':'plugin','GrDuT':'marketplace','eTMZG':'ranger-testing/trailhead','DbCfH':_0x389920(0x17a),'wlvxo':_0x389920(0x146),'GvFyf':_0x389920(0x145)},_0x2d4039=await _0x72da9d['YOlQR'](isPluginInstalled,_0x72da9d[_0x389920(0x157)]);if(_0x2d4039)return console['log'](_0x389920(0x15d)),![];const _0x5b9845=existsSync(_0x72da9d[_0x389920(0x1a4)](join,getProjectRoot(),_0x72da9d['LtcZl']));let _0x1d9272;if(_0x5b9845)_0x1d9272=_0x72da9d[_0x389920(0x14e)];else{console['log'](_0x72da9d[_0x389920(0x1a3)]);const _0x5968de=await _0x237690[_0x389920(0x194)]([{'type':_0x72da9d['nXIoR'],'name':_0x389920(0x1a1),'message':_0x389920(0x170),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x72da9d[_0x389920(0x188)]},{'name':_0x389920(0x179),'value':_0x389920(0x172)}],'default':'user'}]);_0x1d9272=_0x5968de[_0x389920(0x1a1)];}console['log'](_0x389920(0x14b)+_0x1d9272+_0x389920(0x183));const _0x28d8f7=await _0x72da9d[_0x389920(0x182)](isMarketplaceAdded,'trailhead');let _0x3cb8de=_0x28d8f7;if(_0x28d8f7)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x217e42=await runClaudeCommand([_0x72da9d[_0x389920(0x1a2)],_0x72da9d['GrDuT'],_0x389920(0x175),_0x72da9d['eTMZG']]);!_0x217e42['success']?(console[_0x389920(0x178)](_0x72da9d[_0x389920(0x131)],_0x217e42[_0x389920(0x178)]),console['log'](_0x389920(0x192)),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x389920(0x16c)](_0x389920(0x134)+_0x1d9272)):_0x3cb8de=!![];}if(_0x3cb8de){const _0x4c9d24=await runClaudeCommand([_0x72da9d['EKHHT'],'install',_0x72da9d['gFJxZ'],_0x72da9d['wlvxo'],_0x1d9272]);!_0x4c9d24[_0x389920(0x167)]?(console['error'](_0x72da9d[_0x389920(0x181)],_0x4c9d24['error']),console['log'](_0x389920(0x192)),console['log'](_0x389920(0x134)+_0x1d9272)):console['log'](_0x389920(0x12f));}return!![];}function printProfileSetupLaterInstructions(){const _0x22c1c2=_0x552547,_0x7fb94={'MSdLK':_0x22c1c2(0x13b),'bWvJn':_0x22c1c2(0x130)};console['log'](_0x22c1c2(0x18e)),console['log']('\x20\x20'+bold(_0x7fb94[_0x22c1c2(0x19b)])),console[_0x22c1c2(0x16c)](_0x7fb94[_0x22c1c2(0x187)]);}async function ensureLocalEnv(_0x4abe71){const _0x467adb=_0x552547,_0x3c2ebc={'GJUVn':_0x467adb(0x133),'GvDHX':_0x467adb(0x17b),'PbxmC':_0x467adb(0x13d),'XcXPM':_0x467adb(0x1a7),'eGkLS':_0x467adb(0x14d),'bwWUW':_0x467adb(0x141),'VbZLe':_0x467adb(0x18a),'hXCdx':function(_0x20c814,_0x3d5270,_0x20ed93,_0x198ada){return _0x20c814(_0x3d5270,_0x20ed93,_0x198ada);},'CQVKt':'\x0a❌\x20Profile\x20setup\x20failed:','pNxlp':function(_0x1ebded){return _0x1ebded();}};if(!findGitRoot())return console[_0x467adb(0x16c)](_0x3c2ebc['GJUVn']),{'ready':![],'installed':![]};if(findExistingEnv(_0x467adb(0x17b),{'locations':[_0x3c2ebc['GvDHX']]}))return console[_0x467adb(0x16c)](_0x3c2ebc[_0x467adb(0x12e)]),{'ready':!![],'installed':![]};console[_0x467adb(0x16c)]('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console['log']('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console['log'](_0x3c2ebc['XcXPM']),console['log'](_0x3c2ebc[_0x467adb(0x154)]),console[_0x467adb(0x16c)](_0x467adb(0x161));const {wantsProfile:_0x4cdb70}=await _0x237690['prompt']([{'type':'confirm','name':_0x3c2ebc[_0x467adb(0x16e)],'message':_0x3c2ebc[_0x467adb(0x136)],'default':!![]}]);if(!_0x4cdb70)return printProfileSetupLaterInstructions(),{'ready':![],'installed':![]};try{return await _0x3c2ebc[_0x467adb(0x1a9)](addEnv,_0x3c2ebc['GvDHX'],{},_0x4abe71),{'ready':!![],'installed':!![]};}catch(_0x3538c1){return console['error'](_0x3c2ebc[_0x467adb(0x17c)],_0x3538c1 instanceof Error?_0x3538c1[_0x467adb(0x186)]:_0x3538c1),_0x3c2ebc[_0x467adb(0x15f)](printProfileSetupLaterInstructions),{'ready':![],'installed':![]};}}async function ensureSkills(){const _0x1532c6=_0x552547,_0x120b41={'qnOve':function(_0x34c264,_0xcc17fe,_0xaf86ec,_0xb4147f){return _0x34c264(_0xcc17fe,_0xaf86ec,_0xb4147f);},'WSoWI':'user','xfDTf':'ranger','Sromz':'SKILL.md','UXdcX':function(_0x2d5abe,_0x481043){return _0x2d5abe(_0x481043);},'GDZcH':'✓\x20Ranger\x20skills\x20already\x20installed','WVTvb':function(_0x69e37b,_0xfc9069){return _0x69e37b(_0xfc9069);},'gBhZn':function(_0x47639b){return _0x47639b();},'wEPjC':_0x1532c6(0x13f)},_0x5d1ad8=existsSync(_0x120b41['qnOve'](join,getSkillsDir(_0x120b41['WSoWI']),_0x120b41['xfDTf'],_0x120b41[_0x1532c6(0x174)])),_0x31f624=_0x120b41['UXdcX'](existsSync,join(getSkillsDir(_0x1532c6(0x172)),_0x1532c6(0x165),_0x120b41[_0x1532c6(0x174)]));if(_0x5d1ad8||_0x31f624)return console['log'](_0x120b41['GDZcH']),![];const _0xb87757=_0x120b41['WVTvb'](existsSync,join(_0x120b41['gBhZn'](getProjectRoot),_0x1532c6(0x14f)));if(_0xb87757)await _0x120b41['WVTvb'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const {wantsSkillup:_0x3acb05}=await _0x237690[_0x1532c6(0x194)]([{'type':_0x120b41[_0x1532c6(0x164)],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x3acb05&&await skillup({'suppressUsage':!![]});}return!![];}export async function start(_0x251604,_0x9d9ba0,_0x23f4c6){const _0x1a05be=_0x552547,_0x55bdf0={'wqYFX':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','pgGqt':_0x1a05be(0x163),'UpJNr':function(_0x3b760d,_0x2b95c9){return _0x3b760d(_0x2b95c9);},'SnTUN':function(_0x19e4ce){return _0x19e4ce();},'nNKkX':_0x1a05be(0x15a),'RGNhZ':_0x1a05be(0x18b),'HmwJN':_0x1a05be(0x16b),'DwGas':'\x0aNext\x20steps:','tcHcU':'\x20\x202.\x20Run:\x20ranger\x20skillup','cfNES':'\x20\x20\x20\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x0a','tZwkv':'\x20\x204.\x20Run:\x20ranger\x20profile\x20add\x20local','ZEnzX':'skills','AbkNS':function(_0x3f9874){return _0x3f9874();},'mZDrA':function(_0x30a744,_0x444258,_0x5a94e3){return _0x30a744(_0x444258,_0x5a94e3);},'cyowW':function(_0x1100f3,_0x406a7e){return _0x1100f3(_0x406a7e);},'mekDa':function(_0x3e8c95,_0x32ef8b){return _0x3e8c95(_0x32ef8b);},'dOMal':_0x1a05be(0x14a),'pALXy':function(_0x48a232,_0x12d6bc){return _0x48a232(_0x12d6bc);},'ssXgA':_0x1a05be(0x19f),'mweuV':function(_0x480698,_0x186040){return _0x480698+_0x186040;}};console['log'](_0x1a05be(0x185));if(!findGitRoot())throw new Error(_0x55bdf0[_0x1a05be(0x140)]);_0x23f4c6?.[_0x1a05be(0x19c)](_0x55bdf0['pgGqt']),await _0x55bdf0[_0x1a05be(0x160)](authenticate,_0x251604),_0x23f4c6?.[_0x1a05be(0x1a5)]('auth'),_0x23f4c6?.['trackPhaseStart'](_0x1a05be(0x15a));const {path:_0x1bc891,installed:_0x139e52}=await _0x55bdf0[_0x1a05be(0x177)](ensureRangerDir);_0x23f4c6?.[_0x1a05be(0x1a5)](_0x55bdf0['nNKkX'],{'installed':_0x139e52}),_0x23f4c6?.['trackPhaseStart']('chromium');let _0xbb962f=![];_0x9d9ba0?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0xbb962f=await _0x55bdf0[_0x1a05be(0x177)](ensureChromium);_0x23f4c6?.['trackPhaseEnd'](_0x55bdf0['RGNhZ'],{'installed':_0xbb962f,'skipped':!!_0x9d9ba0?.['skipChromium']}),await _0x55bdf0['UpJNr'](writeRangerGitignore,_0x1bc891),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x5c6c58=process[_0x1a05be(0x1a6)]['isTTY']&&process[_0x1a05be(0x162)]['isTTY'];if(!_0x5c6c58){console['log'](_0x55bdf0[_0x1a05be(0x147)]),console['log'](_0x55bdf0['DwGas']),console['log']('\x20\x201.\x20Navigate\x20to\x20your\x20project\x20directory'),console[_0x1a05be(0x16c)](_0x55bdf0[_0x1a05be(0x129)]),console[_0x1a05be(0x16c)](_0x1a05be(0x189)),console['log']('\x20\x20\x20\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x55bdf0['cfNES']),console[_0x1a05be(0x16c)](_0x55bdf0['tZwkv']);return;}_0x23f4c6?.[_0x1a05be(0x19c)]('plugin');const _0x54eb0d=await _0x55bdf0[_0x1a05be(0x177)](ensurePlugin);_0x23f4c6?.[_0x1a05be(0x1a5)](_0x1a05be(0x15c),{'installed':_0x54eb0d}),_0x23f4c6?.[_0x1a05be(0x19c)](_0x55bdf0[_0x1a05be(0x169)]);const _0x4cd76a=await _0x55bdf0['AbkNS'](ensureSkills);_0x23f4c6?.['trackPhaseEnd'](_0x1a05be(0x13c),{'installed':_0x4cd76a});const _0x59b152=findGitRoot();if(_0x59b152){const _0x140a8b=_0x55bdf0[_0x1a05be(0x17d)](join,_0x59b152,'.ranger');!_0x55bdf0[_0x1a05be(0x144)](existsSync,_0x140a8b)&&await mkdir(_0x140a8b,{'recursive':!![]});}_0x23f4c6?.[_0x1a05be(0x19c)](_0x1a05be(0x14a));const _0x50b772=await _0x55bdf0['mekDa'](ensureLocalEnv,_0x23f4c6);_0x23f4c6?.[_0x1a05be(0x1a5)](_0x55bdf0['dOMal'],{'installed':_0x50b772[_0x1a05be(0x195)]});const _0x54a701=_0x50b772['ready'],_0x9a64e=_0x55bdf0[_0x1a05be(0x127)](bold,_0x55bdf0[_0x1a05be(0x176)]);_0x54a701&&console['log'](_0x1a05be(0x13e)),console['log'](_0x55bdf0[_0x1a05be(0x12a)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x9a64e+'\x20and\x20prompt\x20the\x20coding'+_0x1a05be(0x199)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,IAAI,SAAS,CAAC;AAEvD,SAAS,oBAAoB;IACzB,IAAI,CAAC;QACD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC,OAAO,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAsB;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,OAAO;YAChB,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;YAClD,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,iCAAiC;QACjC,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,CAAC;QACvC,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CACP,8BAA8B,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAC9D,CAAC;gBACF,OAAO,aAAa,CAAC;YACzB,CAAC;QACL,CAAC;QAED,iDAAiD;QACjD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAClE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACX,qJAAqJ,CACxJ,CAAC;QACN,CAAC;QAED,IAAI,CAAC;YACD,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACX,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAC7E,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACX,2CAA2C,MAAM,CAAC,KAAK,EAAE,CAC5D,CAAC;QACN,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,0BAA0B,MAAM,CAAC,KAAK,8CAA8C,CACvF,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CACX,oCAAoC,MAAM,CAAC,KAAK,wDAAwD,CAC3G,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAElE,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CACP,OAAO,CAAC,GAAG,CAAC,UAAU;QAClB,CAAC,CAAC,+BAA+B;QACjC,CAAC,CAAC,8BAA8B,CACvC,CAAC;IAEF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,eAAe;IAIjC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,cAAc;IAChC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QACjD,iBAAiB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACL,iBAAiB,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,CAAC,kBAAkB;IACpC,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAElE,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACtC;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,SAAS;oBACd,CAAC,CAAC,yBAAyB,SAAS,wEAAwE;oBAC5G,CAAC,CAAC,4EAA4E;gBAClF,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAC;QACH,aAAa,GAAG,OAAO,CAAC;IAC5B,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CACP,8DAA8D,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CACtG,CAAC;IACN,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC;YACD,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACT,iCAAiC,EACjC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACjD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,mBAAmB,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,mBAAmB,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,+BAA+B;AAChD,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IACxD,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;CAclC,CAAC;IACE,MAAM,SAAS,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,KAAK,UAAU,YAAY;IACvB,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,CAAC,kBAAkB;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACnE,IAAI,WAAmB,CAAC;IAExB,IAAI,YAAY,EAAE,CAAC;QACf,WAAW,GAAG,SAAS,CAAC;IAC5B,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACnC;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,uCAAuC;gBAChD,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,uCAAuC;wBAC7C,KAAK,EAAE,MAAM;qBAChB;oBACD;wBACI,IAAI,EAAE,oCAAoC;wBAC1C,KAAK,EAAE,SAAS;qBACnB;iBACJ;gBACD,OAAO,EAAE,MAAM;aAClB;SACJ,CAAC,CAAC;QACH,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,WAAW,cAAc,CAAC,CAAC;IAE3E,8BAA8B;IAC9B,MAAM,uBAAuB,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtE,IAAI,gBAAgB,GAAG,uBAAuB,CAAC;IAE/C,IAAI,uBAAuB,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACJ,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC;YAC7C,QAAQ;YACR,aAAa;YACb,KAAK;YACL,0BAA0B;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CACT,8BAA8B,EAC9B,iBAAiB,CAAC,KAAK,CAC1B,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CACP,0DAA0D,CAC7D,CAAC;YACF,OAAO,CAAC,GAAG,CACP,oDAAoD,WAAW,EAAE,CACpE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,gBAAgB,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,QAAQ;YACR,SAAS;YACT,kBAAkB;YAClB,SAAS;YACT,WAAW;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CACP,oDAAoD,WAAW,EAAE,CACpE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,+BAA+B;AAChD,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,kCAAkC;IACvC,OAAO,CAAC,GAAG,CACP,wFAAwF,CAC3F,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,SAA6D;IAE7D,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,wFAAwF,CAC3F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,GAAG,CACP,gEAAgE,CACnE,CAAC;IACF,OAAO,CAAC,GAAG,CACP,wEAAwE,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACP,qEAAqE,CACxE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAExE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QAC3C;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,IAAI;SAChB;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,kCAAkC,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACT,2BAA2B,EAC3B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACjD,CAAC;QACF,kCAAkC,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,KAAK,UAAU,YAAY;IACvB,MAAM,oBAAoB,GAAG,UAAU,CACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CACnD,CAAC;IACF,MAAM,uBAAuB,GAAG,UAAU,CACtC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CACtD,CAAC;IAEF,IAAI,oBAAoB,IAAI,uBAAuB,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,CAAC,kBAAkB;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnE,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC3C;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,mCAAmC;gBAC5C,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,+BAA+B;AAChD,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,KAAK,CACvB,KAAc,EACd,OAAoC,EACpC,SAA6D;IAE7D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAEnC,yEAAyE;IACzE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACX,wFAAwF,CAC3F,CAAC;IACN,CAAC;IAED,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEjC,8BAA8B;IAC9B,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAC3E,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjE,oBAAoB;IACpB,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACJ,iBAAiB,GAAG,MAAM,cAAc,EAAE,CAAC;IAC/C,CAAC;IACD,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE;QACjC,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,YAAY;KACnC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,wCAAwC;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAClE,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,iEAAiE,CACpE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CACP,6DAA6D,CAChE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAElD,OAAO;IACX,CAAC;IAED,8BAA8B;IAC9B,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;IAC7C,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IAEnE,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;IAC7C,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IAEnE,uBAAuB;IACvB,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IACtD,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAE5E,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,GAAG,CACP,yBAAyB,aAAa,wBAAwB;QAC1D,8DAA8D;QAC9D,4DAA4D;QAC5D,gDAAgD,CACvD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,20 @@ async function runInstall() {
20
20
  });
21
21
  });
22
22
  }
23
+ async function updateClaudeMarketplace() {
24
+ return new Promise((resolve) => {
25
+ const child = spawn('claude', ['plugin', 'marketplace', 'update', 'trailhead'], {
26
+ stdio: 'pipe',
27
+ shell: true,
28
+ });
29
+ child.on('close', (code) => {
30
+ resolve(code === 0);
31
+ });
32
+ child.on('error', () => {
33
+ resolve(false);
34
+ });
35
+ });
36
+ }
23
37
  async function updateClaudePlugin(scope) {
24
38
  return new Promise((resolve) => {
25
39
  let command = 'claude plugin update ranger@trailhead';
@@ -110,7 +124,11 @@ export async function update() {
110
124
  }
111
125
  // Reinstall all skills to ensure they are up to date
112
126
  await reinstallSkills(versionToUse);
113
- // Update Claude plugin at both user and project level
127
+ // Update Claude marketplace and plugin
128
+ const marketplaceSuccess = await updateClaudeMarketplace();
129
+ if (marketplaceSuccess) {
130
+ console.log('\nClaude marketplace updated (trailhead).');
131
+ }
114
132
  const userSuccess = await updateClaudePlugin();
115
133
  if (userSuccess) {
116
134
  console.log('\nClaude plugin updated (user scope).');
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- (function(_0x5362a0,_0x317d92){const _0x1c0ab7=_0x2fa4,_0x44fb5b=_0x5362a0();while(!![]){try{const _0x1c60b8=parseInt(_0x1c0ab7(0x1aa))/0x1*(parseInt(_0x1c0ab7(0x1a1))/0x2)+parseInt(_0x1c0ab7(0x1a2))/0x3+parseInt(_0x1c0ab7(0x1d3))/0x4+parseInt(_0x1c0ab7(0x1bc))/0x5*(parseInt(_0x1c0ab7(0x1cd))/0x6)+-parseInt(_0x1c0ab7(0x1be))/0x7*(-parseInt(_0x1c0ab7(0x1b7))/0x8)+parseInt(_0x1c0ab7(0x1bf))/0x9*(parseInt(_0x1c0ab7(0x1ca))/0xa)+parseInt(_0x1c0ab7(0x1ae))/0xb*(-parseInt(_0x1c0ab7(0x1c1))/0xc);if(_0x1c60b8===_0x317d92)break;else _0x44fb5b['push'](_0x44fb5b['shift']());}catch(_0x4ead08){_0x44fb5b['push'](_0x44fb5b['shift']());}}}(_0x4c55,0x813ad));function _0x4c55(){const _0x20072c=['trackPhaseEnd','stringify','.enc','goto','602590WredlX','parse','21bguliZ','9vuZHdw','config_write','6180DSmjPM','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','catch','nSTdh','fEAvz','✓\x20Auth\x20state\x20saved\x20to:\x20','AmBbD','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','browser','10328830vanYfM','about:blank','YHnhs','36PufNwG','log','close','storageState','NPfjx','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','3578568ZHhfcY','browser_auth','\x22\x20authentication\x20updated','ojuyt','stdin','baseUrl','58poKcaA','1350423YOHNII','trackPhaseStart','Gvmjz','error','Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20update\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20update\x20profile\x20authentication:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20update\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x0a\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git','exdNH','contextOptions','stdout','17377usndxp','ioEEs','Pewkv','Profile\x20\x22','65857NlGiYI','eRLVZ','NypUQ','KYKEW','isTTY','\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','newContext','Config\x20not\x20found\x20at\x20','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','21128dqyIWq'];_0x4c55=function(){return _0x20072c;};return _0x4c55();}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir,isEnvCi}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';function _0x2fa4(_0x1041e5,_0x26a739){_0x1041e5=_0x1041e5-0x19d;const _0x4c55d4=_0x4c55();let _0x2fa441=_0x4c55d4[_0x1041e5];return _0x2fa441;}export async function updateEnv(_0x6840ce,_0x4fc94d){const _0x14d8ac=_0x2fa4,_0x3b199c={'Gvmjz':'Saving\x20authentication\x20state...','KYKEW':function(_0x2dcc70,_0x581813){return _0x2dcc70(_0x581813);},'fEAvz':function(_0x15c168,_0x3af2f9,_0x49e144){return _0x15c168(_0x3af2f9,_0x49e144);},'Pewkv':'auth.json','NYurC':function(_0x36938a,_0x599594){return _0x36938a===_0x599594;},'AmBbD':function(_0x4f1f15,_0x637094){return _0x4f1f15(_0x637094);},'WtTpv':function(_0x5ef90f,_0x16f083){return _0x5ef90f(_0x16f083);},'exdNH':_0x14d8ac(0x1c2),'MPdDv':'utf-8','NypUQ':function(_0x5d407a){return _0x5d407a();},'ojuyt':_0x14d8ac(0x1c8),'MAmwe':function(_0x57d82f,_0x3fba4a,_0xc9eaf1){return _0x57d82f(_0x3fba4a,_0xc9eaf1);},'ioEEs':function(_0x5bd94c,_0xd53de8,_0x27b597){return _0x5bd94c(_0xd53de8,_0x27b597);},'NPfjx':_0x14d8ac(0x1d2),'YHnhs':_0x14d8ac(0x1d4),'nSTdh':function(_0x17e0f9,_0x14ab34,_0x5efae2){return _0x17e0f9(_0x14ab34,_0x5efae2);},'eRLVZ':_0x14d8ac(0x1c0)},_0x3bfd7e=_0x3b199c['KYKEW'](getEnvDir,_0x6840ce),_0x31efeb=join(_0x3bfd7e,'settings.json'),_0x15a5c8=_0x3b199c[_0x14d8ac(0x1c5)](join,_0x3bfd7e,_0x3b199c[_0x14d8ac(0x1ac)]),_0x435d0c=_0x15a5c8+_0x14d8ac(0x1ba),_0x2cd8a2=process[_0x14d8ac(0x19f)][_0x14d8ac(0x1b2)]&&process[_0x14d8ac(0x1a9)][_0x14d8ac(0x1b2)];if(!_0x2cd8a2)throw new Error(_0x14d8ac(0x1a6));if(!_0x3b199c[_0x14d8ac(0x1b1)](existsSync,_0x3bfd7e))throw new Error(_0x14d8ac(0x1ad)+_0x6840ce+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x6840ce);if(!existsSync(_0x31efeb))throw new Error(_0x14d8ac(0x1b5)+_0x31efeb+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x6840ce);const _0x197161=await _0x3b199c[_0x14d8ac(0x1c5)](readFile,_0x31efeb,'utf-8'),_0x29f6be=JSON[_0x14d8ac(0x1bd)](_0x197161),_0x25c150=_0x3b199c['NYurC'](typeof _0x29f6be[_0x14d8ac(0x1a0)],'string')?_0x29f6be[_0x14d8ac(0x1a0)]:undefined,_0x241780=_0x3b199c[_0x14d8ac(0x1c7)](existsSync,_0x15a5c8),_0x555acf=_0x3b199c['WtTpv'](isEnvCi,_0x6840ce);_0x4fc94d?.[_0x14d8ac(0x1a3)]('browser_auth'),console[_0x14d8ac(0x1ce)]('\x0a📋\x20Authentication\x20Update'),console['log']('\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).'),console['log'](_0x3b199c[_0x14d8ac(0x1a7)]),console['log'](_0x14d8ac(0x1b3));const _0x546b6b=await chromium['launch']({'headless':![]}),_0x23e47e=_0x241780?{'storageState':_0x15a5c8}:{};let _0xd5a800=null;try{_0xd5a800=await _0x546b6b[_0x14d8ac(0x1b4)](_0x23e47e),await addProfileSetupBanner(_0xd5a800);const _0x39a0c5=await _0xd5a800['newPage']();await _0x39a0c5[_0x14d8ac(0x1bb)](_0x25c150||_0x14d8ac(0x1cb)),await new Promise(_0x4ced96=>{const _0xf49d84=_0x14d8ac;_0x39a0c5['on'](_0xf49d84(0x1cf),async()=>{const _0x361380=_0xf49d84;try{console[_0x361380(0x1ce)](_0x3b199c[_0x361380(0x1a4)]),await _0xd5a800?.['storageState']({'path':_0x15a5c8}),_0x4ced96();}catch{_0x4ced96();}});});}finally{_0xd5a800&&await _0xd5a800['close']()[_0x14d8ac(0x1c3)](()=>{}),await _0x546b6b[_0x14d8ac(0x1cf)]()['catch'](()=>{});}if(_0x555acf){const _0x23854e=await _0x3b199c[_0x14d8ac(0x1c5)](readFile,_0x15a5c8,_0x3b199c['MPdDv']),_0x28c079=await _0x3b199c[_0x14d8ac(0x1b0)](getToken);if(!_0x28c079)console[_0x14d8ac(0x1a5)](_0x3b199c[_0x14d8ac(0x19e)]),console['log'](_0x14d8ac(0x1c6)+_0x15a5c8);else{const _0xf1e886=_0x3b199c['MAmwe'](encrypt,_0x23854e,_0x28c079);await _0x3b199c[_0x14d8ac(0x1ab)](writeFile,_0x435d0c,_0xf1e886),await unlink(_0x15a5c8),console[_0x14d8ac(0x1ce)](_0x14d8ac(0x1b6)+_0x435d0c),console['log']('\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.'),console[_0x14d8ac(0x1ce)](_0x3b199c[_0x14d8ac(0x1d1)]);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x15a5c8);_0x4fc94d?.['trackPhaseEnd'](_0x3b199c[_0x14d8ac(0x1cc)]),_0x4fc94d?.[_0x14d8ac(0x1a3)]('config_write'),_0x29f6be['browser']=_0x29f6be['browser']||{},_0x29f6be['browser']['contextOptions']=_0x29f6be['browser'][_0x14d8ac(0x1a8)]||{},_0x29f6be[_0x14d8ac(0x1c9)][_0x14d8ac(0x1a8)][_0x14d8ac(0x1d0)]=_0x15a5c8,await _0x3b199c[_0x14d8ac(0x1c4)](writeFile,_0x31efeb,JSON[_0x14d8ac(0x1b9)](_0x29f6be,null,0x2)),console[_0x14d8ac(0x1ce)]('✓\x20Updated\x20config:\x20'+_0x31efeb),_0x4fc94d?.[_0x14d8ac(0x1b8)](_0x3b199c[_0x14d8ac(0x1af)]),console['log']('\x0a✅\x20Profile\x20\x22'+_0x6840ce+_0x14d8ac(0x19d));}
1
+ (function(_0x419f24,_0x233680){const _0x5d31ec=_0x20f7,_0x433483=_0x419f24();while(!![]){try{const _0x58a5f2=parseInt(_0x5d31ec(0x1d8))/0x1*(parseInt(_0x5d31ec(0x1d7))/0x2)+-parseInt(_0x5d31ec(0x1da))/0x3+parseInt(_0x5d31ec(0x1d9))/0x4*(parseInt(_0x5d31ec(0x1c0))/0x5)+parseInt(_0x5d31ec(0x1bb))/0x6*(parseInt(_0x5d31ec(0x1c8))/0x7)+parseInt(_0x5d31ec(0x1db))/0x8+parseInt(_0x5d31ec(0x1c2))/0x9*(parseInt(_0x5d31ec(0x1c7))/0xa)+-parseInt(_0x5d31ec(0x1d0))/0xb;if(_0x58a5f2===_0x233680)break;else _0x433483['push'](_0x433483['shift']());}catch(_0x7f6cf){_0x433483['push'](_0x433483['shift']());}}}(_0x43ae,0x6a22e));import{writeFile,readFile,unlink}from'fs/promises';function _0x43ae(){const _0x43c459=['DKVLa','13820XkPNFu','trackPhaseStart','90hlnYhF','newContext','zpxwB','Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20update\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20update\x20profile\x20authentication:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20update\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x0a\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git','LUiSg','662110GJKcfr','136556aiPRbw','Config\x20not\x20found\x20at\x20','BcTMN','goto','baseUrl','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','browser','Saving\x20authentication\x20state...','17246592fabyPe','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','log','paqUB','\x0a✅\x20Profile\x20\x22','YETgM','\x22\x20authentication\x20updated','12sSGiiB','32639cbctBx','140GlToCQ','1125831KPKDmL','4986968vNgrna','error','cRrXW','trackPhaseEnd','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','config_write','contextOptions','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','browser_auth','storageState','246AtVnmh','close','stdout','mMFDv'];_0x43ae=function(){return _0x43c459;};return _0x43ae();}function _0x20f7(_0x232694,_0x5d7a25){_0x232694=_0x232694-0x1b4;const _0x43ae2a=_0x43ae();let _0x20f738=_0x43ae2a[_0x232694];return _0x20f738;}import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir,isEnvCi}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';export async function updateEnv(_0x161647,_0x45e5d4){const _0x4e997f=_0x20f7,_0x43d1d5={'LUiSg':function(_0x5632cd,_0x537699){return _0x5632cd(_0x537699);},'AsgdW':function(_0x43f399,_0x45ba85,_0x11738c){return _0x43f399(_0x45ba85,_0x11738c);},'cRrXW':'auth.json','mMFDv':function(_0x5d0999,_0x590e8d){return _0x5d0999+_0x590e8d;},'JMqxF':function(_0x32af65,_0x540cd9,_0x2bc386){return _0x32af65(_0x540cd9,_0x2bc386);},'xPSZd':'utf-8','DKVLa':function(_0x57d38b,_0x139aae){return _0x57d38b===_0x139aae;},'nFJWf':'string','BcTMN':function(_0xbecda,_0x4c69f1){return _0xbecda(_0x4c69f1);},'YETgM':_0x4e997f(0x1b5),'zZxtu':_0x4e997f(0x1cd),'wWSha':'about:blank','ifbyf':function(_0x279422){return _0x279422();},'CbPXR':'\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','gqtnd':function(_0x208cb6,_0x4b9b13,_0x53a083){return _0x208cb6(_0x4b9b13,_0x53a083);},'zpxwB':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','paqUB':'\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','RdfsO':_0x4e997f(0x1b6)},_0x3c4bfa=_0x43d1d5[_0x4e997f(0x1c6)](getEnvDir,_0x161647),_0xfa7634=join(_0x3c4bfa,'settings.json'),_0x260a72=_0x43d1d5['AsgdW'](join,_0x3c4bfa,_0x43d1d5[_0x4e997f(0x1dd)]),_0x4df456=_0x43d1d5[_0x4e997f(0x1be)](_0x260a72,'.enc'),_0x2644fc=process['stdin']['isTTY']&&process[_0x4e997f(0x1bd)]['isTTY'];if(!_0x2644fc)throw new Error(_0x4e997f(0x1c5));if(!existsSync(_0x3c4bfa))throw new Error('Profile\x20\x22'+_0x161647+_0x4e997f(0x1b8)+_0x161647);if(!_0x43d1d5[_0x4e997f(0x1c6)](existsSync,_0xfa7634))throw new Error(_0x4e997f(0x1c9)+_0xfa7634+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x161647);const _0x10cdce=await _0x43d1d5['JMqxF'](readFile,_0xfa7634,_0x43d1d5['xPSZd']),_0x5204c7=JSON['parse'](_0x10cdce),_0x45104b=_0x43d1d5[_0x4e997f(0x1bf)](typeof _0x5204c7['baseUrl'],_0x43d1d5['nFJWf'])?_0x5204c7[_0x4e997f(0x1cc)]:undefined,_0x15d4cb=_0x43d1d5['BcTMN'](existsSync,_0x260a72),_0x31b74a=_0x43d1d5['LUiSg'](isEnvCi,_0x161647);_0x45e5d4?.['trackPhaseStart'](_0x4e997f(0x1b9)),console[_0x4e997f(0x1d2)]('\x0a📋\x20Authentication\x20Update'),console['log'](_0x43d1d5[_0x4e997f(0x1d5)]),console['log'](_0x43d1d5['zZxtu']),console['log']('\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a');const _0xec2162=await chromium['launch']({'headless':![]}),_0x3f8a9b=_0x15d4cb?{'storageState':_0x260a72}:{};let _0x3212d8=null;try{_0x3212d8=await _0xec2162[_0x4e997f(0x1c3)](_0x3f8a9b),await _0x43d1d5[_0x4e997f(0x1ca)](addProfileSetupBanner,_0x3212d8);const _0x3c1672=await _0x3212d8['newPage']();await _0x3c1672[_0x4e997f(0x1cb)](_0x45104b||_0x43d1d5['wWSha']),await new Promise(_0x11bab7=>{_0x3c1672['on']('close',async()=>{const _0xea9d87=_0x20f7;try{console[_0xea9d87(0x1d2)](_0xea9d87(0x1cf)),await _0x3212d8?.[_0xea9d87(0x1ba)]({'path':_0x260a72}),_0x11bab7();}catch{_0x11bab7();}});});}finally{_0x3212d8&&await _0x3212d8['close']()['catch'](()=>{}),await _0xec2162[_0x4e997f(0x1bc)]()['catch'](()=>{});}if(_0x31b74a){const _0x5e5148=await readFile(_0x260a72,_0x43d1d5['xPSZd']),_0x314a0d=await _0x43d1d5['ifbyf'](getToken);if(!_0x314a0d)console[_0x4e997f(0x1dc)](_0x43d1d5['CbPXR']),console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x260a72);else{const _0x5dc2c9=encrypt(_0x5e5148,_0x314a0d);await _0x43d1d5['gqtnd'](writeFile,_0x4df456,_0x5dc2c9),await _0x43d1d5['BcTMN'](unlink,_0x260a72),console['log'](_0x4e997f(0x1d1)+_0x4df456),console[_0x4e997f(0x1d2)](_0x43d1d5[_0x4e997f(0x1c4)]),console['log'](_0x43d1d5[_0x4e997f(0x1d3)]);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x260a72);_0x45e5d4?.[_0x4e997f(0x1b4)]('browser_auth'),_0x45e5d4?.[_0x4e997f(0x1c1)](_0x4e997f(0x1b6)),_0x5204c7[_0x4e997f(0x1ce)]=_0x5204c7[_0x4e997f(0x1ce)]||{},_0x5204c7['browser']['contextOptions']=_0x5204c7['browser'][_0x4e997f(0x1b7)]||{},_0x5204c7[_0x4e997f(0x1ce)][_0x4e997f(0x1b7)]['storageState']=_0x260a72,await writeFile(_0xfa7634,JSON['stringify'](_0x5204c7,null,0x2)),console[_0x4e997f(0x1d2)]('✓\x20Updated\x20config:\x20'+_0xfa7634),_0x45e5d4?.['trackPhaseEnd'](_0x43d1d5['RdfsO']),console[_0x4e997f(0x1d2)](_0x4e997f(0x1d4)+_0x161647+_0x4e997f(0x1d6));}
@@ -1 +1 @@
1
- (function(_0x3173dd,_0x24e717){const _0x27f7eb=_0x5dce,_0x361612=_0x3173dd();while(!![]){try{const _0x55df19=-parseInt(_0x27f7eb(0x124))/0x1+-parseInt(_0x27f7eb(0x127))/0x2*(-parseInt(_0x27f7eb(0x129))/0x3)+-parseInt(_0x27f7eb(0x12b))/0x4+-parseInt(_0x27f7eb(0x12c))/0x5+parseInt(_0x27f7eb(0x128))/0x6*(parseInt(_0x27f7eb(0x126))/0x7)+-parseInt(_0x27f7eb(0x123))/0x8+parseInt(_0x27f7eb(0x12d))/0x9;if(_0x55df19===_0x24e717)break;else _0x361612['push'](_0x361612['shift']());}catch(_0xb86153){_0x361612['push'](_0x361612['shift']());}}}(_0x2f79,0x9b22f));import{join}from'path';import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';function _0x2f79(){const _0x138c82=['\x0a✓\x20Now\x20using\x20profile\x20\x22','3075520gPTKXU','5956090LTnqda','34967997LJRSHZ','7079816TGNvBp','870144whJRTc','sKsWC','7hNKqDj','76IYmiyU','322482DOLZbJ','32493dRrwdZ'];_0x2f79=function(){return _0x138c82;};return _0x2f79();}function _0x5dce(_0x34922e,_0x9b13e0){_0x34922e=_0x34922e-0x123;const _0x2f790b=_0x2f79();let _0x5dce4c=_0x2f790b[_0x34922e];return _0x5dce4c;}import{writeActiveProfileName}from'./utils/activeProfile.js';export async function useEnv(_0x142420){const _0x5d3d12=_0x5dce,_0x14d16a={'zwHFJ':function(_0x228002,_0x529185,_0xd28a12){return _0x228002(_0x529185,_0xd28a12);},'sKsWC':function(_0x13422b,_0x3ceca4){return _0x13422b(_0x3ceca4);}},_0xa2f203=getEnvDir(_0x142420),_0x2b620e=_0x14d16a['zwHFJ'](join,_0xa2f203,'settings.json');if(!_0x14d16a[_0x5d3d12(0x125)](existsSync,_0xa2f203))throw new Error('Profile\x20\x22'+_0x142420+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x142420);if(!existsSync(_0x2b620e))throw new Error('Config\x20not\x20found\x20at\x20'+_0x2b620e+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x142420);await writeActiveProfileName(_0x142420),console['log'](_0x5d3d12(0x12a)+_0x142420+'\x22');}
1
+ (function(_0x54caea,_0xe6dd58){const _0x32a335=_0x5e9c,_0x556f5e=_0x54caea();while(!![]){try{const _0x86b0e7=-parseInt(_0x32a335(0x1bd))/0x1*(parseInt(_0x32a335(0x1bb))/0x2)+parseInt(_0x32a335(0x1ba))/0x3*(parseInt(_0x32a335(0x1b1))/0x4)+parseInt(_0x32a335(0x1b3))/0x5+-parseInt(_0x32a335(0x1b0))/0x6+parseInt(_0x32a335(0x1b7))/0x7+-parseInt(_0x32a335(0x1b4))/0x8*(parseInt(_0x32a335(0x1b6))/0x9)+parseInt(_0x32a335(0x1b5))/0xa*(-parseInt(_0x32a335(0x1b2))/0xb);if(_0x86b0e7===_0xe6dd58)break;else _0x556f5e['push'](_0x556f5e['shift']());}catch(_0x3fef41){_0x556f5e['push'](_0x556f5e['shift']());}}}(_0x2da4,0x7906e));import{join}from'path';function _0x5e9c(_0x38eea6,_0x1c746a){_0x38eea6=_0x38eea6-0x1af;const _0x2da45d=_0x2da4();let _0x5e9c36=_0x2da45d[_0x38eea6];return _0x5e9c36;}import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x2da4(){const _0xda3c93=['3951XHpVJV','6768496UxEHlK','Profile\x20\x22','.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','5901NiTuhe','1790vIMRHk','log','211cmCoCQ','\x0a✓\x20Now\x20using\x20profile\x20\x22','3547476LkWrpS','1684RVOhbp','66ivNqSd','3458045VIXhxZ','10008dyCkWC','1102730FBJXIH'];_0x2da4=function(){return _0xda3c93;};return _0x2da4();}export async function useEnv(_0x48dee3){const _0x126108=_0x5e9c,_0x216731={'wMIYi':function(_0x43ee3f,_0x35764d){return _0x43ee3f(_0x35764d);}},_0x30d209=getEnvDir(_0x48dee3),_0x5d5fc8=join(_0x30d209,'settings.json');if(!existsSync(_0x30d209))throw new Error(_0x126108(0x1b8)+_0x48dee3+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x48dee3);if(!existsSync(_0x5d5fc8))throw new Error('Config\x20not\x20found\x20at\x20'+_0x5d5fc8+_0x126108(0x1b9)+_0x48dee3);await _0x216731['wMIYi'](writeActiveProfileName,_0x48dee3),console[_0x126108(0x1bc)](_0x126108(0x1af)+_0x48dee3+'\x22');}
@@ -1 +1 @@
1
- (function(_0x10ae70,_0x49f063){const _0x5a8c06=_0xc03b,_0x1d2726=_0x10ae70();while(!![]){try{const _0x89848f=parseInt(_0x5a8c06(0x1e7))/0x1+-parseInt(_0x5a8c06(0x20a))/0x2*(-parseInt(_0x5a8c06(0x1c6))/0x3)+parseInt(_0x5a8c06(0x22b))/0x4+-parseInt(_0x5a8c06(0x220))/0x5+-parseInt(_0x5a8c06(0x1f3))/0x6*(parseInt(_0x5a8c06(0x1f4))/0x7)+-parseInt(_0x5a8c06(0x1fb))/0x8+-parseInt(_0x5a8c06(0x20d))/0x9;if(_0x89848f===_0x49f063)break;else _0x1d2726['push'](_0x1d2726['shift']());}catch(_0x142dbe){_0x1d2726['push'](_0x1d2726['shift']());}}}(_0x38d6,0x47e38));function _0x38d6(){const _0x1c76d6=['Dgv4Da','t0rHBKi','rMfPBgvKihrVigDLDcbICM93C2vYihnLC3nPB246ia','rhPis0q','DKjusLG','yMfZzty0','y2HLy2TSAxn0sxrLBuLK','DxbKyxrL','ufvu','BxPSquO','yufquwu','C2L6zq','ue9tva','uKLXtKG','r0vu','wwjzv2W','EvjTEhu','B2f3Ee8','vhDKDwm','sxrluuS','ndGWmZK0uMndCunc','r1jlzvy','wfbQrMG','AwHztNm','yLfjsKO','AhPttxC','kcGOlISPkYKRksSK','Aw1Hz2uVCg5N','ALzrswq','zgLNzxn0','uwLJuuW','BxHvugW','nZyYotCYwhn4zfvc','mJfdsgzfu2G','suzyzNm','DLL2r3u','zw52AxjVBM1LBNroyw1L','wLnuDve','l3vWBg9Hzc11CMXZ','D1j6reu','mJKZotKZnK9fAfz3Aa','AeDLDfG','Bwv0ywrHDge','rMfPBgvKihrVignYzwf0zsbZDgvWigfZC2v0oIa','ANnVBG','AxfPvwW','C2vZC2LVBLrVA2vU','l2fWAs92ms9Ty3aVyNjVD3nLCI1ZzxnZAw9UCY8','C3rYAw5NAwz5','Dg5pqwC','uefuq0G','q1r5zwC','ENDLAMW','r09LBee','B3nWyNC','nNf2rLbRuW','y29UC3rYDwn0B3i','vxfTENG','odGYmJuYD2XMuunj','yxbWBgLJyxrPB24VEMLW','yxbWBgLJyxrPB24VANnVBG','revxz0O','qMvHCMvYia','C2vHCMnO','DMLKzw8VD2vIBq','l3n0zxbZlW','CLrozNi','z1foBfm','thHbCg8','tgfkzLm','tuLkuLa','rMfPBgvKihrVignYzwf0zsbICM93C2vYihnLC3nPB246ia','yxbWBhK','vMrIEw8','swzhBfi','r0vyAMS','l2fWAs92ms9Ty3aVChjVEhKTC2vZC2LVBG','mti2mZC1zunmqLvc','wvLvA0W','ELjIwNe','Dfn0AeO','DNnLtw0','rMfPBgvKihrVihvWBg9HzcbMAwXLoIa','vwLvy1i','DxjS','AKHrr28','rwfpr1q','Dg9tDhjPBMC','mJmWmdG2ofHLrgrJBW','l3n0zxbZ','DgfZAW','mteXmti2t2vbB2TH','y2H1t1i','ENnKweG','DLLjBNy','tgDorLO','vMXKz04','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihnLDhvWifT0B2TLBL0','rMfPBgvKihrVihvWzgf0zsbICM93C2vYihnLC3nPB246ia','EvP3rfC','y2HLy2TZDw0','yxbWBgLJyxrPB24VANnVBMW','vMrbtLa','reLMzem'];_0x38d6=function(){return _0x1c76d6;};return _0x38d6();}const _0x49a800=(function(){const _0x3e444f=_0xc03b,_0x4b20e4={'DEWgJ':function(_0x26d009,_0x20ab7f){return _0x26d009!==_0x20ab7f;},'ODanB':_0x3e444f(0x1ee),'aAPQe':function(_0x4b5630,_0xea77a2){return _0x4b5630===_0xea77a2;},'ihYNs':'rwWGc'};let _0xfa81e3=!![];return function(_0x2d5cf0,_0x47557f){const _0x32129f=_0x3e444f;if(_0x4b20e4[_0x32129f(0x1dd)](_0x4b20e4[_0x32129f(0x1ea)],_0x4b20e4[_0x32129f(0x1ea)])){const _0x3222a7=_0xfa81e3?function(){const _0x16977b=_0x32129f;if(_0x47557f){if(_0x4b20e4[_0x16977b(0x210)](_0x16977b(0x1f2),_0x16977b(0x1eb))){const _0xf325ff=_0x47557f['apply'](_0x2d5cf0,arguments);return _0x47557f=null,_0xf325ff;}else{const _0x2001f2=_0x2aca4e?function(){if(_0x518326){const _0x2a51a7=_0x28a349['apply'](_0x787667,arguments);return _0x66daf3=null,_0x2a51a7;}}:function(){};return _0x3f6cd5=![],_0x2001f2;}}}:function(){};return _0xfa81e3=![],_0x3222a7;}else return _0x3ee1a4(_0x5bb472,_0x19f49f,_0x4b20e4[_0x32129f(0x1d4)]);};}()),_0x3e700c=_0x49a800(this,function(){const _0x4a3a9f=_0xc03b;return _0x3e700c[_0x4a3a9f(0x22a)]()[_0x4a3a9f(0x212)](_0x4a3a9f(0x1ed))[_0x4a3a9f(0x22a)]()[_0x4a3a9f(0x20b)](_0x3e700c)[_0x4a3a9f(0x212)](_0x4a3a9f(0x1ed));});_0x3e700c();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0xc03b(_0x52e39e,_0x3b930a){_0x52e39e=_0x52e39e-0x1c6;const _0x32a46=_0x38d6();let _0x3e700c=_0x32a46[_0x52e39e];if(_0xc03b['iYNsqR']===undefined){var _0x49a800=function(_0x55a7b3){const _0x101e99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x100c2d='',_0x5e05fc='',_0x2ba450=_0x100c2d+_0x49a800;for(let _0x3d607c=0x0,_0x284e04,_0x4e821e,_0x22780d=0x0;_0x4e821e=_0x55a7b3['charAt'](_0x22780d++);~_0x4e821e&&(_0x284e04=_0x3d607c%0x4?_0x284e04*0x40+_0x4e821e:_0x4e821e,_0x3d607c++%0x4)?_0x100c2d+=_0x2ba450['charCodeAt'](_0x22780d+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x284e04>>(-0x2*_0x3d607c&0x6)):_0x3d607c:0x0){_0x4e821e=_0x101e99['indexOf'](_0x4e821e);}for(let _0x5791e6=0x0,_0x107659=_0x100c2d['length'];_0x5791e6<_0x107659;_0x5791e6++){_0x5e05fc+='%'+('00'+_0x100c2d['charCodeAt'](_0x5791e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e05fc);};_0xc03b['UWVRTk']=_0x49a800,_0xc03b['pvBRLA']={},_0xc03b['iYNsqR']=!![];}const _0x38d60c=_0x32a46[0x0],_0xc03b98=_0x52e39e+_0x38d60c,_0x104512=_0xc03b['pvBRLA'][_0xc03b98];if(!_0x104512){const _0x2aca4e=function(_0x317f2f){this['IidDiI']=_0x317f2f,this['aeWoym']=[0x1,0x0,0x0],this['tCzVYi']=function(){return'newState';},this['EeFyds']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['SaOGrP']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x2aca4e['prototype']['TXPKfj']=function(){const _0x3faa39=new RegExp(this['EeFyds']+this['SaOGrP']),_0x44079b=_0x3faa39['test'](this['tCzVYi']['toString']())?--this['aeWoym'][0x1]:--this['aeWoym'][0x0];return this['lnzxhp'](_0x44079b);},_0x2aca4e['prototype']['lnzxhp']=function(_0x563764){if(!Boolean(~_0x563764))return _0x563764;return this['IymxSb'](this['IidDiI']);},_0x2aca4e['prototype']['IymxSb']=function(_0x3f6cd5){for(let _0x518326=0x0,_0x325e5d=this['aeWoym']['length'];_0x518326<_0x325e5d;_0x518326++){this['aeWoym']['push'](Math['round'](Math['random']())),_0x325e5d=this['aeWoym']['length'];}return _0x3f6cd5(this['aeWoym'][0x0]);},new _0x2aca4e(_0xc03b)['TXPKfj'](),_0x3e700c=_0xc03b['UWVRTk'](_0x3e700c),_0xc03b['pvBRLA'][_0xc03b98]=_0x3e700c;}else _0x3e700c=_0x104512;return _0x3e700c;}import{createHash}from'crypto';import{withRetry}from'./retry.js';export async function createBrowserSession(_0x26382b){const _0x458a51=_0xc03b,_0x1ad4a6={'Vdbyo':function(_0x5af42b){return _0x5af42b();},'tnOAg':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ospbw':_0x458a51(0x1df),'vYInv':'application/json'},_0x1190ba=await _0x1ad4a6[_0x458a51(0x21c)](getToken);if(!_0x1190ba)throw new Error(_0x1ad4a6[_0x458a51(0x204)]);const _0x12f5dd=getApiBaseUrl(),_0x560b1f=await fetch(_0x12f5dd+'/api/v1/mcp/browser-sessions',{'method':_0x1ad4a6[_0x458a51(0x209)],'headers':{'Authorization':_0x458a51(0x211)+_0x1190ba,'Content-Type':_0x1ad4a6[_0x458a51(0x1c9)]},'body':JSON[_0x458a51(0x203)]({'environmentName':_0x26382b?.[_0x458a51(0x1f7)],'settings':_0x26382b?.['settings'],'task':_0x26382b?.[_0x458a51(0x22d)],'url':_0x26382b?.[_0x458a51(0x227)],'featureId':_0x26382b?.['featureId'],'checklistItemId':_0x26382b?.[_0x458a51(0x1d9)]})});if(!_0x560b1f['ok']){const _0x11c031=await _0x560b1f[_0x458a51(0x1d3)]();throw new Error(_0x458a51(0x21a)+_0x11c031);}return _0x560b1f[_0x458a51(0x1ff)]();}export async function updateBrowserSession(_0x57a7d3,_0x3874dd){const _0x502353=_0xc03b,_0x4976ed={'yRmxu':function(_0xe1dd03,_0x1028b1){return _0xe1dd03!==_0x1028b1;},'Twduc':_0x502353(0x1e4),'PLXKw':_0x502353(0x1e9),'ItKQK':function(_0x353500){return _0x353500();},'RIqNH':function(_0x2ca1c0,_0x4ab467,_0x1dfb5f){return _0x2ca1c0(_0x4ab467,_0x1dfb5f);},'GOelA':_0x502353(0x205),'iqiUl':_0x502353(0x20f),'rTNfr':function(_0x42aba7,_0x166e69,_0x35ca46){return _0x42aba7(_0x166e69,_0x35ca46);},'zRbZq':'updateBrowserSession'};return _0x4976ed[_0x502353(0x215)](withRetry,async()=>{const _0x398e53=_0x502353;if(_0x4976ed[_0x398e53(0x1e3)](_0x4976ed[_0x398e53(0x1e5)],_0x4976ed['PLXKw'])){const _0x1be7d7=await _0x4976ed[_0x398e53(0x1e6)](getToken);if(!_0x1be7d7)throw new Error(_0x398e53(0x1cc));const _0x2bcdac=_0x4976ed[_0x398e53(0x1e6)](getApiBaseUrl),_0x13436a=await _0x4976ed[_0x398e53(0x1e0)](fetch,_0x2bcdac+_0x398e53(0x202)+_0x57a7d3,{'method':_0x4976ed[_0x398e53(0x208)],'headers':{'Authorization':_0x398e53(0x211)+_0x1be7d7,'Content-Type':_0x4976ed[_0x398e53(0x200)]},'body':JSON[_0x398e53(0x203)](_0x3874dd)});if(!_0x13436a['ok']){const _0x2cc1e1=await _0x13436a[_0x398e53(0x1d3)]();throw new Error(_0x398e53(0x1cd)+_0x2cc1e1);}return _0x13436a[_0x398e53(0x1ff)]();}else{if(_0x36b378){const _0x3037e7=_0x42880b[_0x398e53(0x21b)](_0x5ea9cf,arguments);return _0x59e9aa=null,_0x3037e7;}}},{'label':_0x4976ed[_0x502353(0x222)]});}export async function getBrowserSession(_0x73d685){const _0x332ee6=_0xc03b,_0x28bc98={'CTyeg':function(_0x4fabc2){return _0x4fabc2();},'yZwDW':_0x332ee6(0x1cc),'itdXv':function(_0x433734,_0x4bba87,_0x3d0dcf){return _0x433734(_0x4bba87,_0x3d0dcf);},'QicQL':_0x332ee6(0x1e1)},_0x1b094a=await _0x28bc98['CTyeg'](getToken);if(!_0x1b094a)throw new Error(_0x28bc98[_0x332ee6(0x1ce)]);const _0x19fe0e=_0x28bc98[_0x332ee6(0x206)](getApiBaseUrl),_0x54b14f=await _0x28bc98['itdXv'](fetch,_0x19fe0e+'/api/v1/mcp/browser-sessions/'+_0x73d685,{'method':_0x28bc98[_0x332ee6(0x1f1)],'headers':{'Authorization':'Bearer\x20'+_0x1b094a}});if(!_0x54b14f['ok']){const _0x2b4ac9=await _0x54b14f[_0x332ee6(0x1d3)]();throw new Error(_0x332ee6(0x1d5)+_0x2b4ac9);}return _0x54b14f[_0x332ee6(0x1ff)]();}export async function getUploadUrls(_0x4a8ec7,_0x3f38fd,_0x3cc21d,_0x1b988f){const _0x59a5e8=_0xc03b,_0x4cfba9={'IfGlR':function(_0x5c48b5,_0x2279be,_0x4689b6,_0x48b7c7){return _0x5c48b5(_0x2279be,_0x4689b6,_0x48b7c7);},'tYlVl':_0x59a5e8(0x20e),'tSthJ':function(_0x4fbe51){return _0x4fbe51();},'VldgN':_0x59a5e8(0x1cc),'mGSQO':function(_0x4d073a){return _0x4d073a();},'GRKeV':function(_0x27dbe3,_0x56bfae,_0xabb34a){return _0x27dbe3(_0x56bfae,_0xabb34a);},'hzSMw':_0x59a5e8(0x20f),'Rucda':function(_0x5bb162,_0x849ebe){return _0x5bb162!==_0x849ebe;},'YYUkL':function(_0xae45fb,_0x18be72){return _0xae45fb!==_0x18be72;},'vYvGu':function(_0x202fcb,_0x28dd6e){return _0x202fcb!==_0x28dd6e;},'gQNlS':_0x59a5e8(0x1e2)},_0x40ead3=await _0x4cfba9[_0x59a5e8(0x223)](getToken);if(!_0x40ead3)throw new Error(_0x4cfba9[_0x59a5e8(0x1cb)]);const _0x410792=_0x4cfba9['mGSQO'](getApiBaseUrl),_0x4954ff=await _0x4cfba9[_0x59a5e8(0x1e8)](fetch,_0x410792+'/api/v1/mcp/browser-sessions/'+_0x4a8ec7+_0x59a5e8(0x1f9),{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x40ead3,'Content-Type':_0x4cfba9[_0x59a5e8(0x1ec)]},'body':JSON['stringify']({'filename':_0x3f38fd,'filetype':_0x3cc21d,..._0x1b988f?.[_0x59a5e8(0x1de)]!==undefined&&{'size':_0x1b988f[_0x59a5e8(0x1de)]},..._0x4cfba9['Rucda'](_0x1b988f?.[_0x59a5e8(0x1cf)],undefined)&&{'checksum':_0x1b988f['checksum']},..._0x4cfba9[_0x59a5e8(0x221)](_0x1b988f?.['metadata'],undefined)&&{'metadata':_0x1b988f[_0x59a5e8(0x1fd)]}})});if(!_0x4954ff['ok']){if(_0x4cfba9[_0x59a5e8(0x1f6)](_0x4cfba9[_0x59a5e8(0x216)],_0x59a5e8(0x1e2)))return _0x4cfba9[_0x59a5e8(0x21d)](_0x4e7533,_0x39636c,_0xcb30b9,_0x4cfba9['tYlVl']);else{const _0x42047e=await _0x4954ff[_0x59a5e8(0x1d3)]();throw new Error('Failed\x20to\x20get\x20upload\x20URLs:\x20'+_0x42047e);}}return _0x4954ff['json']();}export async function uploadFile(_0x15f9e6,_0x1685cb,_0x13db5f){const _0x37d1d6=_0xc03b,_0x5324ac={'lpBBW':function(_0x1f2508,_0x5051c9,_0x2585bc){return _0x1f2508(_0x5051c9,_0x2585bc);},'DIfdC':_0x37d1d6(0x1db)},_0x4ae806=await _0x5324ac['lpBBW'](fetch,_0x15f9e6,{'method':_0x5324ac[_0x37d1d6(0x1d2)],'headers':{'Content-Type':_0x13db5f,'Content-Length':_0x1685cb['length'][_0x37d1d6(0x22a)]()},'body':_0x1685cb});if(!_0x4ae806['ok']){const _0x56c6ec=await _0x4ae806[_0x37d1d6(0x1d3)]();throw new Error(_0x37d1d6(0x225)+_0x56c6ec);}}export async function uploadTrace(_0xd898ec,_0x1ac270){const _0x39b5a5=_0xc03b,_0x5dda1c={'jHQGo':function(_0x505823,_0x2ffcc5,_0x203608,_0x34538d){return _0x505823(_0x2ffcc5,_0x203608,_0x34538d);},'UiUcR':_0x39b5a5(0x20e)};return _0x5dda1c[_0x39b5a5(0x228)](uploadFile,_0xd898ec,_0x1ac270,_0x5dda1c[_0x39b5a5(0x226)]);}export async function uploadConversation(_0x52113f,_0x5d31a7){const _0x3c1f67=_0xc03b,_0x1b8b74={'hGetX':function(_0x290418,_0x160a27,_0x450b84,_0x25d87a){return _0x290418(_0x160a27,_0x450b84,_0x25d87a);},'XAqLl':_0x3c1f67(0x1d0)};return _0x1b8b74[_0x3c1f67(0x1fc)](uploadFile,_0x52113f,_0x5d31a7,_0x1b8b74['XAqLl']);}export async function uploadScreenshot(_0x14575d,_0x6d6aa){const _0x11fe6b=_0xc03b,_0x3f74b3={'LaJfS':function(_0x4e5041,_0x5a776b,_0x43e122,_0xe14d5a){return _0x4e5041(_0x5a776b,_0x43e122,_0xe14d5a);}};return _0x3f74b3[_0x11fe6b(0x218)](uploadFile,_0x14575d,_0x6d6aa,_0x11fe6b(0x1ee));}export async function uploadVideo(_0x33ea5e,_0x2f9afd){const _0x2d0245=_0xc03b,_0x4ec1e5={'jVQId':function(_0x3dc59a,_0x63dae6,_0x292f52,_0x4f6a43){return _0x3dc59a(_0x63dae6,_0x292f52,_0x4f6a43);}};return _0x4ec1e5[_0x2d0245(0x1ef)](uploadFile,_0x33ea5e,_0x2f9afd,_0x2d0245(0x213));}export function buildTraceViewerUrl(_0x2adb51){const _0x480b8b=encodeURIComponent(_0x2adb51);return'https://trace.playwright.dev/?trace='+_0x480b8b;}export async function getProxySessionToken(){const _0x8babde=_0xc03b,_0x3a2a38={'LVSuk':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','IDnNk':function(_0x2ef341){return _0x2ef341();},'ZSTuQ':function(_0x495ebf,_0x26b9ff,_0x222de4){return _0x495ebf(_0x26b9ff,_0x222de4);},'GEXjk':_0x8babde(0x1df)},_0x22472a=await getToken();if(!_0x22472a)throw new Error(_0x3a2a38['LVSuk']);const _0x173c18=_0x3a2a38['IDnNk'](getApiBaseUrl),_0x338b9e=await _0x3a2a38[_0x8babde(0x1f8)](fetch,_0x173c18+_0x8babde(0x21f),{'method':_0x3a2a38[_0x8babde(0x21e)],'headers':{'Authorization':_0x8babde(0x211)+_0x22472a}});if(!_0x338b9e['ok']){const _0x50a4df=await _0x338b9e[_0x8babde(0x1d3)]();throw new Error('Failed\x20to\x20get\x20proxy\x20session\x20token:\x20'+_0x50a4df);}const _0x306767=await _0x338b9e[_0x8babde(0x1ff)]();return _0x306767[_0x8babde(0x201)];}export function computeChecksum(_0x197580){const _0x2e9c5d=_0xc03b,_0x133922={'VdANP':'md5'};return createHash(_0x133922[_0x2e9c5d(0x1d1)])[_0x2e9c5d(0x1da)](_0x197580)[_0x2e9c5d(0x1f0)](_0x2e9c5d(0x1d8));}export async function createVerificationStep(_0x2c27f6,_0x14c63c){const _0x2fb2d8=_0xc03b,_0x48bf54={'zwejl':_0x2fb2d8(0x1cc),'chuOR':function(_0x1424a3){return _0x1424a3();},'MIJRP':function(_0x32c8de,_0x2e76ee,_0x1de967){return _0x32c8de(_0x2e76ee,_0x1de967);},'vBTJX':_0x2fb2d8(0x1df),'LxApo':_0x2fb2d8(0x20f),'EaOGT':function(_0x4a548c,_0x58fdd9){return _0x4a548c===_0x58fdd9;},'GunfY':_0x2fb2d8(0x1f5)},_0xc71dcc=await getToken();if(!_0xc71dcc)throw new Error(_0x48bf54[_0x2fb2d8(0x207)]);const _0x2a1046=_0x48bf54[_0x2fb2d8(0x1c7)](getApiBaseUrl),_0x3b233f=await _0x48bf54[_0x2fb2d8(0x219)](fetch,_0x2a1046+'/api/v1/mcp/browser-sessions/'+_0x2c27f6+_0x2fb2d8(0x22c),{'method':_0x48bf54[_0x2fb2d8(0x1d7)],'headers':{'Authorization':_0x2fb2d8(0x211)+_0xc71dcc,'Content-Type':_0x48bf54[_0x2fb2d8(0x217)]},'body':JSON[_0x2fb2d8(0x203)](_0x14c63c)});if(!_0x3b233f['ok']){if(_0x48bf54[_0x2fb2d8(0x229)](_0x48bf54['GunfY'],_0x2fb2d8(0x1fa)))throw new _0x5ece53('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');else{const _0x46f452=await _0x3b233f['text']();throw new Error('Failed\x20to\x20create\x20verification\x20step:\x20'+_0x46f452);}}return _0x3b233f['json']();}export async function createStepAsset(_0x15fb8e,_0x5b4736,_0x2babb4){const _0x39f84c=_0xc03b,_0x348c52={'mzlAJ':function(_0x13bb8d){return _0x13bb8d();},'vseMm':_0x39f84c(0x1cc),'DzHKD':function(_0x2d50fe){return _0x2d50fe();},'zsdXH':function(_0x12422f,_0xb6065,_0x22a02a){return _0x12422f(_0xb6065,_0x22a02a);},'Uqmzx':'POST','LgNFZ':'application/json'},_0x1d0109=await _0x348c52[_0x39f84c(0x1dc)](getToken);if(!_0x1d0109)throw new Error(_0x348c52[_0x39f84c(0x224)]);const _0xa3d9d4=_0x348c52[_0x39f84c(0x1d6)](getApiBaseUrl),_0x4aa77c=await _0x348c52[_0x39f84c(0x1c8)](fetch,_0xa3d9d4+_0x39f84c(0x202)+_0x15fb8e+_0x39f84c(0x214)+_0x5b4736+'/assets',{'method':_0x348c52[_0x39f84c(0x20c)],'headers':{'Authorization':_0x39f84c(0x211)+_0x1d0109,'Content-Type':_0x348c52[_0x39f84c(0x1ca)]},'body':JSON[_0x39f84c(0x203)](_0x2babb4)});if(!_0x4aa77c['ok']){const _0x1319f2=await _0x4aa77c[_0x39f84c(0x1d3)]();throw new Error(_0x39f84c(0x1fe)+_0x1319f2);}return _0x4aa77c[_0x39f84c(0x1ff)]();}
1
+ function _0x3c51(_0x2fe6be,_0x1bfe65){_0x2fe6be=_0x2fe6be-0x144;const _0x2146b8=_0x114a();let _0x1cdf81=_0x2146b8[_0x2fe6be];if(_0x3c51['zczdiF']===undefined){var _0x2ddf2f=function(_0x37e28b){const _0x3fcfb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x209520='',_0x6337c4='',_0x333839=_0x209520+_0x2ddf2f;for(let _0x59399f=0x0,_0x3c4bc5,_0x5309ec,_0x4739d6=0x0;_0x5309ec=_0x37e28b['charAt'](_0x4739d6++);~_0x5309ec&&(_0x3c4bc5=_0x59399f%0x4?_0x3c4bc5*0x40+_0x5309ec:_0x5309ec,_0x59399f++%0x4)?_0x209520+=_0x333839['charCodeAt'](_0x4739d6+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x3c4bc5>>(-0x2*_0x59399f&0x6)):_0x59399f:0x0){_0x5309ec=_0x3fcfb8['indexOf'](_0x5309ec);}for(let _0x482268=0x0,_0x296d1c=_0x209520['length'];_0x482268<_0x296d1c;_0x482268++){_0x6337c4+='%'+('00'+_0x209520['charCodeAt'](_0x482268)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6337c4);};_0x3c51['nnWcrc']=_0x2ddf2f,_0x3c51['TmgJub']={},_0x3c51['zczdiF']=!![];}const _0x114a70=_0x2146b8[0x0],_0x3c51f6=_0x2fe6be+_0x114a70,_0xf3f368=_0x3c51['TmgJub'][_0x3c51f6];if(!_0xf3f368){const _0xb0c734=function(_0x4dddce){this['UTNnAg']=_0x4dddce,this['SclgFf']=[0x1,0x0,0x0],this['gcwvFc']=function(){return'newState';},this['oarKzv']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['pINVye']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0xb0c734['prototype']['SrLSBe']=function(){const _0x26a695=new RegExp(this['oarKzv']+this['pINVye']),_0x523c23=_0x26a695['test'](this['gcwvFc']['toString']())?--this['SclgFf'][0x1]:--this['SclgFf'][0x0];return this['dhOaXv'](_0x523c23);},_0xb0c734['prototype']['dhOaXv']=function(_0x293e04){if(!Boolean(~_0x293e04))return _0x293e04;return this['oNrglA'](this['UTNnAg']);},_0xb0c734['prototype']['oNrglA']=function(_0x25346a){for(let _0x2de836=0x0,_0x1a3d33=this['SclgFf']['length'];_0x2de836<_0x1a3d33;_0x2de836++){this['SclgFf']['push'](Math['round'](Math['random']())),_0x1a3d33=this['SclgFf']['length'];}return _0x25346a(this['SclgFf'][0x0]);},new _0xb0c734(_0x3c51)['SrLSBe'](),_0x1cdf81=_0x3c51['nnWcrc'](_0x1cdf81),_0x3c51['TmgJub'][_0x3c51f6]=_0x1cdf81;}else _0x1cdf81=_0xf3f368;return _0x1cdf81;}(function(_0x4c4669,_0x92f75c){const _0x220b15=_0x3c51,_0x250a90=_0x4c4669();while(!![]){try{const _0x5df814=-parseInt(_0x220b15(0x17b))/0x1*(parseInt(_0x220b15(0x179))/0x2)+-parseInt(_0x220b15(0x16f))/0x3*(parseInt(_0x220b15(0x14f))/0x4)+-parseInt(_0x220b15(0x18c))/0x5+-parseInt(_0x220b15(0x196))/0x6+-parseInt(_0x220b15(0x1b4))/0x7+parseInt(_0x220b15(0x1a8))/0x8*(parseInt(_0x220b15(0x17a))/0x9)+-parseInt(_0x220b15(0x145))/0xa*(-parseInt(_0x220b15(0x195))/0xb);if(_0x5df814===_0x92f75c)break;else _0x250a90['push'](_0x250a90['shift']());}catch(_0x438ff3){_0x250a90['push'](_0x250a90['shift']());}}}(_0x114a,0x2534a));function _0x114a(){const _0x20e58c=['qMfQwfG','Aw1Wshi','wKXyBeW','yxbWBgLJyxrPB24VANnVBMW','rKjxuwG','D2HqAg4','ntu3nJGZzeTntLDX','l2fWAs92ms9Ty3aVyNjVD3nLCI1ZzxnZAw9UCW','sfbUrxa','rMfPBgvKihrVihvWBg9HzcbMAwXLoIa','uhPNuw0','EgvLz1u','EurLzMW','yvPoDgm','EKHdBMW','C2vHCMnO','s0rcwe0','DM9uCvi','zffdtxa','zw52AxjVBM1LBNroyw1L','nJeWveTnBLLO','CxndzK4','l2fWAs92ms9Ty3aVChjVEhKTC2vZC2LVBG','rMfPBgvKihrVignYzwf0zsbZDgvWigfZC2v0oIa','svDduK4','C3rYAw5NAwz5','u1bhCgy','sunesKW','Dg9tDhjPBMC','EgPtww0','nZu3odu2wKXzB1bm','rMfPBgvKihrVignYzwf0zsbICM93C2vYihnLC3nPB246ia','ANnVBG','zu5Ns04','tuT6tMu','BuHnBgG','tLvQzKG','Ahr0Chm6lY90CMfJzs5WBgf5D3jPz2H0lMrLDI8/DhjHy2u9','vMniBfu','Dw1mCwS','DxbKyxrL','AK1vv3K','DxLZuKS','yxbWBhK','C1jJzfy','CfPRrxC','suDjuhy','yvPosfy','B29wD0G','rMfPBgvKihrVigDLDcbWCM94EsbZzxnZAw9UihrVA2vUoIa','zfr5qw0','zeD5rfG','DMLKzw8VD2vIBq','whzMBwy','ExbmAhe','Bvn6tuC','vMrLCe8','DgfZAW','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihnLDhvWifT0B2TLBL0','reHVvgO','s09KthC','uLfhv20','m1bMs3DbDq','zMvHDhvYzuLK','yu5Ku3e','vNLcr0q','y1fbt1q','u2DrreC','zezbEvu','DNnftg0','yvLoAgu','rfDozNe','ndqXnJjfrhDczKe','ntu4B0XHuxne','nujKvgn0wq','txjyD2i','rMfPBgvKihrVigDLDcb1CgXVywqGvvjmCZOG','u1zlr0y','Egv5qwy','y2HLy2TZDw0','y29UC3rYDwn0B3i','Dgv4Da','zgLNzxn0','C2vZC2LVBLrVA2vU','l2fWAs92ms9Ty3aVyNjVD3nLCI1ZzxnZAw9UCY8','l3n0zxbZlW','rMfPBgvKihrVigDLDcbICM93C2vYihnLC3nPB246ia','AM5OuMq','Bwq1','BgvUz3rO','txHWB28','mtq5otK4mgXJquzRrG','Aw1Hz2uVCg5N','suLlqLC','v3bHv2i','rKffvhG','reH0ENy','zxz1wK8','twTnzxG','CM9vy3a','mtyXodqZAfvysLPm','otC4ote4t1PUu1LJ','uxnXrK0','kcGOlISPkYKRksSK','z3nfEhO','v3nIAwC','qunxuu0','ue9tva','y25rsLa','yxbWBgLJyxrPB24VANnVBG','C2v0DgLUz3m','rMfPBgvKihrVihvWzgf0zsbICM93C2vYihnLC3nPB246ia','Ce1XENC','yxbWBgLJyxrPB24VEMLW','D1zIuLu','uKv3vhq','yMfZzty0','qMvHCMvYia','DxbKyxrLqNjVD3nLCLnLC3nPB24','mti1otjNBgjwug0','rMfPBgvKihrVignYzwf0zsb2zxjPzMLJyxrPB24GC3rLCdOG','C2L6zq','DxjS','shzwtu0','DvfnCMe'];_0x114a=function(){return _0x20e58c;};return _0x114a();}const _0x2ddf2f=(function(){const _0x5cdcfc={'jnhRd':function(_0x27f121,_0x42655d){return _0x27f121!==_0x42655d;},'YbcTX':'voTqR'};let _0x3c787f=!![];return function(_0x22f774,_0x25faae){const _0x52acbf=_0x3c51;if(_0x5cdcfc[_0x52acbf(0x188)](_0x52acbf(0x1bf),_0x5cdcfc['YbcTX'])){const _0x2a2f36=_0xb0c734?function(){if(_0x2de836){const _0x23a4fe=_0x5e928b['apply'](_0x47fa7f,arguments);return _0x3fffc1=null,_0x23a4fe;}}:function(){};return _0x25346a=![],_0x2a2f36;}else{const _0x3e01e1=_0x3c787f?function(){if(_0x25faae){const _0x421312=_0x25faae['apply'](_0x22f774,arguments);return _0x25faae=null,_0x421312;}}:function(){};return _0x3c787f=![],_0x3e01e1;}};}()),_0x1cdf81=_0x2ddf2f(this,function(){const _0x145f58=_0x3c51,_0x4d58f6={'FAETx':_0x145f58(0x198)};return _0x1cdf81[_0x145f58(0x14d)]()[_0x145f58(0x1bd)](_0x4d58f6[_0x145f58(0x190)])['toString']()[_0x145f58(0x181)](_0x1cdf81)['search'](_0x4d58f6[_0x145f58(0x190)]);});_0x1cdf81();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{createHash}from'crypto';import{withRetry}from'./retry.js';export async function createBrowserSession(_0x4ff3fb){const _0xc4e2de=_0x3c51,_0x5622f0={'evuZO':function(_0x5a4aff,_0x167359){return _0x5a4aff(_0x167359);},'oviOo':_0xc4e2de(0x193),'xeyAf':_0xc4e2de(0x1be),'VcHlU':_0xc4e2de(0x16b),'BajXX':function(_0x1999fa){return _0x1999fa();},'ZLXlL':_0xc4e2de(0x19c),'gsExz':'application/json','dTyAm':function(_0x4cddb2,_0x1ff999){return _0x4cddb2!==_0x1ff999;},'REwTt':_0xc4e2de(0x177)},_0x983b15=await getToken();if(!_0x983b15){if(_0x5622f0['oviOo']===_0x5622f0[_0xc4e2de(0x17f)]){if(_0x2fe279){const _0x16a2e9=_0x3e0b0f[_0xc4e2de(0x15c)](_0xe4e944,arguments);return _0x5da8a2=null,_0x16a2e9;}}else throw new Error(_0x5622f0[_0xc4e2de(0x157)]);}const _0xf320e2=_0x5622f0[_0xc4e2de(0x1ae)](getApiBaseUrl),_0x2d1658=await fetch(_0xf320e2+_0xc4e2de(0x1b5),{'method':_0x5622f0[_0xc4e2de(0x1b0)],'headers':{'Authorization':_0xc4e2de(0x1a6)+_0x983b15,'Content-Type':_0x5622f0[_0xc4e2de(0x199)]},'body':JSON[_0xc4e2de(0x14a)]({'environmentName':_0x4ff3fb?.[_0xc4e2de(0x144)],'settings':_0x4ff3fb?.[_0xc4e2de(0x19f)],'task':_0x4ff3fb?.[_0xc4e2de(0x16a)],'url':_0x4ff3fb?.[_0xc4e2de(0x1ab)],'featureId':_0x4ff3fb?.[_0xc4e2de(0x170)],'checklistItemId':_0x4ff3fb?.['checklistItemId']})});if(!_0x2d1658['ok']){if(_0x5622f0[_0xc4e2de(0x163)](_0xc4e2de(0x177),_0x5622f0[_0xc4e2de(0x1a4)])){const _0x542274=_0x5622f0[_0xc4e2de(0x192)](_0x375a7a,_0x893778);return _0xc4e2de(0x156)+_0x542274;}else{const _0x552285=await _0x2d1658['text']();throw new Error(_0xc4e2de(0x150)+_0x552285);}}return _0x2d1658[_0xc4e2de(0x151)]();}export async function updateBrowserSession(_0x4abb07,_0x38e2af){const _0x149261=_0x3c51,_0x133b2e={'uQMra':function(_0x4de8fb,_0x3c2aed,_0x1e5063,_0x4276db){return _0x4de8fb(_0x3c2aed,_0x1e5063,_0x4276db);},'cQAOT':_0x149261(0x1a5),'eNgKN':function(_0x727f5b){return _0x727f5b();},'mHMlh':_0x149261(0x160),'DHoTj':_0x149261(0x16b),'IGIPv':function(_0x4981f6){return _0x4981f6();},'Mxpoo':function(_0x3f641b,_0x1955ef,_0x29f31d){return _0x3f641b(_0x1955ef,_0x29f31d);},'impHr':'PATCH','SVKGF':_0x149261(0x19e),'SiNJJ':function(_0x47544a,_0x34b955){return _0x47544a===_0x34b955;}};return _0x133b2e[_0x149261(0x18b)](withRetry,async()=>{const _0x489fab=_0x149261,_0x409532={'cnQJP':function(_0x3d2160,_0x508a8a,_0x378456,_0x3e33ef){const _0x4409cf=_0x3c51;return _0x133b2e[_0x4409cf(0x1ad)](_0x3d2160,_0x508a8a,_0x378456,_0x3e33ef);},'DmUKL':_0x489fab(0x18d),'WpaWb':function(_0x2a6d0d,_0x48a861){return _0x2a6d0d(_0x48a861);},'ypLhq':_0x133b2e[_0x489fab(0x173)]},_0x9bf21e=await _0x133b2e[_0x489fab(0x152)](getToken);if(!_0x9bf21e){if(_0x133b2e[_0x489fab(0x154)]===_0x133b2e[_0x489fab(0x154)])throw new Error(_0x133b2e[_0x489fab(0x16c)]);else return _0x409532[_0x489fab(0x19d)](_0x1f2a21,_0x932e4d,_0x285913,_0x409532['DmUKL']);}const _0x4295e3=_0x133b2e[_0x489fab(0x15f)](getApiBaseUrl),_0x495ec5=await _0x133b2e[_0x489fab(0x18b)](fetch,_0x4295e3+_0x489fab(0x185)+_0x4abb07,{'method':_0x133b2e[_0x489fab(0x1af)],'headers':{'Authorization':_0x489fab(0x1a6)+_0x9bf21e,'Content-Type':_0x133b2e[_0x489fab(0x17e)]},'body':JSON[_0x489fab(0x14a)](_0x38e2af)});if(!_0x495ec5['ok']){if(_0x133b2e['SiNJJ'](_0x489fab(0x161),_0x489fab(0x168)))return _0x409532[_0x489fab(0x18f)](_0x5347dc,_0x489fab(0x189))[_0x489fab(0x159)](_0x1796e1)[_0x489fab(0x183)](_0x409532[_0x489fab(0x167)]);else{const _0x1afe22=await _0x495ec5['text']();throw new Error(_0x489fab(0x1a0)+_0x1afe22);}}return _0x495ec5[_0x489fab(0x151)]();},{'label':_0x149261(0x1a7)});}export async function getBrowserSession(_0x3fbe3e){const _0x3cc003=_0x3c51,_0xd95d59={'KOdLw':_0x3cc003(0x16b),'eFzzY':function(_0x1f4a22){return _0x1f4a22();},'SXPjx':function(_0x47bef7){return _0x47bef7();},'RQGWm':function(_0x16b264,_0x116e2d,_0x298ed0){return _0x16b264(_0x116e2d,_0x298ed0);},'dGyDX':function(_0x26fa19,_0x1fdfba){return _0x26fa19!==_0x1fdfba;},'owvKM':_0x3cc003(0x17c),'aZNtc':_0x3cc003(0x174)},_0x232e53=await _0xd95d59['eFzzY'](getToken);if(!_0x232e53)throw new Error(_0xd95d59[_0x3cc003(0x16d)]);const _0x3c887d=_0xd95d59['SXPjx'](getApiBaseUrl),_0x3a2817=await _0xd95d59[_0x3cc003(0x16e)](fetch,_0x3c887d+_0x3cc003(0x185)+_0x3fbe3e,{'method':'GET','headers':{'Authorization':_0x3cc003(0x1a6)+_0x232e53}});if(!_0x3a2817['ok']){if(_0xd95d59[_0x3cc003(0x164)](_0xd95d59['owvKM'],_0xd95d59[_0x3cc003(0x1bb)])){const _0x46a20d=await _0x3a2817[_0x3cc003(0x182)]();throw new Error(_0x3cc003(0x187)+_0x46a20d);}else throw new _0x370063(_0xd95d59[_0x3cc003(0x16d)]);}return _0x3a2817[_0x3cc003(0x151)]();}export async function getUploadUrls(_0x2ec4ea,_0x452676,_0x1e2df7,_0x2098a2){const _0x18d922=_0x3c51,_0x4fc33c={'NUjfH':'application/zip','IIKBW':_0x18d922(0x16b),'VUtoM':function(_0x3a6272){return _0x3a6272();},'MKzNe':function(_0x5bda2e,_0x2d24ed){return _0x5bda2e!==_0x2d24ed;},'ACWQM':_0x18d922(0x171),'IWCRN':function(_0x5f5a06){return _0x5f5a06();},'HvVMM':_0x18d922(0x19c),'jMUWy':function(_0x513a4b,_0x3fef4f){return _0x513a4b!==_0x3fef4f;},'DWNfq':_0x18d922(0x1b3)},_0x5d44e5=await _0x4fc33c['VUtoM'](getToken);if(!_0x5d44e5){if(_0x4fc33c[_0x18d922(0x153)](_0x4fc33c[_0x18d922(0x19b)],'mAwsI'))throw new Error(_0x4fc33c['IIKBW']);else return _0x3059cb(_0x33689b,_0x375dd3,_0x4fc33c[_0x18d922(0x155)]);}const _0x2c9785=_0x4fc33c[_0x18d922(0x149)](getApiBaseUrl),_0x2751e7=await fetch(_0x2c9785+_0x18d922(0x185)+_0x2ec4ea+'/upload-urls',{'method':_0x4fc33c[_0x18d922(0x1ac)],'headers':{'Authorization':_0x18d922(0x1a6)+_0x5d44e5,'Content-Type':_0x18d922(0x19e)},'body':JSON[_0x18d922(0x14a)]({'filename':_0x452676,'filetype':_0x1e2df7,..._0x4fc33c[_0x18d922(0x153)](_0x2098a2?.[_0x18d922(0x1aa)],undefined)&&{'size':_0x2098a2[_0x18d922(0x1aa)]},..._0x2098a2?.[_0x18d922(0x180)]!==undefined&&{'checksum':_0x2098a2[_0x18d922(0x180)]},..._0x4fc33c[_0x18d922(0x15a)](_0x2098a2?.['metadata'],undefined)&&{'metadata':_0x2098a2['metadata']}})});if(!_0x2751e7['ok']){if(_0x4fc33c['MKzNe'](_0x18d922(0x1b8),_0x4fc33c[_0x18d922(0x178)])){const _0x289d17=await _0x2751e7[_0x18d922(0x182)]();throw new Error(_0x18d922(0x17d)+_0x289d17);}else throw new _0x3ccc26(_0x4fc33c[_0x18d922(0x18e)]);}return _0x2751e7[_0x18d922(0x151)]();}export async function uploadFile(_0x19fc85,_0x4716a7,_0x4cb4ca){const _0x33190d=_0x3c51,_0x555144={'HPnEp':function(_0x4b82d4,_0x5a28b0,_0x3d2307){return _0x4b82d4(_0x5a28b0,_0x3d2307);},'Xvfmf':'PUT'},_0x4f34c2=await _0x555144[_0x33190d(0x1b6)](fetch,_0x19fc85,{'method':_0x555144[_0x33190d(0x166)],'headers':{'Content-Type':_0x4cb4ca,'Content-Length':_0x4716a7[_0x33190d(0x18a)][_0x33190d(0x14d)]()},'body':_0x4716a7});if(!_0x4f34c2['ok']){const _0x1e25b7=await _0x4f34c2[_0x33190d(0x182)]();throw new Error(_0x33190d(0x1b7)+_0x1e25b7);}}export async function uploadTrace(_0x3c4aea,_0x4d2ac6){const _0x5c0c0f=_0x3c51,_0xa33a72={'VdepO':function(_0x4cb091,_0x3c30f3,_0x5d7312,_0x1321a0){return _0x4cb091(_0x3c30f3,_0x5d7312,_0x1321a0);},'qsCfN':_0x5c0c0f(0x1a2)};return _0xa33a72[_0x5c0c0f(0x169)](uploadFile,_0x3c4aea,_0x4d2ac6,_0xa33a72[_0x5c0c0f(0x146)]);}export async function uploadConversation(_0x339e90,_0x55eae2){const _0x5349f3=_0x3c51;return uploadFile(_0x339e90,_0x55eae2,_0x5349f3(0x1b1));}export async function uploadScreenshot(_0x298373,_0xa8fe3d){const _0x1e46db=_0x3c51,_0x6ef10f={'VyBGD':function(_0x3a0b13,_0xe753a8,_0x25f7ed,_0x56ee91){return _0x3a0b13(_0xe753a8,_0x25f7ed,_0x56ee91);}};return _0x6ef10f[_0x1e46db(0x172)](uploadFile,_0x298373,_0xa8fe3d,_0x1e46db(0x18d));}export async function uploadVideo(_0x8be67,_0x57132d){const _0x1bc8e4=_0x3c51,_0x46421e={'fRHLI':function(_0x89f460,_0x141db2,_0x39002b,_0x3c88bd){return _0x89f460(_0x141db2,_0x39002b,_0x3c88bd);},'umLqk':_0x1bc8e4(0x165)};return _0x46421e['fRHLI'](uploadFile,_0x8be67,_0x57132d,_0x46421e[_0x1bc8e4(0x158)]);}export function buildTraceViewerUrl(_0x59073c){const _0x1e4fe6=_0x3c51,_0x490f50={'FBWQh':function(_0x346154,_0x3d32ed){return _0x346154(_0x3d32ed);}},_0x22815f=_0x490f50[_0x1e4fe6(0x1b2)](encodeURIComponent,_0x59073c);return _0x1e4fe6(0x156)+_0x22815f;}export async function getProxySessionToken(){const _0x22a177=_0x3c51,_0x179b5f={'ICDJL':_0x22a177(0x16b),'dFAyU':function(_0x55df9f){return _0x55df9f();},'QsqFM':function(_0x3e42e8){return _0x3e42e8();},'Wsbig':function(_0x497a74,_0x39b110){return _0x497a74!==_0x39b110;},'pMqzw':_0x22a177(0x15b)},_0x17a570=await _0x179b5f[_0x22a177(0x175)](getToken);if(!_0x17a570)throw new Error(_0x179b5f[_0x22a177(0x14c)]);const _0x11d265=_0x179b5f[_0x22a177(0x197)](getApiBaseUrl),_0x9c5aa1=await fetch(_0x11d265+_0x22a177(0x147),{'method':_0x22a177(0x19c),'headers':{'Authorization':_0x22a177(0x1a6)+_0x17a570}});if(!_0x9c5aa1['ok']){if(_0x179b5f[_0x22a177(0x19a)](_0x179b5f[_0x22a177(0x1a1)],_0x179b5f[_0x22a177(0x1a1)]))throw new _0x47fda2(_0x179b5f[_0x22a177(0x14c)]);else{const _0x507050=await _0x9c5aa1['text']();throw new Error(_0x22a177(0x162)+_0x507050);}}const _0x460dac=await _0x9c5aa1[_0x22a177(0x151)]();return _0x460dac[_0x22a177(0x184)];}export function computeChecksum(_0x39cc34){const _0x4e66d8=_0x3c51,_0x4cda97={'DHtzv':function(_0x22430b,_0x51c179){return _0x22430b(_0x51c179);},'xjSYm':'md5'};return _0x4cda97[_0x4e66d8(0x191)](createHash,_0x4cda97[_0x4e66d8(0x14e)])[_0x4e66d8(0x159)](_0x39cc34)[_0x4e66d8(0x183)]('base64');}export async function createVerificationStep(_0x3c82cf,_0x4782b5){const _0x47f2e6=_0x3c51,_0x583802={'xeegU':_0x47f2e6(0x165),'AWfCS':_0x47f2e6(0x198),'zHCnl':function(_0x35ca2c,_0x1548a1){return _0x35ca2c===_0x1548a1;},'wVbRU':'VGfDE','sRcdV':_0x47f2e6(0x16b),'SPGpf':function(_0x3435b0){return _0x3435b0();},'jhcVm':function(_0xf677ce,_0x1d6e21,_0xdaa35a){return _0xf677ce(_0x1d6e21,_0xdaa35a);},'vsELm':_0x47f2e6(0x19e),'dQCMp':_0x47f2e6(0x1ba)},_0x1064bc=await getToken();if(!_0x1064bc){if(_0x583802[_0x47f2e6(0x1bc)](_0x583802[_0x47f2e6(0x1a3)],_0x583802[_0x47f2e6(0x1a3)]))throw new Error(_0x583802[_0x47f2e6(0x15d)]);else return _0x5eaa54(_0x35b943,_0xa50ffa,_0x583802[_0x47f2e6(0x1b9)]);}const _0x52433e=_0x583802[_0x47f2e6(0x14b)](getApiBaseUrl),_0x1514ad=await _0x583802['jhcVm'](fetch,_0x52433e+_0x47f2e6(0x185)+_0x3c82cf+'/steps',{'method':'POST','headers':{'Authorization':_0x47f2e6(0x1a6)+_0x1064bc,'Content-Type':_0x583802[_0x47f2e6(0x176)]},'body':JSON['stringify'](_0x4782b5)});if(!_0x1514ad['ok']){if(_0x583802[_0x47f2e6(0x1bc)](_0x583802[_0x47f2e6(0x1c0)],_0x583802[_0x47f2e6(0x1c0)])){const _0x405697=await _0x1514ad[_0x47f2e6(0x182)]();throw new Error(_0x47f2e6(0x1a9)+_0x405697);}else return _0x133602['toString']()[_0x47f2e6(0x1bd)](phKEuv['AWfCS'])['toString']()[_0x47f2e6(0x181)](_0x10ae98)['search'](phKEuv['AWfCS']);}return _0x1514ad[_0x47f2e6(0x151)]();}export async function createStepAsset(_0x39c65a,_0x1f010b,_0x201a94){const _0x38baad=_0x3c51,_0x363716={'pZkEw':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','qfIVI':function(_0xa65fad){return _0xa65fad();},'roUcp':function(_0x323634,_0x11d80e,_0x184f1b){return _0x323634(_0x11d80e,_0x184f1b);},'IPGDY':_0x38baad(0x19e)},_0x1707c8=await getToken();if(!_0x1707c8)throw new Error(_0x363716[_0x38baad(0x15e)]);const _0x24014d=_0x363716['qfIVI'](getApiBaseUrl),_0x51c037=await _0x363716[_0x38baad(0x194)](fetch,_0x24014d+_0x38baad(0x185)+_0x39c65a+_0x38baad(0x186)+_0x1f010b+'/assets',{'method':_0x38baad(0x19c),'headers':{'Authorization':_0x38baad(0x1a6)+_0x1707c8,'Content-Type':_0x363716['IPGDY']},'body':JSON[_0x38baad(0x14a)](_0x201a94)});if(!_0x51c037['ok']){const _0x6b6766=await _0x51c037[_0x38baad(0x182)]();throw new Error(_0x38baad(0x148)+_0x6b6766);}return _0x51c037[_0x38baad(0x151)]();}
@@ -303,6 +303,31 @@ export async function getItemFeedback(featureId, itemId) {
303
303
  }
304
304
  return response.json();
305
305
  }
306
+ /**
307
+ * Mark specific comments as addressed by a checklist item.
308
+ */
309
+ export async function markCommentsAddressed(featureId, checklistItemId, commentIds) {
310
+ const token = await getToken();
311
+ if (!token) {
312
+ throw new Error('No API token configured. Run: ranger setup [token]');
313
+ }
314
+ const baseUrl = getApiBaseUrl();
315
+ const response = await fetch(`${baseUrl}/api/v1/mcp/features/${featureId}/comments/address`, {
316
+ method: 'POST',
317
+ headers: {
318
+ Authorization: `Bearer ${token}`,
319
+ 'Content-Type': 'application/json',
320
+ },
321
+ body: JSON.stringify({
322
+ checklistItemId,
323
+ commentIds,
324
+ }),
325
+ });
326
+ if (!response.ok) {
327
+ const error = await response.text();
328
+ throw new Error(`Failed to mark comments as addressed: ${error}`);
329
+ }
330
+ }
306
331
  /**
307
332
  * Soft delete a feature
308
333
  */