@ranger-testing/ranger-cli 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +111 -0
  2. package/build/cli.js +230 -8
  3. package/build/cli.js.map +1 -1
  4. package/build/commands/addEnv.js +1 -1
  5. package/build/commands/addEnv.js.map +1 -1
  6. package/build/commands/clean.js +1 -1
  7. package/build/commands/clean.js.map +1 -1
  8. package/build/commands/dataMcpServer.js +1 -1
  9. package/build/commands/dataMcpServer.js.map +1 -1
  10. package/build/commands/env.js +46 -0
  11. package/build/commands/env.js.map +1 -0
  12. package/build/commands/feature.js +494 -0
  13. package/build/commands/feature.js.map +1 -0
  14. package/build/commands/index.js +1 -0
  15. package/build/commands/index.js.map +1 -1
  16. package/build/commands/skillup.js +65 -16
  17. package/build/commands/skillup.js.map +1 -1
  18. package/build/commands/start.js +1 -1
  19. package/build/commands/start.js.map +1 -1
  20. package/build/commands/status.js +42 -11
  21. package/build/commands/status.js.map +1 -1
  22. package/build/commands/update.js +29 -16
  23. package/build/commands/update.js.map +1 -1
  24. package/build/commands/updateEnv.js +1 -1
  25. package/build/commands/updateEnv.js.map +1 -1
  26. package/build/commands/useEnv.js +1 -1
  27. package/build/commands/useEnv.js.map +1 -1
  28. package/build/commands/utils/browserSessionsApi.js +1 -1
  29. package/build/commands/utils/browserSessionsApi.js.map +1 -1
  30. package/build/commands/utils/claudeConfig.js +73 -0
  31. package/build/commands/utils/claudeConfig.js.map +1 -0
  32. package/build/commands/utils/cliSecret.js +1 -1
  33. package/build/commands/utils/environment.js +69 -0
  34. package/build/commands/utils/environment.js.map +1 -0
  35. package/build/commands/utils/featureApi.js +190 -0
  36. package/build/commands/utils/featureApi.js.map +1 -0
  37. package/build/commands/utils/featureReportGenerator.js +170 -0
  38. package/build/commands/utils/featureReportGenerator.js.map +1 -0
  39. package/build/commands/utils/keychain.js +1 -1
  40. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  41. package/build/commands/utils/localAgentInstallationsApi.js.map +1 -1
  42. package/build/commands/utils/mcpConfig.js +1 -1
  43. package/build/commands/utils/settings.js +2 -2
  44. package/build/commands/utils/settings.js.map +1 -1
  45. package/build/commands/utils/skills.js +1 -1
  46. package/build/commands/utils/skills.js.map +1 -1
  47. package/build/commands/verifyFeature.js +451 -0
  48. package/build/commands/verifyFeature.js.map +1 -0
  49. package/build/commands/verifyInBrowser.js +1 -1
  50. package/build/commands/verifyInBrowser.js.map +1 -1
  51. package/build/skills/feature-tracker/SKILL.md +185 -0
  52. package/build/skills/feature-tracker/create.md +105 -0
  53. package/build/skills/feature-tracker/manage.md +145 -0
  54. package/build/skills/feature-tracker/report.md +159 -0
  55. package/build/skills/feature-tracker/start.md +93 -0
  56. package/build/skills/feature-tracker/verify.md +143 -0
  57. package/package.json +23 -20
  58. package/build/agents/bug-basher.md +0 -259
  59. package/build/agents/e2e-test-recommender.md +0 -164
  60. package/build/agents/quality-advocate.md +0 -164
  61. package/build/agents/ui-verifier.md +0 -100
  62. package/build/commands/addApp.js +0 -21
  63. package/build/commands/initAgents.js +0 -84
  64. package/build/commands/utils/agents.js +0 -45
  65. package/build/index.js +0 -436
  66. package/build/test-auth.js +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import { readFile, readdir } from 'fs/promises';
2
- import { join } from 'path';
2
+ import { join, basename } from 'path';
3
3
  import { existsSync } from 'fs';
4
+ import inquirer from 'inquirer';
4
5
  import { getToken } from './utils/keychain.js';
5
6
  import { installSkill } from './utils/skills.js';
6
7
  import { loadMcpConfig, saveMcpConfig, hasRangerServer, setRangerServer, } from './utils/mcpConfig.js';
7
8
  import { getCurrentVersion } from './utils/version.js';
9
+ import { getClaudeConfigDir, getProjectRoot, loadClaudeSettings, saveClaudeSettings, hasRangerServerInSettings, setRangerServerInSettings, } from './utils/claudeConfig.js';
8
10
  /**
9
11
  * Get list of available environment names from .ranger directory
10
12
  */
@@ -22,7 +24,6 @@ async function getAvailableEnvs(rangerDir) {
22
24
  }
23
25
  export async function skillup() {
24
26
  console.log('\n🎯 Ranger Skill Setup\n');
25
- // Check for API token in keychain
26
27
  const token = await getToken();
27
28
  if (!token) {
28
29
  console.log('❌ No Ranger API token found in keychain.\n');
@@ -33,7 +34,6 @@ export async function skillup() {
33
34
  return;
34
35
  }
35
36
  console.log('✓ Found API token in keychain');
36
- // Check for active environment
37
37
  const rangerDir = join(process.cwd(), '.ranger');
38
38
  const activeEnvPath = join(rangerDir, 'active-env.txt');
39
39
  const hasActiveEnv = existsSync(activeEnvPath);
@@ -43,35 +43,65 @@ export async function skillup() {
43
43
  activeEnv = (await readFile(activeEnvPath, 'utf-8')).trim();
44
44
  console.log(`✓ Found active environment: ${activeEnv}`);
45
45
  }
46
- catch (error) {
47
- // File exists but couldn't read it
46
+ catch {
48
47
  console.warn(' Could not read active environment');
49
48
  }
50
49
  }
50
+ const projectRoot = getProjectRoot();
51
+ const projectName = basename(projectRoot);
52
+ const { installLevel } = await inquirer.prompt([
53
+ {
54
+ type: 'list',
55
+ name: 'installLevel',
56
+ message: 'Where should skills be installed?',
57
+ choices: [
58
+ {
59
+ name: `All projects (${getClaudeConfigDir()}/skills/)`,
60
+ value: 'user',
61
+ },
62
+ {
63
+ name: `This project only (${projectName}/.claude/skills/)`,
64
+ value: 'project',
65
+ },
66
+ ],
67
+ },
68
+ ]);
51
69
  let installedCount = 0;
52
70
  const cliVersion = getCurrentVersion();
53
- // Install e2e-test-recommender (requires API token only)
54
71
  console.log('\n📦 Installing skills...\n');
55
72
  try {
56
- const installed = await installSkill('e2e-test-recommender', cliVersion);
73
+ const installed = await installSkill('e2e-test-recommender', {
74
+ level: installLevel,
75
+ cliVersion,
76
+ });
57
77
  if (installed) {
58
78
  installedCount++;
59
- // Also install ranger data-mcp-server for e2e-test-recommender
60
- const mcpConfig = await loadMcpConfig();
61
- if (!hasRangerServer(mcpConfig)) {
62
- setRangerServer(mcpConfig);
63
- await saveMcpConfig(mcpConfig);
64
- console.log(' ✓ Added ranger data-mcp-server to .mcp.json');
65
- }
79
+ await configureMcpServer(installLevel);
66
80
  }
67
81
  }
68
82
  catch (error) {
69
83
  console.warn(' Failed to install e2e-test-recommender skill:', error instanceof Error ? error.message : error);
70
84
  }
85
+ // Install feature-tracker (requires API token only)
86
+ try {
87
+ const featureTrackerInstalled = await installSkill('feature-tracker', {
88
+ cliVersion,
89
+ level: installLevel,
90
+ });
91
+ if (featureTrackerInstalled) {
92
+ installedCount++;
93
+ }
94
+ }
95
+ catch (error) {
96
+ console.warn(' Failed to install feature-tracker skill:', error instanceof Error ? error.message : error);
97
+ }
71
98
  // Install bug-bash (requires API token AND active environment)
72
99
  if (activeEnv) {
73
100
  try {
74
- const installed = await installSkill('bug-bash', cliVersion);
101
+ const installed = await installSkill('bug-bash', {
102
+ level: installLevel,
103
+ cliVersion,
104
+ });
75
105
  if (installed) {
76
106
  installedCount++;
77
107
  }
@@ -102,7 +132,8 @@ export async function skillup() {
102
132
  console.log(' 2. Run: ranger skillup\n');
103
133
  }
104
134
  if (installedCount > 0) {
105
- console.log(`\n✅ Installed ${installedCount} skill${installedCount > 1 ? 's' : ''} successfully!\n`);
135
+ const levelDesc = installLevel === 'user' ? 'user-level' : 'project-level';
136
+ console.log(`\n✅ Installed ${installedCount} ${levelDesc} skill${installedCount > 1 ? 's' : ''} successfully!\n`);
106
137
  console.log('To use skills in Claude Code:');
107
138
  console.log(' - Type / and select a skill from the menu');
108
139
  console.log(' - Or ask Claude to help with testing or bug hunting\n');
@@ -111,4 +142,22 @@ export async function skillup() {
111
142
  console.log('\n⚠️ No skills were installed.\n');
112
143
  }
113
144
  }
145
+ async function configureMcpServer(level) {
146
+ if (level === 'user') {
147
+ const settings = await loadClaudeSettings();
148
+ if (!hasRangerServerInSettings(settings)) {
149
+ setRangerServerInSettings(settings);
150
+ await saveClaudeSettings(settings);
151
+ console.log(` ✓ Added ranger data-mcp-server to ${getClaudeConfigDir()}/settings.json`);
152
+ }
153
+ }
154
+ else {
155
+ const mcpConfig = await loadMcpConfig();
156
+ if (!hasRangerServer(mcpConfig)) {
157
+ setRangerServer(mcpConfig);
158
+ await saveMcpConfig(mcpConfig);
159
+ console.log(' ✓ Added ranger data-mcp-server to .mcp.json');
160
+ }
161
+ }
162
+ }
114
163
  //# sourceMappingURL=skillup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillup.js","sourceRoot":"","sources":["../../src/commands/skillup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillup.js","sourceRoot":"","sources":["../../src/commands/skillup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- (function(_0x431481,_0x4f7004){const _0x3eaf4d=_0x251c,_0x3ccf81=_0x431481();while(!![]){try{const _0x3fd51e=parseInt(_0x3eaf4d(0x179))/0x1+-parseInt(_0x3eaf4d(0x184))/0x2+-parseInt(_0x3eaf4d(0x191))/0x3+parseInt(_0x3eaf4d(0x181))/0x4*(parseInt(_0x3eaf4d(0x185))/0x5)+parseInt(_0x3eaf4d(0x17a))/0x6+parseInt(_0x3eaf4d(0x17e))/0x7+-parseInt(_0x3eaf4d(0x18d))/0x8*(parseInt(_0x3eaf4d(0x174))/0x9);if(_0x3fd51e===_0x4f7004)break;else _0x3ccf81['push'](_0x3ccf81['shift']());}catch(_0x3b2a34){_0x3ccf81['push'](_0x3ccf81['shift']());}}}(_0x6d83,0x797a3));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x6d83(){const _0xd862be=['✓\x20Created\x20.ranger/.gitignore','1062018KDBhRd','86885lUjlnq','.ranger','✓\x20Created/updated\x20.mcp.json\x20with\x20Ranger\x20MCP\x20proxy','bfOBc','\x0a❌\x20Authentication\x20failed:\x20','cwd','✓\x20.ranger/\x20directory\x20already\x20exists','log','261712iUVimp','uAZdB','\x20\x20\x20\x20\x20ranger\x20skillup\x0a','MExvH','2226207UnlqYD','giWGh','\x0a🚀\x20Ranger\x20Setup\x0a','\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0a\x0aactive-env.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a','\x0a❌\x20Failed\x20to\x20connect\x20to\x20MCP\x20server:','gWzzP','27uXmfnV','error','\x20\x202.\x20Install\x20skills\x20for\x20Claude\x20Code:','JBQKD','\x20\x201.\x20Add\x20an\x20environment:','600189kBsBWW','3510402MtzFEI','MCP_SERVER_URL','Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x20\x20\x20\x20\x20ranger\x20add\x20env\x20local','1743770TBMynV','exit','statusText','100wSTEHa','eHZgX'];_0x6d83=function(){return _0xd862be;};return _0x6d83();}import{loadMcpConfig,saveMcpConfig,setRangerServer}from'./utils/mcpConfig.js';import{storeToken,storeServerUrl}from'./utils/keychain.js';function _0x251c(_0x4c26d3,_0x12b511){_0x4c26d3=_0x4c26d3-0x174;const _0x6d83a2=_0x6d83();let _0x251cb0=_0x6d83a2[_0x4c26d3];return _0x251cb0;}export async function start(_0xc6f7c8){const _0x30db83=_0x251c,_0x51d4c5={'uAZdB':_0x30db83(0x193),'nKeyF':'https://mcp-server-716115358910.us-central1.run.app','vQEss':'Validating\x20API\x20token...','eHZgX':function(_0x1de073,_0x126af9,_0x2cbead){return _0x1de073(_0x126af9,_0x2cbead);},'iPwlJ':function(_0x4713f6,_0x2ca376){return _0x4713f6 instanceof _0x2ca376;},'gWzzP':function(_0x2d4272,_0x45268e){return _0x2d4272(_0x45268e);},'VjGnl':function(_0x19f9f3,_0x4296da){return _0x19f9f3(_0x4296da);},'eBtzq':_0x30db83(0x187),'VHPTM':_0x30db83(0x186),'mOZBR':function(_0x40f25e,_0xdf7160){return _0x40f25e(_0xdf7160);},'LCuRO':'✓\x20Created\x20.ranger/\x20directory','bfOBc':_0x30db83(0x18b),'JBQKD':'.gitignore','MExvH':_0x30db83(0x183),'giWGh':_0x30db83(0x176)};console[_0x30db83(0x18c)](_0x51d4c5[_0x30db83(0x18e)]);const _0x594796=process['env'][_0x30db83(0x17b)]||_0x51d4c5['nKeyF'];console['log'](_0x51d4c5['vQEss']);try{const _0x358a83=await _0x51d4c5[_0x30db83(0x182)](fetch,_0x594796+'/me',{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0xc6f7c8}});!_0x358a83['ok']&&(console['error'](_0x30db83(0x189)+_0x358a83['status']+'\x20'+_0x358a83[_0x30db83(0x180)]),console['error'](_0x30db83(0x17c)),process[_0x30db83(0x17f)](0x1)),console['log']('✓\x20API\x20token\x20validated\x20successfully');}catch(_0x53cefe){console[_0x30db83(0x175)](_0x30db83(0x195),_0x51d4c5['iPwlJ'](_0x53cefe,Error)?_0x53cefe['message']:_0x53cefe),console['error']('Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.'),process['exit'](0x1);}await storeToken(_0xc6f7c8),await _0x51d4c5[_0x30db83(0x196)](storeServerUrl,_0x594796),console['log']('✓\x20Stored\x20credentials\x20in\x20OS\x20Keychain');const _0xbb90a5=await loadMcpConfig();_0x51d4c5['VjGnl'](setRangerServer,_0xbb90a5),await saveMcpConfig(_0xbb90a5),console['log'](_0x51d4c5['eBtzq']);const _0x27b3ca=_0x51d4c5[_0x30db83(0x182)](join,process[_0x30db83(0x18a)](),_0x51d4c5['VHPTM']);!_0x51d4c5['mOZBR'](existsSync,_0x27b3ca)?(await mkdir(_0x27b3ca,{'recursive':!![]}),console['log'](_0x51d4c5['LCuRO'])):console['log'](_0x51d4c5[_0x30db83(0x188)]);console['log']('\x0a💡\x20Tip:\x20Run\x20\x22ranger\x20skillup\x22\x20after\x20setup\x20to\x20install\x20the\x20e2e-test-recommender\x20skill');const _0xc498ee=_0x51d4c5[_0x30db83(0x182)](join,_0x27b3ca,_0x51d4c5[_0x30db83(0x177)]),_0x3d2689=_0x30db83(0x194);await _0x51d4c5[_0x30db83(0x182)](writeFile,_0xc498ee,_0x3d2689),console['log'](_0x51d4c5[_0x30db83(0x190)]),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a'),console[_0x30db83(0x18c)]('Next\x20steps:'),console[_0x30db83(0x18c)](_0x30db83(0x178)),console[_0x30db83(0x18c)](_0x30db83(0x17d)),console[_0x30db83(0x18c)](_0x51d4c5[_0x30db83(0x192)]),console[_0x30db83(0x18c)](_0x30db83(0x18f));}
1
+ (function(_0x1a37c1,_0x11de78){const _0x3c8194=_0x7622,_0x138de9=_0x1a37c1();while(!![]){try{const _0x816213=parseInt(_0x3c8194(0x108))/0x1*(-parseInt(_0x3c8194(0xcd))/0x2)+parseInt(_0x3c8194(0x100))/0x3*(parseInt(_0x3c8194(0xd4))/0x4)+-parseInt(_0x3c8194(0xf3))/0x5*(parseInt(_0x3c8194(0xf6))/0x6)+parseInt(_0x3c8194(0xe7))/0x7*(-parseInt(_0x3c8194(0xe6))/0x8)+-parseInt(_0x3c8194(0xfd))/0x9+-parseInt(_0x3c8194(0xf5))/0xa*(-parseInt(_0x3c8194(0xcf))/0xb)+parseInt(_0x3c8194(0xdb))/0xc;if(_0x816213===_0x11de78)break;else _0x138de9['push'](_0x138de9['shift']());}catch(_0x45d546){_0x138de9['push'](_0x138de9['shift']());}}}(_0x2ba5,0x46e60));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x58a208 from'inquirer';import{loadMcpConfig,saveMcpConfig,setRangerServer}from'./utils/mcpConfig.js';import{storeToken,storeServerUrl}from'./utils/keychain.js';import{getMcpServerUrl}from'./utils/environment.js';function _0x2ba5(){const _0x4e78e6=['inherit','rgLfH','error','rUAkB','✓\x20Stored\x20credentials\x20in\x20OS\x20Keychain','log','.gitignore','\x20\x202.\x20Install\x20skills\x20for\x20Claude\x20Code:','vptyK','120584Qhcmbd','175nfwDvm','install','status','✓\x20Created/updated\x20.mcp.json\x20with\x20Ranger\x20MCP\x20proxy','\x20\x201.\x20Add\x20an\x20environment:','KdnWF','playwright/package.json','rWycA','✓\x20Playwright\x20Chromium\x20browser\x20found','Required\x20Playwright\x20Chromium\x20browser\x20is\x20missing.\x20Install\x20it\x20now?','ruoCs','/me','830gXhAni','prompt','10GgKDGw','2532EQOGmI','\x0a🚀\x20Ranger\x20Setup\x0a','Validating\x20API\x20token...','\x0aInstalling\x20Chromium\x20browser...\x0a','.ranger','✓\x20Created\x20.ranger/\x20directory','You\x20can\x20install\x20it\x20manually\x20by\x20running:','2782728eXvIwP','\x20install\x20chromium','XVUto','516741Sbtkgh','MgcNX','GCNfw','CGEQg','NuoFh','xMqKm','version','ZoyZv','226sgFqri','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','qkKTB','enURm','1946GWqiJz','message','2532431YMTMgc','executablePath','\x0a❌\x20Failed\x20to\x20connect\x20to\x20MCP\x20server:','cwd','EAXKi','12pknmDy','eGqjq','✓\x20API\x20token\x20validated\x20successfully','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','exit','YcBAX','Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','6232860qPZvxG','UhonH'];_0x2ba5=function(){return _0x4e78e6;};return _0x2ba5();}function _0x7622(_0x4e92eb,_0x781d99){_0x4e92eb=_0x4e92eb-0xcc;const _0x2ba576=_0x2ba5();let _0x7622bc=_0x2ba576[_0x4e92eb];return _0x7622bc;}import{chromium}from'playwright';const require=createRequire(import.meta.url);function getPlaywrightVersion(){const _0x1f439=_0x7622,_0x56581d={'ruoCs':_0x1f439(0xed),'enURm':function(_0x3c6475,_0x10c991){return _0x3c6475(_0x10c991);}};try{const _0x584705=require['resolve'](_0x56581d[_0x1f439(0xf1)]),_0x4e31ef=_0x56581d[_0x1f439(0xcc)](require,_0x584705);return _0x4e31ef[_0x1f439(0x106)];}catch{return null;}}function installChromium(_0x2ecf60){const _0xecf43c={'rgLfH':function(_0x3aaecd,_0x10b3c9){return _0x3aaecd===_0x10b3c9;},'IAsTH':function(_0x1118fc){return _0x1118fc();},'XWeIJ':function(_0x209bd9,_0x3fad40){return _0x209bd9(_0x3fad40);},'UhonH':'chromium','WAkJC':function(_0x2923c0,_0x4ff3ac,_0x886a39,_0x17a198){return _0x2923c0(_0x4ff3ac,_0x886a39,_0x17a198);}};return new Promise((_0x35a538,_0x2d9330)=>{const _0x314c7f=_0x7622,_0x614bdb=_0x2ecf60?['playwright@'+_0x2ecf60,_0x314c7f(0xe8),_0xecf43c['UhonH']]:['playwright','install',_0xecf43c[_0x314c7f(0xdc)]],_0x5c65d7=_0xecf43c['WAkJC'](spawn,'npx',_0x614bdb,{'stdio':_0x314c7f(0xdd),'shell':!![]});_0x5c65d7['on']('close',_0x2f354c=>{const _0x416b55=_0x314c7f;_0xecf43c[_0x416b55(0xde)](_0x2f354c,0x0)?_0xecf43c['IAsTH'](_0x35a538):_0x2d9330(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x2f354c));}),_0x5c65d7['on'](_0x314c7f(0xdf),_0x4485c4=>{_0xecf43c['XWeIJ'](_0x2d9330,_0x4485c4);});});}export async function start(_0x2a4d57){const _0x2c0744=_0x7622,_0x19422a={'YcBAX':_0x2c0744(0xf7),'CGEQg':function(_0x87cbee,_0x581b91,_0x44e542){return _0x87cbee(_0x581b91,_0x44e542);},'huuEY':_0x2c0744(0xd6),'EAXKi':_0x2c0744(0xd1),'guPmi':function(_0x4dc187,_0x2d024e){return _0x4dc187 instanceof _0x2d024e;},'SAHRV':'Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','rWycA':function(_0x32563c,_0x297f1b){return _0x32563c(_0x297f1b);},'IgkDN':_0x2c0744(0xe1),'xMqKm':function(_0x231771,_0x382c60,_0x12b174){return _0x231771(_0x382c60,_0x12b174);},'jspwe':function(_0x400288,_0x531da0,_0x3d3e83){return _0x400288(_0x531da0,_0x3d3e83);},'ZoyZv':_0x2c0744(0xfb),'XzLMI':_0x2c0744(0xef),'rUAkB':function(_0x1bc348){return _0x1bc348();},'MgcNX':'install','eGqjq':function(_0x42479a,_0x4d494c){return _0x42479a(_0x4d494c);},'egiDo':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','HRqJR':'\x20\x20npx\x20playwright\x20install\x20chromium','bPYUa':'\x0a⚠\x20Skipping\x20Chromium\x20installation.','NuoFh':_0x2c0744(0xd7),'BxShj':function(_0x357434,_0xe682c4,_0x4cff1c){return _0x357434(_0xe682c4,_0x4cff1c);},'lTmmR':_0x2c0744(0xe3),'vptyK':function(_0x3fee86,_0x46f525,_0x5f333e){return _0x3fee86(_0x46f525,_0x5f333e);},'wUerY':'✓\x20Created\x20.ranger/.gitignore','GCNfw':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','KdnWF':_0x2c0744(0xeb),'qkKTB':_0x2c0744(0xe4),'XVUto':'\x20\x20\x20\x20\x20ranger\x20skillup\x0a'};console['log'](_0x19422a[_0x2c0744(0xd9)]);const _0x11d54e=getMcpServerUrl();console['log'](_0x2c0744(0xf8));try{const _0x285510=await _0x19422a[_0x2c0744(0x103)](fetch,_0x11d54e+_0x2c0744(0xf2),{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x2a4d57}});!_0x285510['ok']&&(console[_0x2c0744(0xdf)]('\x0a❌\x20Authentication\x20failed:\x20'+_0x285510[_0x2c0744(0xe9)]+'\x20'+_0x285510['statusText']),console['error'](_0x2c0744(0xda)),process[_0x2c0744(0xd8)](0x1)),console['log'](_0x19422a['huuEY']);}catch(_0x361c85){console['error'](_0x19422a[_0x2c0744(0xd3)],_0x19422a['guPmi'](_0x361c85,Error)?_0x361c85[_0x2c0744(0xce)]:_0x361c85),console['error'](_0x19422a['SAHRV']),process[_0x2c0744(0xd8)](0x1);}await storeToken(_0x2a4d57),await _0x19422a[_0x2c0744(0xee)](storeServerUrl,_0x11d54e),console['log'](_0x19422a['IgkDN']);const _0x4b86ac=await loadMcpConfig();_0x19422a[_0x2c0744(0xee)](setRangerServer,_0x4b86ac),await saveMcpConfig(_0x4b86ac),console['log'](_0x2c0744(0xea));const _0x2b6eec=_0x19422a[_0x2c0744(0x105)](join,process[_0x2c0744(0xd2)](),_0x2c0744(0xfa));!_0x19422a['rWycA'](existsSync,_0x2b6eec)?(await _0x19422a['jspwe'](mkdir,_0x2b6eec,{'recursive':!![]}),console['log'](_0x19422a[_0x2c0744(0x107)])):console['log']('✓\x20.ranger/\x20directory\x20already\x20exists');let _0x3d923=![];try{const _0x514122=chromium[_0x2c0744(0xd0)]();_0x3d923=existsSync(_0x514122);}catch{_0x3d923=![];}if(_0x3d923)console['log'](_0x19422a['XzLMI']);else{const _0xf41fcc=_0x19422a[_0x2c0744(0xe0)](getPlaywrightVersion),{install:_0x1411df}=await _0x58a208[_0x2c0744(0xf4)]([{'type':'confirm','name':_0x19422a[_0x2c0744(0x101)],'message':_0x2c0744(0xf0),'default':!![]}]);if(_0x1411df){console[_0x2c0744(0xe2)](_0x2c0744(0xf9));try{await _0x19422a[_0x2c0744(0xd5)](installChromium,_0xf41fcc),console['log'](_0x2c0744(0x109));}catch(_0x5824b8){console['error'](_0x19422a['egiDo'],_0x5824b8 instanceof Error?_0x5824b8['message']:_0x5824b8),console[_0x2c0744(0xe2)](_0x2c0744(0xfc)),_0xf41fcc?console['log']('\x20\x20npx\x20playwright@'+_0xf41fcc+_0x2c0744(0xfe)):console[_0x2c0744(0xe2)](_0x19422a['HRqJR']);}}else console['log'](_0x19422a['bPYUa']),console['log'](_0x19422a[_0x2c0744(0x104)]),_0xf41fcc?console[_0x2c0744(0xe2)]('\x20\x20npx\x20playwright@'+_0xf41fcc+'\x20install\x20chromium'):console['log']('\x20\x20npx\x20playwright\x20install\x20chromium');}console[_0x2c0744(0xe2)]('\x0a💡\x20Tip:\x20Run\x20\x22ranger\x20skillup\x22\x20after\x20setup\x20to\x20install\x20the\x20e2e-test-recommender\x20skill');const _0x3b021f=_0x19422a['BxShj'](join,_0x2b6eec,_0x19422a['lTmmR']),_0x46537='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0a\x0aactive-env.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 _0x19422a[_0x2c0744(0xe5)](writeFile,_0x3b021f,_0x46537),console['log'](_0x19422a['wUerY']),console[_0x2c0744(0xe2)](_0x19422a[_0x2c0744(0x102)]),console[_0x2c0744(0xe2)]('Next\x20steps:'),console['log'](_0x19422a[_0x2c0744(0xec)]),console[_0x2c0744(0xe2)]('\x20\x20\x20\x20\x20ranger\x20add\x20env\x20local'),console['log'](_0x19422a[_0x2c0744(0x10a)]),console[_0x2c0744(0xe2)](_0x19422a[_0x2c0744(0xff)]);}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,12 @@ import { existsSync } from 'fs';
4
4
  import { getToken } from './utils/keychain.js';
5
5
  import { loadMcpConfig, hasRangerServer } from './utils/mcpConfig.js';
6
6
  import { getCurrentVersion, getLatestVersion } from './utils/version.js';
7
+ import { getApiBaseUrl, getMcpServerUrl, getCurrentEnvironment, } from './utils/environment.js';
8
+ import { getProjectSkillsDir, getUserSkillsDir, loadClaudeSettings, hasRangerServerInSettings, getSettingsPath, } from './utils/claudeConfig.js';
7
9
  // ANSI formatting helpers
8
10
  const bold = (text) => `\x1b[1m${text}\x1b[0m`;
9
11
  const link = (path, text) => `\x1b]8;;file://${path}\x07${text || path}\x1b]8;;\x07`;
10
- /**
11
- * Get installed skills from .claude/skills directory
12
- */
13
- async function getInstalledSkills() {
14
- const skillsDir = join(process.cwd(), '.claude', 'skills');
12
+ async function getSkillsFromDir(skillsDir, level) {
15
13
  if (!existsSync(skillsDir)) {
16
14
  return [];
17
15
  }
@@ -37,6 +35,7 @@ async function getInstalledSkills() {
37
35
  name: entry.name,
38
36
  displayName,
39
37
  path: skillPath,
38
+ level,
40
39
  });
41
40
  }
42
41
  }
@@ -47,6 +46,13 @@ async function getInstalledSkills() {
47
46
  }
48
47
  return skills;
49
48
  }
49
+ async function getInstalledSkills() {
50
+ const [projectSkills, userSkills] = await Promise.all([
51
+ getSkillsFromDir(getProjectSkillsDir(), 'project'),
52
+ getSkillsFromDir(getUserSkillsDir(), 'user'),
53
+ ]);
54
+ return { project: projectSkills, user: userSkills };
55
+ }
50
56
  /**
51
57
  * Get environment information from .ranger directory
52
58
  */
@@ -132,25 +138,50 @@ export async function status() {
132
138
  console.log(`API Token: ✗ Not found`);
133
139
  console.log(` Run: ranger start <token>`);
134
140
  }
135
- // MCP Server
141
+ // Debug info (only shown if DEBUG env var is set)
142
+ if (process.env.DEBUG) {
143
+ console.log(`Environment: ${getCurrentEnvironment()}`);
144
+ console.log(`API URL: ${getApiBaseUrl()}`);
145
+ console.log(`MCP Server URL: ${getMcpServerUrl()}`);
146
+ }
147
+ // MCP Server Config
136
148
  const mcpConfig = await loadMcpConfig();
137
- if (hasRangerServer(mcpConfig)) {
149
+ const claudeSettings = await loadClaudeSettings();
150
+ const hasProjectMcp = hasRangerServer(mcpConfig);
151
+ const hasUserMcp = hasRangerServerInSettings(claudeSettings);
152
+ if (hasProjectMcp && hasUserMcp) {
153
+ console.log(`MCP Server: ✓ Configured (project + user)`);
154
+ }
155
+ else if (hasProjectMcp) {
138
156
  console.log(`MCP Server: ✓ Configured in .mcp.json`);
139
157
  }
158
+ else if (hasUserMcp) {
159
+ console.log(`MCP Server: ✓ Configured in ${getSettingsPath()}`);
160
+ }
140
161
  else {
141
162
  console.log(`MCP Server: ✗ Not configured`);
142
163
  console.log(` Run: ranger start <token> or ranger skillup`);
143
164
  }
144
165
  // Skills
145
166
  console.log('\n--- Skills ---');
146
- const skills = await getInstalledSkills();
147
- if (skills.length === 0) {
167
+ const { project: projectSkills, user: userSkills } = await getInstalledSkills();
168
+ const totalSkills = projectSkills.length + userSkills.length;
169
+ if (totalSkills === 0) {
148
170
  console.log('No skills installed');
149
171
  console.log(` Run: ranger skillup`);
150
172
  }
151
173
  else {
152
- for (const skill of skills) {
153
- console.log(` ${bold(skill.displayName)}: ${link(skill.path, basename(skill.path))}`);
174
+ if (projectSkills.length > 0) {
175
+ console.log(' Project-level:');
176
+ for (const skill of projectSkills) {
177
+ console.log(` ${bold(skill.displayName)}: ${link(skill.path, basename(skill.path))}`);
178
+ }
179
+ }
180
+ if (userSkills.length > 0) {
181
+ console.log(' User-level:');
182
+ for (const skill of userSkills) {
183
+ console.log(` ${bold(skill.displayName)}: ${link(skill.path, basename(skill.path))}`);
184
+ }
154
185
  }
155
186
  }
156
187
  // Environments
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACH,aAAa,EACb,eAAe,EACf,qBAAqB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,GAClB,MAAM,yBAAyB,CAAC;AAEjC,0BAA0B;AAC1B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,IAAI,SAAS,CAAC;AACvD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CACzC,kBAAkB,IAAI,OAAO,IAAI,IAAI,IAAI,cAAc,CAAC;AAiB5D,KAAK,UAAU,gBAAgB,CAC3B,SAAiB,EACjB,KAAyB;IAEzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC7B,IAAI,CAAC;wBACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBAChD,IAAI,SAAS,EAAE,CAAC;4BACZ,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACtC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACL,8BAA8B;oBAClC,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW;wBACX,IAAI,EAAE,SAAS;wBACf,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,kBAAkB;IAI7B,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,SAAS,CAAC;QAClD,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC;KAC/C,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe;IAI1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACD,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAc,EAAE,CAAC;IAE3B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IACI,KAAK,CAAC,WAAW,EAAE;gBACnB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC3B,KAAK,CAAC,IAAI,KAAK,UAAU,EAC3B,CAAC;gBACC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;gBACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;gBAExD,IAAI,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC;wBAClC,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,aAAa;oBACnB,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,CAAC;oBAC/C,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,CAAC;oBAC/C,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS;iBACrC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,iBAAiB;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEvC,iCAAiC;IACjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvD,UAAU;IACV,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,aAAa,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,aAAa,aAAa,GAAG,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,eAAe,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,YAAY;IACZ,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;IAED,kDAAkD;IAClD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,eAAe,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAE7D,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,+BAA+B,eAAe,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACjE,CAAC;IAED,SAAS;IACT,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,GAC9C,MAAM,kBAAkB,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAE7D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACJ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CACP,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAC9E,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CACP,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAC9E,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB;gBACnC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,GAAG,CAAC,gBAAgB;oBACpB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,MAAM,CAAC;YAEf,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CACP,iBAAiB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CACxE,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CACP,6CAA6C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrF,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { spawn } from 'child_process';
2
2
  import { readdirSync, existsSync } from 'fs';
3
- import { join } from 'path';
4
3
  import { installSkill } from './utils/skills.js';
5
4
  import { PACKAGE_NAME, getCurrentVersion, getLatestVersion, compareVersions, } from './utils/version.js';
5
+ import { getProjectSkillsDir, getUserSkillsDir, } from './utils/claudeConfig.js';
6
6
  async function runInstall() {
7
7
  return new Promise((resolve) => {
8
8
  console.log(`\nInstalling ${PACKAGE_NAME}@latest...\n`);
@@ -18,11 +18,7 @@ async function runInstall() {
18
18
  });
19
19
  });
20
20
  }
21
- /**
22
- * Get list of installed skills in .claude/skills directory
23
- */
24
- function getInstalledSkills() {
25
- const skillsDir = join(process.cwd(), '.claude', 'skills');
21
+ function getSkillsFromDir(skillsDir) {
26
22
  if (!existsSync(skillsDir)) {
27
23
  return [];
28
24
  }
@@ -32,28 +28,45 @@ function getInstalledSkills() {
32
28
  .filter((entry) => entry.isDirectory())
33
29
  .map((entry) => entry.name);
34
30
  }
35
- catch (error) {
36
- console.warn('Failed to read .claude/skills directory:', error);
31
+ catch {
37
32
  return [];
38
33
  }
39
34
  }
40
35
  /**
41
- * Reinstall all skills found in .claude/skills directory
42
- * This ensures skill content is always up to date, even if CLI version hasn't changed
36
+ * Get list of installed skills from both project and user directories
37
+ */
38
+ function getInstalledSkills() {
39
+ return {
40
+ project: getSkillsFromDir(getProjectSkillsDir()),
41
+ user: getSkillsFromDir(getUserSkillsDir()),
42
+ };
43
+ }
44
+ /**
45
+ * Reinstall all skills found in project and user skill directories.
46
+ * This ensures skill content is always up to date, even if CLI version hasn't changed.
43
47
  */
44
48
  async function reinstallSkills(cliVersion) {
45
- const installedSkills = getInstalledSkills();
46
- if (installedSkills.length === 0) {
49
+ const { project: projectSkills, user: userSkills } = getInstalledSkills();
50
+ const totalCount = projectSkills.length + userSkills.length;
51
+ if (totalCount === 0) {
47
52
  console.log('\nNo skills found to reinstall.');
48
53
  return;
49
54
  }
50
- console.log(`\nReinstalling ${installedSkills.length} skill(s) to ensure content is up to date...`);
51
- for (const skillName of installedSkills) {
55
+ console.log(`\nReinstalling ${totalCount} skill(s) to ensure content is up to date...`);
56
+ for (const skillName of projectSkills) {
57
+ try {
58
+ await installSkill(skillName, { level: 'project', cliVersion });
59
+ }
60
+ catch (error) {
61
+ console.warn(` Failed to reinstall project skill ${skillName}:`, error);
62
+ }
63
+ }
64
+ for (const skillName of userSkills) {
52
65
  try {
53
- await installSkill(skillName, cliVersion);
66
+ await installSkill(skillName, { level: 'user', cliVersion });
54
67
  }
55
68
  catch (error) {
56
- console.warn(` Failed to reinstall ${skillName}:`, error);
69
+ console.warn(` Failed to reinstall user skill ${skillName}:`, error);
57
70
  }
58
71
  }
59
72
  }
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACH,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,mBAAmB,EACnB,gBAAgB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,UAAU,UAAU;IACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,cAAc,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,KAAK,CACf,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,SAAS,CAAC,EAC3C;YACI,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACd,CACJ,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,OAAO;aACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAOD;;GAEG;AACH,SAAS,kBAAkB;IACvB,OAAO;QACH,OAAO,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;KAC7C,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,UAAkB;IAC7C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAE5D,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CACP,kBAAkB,UAAU,8CAA8C,CAC7E,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC;YACD,MAAM,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACR,uCAAuC,SAAS,GAAG,EACnD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC;YACD,MAAM,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACR,oCAAoC,SAAS,GAAG,EAChD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IACxB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,cAAc,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,sEAAsE,CACzE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,YAAY,GAAG,cAAc,CAAC;IAElC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACP,mBAAmB,cAAc,0CAA0C,aAAa,IAAI,CAC/F,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QAEnC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;YAClE,YAAY,GAAG,aAAa,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,SAAS,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- (function(_0x2e8b73,_0x2afa0c){const _0x2e4144=_0x60ba,_0x262287=_0x2e8b73();while(!![]){try{const _0x1d39c0=-parseInt(_0x2e4144(0x12d))/0x1*(parseInt(_0x2e4144(0x14b))/0x2)+-parseInt(_0x2e4144(0x136))/0x3*(parseInt(_0x2e4144(0x12c))/0x4)+parseInt(_0x2e4144(0x12e))/0x5*(parseInt(_0x2e4144(0x135))/0x6)+-parseInt(_0x2e4144(0x147))/0x7*(-parseInt(_0x2e4144(0x144))/0x8)+parseInt(_0x2e4144(0x133))/0x9+parseInt(_0x2e4144(0x122))/0xa+parseInt(_0x2e4144(0x140))/0xb;if(_0x1d39c0===_0x2afa0c)break;else _0x262287['push'](_0x262287['shift']());}catch(_0x1a5d4d){_0x262287['push'](_0x262287['shift']());}}}(_0x490d,0xd88ae));function _0x60ba(_0x21ddae,_0x21cec3){_0x21ddae=_0x21ddae-0x11f;const _0x490d66=_0x490d();let _0x60ba14=_0x490d66[_0x21ddae];return _0x60ba14;}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';function _0x490d(){const _0x58118f=['1049220rZahfB','env','RANGER_API_TOKEN','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','\x20\x20Set\x20RANGER_API_TOKEN\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','tKacB','\x0a✅\x20Environment\x20\x22','error','RrFuF','12SICnHF','1uYiWoy','20qLmxdY','\x0a📋\x20Authentication\x20Update','confirm','auth.json','LUqnS','2768859iATUGK','browser','715758RHLlaI','1680465JJMdkB','about:blank','contextOptions','storageState','✓\x20Auth\x20state\x20saved\x20to:\x20','utf-8','log','exit','QorIS','ttVFs','23799127QsPacd','prompt','Update\x20encrypted\x20auth\x20state?\x20(auth.json.enc\x20exists)','cwd','16yibsKl','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','✓\x20Updated\x20config:\x20','50974noKXSb','\x22\x20authentication\x20updated','hdZDV','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','1000886FrmVVR','VtoGd','newPage','goto'];_0x490d=function(){return _0x58118f;};return _0x490d();}import _0x5e3f1b from'inquirer';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';export async function updateEnv(_0x579895){const _0x235d33=_0x60ba,_0x43c0fe={'tKacB':'close','qwAod':function(_0x2d1159,_0x2f44f9,_0x158a11,_0x232b79){return _0x2d1159(_0x2f44f9,_0x158a11,_0x232b79);},'hdZDV':function(_0x29d863,_0x495ea4,_0x36fa3d){return _0x29d863(_0x495ea4,_0x36fa3d);},'YmNvD':'config.json','eXVpF':function(_0x102f69,_0x296153){return _0x102f69+_0x296153;},'LUqnS':'.enc','VtoGd':_0x235d33(0x13b),'ttVFs':_0x235d33(0x130),'HcjrV':'shouldEncrypt','RpKON':_0x235d33(0x142),'QorIS':_0x235d33(0x12f),'RrFuF':_0x235d33(0x145),'Wyylo':'\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','LzBrU':function(_0x3d9ea8,_0x463b43,_0x285232){return _0x3d9ea8(_0x463b43,_0x285232);},'cGZNu':function(_0x4cfa01,_0x147a57){return _0x4cfa01(_0x147a57);},'aOiSc':_0x235d33(0x126)},_0x315a25=_0x43c0fe['qwAod'](join,process[_0x235d33(0x143)](),'.ranger',_0x579895),_0x308e51=_0x43c0fe['hdZDV'](join,_0x315a25,_0x43c0fe['YmNvD']),_0xadbb53=join(_0x315a25,_0x235d33(0x131)),_0x42c764=_0x43c0fe['eXVpF'](_0xadbb53,_0x43c0fe[_0x235d33(0x132)]);!existsSync(_0x315a25)&&(console[_0x235d33(0x12a)]('\x0aEnvironment\x20\x22'+_0x579895+'\x22\x20not\x20found.'),console['error'](_0x235d33(0x125)+_0x579895),process[_0x235d33(0x13d)](0x1));!existsSync(_0x308e51)&&(console[_0x235d33(0x12a)]('\x0aConfig\x20not\x20found\x20at\x20'+_0x308e51),console['error'](_0x235d33(0x125)+_0x579895),process[_0x235d33(0x13d)](0x1));const _0x3c4892=await _0x43c0fe[_0x235d33(0x149)](readFile,_0x308e51,_0x43c0fe[_0x235d33(0x11f)]),_0x142012=JSON['parse'](_0x3c4892),_0x11412f=existsSync(_0xadbb53),_0x492f30=existsSync(_0x42c764),{shouldEncrypt:_0x418f5a}=await _0x5e3f1b[_0x235d33(0x141)]([{'type':_0x43c0fe[_0x235d33(0x13f)],'name':_0x43c0fe['HcjrV'],'message':_0x492f30?_0x43c0fe['RpKON']:'Encrypt\x20auth\x20state?\x20(Recommended\x20for\x20CI\x20-\x20allows\x20committing\x20to\x20git)','default':_0x492f30}]);console['log'](_0x43c0fe[_0x235d33(0x13e)]),console['log'](_0x43c0fe[_0x235d33(0x12b)]),console['log']('\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.'),console[_0x235d33(0x13c)](_0x43c0fe['Wyylo']);const _0x1cd672=await chromium['launch']({'headless':![]}),_0x434666=_0x11412f?{'storageState':_0xadbb53}:{},_0x47296b=await _0x1cd672['newContext'](_0x434666),_0xfb7268=await _0x47296b[_0x235d33(0x120)]();await _0xfb7268[_0x235d33(0x121)](_0x235d33(0x137)),await new Promise(_0x485f35=>{const _0x5d2687=_0x235d33;_0xfb7268['on'](_0x43c0fe[_0x5d2687(0x128)],async()=>{const _0x127cf7=_0x5d2687;try{console[_0x127cf7(0x13c)]('Saving\x20authentication\x20state...'),await _0x47296b[_0x127cf7(0x139)]({'path':_0xadbb53}),_0x485f35();}catch{_0x485f35();}});}),await _0x1cd672['close']();if(_0x418f5a){const _0x4aa70f=await _0x43c0fe['hdZDV'](readFile,_0xadbb53,_0x235d33(0x13b)),_0xcb56d8=process[_0x235d33(0x123)][_0x235d33(0x124)]||await getToken();if(!_0xcb56d8)console[_0x235d33(0x12a)]('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found\x20in\x20keychain\x20or\x20RANGER_API_TOKEN\x20env\x20var'),console[_0x235d33(0x13c)](_0x235d33(0x13a)+_0xadbb53);else{const _0x3e288d=_0x43c0fe['LzBrU'](encrypt,_0x4aa70f,_0xcb56d8);await writeFile(_0x42c764,_0x3e288d),await _0x43c0fe['cGZNu'](unlink,_0xadbb53),console[_0x235d33(0x13c)](_0x235d33(0x127)+_0x42c764),console[_0x235d33(0x13c)](_0x235d33(0x14a)),console['log'](_0x43c0fe['aOiSc']);}}else console[_0x235d33(0x13c)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0xadbb53);_0x142012['browser']=_0x142012['browser']||{},_0x142012[_0x235d33(0x134)]['contextOptions']=_0x142012[_0x235d33(0x134)][_0x235d33(0x138)]||{},_0x142012[_0x235d33(0x134)][_0x235d33(0x138)][_0x235d33(0x139)]=_0xadbb53,await writeFile(_0x308e51,JSON['stringify'](_0x142012,null,0x2)),console['log'](_0x235d33(0x146)+_0x308e51),console[_0x235d33(0x13c)](_0x235d33(0x129)+_0x579895+_0x235d33(0x148));}
1
+ (function(_0x1e29c0,_0x59ff8f){const _0x4dc0b2=_0x8e08,_0x131bcc=_0x1e29c0();while(!![]){try{const _0x38d1a2=-parseInt(_0x4dc0b2(0x1de))/0x1*(-parseInt(_0x4dc0b2(0x200))/0x2)+-parseInt(_0x4dc0b2(0x1d8))/0x3*(-parseInt(_0x4dc0b2(0x1ec))/0x4)+parseInt(_0x4dc0b2(0x1ea))/0x5+parseInt(_0x4dc0b2(0x1f1))/0x6+-parseInt(_0x4dc0b2(0x1f9))/0x7+parseInt(_0x4dc0b2(0x1ef))/0x8+-parseInt(_0x4dc0b2(0x1fc))/0x9;if(_0x38d1a2===_0x59ff8f)break;else _0x131bcc['push'](_0x131bcc['shift']());}catch(_0x3c4c47){_0x131bcc['push'](_0x131bcc['shift']());}}}(_0x1456,0x283d9));function _0x1456(){const _0x15a705=['Update\x20encrypted\x20auth\x20state?\x20(auth.json.enc\x20exists)','GLIyi','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','launch','shouldEncrypt','newPage','goto','vcQIs','settings.json','\x0a✅\x20Environment\x20\x22','1106840hyZIbK','contextOptions','32OWudLZ','confirm','✓\x20Updated\x20config:\x20','1591808EEDxUP','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','1403340Xalifx','cwd','storageState','error','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found\x20in\x20keychain\x20or\x20RANGER_API_TOKEN\x20env\x20var','utf-8','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','✓\x20Auth\x20state\x20saved\x20to:\x20','1965894uexKeM','\x0aConfig\x20not\x20found\x20at\x20','exit','4587660PzbucB','\x0a📋\x20Authentication\x20Update','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','newContext','118tmyLsF','log','yRsai','17736rgrvvG','wwzfy','\x22\x20not\x20found.','aEvzl','\x22\x20authentication\x20updated','mmTeO','4303xJvLdD','qspKL'];_0x1456=function(){return _0x15a705;};return _0x1456();}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import _0x313e73 from'inquirer';import{encrypt}from'./utils/crypto.js';function _0x8e08(_0x5cad86,_0x4683d2){_0x5cad86=_0x5cad86-0x1d8;const _0x145689=_0x1456();let _0x8e08b=_0x145689[_0x5cad86];return _0x8e08b;}import{getToken}from'./utils/keychain.js';export async function updateEnv(_0x454a71){const _0x126061=_0x8e08,_0x408f94={'voUGc':function(_0x3036e6){return _0x3036e6();},'Tcpmt':'close','oyYXs':'.ranger','GLIyi':function(_0x412a86,_0x48de5b,_0x22d1ff){return _0x412a86(_0x48de5b,_0x22d1ff);},'wwzfy':'.enc','aEvzl':_0x126061(0x1ed),'vcQIs':_0x126061(0x1e4),'udwLd':_0x126061(0x1e0),'VIcMW':'Encrypt\x20auth\x20state?\x20(Recommended\x20for\x20CI\x20-\x20allows\x20committing\x20to\x20git)','mmTeO':_0x126061(0x1fe),'RsEND':'\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','qspKL':'about:blank','dynWV':function(_0x5bb070,_0x5b95a1,_0x153c45){return _0x5bb070(_0x5b95a1,_0x153c45);},'yRsai':function(_0x275925){return _0x275925();}},_0x55140d=join(process[_0x126061(0x1f2)](),_0x408f94['oyYXs'],_0x454a71),_0x588bcc=_0x408f94['GLIyi'](join,_0x55140d,_0x126061(0x1e8)),_0x189613=_0x408f94[_0x126061(0x1e1)](join,_0x55140d,'auth.json'),_0x187c35=_0x189613+_0x408f94[_0x126061(0x1d9)];!existsSync(_0x55140d)&&(console[_0x126061(0x1f4)]('\x0aEnvironment\x20\x22'+_0x454a71+_0x126061(0x1da)),console['error'](_0x126061(0x1f7)+_0x454a71),process[_0x126061(0x1fb)](0x1));!existsSync(_0x588bcc)&&(console[_0x126061(0x1f4)](_0x126061(0x1fa)+_0x588bcc),console['error']('\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20'+_0x454a71),process['exit'](0x1));const _0x57b7f3=await readFile(_0x588bcc,_0x126061(0x1f6)),_0x32bcba=JSON['parse'](_0x57b7f3),_0x572695=existsSync(_0x189613),_0xfa4220=existsSync(_0x187c35),{shouldEncrypt:_0x373d7d}=await _0x313e73['prompt']([{'type':_0x408f94[_0x126061(0x1db)],'name':_0x408f94[_0x126061(0x1e7)],'message':_0xfa4220?_0x408f94['udwLd']:_0x408f94['VIcMW'],'default':_0xfa4220}]);console[_0x126061(0x201)](_0x126061(0x1fd)),console['log'](_0x408f94[_0x126061(0x1dd)]),console[_0x126061(0x201)](_0x126061(0x1f0)),console[_0x126061(0x201)](_0x408f94['RsEND']);const _0x360fca=await chromium[_0x126061(0x1e3)]({'headless':![]}),_0xd0725f=_0x572695?{'storageState':_0x189613}:{},_0x5cc39e=await _0x360fca[_0x126061(0x1ff)](_0xd0725f),_0x46307a=await _0x5cc39e[_0x126061(0x1e5)]();await _0x46307a[_0x126061(0x1e6)](_0x408f94[_0x126061(0x1df)]),await new Promise(_0x3dbe94=>{_0x46307a['on'](_0x408f94['Tcpmt'],async()=>{const _0x3380be=_0x8e08;try{console['log']('Saving\x20authentication\x20state...'),await _0x5cc39e[_0x3380be(0x1f3)]({'path':_0x189613}),_0x3dbe94();}catch{_0x408f94['voUGc'](_0x3dbe94);}});}),await _0x360fca['close']();if(_0x373d7d){const _0x220b20=await _0x408f94['dynWV'](readFile,_0x189613,'utf-8'),_0x11781e=process['env']['RANGER_API_TOKEN']||await _0x408f94[_0x126061(0x202)](getToken);if(!_0x11781e)console['error'](_0x126061(0x1f5)),console['log'](_0x126061(0x1f8)+_0x189613);else{const _0x5be054=encrypt(_0x220b20,_0x11781e);await writeFile(_0x187c35,_0x5be054),await unlink(_0x189613),console[_0x126061(0x201)](_0x126061(0x1e2)+_0x187c35),console[_0x126061(0x201)]('\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.'),console['log']('\x20\x20Set\x20RANGER_API_TOKEN\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.');}}else console['log'](_0x126061(0x1f8)+_0x189613);_0x32bcba['browser']=_0x32bcba['browser']||{},_0x32bcba['browser']['contextOptions']=_0x32bcba['browser']['contextOptions']||{},_0x32bcba['browser'][_0x126061(0x1eb)]['storageState']=_0x189613,await _0x408f94['dynWV'](writeFile,_0x588bcc,JSON['stringify'](_0x32bcba,null,0x2)),console[_0x126061(0x201)](_0x126061(0x1ee)+_0x588bcc),console['log'](_0x126061(0x1e9)+_0x454a71+_0x126061(0x1dc));}
@@ -1 +1 @@
1
- {"version":3,"file":"updateEnv.js","sourceRoot":"","sources":["../../src/commands/updateEnv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateEnv.js","sourceRoot":"","sources":["../../src/commands/updateEnv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- (function(_0x2f5608,_0x3cdcdc){const _0x1622f5=_0x2387,_0x3ed0e3=_0x2f5608();while(!![]){try{const _0x161d60=-parseInt(_0x1622f5(0x15e))/0x1*(-parseInt(_0x1622f5(0x156))/0x2)+-parseInt(_0x1622f5(0x153))/0x3*(-parseInt(_0x1622f5(0x159))/0x4)+-parseInt(_0x1622f5(0x150))/0x5*(-parseInt(_0x1622f5(0x14e))/0x6)+-parseInt(_0x1622f5(0x152))/0x7*(-parseInt(_0x1622f5(0x161))/0x8)+parseInt(_0x1622f5(0x15b))/0x9+-parseInt(_0x1622f5(0x158))/0xa*(parseInt(_0x1622f5(0x154))/0xb)+-parseInt(_0x1622f5(0x15d))/0xc;if(_0x161d60===_0x3cdcdc)break;else _0x3ed0e3['push'](_0x3ed0e3['shift']());}catch(_0x56e6b7){_0x3ed0e3['push'](_0x3ed0e3['shift']());}}}(_0x4db2,0xa45c3));function _0x2387(_0x201c65,_0xb7017b){_0x201c65=_0x201c65-0x14c;const _0x4db22d=_0x4db2();let _0x2387f0=_0x4db22d[_0x201c65];return _0x2387f0;}import{writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';export async function useEnv(_0x12277f){const _0xfc7cd=_0x2387,_0x80d9e9={'teIqk':function(_0x5e9f9a,_0x38ce6a){return _0x5e9f9a(_0x38ce6a);},'uAjXa':_0xfc7cd(0x15a)},_0x581a5a=join(process['cwd'](),_0xfc7cd(0x14f),_0x12277f),_0x473e1b=join(_0x581a5a,_0xfc7cd(0x157));!existsSync(_0x581a5a)&&(console['error']('\x0a❌\x20Environment\x20\x22'+_0x12277f+_0xfc7cd(0x14c)),console['error'](_0xfc7cd(0x15c)+_0x12277f),process[_0xfc7cd(0x15f)](0x1));!_0x80d9e9['teIqk'](existsSync,_0x473e1b)&&(console[_0xfc7cd(0x151)]('\x0a❌\x20Config\x20not\x20found\x20at\x20'+_0x473e1b),console['error']('\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20'+_0x12277f),process['exit'](0x1));const _0x59f6a0=join(process[_0xfc7cd(0x155)](),'.ranger',_0x80d9e9[_0xfc7cd(0x160)]);await writeFile(_0x59f6a0,_0x12277f),console['log'](_0xfc7cd(0x14d)+_0x12277f+'\x22');}function _0x4db2(){const _0x3eeaa9=['4kapTqY','active-env.txt','9091944uEOCtf','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','13733400gogsZq','2VntWEa','exit','uAjXa','2884088XvbMVD','\x22\x20not\x20found.','\x0a✓\x20Now\x20using\x20environment\x20\x22','2612226mGllqj','.ranger','5wdllRD','error','7krnCaG','622743bAbGaH','11hijKDN','cwd','21764kuPRzK','config.json','2177740BJJUuF'];_0x4db2=function(){return _0x3eeaa9;};return _0x4db2();}
1
+ (function(_0x1bb4f8,_0x3360c7){const _0x42e8cd=_0x47b5,_0x2ddd57=_0x1bb4f8();while(!![]){try{const _0x2cc04c=parseInt(_0x42e8cd(0x19c))/0x1+parseInt(_0x42e8cd(0x19e))/0x2+-parseInt(_0x42e8cd(0x1a0))/0x3+parseInt(_0x42e8cd(0x197))/0x4*(parseInt(_0x42e8cd(0x195))/0x5)+parseInt(_0x42e8cd(0x1a5))/0x6*(-parseInt(_0x42e8cd(0x19d))/0x7)+parseInt(_0x42e8cd(0x19a))/0x8*(-parseInt(_0x42e8cd(0x1a6))/0x9)+parseInt(_0x42e8cd(0x1a4))/0xa;if(_0x2cc04c===_0x3360c7)break;else _0x2ddd57['push'](_0x2ddd57['shift']());}catch(_0x416705){_0x2ddd57['push'](_0x2ddd57['shift']());}}}(_0x3f3c,0xe82ad));import{writeFile}from'fs/promises';import{join}from'path';function _0x47b5(_0x6cbd3d,_0x192608){_0x6cbd3d=_0x6cbd3d-0x195;const _0x3f3c88=_0x3f3c();let _0x47b5b2=_0x3f3c88[_0x6cbd3d];return _0x47b5b2;}import{existsSync}from'fs';export async function useEnv(_0x558dd2){const _0x188bc0=_0x47b5,_0x5cc948={'tZWCj':function(_0x256a5f,_0x4c3770,_0x230c0e){return _0x256a5f(_0x4c3770,_0x230c0e);},'dydcZ':_0x188bc0(0x196),'ZRpPD':'active-env.txt'},_0x1c6acf=join(process['cwd'](),_0x188bc0(0x196),_0x558dd2),_0xcf70e5=_0x5cc948['tZWCj'](join,_0x1c6acf,'settings.json');!existsSync(_0x1c6acf)&&(console[_0x188bc0(0x1a3)]('\x0a❌\x20Environment\x20\x22'+_0x558dd2+'\x22\x20not\x20found.'),console['error']('\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20'+_0x558dd2),process[_0x188bc0(0x1a1)](0x1));!existsSync(_0xcf70e5)&&(console[_0x188bc0(0x1a3)](_0x188bc0(0x199)+_0xcf70e5),console['error'](_0x188bc0(0x19f)+_0x558dd2),process['exit'](0x1));const _0x3a12f5=join(process['cwd'](),_0x5cc948[_0x188bc0(0x198)],_0x5cc948[_0x188bc0(0x1a2)]);await writeFile(_0x3a12f5,_0x558dd2),console[_0x188bc0(0x19b)]('\x0a✓\x20Now\x20using\x20environment\x20\x22'+_0x558dd2+'\x22');}function _0x3f3c(){const _0x12fd31=['log','987246lJCrfD','1254442mfQCbj','1710846KLXvSJ','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','5373702kBDsUt','exit','ZRpPD','error','15964660VxnLLq','30RFwOVy','18GuerXW','22720dFEgMX','.ranger','668qcYwrz','dydcZ','\x0a❌\x20Config\x20not\x20found\x20at\x20','2239048oXPyUV'];_0x3f3c=function(){return _0x12fd31;};return _0x3f3c();}
@@ -1 +1 @@
1
- {"version":3,"file":"useEnv.js","sourceRoot":"","sources":["../../src/commands/useEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE/C,mBAAmB;IACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,cAAc,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"useEnv.js","sourceRoot":"","sources":["../../src/commands/useEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEjD,mBAAmB;IACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,cAAc,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;AAC1D,CAAC"}