@ranger-testing/ranger-cli 1.1.3 → 1.1.5

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 (47) hide show
  1. package/build/cli.js +34 -8
  2. package/build/cli.js.map +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/addEnv.js.map +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/clean.js.map +1 -1
  7. package/build/commands/dataMcpServer.js +1 -1
  8. package/build/commands/feature.js +115 -28
  9. package/build/commands/feature.js.map +1 -1
  10. package/build/commands/hooks/sessionStart.js +2 -0
  11. package/build/commands/hooks/sessionStart.js.map +1 -1
  12. package/build/commands/index.js +1 -0
  13. package/build/commands/index.js.map +1 -1
  14. package/build/commands/login.js +29 -0
  15. package/build/commands/login.js.map +1 -0
  16. package/build/commands/skillup.js +6 -3
  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/updateEnv.js +1 -1
  21. package/build/commands/useEnv.js +1 -1
  22. package/build/commands/utils/browserSessionsApi.js +1 -1
  23. package/build/commands/utils/cliSecret.js +1 -1
  24. package/build/commands/utils/deviceAuth.js +184 -0
  25. package/build/commands/utils/deviceAuth.js.map +1 -0
  26. package/build/commands/utils/environment.js +3 -0
  27. package/build/commands/utils/environment.js.map +1 -1
  28. package/build/commands/utils/featureApi.js +44 -0
  29. package/build/commands/utils/featureApi.js.map +1 -1
  30. package/build/commands/utils/featureReportGenerator.js +8 -8
  31. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  32. package/build/commands/utils/keychain.js +1 -1
  33. package/build/commands/utils/keychain.js.map +1 -1
  34. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  35. package/build/commands/utils/rangerRoot.js +26 -1
  36. package/build/commands/utils/rangerRoot.js.map +1 -1
  37. package/build/commands/utils/settings.js +20 -0
  38. package/build/commands/utils/settings.js.map +1 -1
  39. package/build/commands/utils/skills.js +1 -1
  40. package/build/commands/verifyFeature.js +64 -23
  41. package/build/commands/verifyFeature.js.map +1 -1
  42. package/build/commands/verifyInBrowser.js +1 -1
  43. package/build/skills/ranger/SKILL.md +43 -2
  44. package/build/skills/ranger/feedback.md +64 -0
  45. package/build/skills/ranger/start.md +17 -1
  46. package/build/skills/ranger/verify.md +15 -5
  47. package/package.json +1 -2
@@ -0,0 +1,184 @@
1
+ import { exec } from 'child_process';
2
+ import { getCurrentEnvironment, ENVIRONMENT_CONFIGS, getApiBaseUrl, } from './environment.js';
3
+ import { storeToken, storeRefreshToken } from './keychain.js';
4
+ const WORKOS_DEVICE_AUTH_URL = 'https://api.workos.com/user_management/authorize/device';
5
+ const WORKOS_TOKEN_URL = 'https://api.workos.com/user_management/authenticate';
6
+ /**
7
+ * Request a device code from WorkOS for the device authorization flow.
8
+ */
9
+ export async function requestDeviceCode(clientId) {
10
+ const response = await fetch(WORKOS_DEVICE_AUTH_URL, {
11
+ method: 'POST',
12
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
13
+ body: new URLSearchParams({
14
+ client_id: clientId,
15
+ }),
16
+ });
17
+ if (!response.ok) {
18
+ const text = await response.text();
19
+ throw new Error(`Failed to request device code: ${response.status} ${text}`);
20
+ }
21
+ return response.json();
22
+ }
23
+ /**
24
+ * Poll WorkOS for token exchange after user authorizes the device.
25
+ * Resolves when the user completes auth, or rejects on expiry/error.
26
+ */
27
+ export async function pollForTokens(clientId, deviceCode, interval, expiresIn) {
28
+ const deadline = Date.now() + expiresIn * 1000;
29
+ let pollInterval = interval * 1000;
30
+ while (Date.now() < deadline) {
31
+ await sleep(pollInterval);
32
+ const response = await fetch(WORKOS_TOKEN_URL, {
33
+ method: 'POST',
34
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
35
+ body: new URLSearchParams({
36
+ client_id: clientId,
37
+ device_code: deviceCode,
38
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
39
+ }),
40
+ });
41
+ if (response.ok) {
42
+ return response.json();
43
+ }
44
+ const body = await response.json();
45
+ if (body.error === 'authorization_pending') {
46
+ continue;
47
+ }
48
+ if (body.error === 'slow_down') {
49
+ pollInterval += 1000;
50
+ continue;
51
+ }
52
+ // expired_token, access_denied, or other terminal error
53
+ throw new Error(body.error_description || body.error || 'Authentication failed');
54
+ }
55
+ throw new Error('Device authorization timed out');
56
+ }
57
+ /**
58
+ * Fetch the authenticated user's profile from the backend.
59
+ */
60
+ async function fetchUserProfile(workosAccessToken) {
61
+ const apiBaseUrl = getApiBaseUrl();
62
+ try {
63
+ const res = await fetch(`${apiBaseUrl}/organization/me`, {
64
+ method: 'GET',
65
+ headers: { 'workos-token': workosAccessToken },
66
+ });
67
+ if (res.ok)
68
+ return res.json();
69
+ }
70
+ catch {
71
+ // ignore
72
+ }
73
+ return null;
74
+ }
75
+ /**
76
+ * Build a unique CLI API key name by checking existing keys and incrementing.
77
+ * First key: "Alice's CLI Key"
78
+ * Second key: "Alice's CLI Key (2)"
79
+ * Third key: "Alice's CLI Key (3)"
80
+ */
81
+ function buildKeyName(baseName, existingKeys) {
82
+ const matching = existingKeys.filter((k) => k.name === baseName || k.name.startsWith(`${baseName} (`));
83
+ if (matching.length === 0)
84
+ return baseName;
85
+ return `${baseName} (${matching.length + 1})`;
86
+ }
87
+ /**
88
+ * Call the backend POST /api-keys endpoint to auto-provision an MCP API key,
89
+ * authenticated via the WorkOS access token.
90
+ *
91
+ * Names keys like "Alice's CLI Key", incrementing a number suffix if the user
92
+ * provisions multiple keys.
93
+ */
94
+ export async function provisionApiKey(workosAccessToken) {
95
+ const apiBaseUrl = getApiBaseUrl();
96
+ const headers = {
97
+ 'Content-Type': 'application/json',
98
+ 'workos-token': workosAccessToken,
99
+ };
100
+ const profile = await fetchUserProfile(workosAccessToken);
101
+ const firstName = profile?.firstName || profile?.email?.split('@')[0];
102
+ const baseName = firstName ? `${firstName}'s CLI Key` : 'CLI Key';
103
+ // List existing keys to determine the right suffix
104
+ let existingKeys = [];
105
+ try {
106
+ const listRes = await fetch(`${apiBaseUrl}/api-keys`, {
107
+ method: 'GET',
108
+ headers,
109
+ });
110
+ if (listRes.ok) {
111
+ const data = await listRes.json();
112
+ existingKeys = data.apiKeys;
113
+ }
114
+ }
115
+ catch {
116
+ // If listing fails, just use the base name
117
+ }
118
+ const keyName = buildKeyName(baseName, existingKeys);
119
+ const response = await fetch(`${apiBaseUrl}/api-keys`, {
120
+ method: 'POST',
121
+ headers,
122
+ body: JSON.stringify({
123
+ name: keyName,
124
+ scope: 'mcp:write',
125
+ }),
126
+ });
127
+ if (!response.ok) {
128
+ const text = await response.text();
129
+ throw new Error(`Failed to provision API key: ${response.status} ${text}`);
130
+ }
131
+ const data = await response.json();
132
+ return data.apiKey.token;
133
+ }
134
+ /**
135
+ * Open a URL in the user's default browser.
136
+ */
137
+ export function openBrowser(url) {
138
+ const platform = process.platform;
139
+ const cmd = platform === 'darwin'
140
+ ? 'open'
141
+ : platform === 'win32'
142
+ ? 'start'
143
+ : 'xdg-open';
144
+ exec(`${cmd} ${JSON.stringify(url)}`);
145
+ }
146
+ /**
147
+ * Run the full device authorization flow:
148
+ * 1. Request device code from WorkOS
149
+ * 2. Open browser for user to authenticate
150
+ * 3. Poll for tokens
151
+ * 4. Provision an MCP API key via the backend
152
+ * 5. Store the API key and refresh token
153
+ *
154
+ * Returns the provisioned API token.
155
+ */
156
+ export async function runDeviceAuthFlow() {
157
+ const env = getCurrentEnvironment();
158
+ const clientId = ENVIRONMENT_CONFIGS[env].workosClientId;
159
+ // Step 1: Request device code
160
+ const deviceCode = await requestDeviceCode(clientId);
161
+ // Step 2: Open browser and show code
162
+ console.log('\n🔐 Opening browser to log in...\n');
163
+ openBrowser(deviceCode.verification_uri_complete);
164
+ console.log(`If the browser doesn't open, visit: ${deviceCode.verification_uri_complete}`);
165
+ console.log(`Code: ${deviceCode.user_code}\n`);
166
+ // Step 3: Poll for tokens
167
+ process.stdout.write('Waiting for authentication...');
168
+ const tokens = await pollForTokens(clientId, deviceCode.device_code, deviceCode.interval, deviceCode.expires_in);
169
+ console.log(' ✓');
170
+ // Step 4: Provision API key
171
+ process.stdout.write('Provisioning API key...');
172
+ const apiToken = await provisionApiKey(tokens.access_token);
173
+ console.log(' ✓');
174
+ // Step 5: Store credentials
175
+ await storeToken(apiToken);
176
+ if (tokens.refresh_token) {
177
+ await storeRefreshToken(tokens.refresh_token);
178
+ }
179
+ return apiToken;
180
+ }
181
+ function sleep(ms) {
182
+ return new Promise((resolve) => setTimeout(resolve, ms));
183
+ }
184
+ //# sourceMappingURL=deviceAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceAuth.js","sourceRoot":"","sources":["../../../src/commands/utils/deviceAuth.ts"],"names":[],"mappings":"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"}
@@ -14,14 +14,17 @@ export const ENVIRONMENT_CONFIGS = {
14
14
  prod: {
15
15
  mcpServerUrl: 'https://mcp-server-716115358910.us-central1.run.app',
16
16
  apiBaseUrl: 'https://api.ranger.net',
17
+ workosClientId: 'client_01J9CBYM7M5ZETCF7G6614DXR2',
17
18
  },
18
19
  staging: {
19
20
  mcpServerUrl: 'https://mcp-server-301751771437.us-central1.run.app',
20
21
  apiBaseUrl: 'https://api.staging.ranger.net',
22
+ workosClientId: 'client_01J9CBYM2DKWV9HM17D95Z540K',
21
23
  },
22
24
  local: {
23
25
  mcpServerUrl: 'http://localhost:3100',
24
26
  apiBaseUrl: 'http://localhost:8080',
27
+ workosClientId: 'client_01J9CBYM2DKWV9HM17D95Z540K',
25
28
  },
26
29
  };
27
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/commands/utils/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC5B;IACI,IAAI,EAAE;QACF,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,wBAAwB;KACvC;IACD,OAAO,EAAE;QACL,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,gCAAgC;KAC/C;IACD,KAAK,EAAE;QACH,YAAY,EAAE,uBAAuB;QACrC,UAAU,EAAE,uBAAuB;KACtC;CACJ,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,YAAY,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/commands/utils/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC5B;IACI,IAAI,EAAE;QACF,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,wBAAwB;QACpC,cAAc,EAAE,mCAAmC;KACtD;IACD,OAAO,EAAE;QACL,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,gCAAgC;QAC5C,cAAc,EAAE,mCAAmC;KACtD;IACD,KAAK,EAAE;QACH,YAAY,EAAE,uBAAuB;QACrC,UAAU,EAAE,uBAAuB;QACnC,cAAc,EAAE,mCAAmC;KACtD;CACJ,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,YAAY,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC;AACnE,CAAC"}
@@ -254,4 +254,48 @@ export async function concludeSession(featureId, sessionId) {
254
254
  }
255
255
  return response.json();
256
256
  }
257
+ /**
258
+ * Get action items for a feature - leaf items that can be verified.
259
+ * Returns non-closed items with no non-closed children, plus unaddressed comment counts.
260
+ */
261
+ export async function getActionItems(featureId) {
262
+ const token = await getToken();
263
+ if (!token) {
264
+ throw new Error('No API token configured. Run: ranger start <token>');
265
+ }
266
+ const baseUrl = getApiBaseUrl();
267
+ const response = await fetch(`${baseUrl}/api/v1/mcp/features/${featureId}/action-items`, {
268
+ method: 'GET',
269
+ headers: {
270
+ Authorization: `Bearer ${token}`,
271
+ },
272
+ });
273
+ if (!response.ok) {
274
+ const error = await response.text();
275
+ throw new Error(`Failed to get action items: ${error}`);
276
+ }
277
+ return response.json();
278
+ }
279
+ /**
280
+ * Get feedback and verification instructions for a checklist item.
281
+ * Returns unaddressed comments, parent description, and canonical flow.
282
+ */
283
+ export async function getItemFeedback(featureId, itemId) {
284
+ const token = await getToken();
285
+ if (!token) {
286
+ throw new Error('No API token configured. Run: ranger start <token>');
287
+ }
288
+ const baseUrl = getApiBaseUrl();
289
+ const response = await fetch(`${baseUrl}/api/v1/mcp/features/${featureId}/checklist-items/${itemId}/feedback`, {
290
+ method: 'GET',
291
+ headers: {
292
+ Authorization: `Bearer ${token}`,
293
+ },
294
+ });
295
+ if (!response.ok) {
296
+ const error = await response.text();
297
+ throw new Error(`Failed to get item feedback: ${error}`);
298
+ }
299
+ return response.json();
300
+ }
257
301
  //# sourceMappingURL=featureApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"featureApi.js","sourceRoot":"","sources":["../../../src/commands/utils/featureApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"featureApi.js","sourceRoot":"","sources":["../../../src/commands/utils/featureApi.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ function getStatusEmoji(status) {
20
20
  return '\ud83d\udfe0'; // orange circle 🟠
21
21
  case 'blocked':
22
22
  return '\ud83d\uded1'; // stop sign
23
- case 'canceled':
23
+ case 'closed':
24
24
  return '\u26d4'; // no entry
25
25
  default:
26
26
  return '\u2753'; // question mark
@@ -113,17 +113,17 @@ export function generateFeatureReport(data) {
113
113
  lines.push('');
114
114
  }
115
115
  // Checklist Progress
116
- const nonCanceledItems = checklistItems.filter((i) => i.status !== 'canceled');
116
+ const nonClosedItems = checklistItems.filter((i) => i.status !== 'closed');
117
117
  const verifiedCount = checklistItems.filter((i) => i.status === 'verified').length;
118
- lines.push(`## Checklist Progress (${verifiedCount}/${nonCanceledItems.length} verified)`);
118
+ lines.push(`## Checklist Progress (${verifiedCount}/${nonClosedItems.length} verified)`);
119
119
  lines.push('');
120
120
  // Sort items by position
121
121
  const sortedItems = [...checklistItems].sort((a, b) => a.position - b.position);
122
122
  for (const item of sortedItems) {
123
123
  const emoji = getStatusEmoji(item.status);
124
- const isCanceled = item.status === 'canceled';
125
- const prefix = isCanceled ? '~~' : '';
126
- const suffix = isCanceled ? '~~' : '';
124
+ const isClosed = item.status === 'closed';
125
+ const prefix = isClosed ? '~~' : '';
126
+ const suffix = isClosed ? '~~' : '';
127
127
  lines.push(`### ${emoji} ${prefix}${item.description}${suffix}`);
128
128
  lines.push('');
129
129
  if (item.status === 'verified' && item.verifiedAt) {
@@ -135,8 +135,8 @@ export function generateFeatureReport(data) {
135
135
  lines.push(`- **Reason:** ${item.blockedReason}`);
136
136
  }
137
137
  }
138
- if (item.status === 'canceled' && item.canceledAt) {
139
- lines.push(`- **Canceled:** ${formatDate(item.canceledAt)}`);
138
+ if (item.status === 'closed' && item.closedAt) {
139
+ lines.push(`- **Closed:** ${formatDate(item.closedAt)}`);
140
140
  if (item.canceledReason) {
141
141
  lines.push(`- **Reason:** ${item.canceledReason}`);
142
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"featureReportGenerator.js","sourceRoot":"","sources":["../../../src/commands/utils/featureReportGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"featureReportGenerator.js","sourceRoot":"","sources":["../../../src/commands/utils/featureReportGenerator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- const _0x265cda=_0x4ae9;(function(_0x182f12,_0x261c0e){const _0x2da1b5=_0x4ae9,_0x2f61e1=_0x182f12();while(!![]){try{const _0x3357a1=-parseInt(_0x2da1b5(0xef))/0x1*(-parseInt(_0x2da1b5(0xe8))/0x2)+parseInt(_0x2da1b5(0xd8))/0x3+-parseInt(_0x2da1b5(0xec))/0x4*(parseInt(_0x2da1b5(0xf0))/0x5)+-parseInt(_0x2da1b5(0xe2))/0x6*(parseInt(_0x2da1b5(0xf4))/0x7)+parseInt(_0x2da1b5(0xdb))/0x8+parseInt(_0x2da1b5(0xe7))/0x9+-parseInt(_0x2da1b5(0xf2))/0xa*(parseInt(_0x2da1b5(0xf3))/0xb);if(_0x3357a1===_0x261c0e)break;else _0x2f61e1['push'](_0x2f61e1['shift']());}catch(_0x3fdd4a){_0x2f61e1['push'](_0x2f61e1['shift']());}}}(_0x261a,0xbbc16));const _0x12cfdc=(function(){const _0x263f45={'eIOma':function(_0x4d4504,_0x1f5ef6){return _0x4d4504===_0x1f5ef6;},'uALyB':function(_0x1d18a6,_0x5b490c){return _0x1d18a6!==_0x5b490c;},'bXutf':'VcBpY'};let _0x1b7c51=!![];return function(_0x536282,_0x15d6e8){const _0x8ee828=_0x4ae9;if(_0x263f45[_0x8ee828(0xd7)]('VcBpY',_0x263f45[_0x8ee828(0xeb)]))return!!_0x4084dd['env'][_0x8ee828(0xf1)];else{const _0x4ffae3=_0x1b7c51?function(){const _0x488ec9=_0x8ee828;if(_0x263f45['eIOma'](_0x488ec9(0xde),_0x488ec9(0xde))){if(_0x15d6e8){const _0x10c9e9=_0x15d6e8[_0x488ec9(0xe1)](_0x536282,arguments);return _0x15d6e8=null,_0x10c9e9;}}else{const _0x534aaf=_0x3cf150?function(){const _0x4b8d4b=_0x488ec9;if(_0x2816a4){const _0x3555e0=_0x465545[_0x4b8d4b(0xe1)](_0x1f2143,arguments);return _0x4fe8bb=null,_0x3555e0;}}:function(){};return _0x437102=![],_0x534aaf;}}:function(){};return _0x1b7c51=![],_0x4ffae3;}};}()),_0x23613f=_0x12cfdc(this,function(){const _0x1f4b44=_0x4ae9,_0x2b302a={'ARsSe':'(((.+)+)+)+$'};return _0x23613f['toString']()[_0x1f4b44(0xe3)](_0x2b302a[_0x1f4b44(0xd9)])[_0x1f4b44(0xee)]()[_0x1f4b44(0xe4)](_0x23613f)[_0x1f4b44(0xe3)](_0x2b302a[_0x1f4b44(0xd9)]);});_0x23613f();import _0x579ab0 from'keytar';import{appendFile}from'fs/promises';const SERVICE_NAME=_0x265cda(0xda),ACCOUNT_TOKEN='api-token',ENV_TOKEN=_0x265cda(0xed);function isGitHubCI(){const _0x616263=_0x265cda;return!!process[_0x616263(0xe5)][_0x616263(0xf1)];}async function writeToGitHubEnv(_0x132eae,_0x21add7){const _0x358e16=_0x265cda,_0x50ab34={'XwGFW':_0x358e16(0xea),'nSUhj':function(_0x11d45d,_0x2383f5,_0x3815e3){return _0x11d45d(_0x2383f5,_0x3815e3);}},_0x2a31aa=process[_0x358e16(0xe5)][_0x358e16(0xf1)];if(_0x2a31aa){if(_0x50ab34[_0x358e16(0xe9)]!==_0x50ab34[_0x358e16(0xe9)]){if(_0x32a6a0){const _0x528ada=_0x5464b1['apply'](_0x58ffe0,arguments);return _0x570067=null,_0x528ada;}}else await _0x50ab34['nSUhj'](appendFile,_0x2a31aa,_0x132eae+'='+_0x21add7+'\x0a');}}function _0x4ae9(_0x56adc6,_0x668563){_0x56adc6=_0x56adc6-0xd7;const _0x2a4939=_0x261a();let _0x23613f=_0x2a4939[_0x56adc6];if(_0x4ae9['cRknKF']===undefined){var _0x12cfdc=function(_0x14b3d8){const _0x2ac61e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fbb28='',_0x1077cd='',_0xee6e33=_0x3fbb28+_0x12cfdc;for(let _0x3dcd0e=0x0,_0x36e0db,_0x4b17ce,_0x27979c=0x0;_0x4b17ce=_0x14b3d8['charAt'](_0x27979c++);~_0x4b17ce&&(_0x36e0db=_0x3dcd0e%0x4?_0x36e0db*0x40+_0x4b17ce:_0x4b17ce,_0x3dcd0e++%0x4)?_0x3fbb28+=_0xee6e33['charCodeAt'](_0x27979c+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x36e0db>>(-0x2*_0x3dcd0e&0x6)):_0x3dcd0e:0x0){_0x4b17ce=_0x2ac61e['indexOf'](_0x4b17ce);}for(let _0x4a4a0d=0x0,_0xf7cfbc=_0x3fbb28['length'];_0x4a4a0d<_0xf7cfbc;_0x4a4a0d++){_0x1077cd+='%'+('00'+_0x3fbb28['charCodeAt'](_0x4a4a0d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1077cd);};_0x4ae9['qvxyhH']=_0x12cfdc,_0x4ae9['OjfCIC']={},_0x4ae9['cRknKF']=!![];}const _0x261ae9=_0x2a4939[0x0],_0x4ae99c=_0x56adc6+_0x261ae9,_0x358960=_0x4ae9['OjfCIC'][_0x4ae99c];if(!_0x358960){const _0x3cf150=function(_0x1e63b7){this['dessDe']=_0x1e63b7,this['HqfZuY']=[0x1,0x0,0x0],this['ekzLyN']=function(){return'newState';},this['ACGcYV']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['tOxywt']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3cf150['prototype']['vSYEHg']=function(){const _0x1a93df=new RegExp(this['ACGcYV']+this['tOxywt']),_0x40a235=_0x1a93df['test'](this['ekzLyN']['toString']())?--this['HqfZuY'][0x1]:--this['HqfZuY'][0x0];return this['BEmXXi'](_0x40a235);},_0x3cf150['prototype']['BEmXXi']=function(_0x1eec2e){if(!Boolean(~_0x1eec2e))return _0x1eec2e;return this['vyfODB'](this['dessDe']);},_0x3cf150['prototype']['vyfODB']=function(_0x437102){for(let _0x2816a4=0x0,_0x5c4700=this['HqfZuY']['length'];_0x2816a4<_0x5c4700;_0x2816a4++){this['HqfZuY']['push'](Math['round'](Math['random']())),_0x5c4700=this['HqfZuY']['length'];}return _0x437102(this['HqfZuY'][0x0]);},new _0x3cf150(_0x4ae9)['vSYEHg'](),_0x23613f=_0x4ae9['qvxyhH'](_0x23613f),_0x4ae9['OjfCIC'][_0x4ae99c]=_0x23613f;}else _0x23613f=_0x358960;return _0x23613f;}export async function storeToken(_0x246e73){const _0x526afe=_0x265cda,_0x1e2532={'ghknq':function(_0x55d359){return _0x55d359();},'fnfht':function(_0x488ab7,_0x33e2b8){return _0x488ab7===_0x33e2b8;},'yhgsE':'YoXbK','laQiD':function(_0x68a674,_0x4f771e,_0x158d0c){return _0x68a674(_0x4f771e,_0x158d0c);}};if(_0x1e2532['ghknq'](isGitHubCI)){if(_0x1e2532[_0x526afe(0xdc)](_0x1e2532[_0x526afe(0xdf)],_0x1e2532['yhgsE']))await _0x1e2532['laQiD'](writeToGitHubEnv,ENV_TOKEN,_0x246e73);else{const _0x5815dc=_0x4c6c6b[_0x526afe(0xe1)](_0x4c11da,arguments);return _0x23bf68=null,_0x5815dc;}}else await _0x579ab0[_0x526afe(0xdd)](SERVICE_NAME,ACCOUNT_TOKEN,_0x246e73);}export async function getToken(){const _0xf9cc4c=_0x265cda;if(process[_0xf9cc4c(0xe5)][ENV_TOKEN])return process[_0xf9cc4c(0xe5)][ENV_TOKEN];return await _0x579ab0[_0xf9cc4c(0xe0)](SERVICE_NAME,ACCOUNT_TOKEN);}function _0x261a(){const _0x327cd2=['ntrjEu9HsKG','C2vHCMnO','y29UC3rYDwn0B3i','zw52','zgvSzxrLugfZC3DVCMq','nZiXnJeZn21nrxDssq','mLr0uwLUrW','whDhrLC','A0zSz0G','yLH1Dgy','ntGXmNf5z1zWEa','uKfor0vsx01duf9ut0TftG','Dg9tDhjPBMC','nJuYnJa5EKXOq3ns','nti2mfLNyuPYsW','r0Lusfvcx0vovG','otiYmJKYme54v3Lwuq','mtfiqKfyDMi','nZC0ntvKCwHOBMW','DufmEui','mZqYnJaWmffkBMv4wa','qvjZu2u','CMfUz2vYlwnSAq','ntC4ndyXnLHrqw9WCW','zM5MAhq','C2v0ugfZC3DVCMq','s1fPwNy','EwHNC0u','z2v0ugfZC3DVCMq','yxbWBhK'];_0x261a=function(){return _0x327cd2;};return _0x261a();}export async function deleteToken(){const _0x36dfa9=_0x265cda;return await _0x579ab0[_0x36dfa9(0xe6)](SERVICE_NAME,ACCOUNT_TOKEN);}export async function deleteAllCredentials(){const _0x164345={'ZgSfw':function(_0x513324){return _0x513324();}};await _0x164345['ZgSfw'](deleteToken);}
1
+ const _0x24a1c0=_0x20d4;(function(_0x50357f,_0x1a67a2){const _0x114aa9=_0x20d4,_0x42c35c=_0x50357f();while(!![]){try{const _0x25b37a=-parseInt(_0x114aa9(0x1a1))/0x1+-parseInt(_0x114aa9(0x1bd))/0x2+-parseInt(_0x114aa9(0x194))/0x3+-parseInt(_0x114aa9(0x1a9))/0x4+-parseInt(_0x114aa9(0x1aa))/0x5*(-parseInt(_0x114aa9(0x1be))/0x6)+parseInt(_0x114aa9(0x1bc))/0x7+parseInt(_0x114aa9(0x197))/0x8*(parseInt(_0x114aa9(0x1a4))/0x9);if(_0x25b37a===_0x1a67a2)break;else _0x42c35c['push'](_0x42c35c['shift']());}catch(_0x42a658){_0x42c35c['push'](_0x42c35c['shift']());}}}(_0x5c52,0x4b973));const _0x483bc=(function(){const _0x1dea24=_0x20d4,_0x25780f={'JiGYF':_0x1dea24(0x193),'QgsHs':_0x1dea24(0x1a0),'krpKa':_0x1dea24(0x1b5),'MrkaN':function(_0x5561b2,_0x48a03d){return _0x5561b2===_0x48a03d;},'PNzKy':_0x1dea24(0x1a6),'jWmog':_0x1dea24(0x18f)};let _0x4a94d1=!![];return function(_0x59ee0d,_0x3c5de){const _0x391e65=_0x1dea24,_0x582380={'ZGUfN':_0x25780f[_0x391e65(0x195)],'dsNKU':function(_0x3031c8,_0x428102){return _0x3031c8===_0x428102;},'SWnrM':_0x25780f[_0x391e65(0x1a2)],'jvpBG':_0x25780f[_0x391e65(0x1ac)]};if(_0x25780f[_0x391e65(0x1b2)](_0x25780f[_0x391e65(0x1b9)],_0x25780f['jWmog']))return!!_0x51151d[_0x391e65(0x1c1)][_0x391e65(0x1ad)];else{const _0x1dc788=_0x4a94d1?function(){const _0x273ff6=_0x391e65;if(_0x582380['dsNKU'](_0x582380[_0x273ff6(0x19d)],_0x582380[_0x273ff6(0x19d)])){if(_0x3c5de){if(_0x582380['jvpBG']!==_0x582380[_0x273ff6(0x191)])return _0x120166[_0x273ff6(0x198)]()['search'](_0x582380[_0x273ff6(0x1a7)])[_0x273ff6(0x198)]()[_0x273ff6(0x199)](_0x3738e0)[_0x273ff6(0x1a5)](_0x582380['ZGUfN']);else{const _0x579b3a=_0x3c5de[_0x273ff6(0x19c)](_0x59ee0d,arguments);return _0x3c5de=null,_0x579b3a;}}}else{const _0xda96d3=_0x1aa84e[_0x273ff6(0x19c)](_0xa17bae,arguments);return _0x5f5d74=null,_0xda96d3;}}:function(){};return _0x4a94d1=![],_0x1dc788;}};}()),_0x27f892=_0x483bc(this,function(){const _0x8d8ff5=_0x20d4,_0x7aaa51={'fGKPl':_0x8d8ff5(0x193)};return _0x27f892[_0x8d8ff5(0x198)]()[_0x8d8ff5(0x1a5)](_0x7aaa51['fGKPl'])['toString']()[_0x8d8ff5(0x199)](_0x27f892)[_0x8d8ff5(0x1a5)](_0x7aaa51['fGKPl']);});_0x27f892();import{appendFile,readFile,writeFile,mkdir,unlink}from'fs/promises';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';const ENV_TOKEN=_0x24a1c0(0x19f),TOKEN_DIR=getRangerHomeDir(),TOKEN_PATH=join(TOKEN_DIR,_0x24a1c0(0x1b4)),REFRESH_TOKEN_PATH=join(TOKEN_DIR,_0x24a1c0(0x1b3));function isGitHubCI(){const _0x414134=_0x24a1c0;return!!process[_0x414134(0x1c1)][_0x414134(0x1ad)];}async function writeToGitHubEnv(_0x48b0a6,_0x5133a1){const _0x12c5d1=_0x24a1c0,_0x18583d={'kouBz':function(_0x3fa25e,_0x53be16,_0x2ff31d){return _0x3fa25e(_0x53be16,_0x2ff31d);}},_0x4d16a5=process[_0x12c5d1(0x1c1)][_0x12c5d1(0x1ad)];_0x4d16a5&&await _0x18583d[_0x12c5d1(0x1c0)](appendFile,_0x4d16a5,_0x48b0a6+'='+_0x5133a1+'\x0a');}export async function storeToken(_0xfd7967){const _0x2c7ad8=_0x24a1c0,_0x23a275={'HCduj':function(_0x3cf475){return _0x3cf475();},'StanP':function(_0x2e273e,_0x17b19b){return _0x2e273e===_0x17b19b;},'AoKRP':_0x2c7ad8(0x1ae),'bYQjJ':_0x2c7ad8(0x196),'dzQcN':function(_0x33dfc5,_0x3a8bb4,_0x1843f1){return _0x33dfc5(_0x3a8bb4,_0x1843f1);},'nYfcg':function(_0x7cd35f,_0x1ba946,_0x278e40){return _0x7cd35f(_0x1ba946,_0x278e40);},'nDHHu':function(_0x261524,_0x369298,_0x3952af,_0x1ccd2e){return _0x261524(_0x369298,_0x3952af,_0x1ccd2e);}};if(_0x23a275['HCduj'](isGitHubCI)){if(_0x23a275[_0x2c7ad8(0x1ab)](_0x23a275[_0x2c7ad8(0x19b)],_0x23a275[_0x2c7ad8(0x1b6)]))return null;else await _0x23a275[_0x2c7ad8(0x19e)](writeToGitHubEnv,ENV_TOKEN,_0xfd7967);}else await _0x23a275[_0x2c7ad8(0x1b7)](mkdir,TOKEN_DIR,{'recursive':!![]}),await _0x23a275[_0x2c7ad8(0x1b0)](writeFile,TOKEN_PATH,_0xfd7967,{'mode':0x180});}function _0x20d4(_0x3429ed,_0x2b259d){_0x3429ed=_0x3429ed-0x18f;const _0x47cafd=_0x5c52();let _0x27f892=_0x47cafd[_0x3429ed];if(_0x20d4['YGdYwE']===undefined){var _0x483bc=function(_0xff49a9){const _0x4750e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x144e0c='',_0x244716='',_0xcd3c96=_0x144e0c+_0x483bc;for(let _0x2d29f4=0x0,_0x9f169,_0x13494d,_0xaf6f2e=0x0;_0x13494d=_0xff49a9['charAt'](_0xaf6f2e++);~_0x13494d&&(_0x9f169=_0x2d29f4%0x4?_0x9f169*0x40+_0x13494d:_0x13494d,_0x2d29f4++%0x4)?_0x144e0c+=_0xcd3c96['charCodeAt'](_0xaf6f2e+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x9f169>>(-0x2*_0x2d29f4&0x6)):_0x2d29f4:0x0){_0x13494d=_0x4750e7['indexOf'](_0x13494d);}for(let _0x2faa04=0x0,_0x1ff1be=_0x144e0c['length'];_0x2faa04<_0x1ff1be;_0x2faa04++){_0x244716+='%'+('00'+_0x144e0c['charCodeAt'](_0x2faa04)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x244716);};_0x20d4['xlEQGr']=_0x483bc,_0x20d4['USjzun']={},_0x20d4['YGdYwE']=!![];}const _0x5c5213=_0x47cafd[0x0],_0x20d469=_0x3429ed+_0x5c5213,_0x19bab7=_0x20d4['USjzun'][_0x20d469];if(!_0x19bab7){const _0x58d788=function(_0x151303){this['pPflZm']=_0x151303,this['xypIOa']=[0x1,0x0,0x0],this['gQzjCS']=function(){return'newState';},this['afRISz']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['WmfsQl']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x58d788['prototype']['iRrbKf']=function(){const _0x8edda5=new RegExp(this['afRISz']+this['WmfsQl']),_0x1628b0=_0x8edda5['test'](this['gQzjCS']['toString']())?--this['xypIOa'][0x1]:--this['xypIOa'][0x0];return this['jlETWx'](_0x1628b0);},_0x58d788['prototype']['jlETWx']=function(_0x2f3a76){if(!Boolean(~_0x2f3a76))return _0x2f3a76;return this['rVLVCX'](this['pPflZm']);},_0x58d788['prototype']['rVLVCX']=function(_0x495107){for(let _0x15f1ed=0x0,_0x5d3e3c=this['xypIOa']['length'];_0x15f1ed<_0x5d3e3c;_0x15f1ed++){this['xypIOa']['push'](Math['round'](Math['random']())),_0x5d3e3c=this['xypIOa']['length'];}return _0x495107(this['xypIOa'][0x0]);},new _0x58d788(_0x20d4)['iRrbKf'](),_0x27f892=_0x20d4['xlEQGr'](_0x27f892),_0x20d4['USjzun'][_0x20d469]=_0x27f892;}else _0x27f892=_0x19bab7;return _0x27f892;}export async function getToken(){const _0x362ded=_0x24a1c0,_0x301d59={'yBWjt':'yoBwg','SkDXC':_0x362ded(0x190)};if(process[_0x362ded(0x1c1)][ENV_TOKEN])return process[_0x362ded(0x1c1)][ENV_TOKEN];try{if(_0x301d59[_0x362ded(0x19a)]!==_0x301d59[_0x362ded(0x19a)]){const _0x436846=_0x58d788?function(){if(_0x15f1ed){const _0x270c3e=_0x5d381e['apply'](_0x49bad5,arguments);return _0x186a63=null,_0x270c3e;}}:function(){};return _0x495107=![],_0x436846;}else{const _0x42b665=await readFile(TOKEN_PATH,_0x301d59[_0x362ded(0x1bf)]);return _0x42b665[_0x362ded(0x1a8)]()||null;}}catch{return null;}}export async function deleteToken(){const _0x1c38e2=_0x24a1c0,_0x353b8a={'wXHzl':function(_0x549ef6,_0x467ec5){return _0x549ef6(_0x467ec5);}};try{return await _0x353b8a[_0x1c38e2(0x1b1)](unlink,TOKEN_PATH),!![];}catch{return![];}}export async function storeRefreshToken(_0x107134){const _0xc0db26=_0x24a1c0,_0x12f526={'JVSCx':function(_0x2cd8e6,_0x39e6bd,_0x41cff4){return _0x2cd8e6(_0x39e6bd,_0x41cff4);}};await _0x12f526[_0xc0db26(0x1bb)](mkdir,TOKEN_DIR,{'recursive':!![]}),await writeFile(REFRESH_TOKEN_PATH,_0x107134,{'mode':0x180});}export async function getRefreshToken(){const _0x2791e3=_0x24a1c0,_0x45320d={'UttEW':function(_0x37ebfd,_0x44e261,_0x4e4fdf){return _0x37ebfd(_0x44e261,_0x4e4fdf);},'mADrg':function(_0x775840,_0x9df3ad){return _0x775840!==_0x9df3ad;},'ZnjDS':'vhXGE','fBWbU':'unBSh'};try{const _0x59ac1c=await _0x45320d['UttEW'](readFile,REFRESH_TOKEN_PATH,_0x2791e3(0x190));return _0x59ac1c[_0x2791e3(0x1a8)]()||null;}catch{return _0x45320d[_0x2791e3(0x1af)](_0x45320d[_0x2791e3(0x192)],_0x45320d[_0x2791e3(0x1ba)])?null:![];}}export async function deleteRefreshToken(){const _0x5699af=_0x24a1c0,_0x2ab306={'dPequ':function(_0x997698,_0x5d7f67){return _0x997698===_0x5d7f67;},'RGKIJ':'jggUj','qOWSq':'coJmD','Iivtd':function(_0x257571,_0x40ed85){return _0x257571(_0x40ed85);}};try{return _0x2ab306['dPequ'](_0x2ab306[_0x5699af(0x1b8)],_0x2ab306['qOWSq'])?![]:(await _0x2ab306['Iivtd'](unlink,REFRESH_TOKEN_PATH),!![]);}catch{return![];}}function _0x5c52(){const _0x29b805=['v0PhwLO','oda4mteYreLcDKvP','Dg9tDhjPBMC','y29UC3rYDwn0B3i','EujxANq','qw9luLa','yxbWBhK','u1DUCK0','zhPry04','uKfor0vsx01duf9ut0TftG','s2DLAuC','mtCZmJyYwNvzEwzR','uwDZshm','s1rxy2S','nZjkAuXOBxy','C2vHCMnO','thDSC3m','wKDvzK4','DhjPBq','nta4mdK2rffJte56','mJbsC1LYsvq','u3rHBLa','A3jWs2e','r0Lusfvcx0vovG','DejyDLG','BufeCMC','BKrishu','D1HiEMW','txjRyu4','CMvMCMvZAc50Ehq','y2XPlNr4Da','A0vLv1C','yLLrAKO','BLLMy2C','uKDlsuO','ue56s3K','zKjxyLu','sLztq3G','nZeZnJvMseLJu2y','nZu0mtqWvK55yxbR','nti2nJuWy1rKA1Hs','u2Tewem','A291qNO','zw52','vvfsAxm','DxrMltG','ANzWqKC','wM5Qrfm','kcGOlISPkYKRksSK','ntq3mJK2vKfPzezK','sMLhwuy'];_0x5c52=function(){return _0x29b805;};return _0x5c52();}export async function deleteAllCredentials(){const _0x1a42e5=_0x24a1c0,_0x3b54ff={'KTWck':function(_0x5a7c7a){return _0x5a7c7a();}};await _0x3b54ff[_0x1a42e5(0x1a3)](deleteToken),await _0x3b54ff[_0x1a42e5(0x1a3)](deleteRefreshToken);}
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/commands/utils/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,aAAa,GAAG,WAAW,CAAC;AAElC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC;;GAEG;AACH,SAAS,UAAU;IACf,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa;IAC1C,IAAI,UAAU,EAAE,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACJ,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC1B,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,wBAAwB;IACxB,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,WAAW,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/commands/utils/keychain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- function _0x2858(){const _0xe23184=['yxbWBhK','nZuXuxr1qLbr','mJa2nZeYnunUzhf0sq','y29UC3rYDwn0B3i','C2vHCMnO','C3rYAw5NAwz5','odu0ndKWnMj0vNfowq','l2fWAs92ms9Ty3aVBg9JywWTywDLBNqTAw5ZDgfSBgf0Aw9UCW','mta4odm2ntzHyLPbsxe','qKfis1e','mJC4mdaXndrhz1rcrvK','BwrNwKe','mZy2otiWmwfxyLjoDa','t2XnANm','vfzRrfe','oxjeuLnfuW','rxj0yu8','mZe0nKLwrM9wza','qMvHCMvYia','rgDlwK0','Dgv4Da','ue9tva','Dg9tDhjPBMC','nZa0otKYoeLyvMvOua','yxbWBgLJyxrPB24VANnVBG','zxjYB3i'];_0x2858=function(){return _0xe23184;};return _0x2858();}(function(_0x2f8b2e,_0x9d37b9){const _0x2b9b43=_0x4e40,_0x1c1731=_0x2f8b2e();while(!![]){try{const _0x17f63d=parseInt(_0x2b9b43(0x195))/0x1*(-parseInt(_0x2b9b43(0x1a5))/0x2)+parseInt(_0x2b9b43(0x1a0))/0x3+parseInt(_0x2b9b43(0x191))/0x4+-parseInt(_0x2b9b43(0x196))/0x5+parseInt(_0x2b9b43(0x19a))/0x6+parseInt(_0x2b9b43(0x19c))/0x7+parseInt(_0x2b9b43(0x19e))/0x8*(-parseInt(_0x2b9b43(0x1a3))/0x9);if(_0x17f63d===_0x9d37b9)break;else _0x1c1731['push'](_0x1c1731['shift']());}catch(_0x144e6d){_0x1c1731['push'](_0x1c1731['shift']());}}}(_0x2858,0xda716));const _0x5606c0=(function(){const _0x20af75=_0x4e40,_0xa6d37b={'ErtaO':function(_0x402e74,_0x1efc60){return _0x402e74===_0x1efc60;},'DgKZM':_0x20af75(0x1a1)};let _0x337eda=!![];return function(_0x1db0fd,_0x48669a){const _0x9196ea=_0x20af75;if(_0xa6d37b[_0x9196ea(0x1a4)](_0xa6d37b[_0x9196ea(0x1a7)],_0xa6d37b[_0x9196ea(0x1a7)])){const _0x2b2270=_0x337eda?function(){if(_0x48669a){const _0x38963a=_0x48669a['apply'](_0x1db0fd,arguments);return _0x48669a=null,_0x38963a;}}:function(){};return _0x337eda=![],_0x2b2270;}else{const _0x183605=_0x583d95?function(){const _0x24996f=_0x9196ea;if(_0x31a3b5){const _0x622e11=_0x4626ac[_0x24996f(0x194)](_0x43017c,arguments);return _0x592a42=null,_0x622e11;}}:function(){};return _0x41c6e1=![],_0x183605;}};}()),_0x3ba0f4=_0x5606c0(this,function(){const _0xaddb0c=_0x4e40,_0x445085={'BAHKQ':'(((.+)+)+)+$'};return _0x3ba0f4[_0xaddb0c(0x1aa)]()[_0xaddb0c(0x198)](_0x445085[_0xaddb0c(0x19d)])[_0xaddb0c(0x1aa)]()[_0xaddb0c(0x197)](_0x3ba0f4)['search'](_0x445085[_0xaddb0c(0x19d)]);});_0x3ba0f4();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x4e40(_0x44dbd0,_0x532979){_0x44dbd0=_0x44dbd0-0x191;const _0x180f44=_0x2858();let _0x3ba0f4=_0x180f44[_0x44dbd0];if(_0x4e40['XdBWBV']===undefined){var _0x5606c0=function(_0x1486e8){const _0x292d5b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10e274='',_0x298fbb='',_0x40fb1e=_0x10e274+_0x5606c0;for(let _0x454b54=0x0,_0x45f3e5,_0x853912,_0x413b05=0x0;_0x853912=_0x1486e8['charAt'](_0x413b05++);~_0x853912&&(_0x45f3e5=_0x454b54%0x4?_0x45f3e5*0x40+_0x853912:_0x853912,_0x454b54++%0x4)?_0x10e274+=_0x40fb1e['charCodeAt'](_0x413b05+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x45f3e5>>(-0x2*_0x454b54&0x6)):_0x454b54:0x0){_0x853912=_0x292d5b['indexOf'](_0x853912);}for(let _0x549cfb=0x0,_0x495812=_0x10e274['length'];_0x549cfb<_0x495812;_0x549cfb++){_0x298fbb+='%'+('00'+_0x10e274['charCodeAt'](_0x549cfb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x298fbb);};_0x4e40['AMaEkr']=_0x5606c0,_0x4e40['AjmvDl']={},_0x4e40['XdBWBV']=!![];}const _0x28587a=_0x180f44[0x0],_0x4e4039=_0x44dbd0+_0x28587a,_0x2b6de2=_0x4e40['AjmvDl'][_0x4e4039];if(!_0x2b6de2){const _0x583d95=function(_0x4ee0f9){this['BKvjDj']=_0x4ee0f9,this['WKmerf']=[0x1,0x0,0x0],this['XszOZd']=function(){return'newState';},this['JBIjuQ']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['GczKQZ']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x583d95['prototype']['vuCFyy']=function(){const _0x1f493e=new RegExp(this['JBIjuQ']+this['GczKQZ']),_0x4e0516=_0x1f493e['test'](this['XszOZd']['toString']())?--this['WKmerf'][0x1]:--this['WKmerf'][0x0];return this['jWihnA'](_0x4e0516);},_0x583d95['prototype']['jWihnA']=function(_0x43e57){if(!Boolean(~_0x43e57))return _0x43e57;return this['pndaad'](this['BKvjDj']);},_0x583d95['prototype']['pndaad']=function(_0x41c6e1){for(let _0x31a3b5=0x0,_0x51a326=this['WKmerf']['length'];_0x31a3b5<_0x51a326;_0x31a3b5++){this['WKmerf']['push'](Math['round'](Math['random']())),_0x51a326=this['WKmerf']['length'];}return _0x41c6e1(this['WKmerf'][0x0]);},new _0x583d95(_0x4e40)['vuCFyy'](),_0x3ba0f4=_0x4e40['AMaEkr'](_0x3ba0f4),_0x4e40['AjmvDl'][_0x4e4039]=_0x3ba0f4;}else _0x3ba0f4=_0x2b6de2;return _0x3ba0f4;}export async function logLocalAgentInstallation(_0x283cc0,_0x3bf7fb,_0x21ae04){const _0xc215a2=_0x4e40,_0x5d0f4e={'mdgZA':function(_0x3b1410){return _0x3b1410();},'TVkDQ':_0xc215a2(0x1a9),'WphQO':_0xc215a2(0x192)},_0x2fe647=await _0x5d0f4e['mdgZA'](getToken);if(!_0x2fe647)return;const _0x500ae0=_0x5d0f4e[_0xc215a2(0x19f)](getApiBaseUrl),_0x123604=await fetch(_0x500ae0+_0xc215a2(0x19b),{'method':_0x5d0f4e[_0xc215a2(0x1a2)],'headers':{'Authorization':_0xc215a2(0x1a6)+_0x2fe647,'Content-Type':_0x5d0f4e['WphQO']},'body':JSON[_0xc215a2(0x199)]({'skillName':_0x283cc0,'cliVersion':_0x21ae04,'metadata':_0x3bf7fb})});if(!_0x123604['ok']){const _0x5e9e1f=await _0x123604[_0xc215a2(0x1a8)]();console[_0xc215a2(0x193)]('Failed\x20to\x20log\x20skill\x20installation:\x20'+_0x5e9e1f);}}
1
+ function _0x5d0b(_0x58d633,_0x4df941){_0x58d633=_0x58d633-0x1d4;const _0x8fe9ee=_0x4307();let _0x3bbe48=_0x8fe9ee[_0x58d633];if(_0x5d0b['eOnUay']===undefined){var _0x247709=function(_0x9f13dd){const _0x4e61e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d6f0c='',_0x2bd017='',_0xd1dc46=_0x1d6f0c+_0x247709;for(let _0x291792=0x0,_0x3cb6bf,_0x96d2e3,_0xc8143e=0x0;_0x96d2e3=_0x9f13dd['charAt'](_0xc8143e++);~_0x96d2e3&&(_0x3cb6bf=_0x291792%0x4?_0x3cb6bf*0x40+_0x96d2e3:_0x96d2e3,_0x291792++%0x4)?_0x1d6f0c+=_0xd1dc46['charCodeAt'](_0xc8143e+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x3cb6bf>>(-0x2*_0x291792&0x6)):_0x291792:0x0){_0x96d2e3=_0x4e61e8['indexOf'](_0x96d2e3);}for(let _0x1085d9=0x0,_0x5795bf=_0x1d6f0c['length'];_0x1085d9<_0x5795bf;_0x1085d9++){_0x2bd017+='%'+('00'+_0x1d6f0c['charCodeAt'](_0x1085d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2bd017);};_0x5d0b['tlvXQd']=_0x247709,_0x5d0b['ILDBZw']={},_0x5d0b['eOnUay']=!![];}const _0x430744=_0x8fe9ee[0x0],_0x5d0b53=_0x58d633+_0x430744,_0x4d5cf9=_0x5d0b['ILDBZw'][_0x5d0b53];if(!_0x4d5cf9){const _0x591d35=function(_0x3b1305){this['BOuisL']=_0x3b1305,this['fbrDvo']=[0x1,0x0,0x0],this['uSJTAE']=function(){return'newState';},this['wwNZcr']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['LIbDDQ']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x591d35['prototype']['EwCQsC']=function(){const _0x336bb3=new RegExp(this['wwNZcr']+this['LIbDDQ']),_0x88657e=_0x336bb3['test'](this['uSJTAE']['toString']())?--this['fbrDvo'][0x1]:--this['fbrDvo'][0x0];return this['usFqfd'](_0x88657e);},_0x591d35['prototype']['usFqfd']=function(_0x499ecd){if(!Boolean(~_0x499ecd))return _0x499ecd;return this['ldDQwq'](this['BOuisL']);},_0x591d35['prototype']['ldDQwq']=function(_0x438887){for(let _0x2a3b8b=0x0,_0x1a166b=this['fbrDvo']['length'];_0x2a3b8b<_0x1a166b;_0x2a3b8b++){this['fbrDvo']['push'](Math['round'](Math['random']())),_0x1a166b=this['fbrDvo']['length'];}return _0x438887(this['fbrDvo'][0x0]);},new _0x591d35(_0x5d0b)['EwCQsC'](),_0x3bbe48=_0x5d0b['tlvXQd'](_0x3bbe48),_0x5d0b['ILDBZw'][_0x5d0b53]=_0x3bbe48;}else _0x3bbe48=_0x4d5cf9;return _0x3bbe48;}(function(_0x15e413,_0xbdcf20){const _0x3629f7=_0x5d0b,_0x3ee276=_0x15e413();while(!![]){try{const _0x2baa0e=-parseInt(_0x3629f7(0x1de))/0x1+-parseInt(_0x3629f7(0x1d9))/0x2*(-parseInt(_0x3629f7(0x1f3))/0x3)+parseInt(_0x3629f7(0x1db))/0x4+-parseInt(_0x3629f7(0x1f5))/0x5*(-parseInt(_0x3629f7(0x1e5))/0x6)+parseInt(_0x3629f7(0x1ea))/0x7+parseInt(_0x3629f7(0x1e3))/0x8*(-parseInt(_0x3629f7(0x1eb))/0x9)+-parseInt(_0x3629f7(0x1ef))/0xa*(-parseInt(_0x3629f7(0x1f6))/0xb);if(_0x2baa0e===_0xbdcf20)break;else _0x3ee276['push'](_0x3ee276['shift']());}catch(_0x30a7b9){_0x3ee276['push'](_0x3ee276['shift']());}}}(_0x4307,0x7773d));const _0x247709=(function(){const _0x417950=_0x5d0b,_0x44efde={'sKkLw':_0x417950(0x1ec),'bcPeW':function(_0x246b1f,_0x51674b){return _0x246b1f===_0x51674b;},'GdpVU':_0x417950(0x1e9),'HdqKG':'wPAUu'};let _0x4f8543=!![];return function(_0x2bce5b,_0x1a0f62){const _0x35689f=_0x417950,_0x2ed03c={'nggnW':_0x44efde[_0x35689f(0x1e2)],'PnwRI':function(_0x452d29,_0x21649f){const _0x3d0ce2=_0x35689f;return _0x44efde[_0x3d0ce2(0x1f2)](_0x452d29,_0x21649f);},'fVfUS':_0x44efde[_0x35689f(0x1dc)]};if(_0x44efde[_0x35689f(0x1f2)](_0x44efde[_0x35689f(0x1e1)],_0x35689f(0x1e4)))return _0x2d74fe[_0x35689f(0x1df)]()['search'](_0x2ed03c[_0x35689f(0x1d7)])[_0x35689f(0x1df)]()[_0x35689f(0x1e7)](_0x353cd9)[_0x35689f(0x1d6)]('(((.+)+)+)+$');else{const _0x3510f6=_0x4f8543?function(){const _0x3e79ab=_0x35689f;if(_0x2ed03c['PnwRI'](_0x2ed03c[_0x3e79ab(0x1e6)],_0x2ed03c['fVfUS'])){if(_0x1a0f62){const _0x5f44dd=_0x1a0f62[_0x3e79ab(0x1d5)](_0x2bce5b,arguments);return _0x1a0f62=null,_0x5f44dd;}}else{const _0x2d9ef1=_0x4599cc['apply'](_0x2992f6,arguments);return _0x121e0b=null,_0x2d9ef1;}}:function(){};return _0x4f8543=![],_0x3510f6;}};}()),_0x3bbe48=_0x247709(this,function(){const _0x4062d1=_0x5d0b,_0x17494f={'BemSY':'(((.+)+)+)+$'};return _0x3bbe48[_0x4062d1(0x1df)]()[_0x4062d1(0x1d6)](_0x17494f[_0x4062d1(0x1e0)])[_0x4062d1(0x1df)]()[_0x4062d1(0x1e7)](_0x3bbe48)['search'](_0x17494f[_0x4062d1(0x1e0)]);});_0x3bbe48();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x4307(){const _0x12ff34=['D2zMEM4','nZe4ndH3t2TYvu4','ovr3wfDnuq','kcGOlISPkYKRksSK','rMfPBgvKihrVigXVzYbZA2LSBcbPBNn0ywXSyxrPB246ia','vvjsDeW','mJbTt1jPvxG','t2Dlwwe','ue9tva','yMnqzvC','m3HQr0TXra','ALvjq0S','mta3ntGZmfL0yufPua','ntyXmduZowD2tfL3zG','Agjwvxe','yxbWBhK','C2vHCMnO','BMDNBLC','yxrTyvu','mZy3odi2uNnQywvO','wNrOB2S','nJu4mtyWELbswvLT','r2rWvLu','Dgv4Da','otqXnZm4Cu5gDvPw','Dg9tDhjPBMC','qMvTu1K','sgrXs0C','C0TRthC','mZaYnta1nMr2u1L6zW','D0vcseO','mtj5zM9gENe','zLzMvvm','y29UC3rYDwn0B3i','l2fWAs92ms9Ty3aVBg9JywWTywDLBNqTAw5ZDgfSBgf0Aw9UCW'];_0x4307=function(){return _0x12ff34;};return _0x4307();}export async function logLocalAgentInstallation(_0x2ef224,_0x25f25f,_0x56eee8){const _0x3e43a3=_0x5d0b,_0xf8c3ae={'atmaU':function(_0x2f2ce9){return _0x2f2ce9();},'UYpWR':function(_0xf21d9c,_0x3fea36,_0x4f5699){return _0xf21d9c(_0x3fea36,_0x4f5699);},'URRtL':_0x3e43a3(0x1f1),'Dtdir':'application/json','OgKYa':function(_0x4e62f1,_0x10f7c6){return _0x4e62f1!==_0x10f7c6;},'Zthok':_0x3e43a3(0x1d4)},_0x21514f=await _0xf8c3ae[_0x3e43a3(0x1d8)](getToken);if(!_0x21514f)return;const _0x1915b0=getApiBaseUrl(),_0x553901=await _0xf8c3ae['UYpWR'](fetch,_0x1915b0+_0x3e43a3(0x1e8),{'method':_0xf8c3ae[_0x3e43a3(0x1ee)],'headers':{'Authorization':'Bearer\x20'+_0x21514f,'Content-Type':_0xf8c3ae['Dtdir']},'body':JSON['stringify']({'skillName':_0x2ef224,'cliVersion':_0x56eee8,'metadata':_0x25f25f})});if(!_0x553901['ok']){if(_0xf8c3ae[_0x3e43a3(0x1f0)](_0xf8c3ae[_0x3e43a3(0x1da)],_0x3e43a3(0x1f4))){const _0x5504da=await _0x553901[_0x3e43a3(0x1dd)]();console['error'](_0x3e43a3(0x1ed)+_0x5504da);}else{const _0x39e3fe=_0x591d35?function(){const _0x3b3f52=_0x3e43a3;if(_0x2a3b8b){const _0x53f08a=_0x7a9a80[_0x3b3f52(0x1d5)](_0x9f9d26,arguments);return _0x6f965c=null,_0x53f08a;}}:function(){};return _0x438887=![],_0x39e3fe;}}}
@@ -1,5 +1,6 @@
1
1
  import { dirname, join, parse } from 'path';
2
2
  import { existsSync } from 'fs';
3
+ import { homedir } from 'os';
3
4
  /**
4
5
  * Find the ranger root by walking up from cwd until we find a .ranger directory.
5
6
  * The closest .ranger directory wins (allows subdirectory overrides).
@@ -22,9 +23,33 @@ export function getRangerRoot() {
22
23
  return process.cwd();
23
24
  }
24
25
  /**
25
- * Get the .ranger directory path
26
+ * Get the project-level .ranger directory path
26
27
  */
27
28
  export function getRangerDir() {
28
29
  return join(getRangerRoot(), '.ranger');
29
30
  }
31
+ /**
32
+ * Walk up from cwd to find the nearest .git directory.
33
+ * Returns the directory containing .git, or null if not found.
34
+ */
35
+ export function findGitRoot() {
36
+ let current = process.cwd();
37
+ const root = parse(current).root;
38
+ while (current !== root) {
39
+ if (existsSync(join(current, '.git'))) {
40
+ return current;
41
+ }
42
+ current = dirname(current);
43
+ }
44
+ if (existsSync(join(root, '.git'))) {
45
+ return root;
46
+ }
47
+ return null;
48
+ }
49
+ /**
50
+ * Get the user-level ~/.ranger directory path
51
+ */
52
+ export function getRangerHomeDir() {
53
+ return join(homedir(), '.ranger');
54
+ }
30
55
  //# sourceMappingURL=rangerRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rangerRoot.js","sourceRoot":"","sources":["../../../src/commands/utils/rangerRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEjC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"rangerRoot.js","sourceRoot":"","sources":["../../../src/commands/utils/rangerRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEjC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACvB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEjC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC"}
@@ -24,6 +24,26 @@ export function getEnvDir(env) {
24
24
  return legacyDir; // Backward compatibility
25
25
  return localDir; // Default for new envs
26
26
  }
27
+ /**
28
+ * Check if an environment name already exists in any location (ci, local, or legacy root).
29
+ * Optionally filter by specific locations.
30
+ * Returns the path where it exists and its location, or null if not found.
31
+ */
32
+ export function findExistingEnv(envName, options) {
33
+ const rangerDir = getRangerDir();
34
+ const locations = options?.locations ?? ['ci', 'local', 'legacy'];
35
+ const dirs = [
36
+ { location: 'ci', path: join(rangerDir, 'ci', envName) },
37
+ { location: 'local', path: join(rangerDir, 'local', envName) },
38
+ { location: 'legacy', path: join(rangerDir, envName) },
39
+ ];
40
+ for (const dir of dirs) {
41
+ if (locations.includes(dir.location) && existsSync(dir.path)) {
42
+ return { path: dir.path, location: dir.location };
43
+ }
44
+ }
45
+ return null;
46
+ }
27
47
  /**
28
48
  * Check if an environment is a CI environment (stored in ci/ directory)
29
49
  */