@ranger-testing/ranger-cli 1.1.0 โ†’ 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +87 -250
  2. package/build/cli.js +16 -2
  3. package/build/cli.js.map +1 -1
  4. package/build/commands/addEnv.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/dataMcpServer.js +1 -1
  7. package/build/commands/feature.js +3 -0
  8. package/build/commands/feature.js.map +1 -1
  9. package/build/commands/hook.js +2 -1
  10. package/build/commands/hook.js.map +1 -1
  11. package/build/commands/hooks/disable.js +8 -3
  12. package/build/commands/hooks/disable.js.map +1 -1
  13. package/build/commands/hooks/enable.js +7 -3
  14. package/build/commands/hooks/enable.js.map +1 -1
  15. package/build/commands/hooks/index.js +1 -0
  16. package/build/commands/hooks/index.js.map +1 -1
  17. package/build/commands/hooks/postEdit.js +3 -1
  18. package/build/commands/hooks/postEdit.js.map +1 -1
  19. package/build/commands/hooks/sessionEnd.js +21 -0
  20. package/build/commands/hooks/sessionEnd.js.map +1 -0
  21. package/build/commands/hooks/sessionStart.js +41 -1
  22. package/build/commands/hooks/sessionStart.js.map +1 -1
  23. package/build/commands/skillup.js +2 -3
  24. package/build/commands/skillup.js.map +1 -1
  25. package/build/commands/start.js +1 -1
  26. package/build/commands/start.js.map +1 -1
  27. package/build/commands/updateEnv.js +1 -1
  28. package/build/commands/useEnv.js +1 -1
  29. package/build/commands/utils/browserSessionsApi.js +1 -1
  30. package/build/commands/utils/cliSecret.js +1 -1
  31. package/build/commands/utils/desirePathLog.js +133 -0
  32. package/build/commands/utils/desirePathLog.js.map +1 -0
  33. package/build/commands/utils/featureApi.js.map +1 -1
  34. package/build/commands/utils/keychain.js +1 -1
  35. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  36. package/build/commands/utils/sessionCache.js +159 -10
  37. package/build/commands/utils/sessionCache.js.map +1 -1
  38. package/build/commands/utils/skills.js +1 -1
  39. package/build/commands/verifyFeature.js +10 -1
  40. package/build/commands/verifyFeature.js.map +1 -1
  41. package/build/commands/verifyInBrowser.js +1 -1
  42. package/build/skills/ranger/SKILL.md +6 -0
  43. package/build/skills/ranger/verify.md +15 -0
  44. package/package.json +2 -3
package/README.md CHANGED
@@ -2,320 +2,157 @@
2
2
 
3
3
  The Ranger CLI sets up your project to use Ranger's AI-powered testing tools with Claude Code.
4
4
 
5
- ## Installation
5
+ ## Getting Started
6
6
 
7
- ```bash
8
- npm install -g @ranger-testing/ranger-cli
9
- ```
10
-
11
- ## Quick Start
12
-
13
- Go to [dashboard.ranger.net/cli](https://dashboard.ranger.net/cli) to get started.
14
-
15
- ## Claude Code Plugin
16
-
17
- The Ranger plugin for Claude Code is installed automatically when you run `ranger start`. You can choose to install it at the user level (available in all projects) or project level (shared with team via git).
18
-
19
- The plugin provides:
20
- - **Auto-firing hooks** - Automatically loads Ranger context at session start
21
- - **Feature tracking** - Track feature development with verifiable checklist items
22
-
23
- To check plugin status, run `ranger status`.
24
-
25
- ### Manual Plugin Installation
26
-
27
- If you need to install the plugin manually (e.g., skipped during setup or installing on a new machine):
28
-
29
- ```bash
30
- # Add the marketplace (one-time)
31
- claude plugin marketplace add ranger-testing/trailhead
32
-
33
- # Install to user scope (available in all projects)
34
- claude plugin install ranger@trailhead --scope user
35
-
36
- # Or install to project scope (shared with team via git)
37
- claude plugin install ranger@trailhead --scope project
38
- ```
39
-
40
- ## Commands
41
-
42
- ### `ranger start <token>`
43
-
44
- Initialize Ranger in your project. Get your token from [dashboard.ranger.net/cli](https://dashboard.ranger.net/cli).
45
-
46
- This command:
47
- - Validates your API token
48
- - Creates the `.ranger/` directory for environment configs
49
- - Creates `.ranger/.gitignore` to exclude local environment (contains auth state)
50
- - Prompts to install the Claude Code plugin (user or project scope)
51
- - Prompts to add an environment and install skills
52
-
53
- ```bash
54
- ranger start rngr_abc123...
55
- ```
56
-
57
- ### `ranger skillup`
58
-
59
- Install Ranger skills for Claude Code. This command installs AI agents that help with feature development:
60
-
61
- - **ranger** - Installed if you have an API token AND an active environment. Tracks feature development with browser verification.
62
-
63
- Skills are installed to `.claude/skills/` and can be invoked in Claude Code conversations.
7
+ ### Step 1: Install Ranger
64
8
 
65
9
  ```bash
66
- ranger skillup
67
- ```
68
-
69
- **Important:** Run this command in the directory where you want to use Ranger skills. Skills are installed relative to your current working directory.
70
-
71
- Run this command after `ranger start` and `ranger add env` to install all available skills.
72
-
73
- ### `ranger add env <env-name>`
74
-
75
- Add a new environment configuration. You'll be prompted to:
76
- - Manually authenticate into your app to save session (if needed)
77
- - Log in via browser (captures auth cookies/storage)
78
-
79
- ```bash
80
- ranger add env local
81
- ranger add env staging
82
- ranger add env prod
83
- ```
84
-
85
- ### `ranger use <env-name>`
86
-
87
- Switch to a different environment.
88
-
89
- ```bash
90
- ranger use staging
91
- ```
92
-
93
- ### `ranger env update <env-name>`
94
-
95
- Update authentication for an existing environment (re-capture cookies/storage).
96
-
97
- ```bash
98
- ranger env update staging
10
+ npm install -g @ranger-testing/ranger-cli
99
11
  ```
100
12
 
101
- ### `ranger env ls`
102
-
103
- List all configured environments.
13
+ ### Step 2: Get Your Token
104
14
 
105
- ```bash
106
- ranger env ls
107
- ```
15
+ Go to [dashboard.ranger.net/cli](https://dashboard.ranger.net/cli) to get your API token.
108
16
 
109
- ### `ranger update`
17
+ ### Step 3: Initialize Your Project
110
18
 
111
- Update Ranger CLI to the latest version.
19
+ In your project repo (must be a git repository), run:
112
20
 
113
21
  ```bash
114
- ranger update
22
+ ranger start <your-token>
115
23
  ```
116
24
 
117
- This command updates the globally installed `@ranger-testing/ranger-cli` package and reinstalls skills to ensure compatibility.
118
-
119
- ### `ranger status`
120
-
121
- Show Ranger status including version, Claude Code plugin status, installed skills, and configured environments.
122
-
123
- ```bash
124
- ranger status
125
- ```
126
-
127
- ### `ranger config`
128
-
129
- Manage browser configuration for environments (userAgent, headers, etc.).
130
-
131
- #### `ranger config set <env> <key> <value>`
25
+ This will guide you through setup. If you skipped any steps, run them manually:
132
26
 
133
- Set a config value. Supports dot notation for nested keys.
27
+ - Add a browser environment for verification:
28
+ ```bash
29
+ ranger add env local
30
+ ```
31
+ - Install Claude Code skills:
32
+ ```bash
33
+ ranger skillup
34
+ ```
35
+ - Install the Claude Code plugin:
36
+ ```bash
37
+ claude plugin marketplace add ranger-testing/trailhead
38
+ claude plugin install ranger@trailhead --scope user
39
+ ```
134
40
 
135
- ```bash
136
- # Set user agent
137
- ranger config set ci userAgent "Mozilla/5.0 (CI Bot)"
41
+ ## Using Ranger with Claude
138
42
 
139
- # Set custom headers
140
- ranger config set ci header.X-Test-Mode "true"
141
- ranger config set ci header.Authorization '${AUTH_TOKEN}'
43
+ Once set up, here's the typical workflow:
142
44
 
143
- # Run browser in headless mode (useful for CI)
144
- ranger config set ci headless true
145
- ```
45
+ 1. Start a Claude Code session in your project
46
+ 2. In your Claude Code session, run `/ranger:enable` to activate Ranger
47
+ 3. Enter plan mode with `/plan` to begin planning your feature
48
+ 4. Accept the plan - Ranger tracks your feature automatically
49
+ 5. Watch Ranger verify your feature in the browser
146
50
 
147
- **Environment variable substitution**: Values like `${VAR_NAME}` are stored as-is and resolved at runtime.
51
+ Ranger stays enabled on your branch across sessions. Use `/ranger:disable` to turn it off.
148
52
 
149
- #### `ranger config get <env> <key>`
53
+ **Note:** Commands starting with `/` (like `/ranger:enable`, `/plan`, `/ranger:disable`) are slash commands entered inside the Claude Code chat interface. Terminal commands like `ranger start` are run in your shell.
150
54
 
151
- Get a config value.
55
+ ## Commands Reference
152
56
 
153
- ```bash
154
- ranger config get ci userAgent
155
- # Mozilla/5.0 (CI Bot)
156
- ```
57
+ ### Setup Commands
157
58
 
158
- #### `ranger config list <env>`
59
+ | Command | Description |
60
+ |---------|-------------|
61
+ | `ranger start <token>` | Initialize Ranger in your project |
62
+ | `ranger status` | Show Ranger status and configuration |
63
+ | `ranger update` | Update Ranger CLI to latest version |
64
+ | `ranger clean` | Remove all Ranger artifacts from project |
159
65
 
160
- List all config for an environment.
66
+ ### Environment Commands
161
67
 
162
- ```bash
163
- ranger config list ci
164
- # userAgent: Mozilla/5.0 (CI Bot)
165
- # headless: true
166
- # headers:
167
- # X-Test-Mode: true
168
- # Authorization: ${AUTH_TOKEN}
169
- ```
170
-
171
- #### `ranger config unset <env> <key>`
68
+ | Command | Description |
69
+ |---------|-------------|
70
+ | `ranger add env <name>` | Add a new browser environment |
71
+ | `ranger use <name>` | Switch to a different environment |
72
+ | `ranger env ls` | List all configured environments |
73
+ | `ranger env update <name>` | Re-capture auth for an environment |
172
74
 
173
- Remove a config value.
75
+ ### Config Commands
174
76
 
175
- ```bash
176
- ranger config unset ci header.X-Test-Mode
177
- ```
77
+ | Command | Description |
78
+ |---------|-------------|
79
+ | `ranger config set <env> <key> <value>` | Set a config value |
80
+ | `ranger config get <env> <key>` | Get a config value |
81
+ | `ranger config list <env>` | List all config for an environment |
82
+ | `ranger config unset <env> <key>` | Remove a config value |
178
83
 
179
- ### Feature Tracking Commands
84
+ ## Detailed Command Reference
180
85
 
181
- Track feature development progress with verifiable checklist items. Each item can be verified in the browser with evidence (screenshots, traces, conversation logs).
86
+ ### `ranger feature create`
182
87
 
183
- #### `ranger feature create <name>`
184
-
185
- Create a new feature with a checklist. Automatically captures git context (repo URL, branch).
88
+ Create a new feature with checklist items:
186
89
 
187
90
  ```bash
188
91
  ranger feature create "User Authentication" \
189
- --description "Login, signup, and password reset flows" \
190
- -c "Login works" \
191
- -c "Signup creates account" \
192
- -c "Password reset sends email"
92
+ --description "Login and signup flows" \
93
+ -c "User can log in" \
94
+ -c "User can sign up"
193
95
  ```
194
96
 
195
- #### `ranger feature list`
196
-
197
- List all features with session status.
97
+ ### `ranger feature list`
198
98
 
199
99
  ```bash
200
100
  ranger feature list # All features
201
101
  ranger feature list --current-branch # Features for current git branch
202
- ranger feature list --limit 20 # Show more results
203
- ```
204
-
205
- #### `ranger feature show [id]`
206
-
207
- Show feature details. Uses active feature if no ID provided.
208
-
209
- ```bash
210
- ranger feature show
211
- ranger feature show feat_abc123
212
- ```
213
-
214
- #### `ranger feature resume [id]`
215
-
216
- Resume a specific feature by ID. Use `ranger feature list` first to find features.
217
-
218
- ```bash
219
- ranger feature list # List features (filter with --current-branch)
220
- ranger feature resume feat_abc123 # Resume the feature
221
- ```
222
-
223
- #### `ranger feature add-checklist-item <description>`
224
-
225
- Add a checklist item to a feature.
226
-
227
- ```bash
228
- ranger feature add-checklist-item "User can reset password"
229
- ranger feature add-checklist-item "Admin can view all users" --id feat_abc123
230
102
  ```
231
103
 
232
104
  ### `ranger verify-feature`
233
105
 
234
- Verify a checklist item in the browser. Requires an active feature.
106
+ Verify checklist items in the browser:
235
107
 
236
108
  ```bash
237
109
  ranger verify-feature \
110
+ --item 1 \
238
111
  --task "Log in with valid credentials and verify redirect to dashboard"
112
+
113
+ # Start on a specific page instead of the base URL
114
+ ranger verify-feature \
115
+ --start-path /dashboard \
116
+ --task "Verify dashboard shows user stats"
239
117
  ```
240
118
 
241
- The URL is derived from your active environment's `baseUrl` setting.
119
+ The URL is derived from your active environment's `baseUrl` setting. Use `--start-path` to append a path.
242
120
 
243
121
  Options:
244
- - `--env`: Environment to use (defaults to active environment)
122
+ - `--item <index>`: Checklist item to verify by index (1-based, required in non-interactive mode)
245
123
  - `--task`: Task description (defaults to checklist item description)
246
- - `--item <index>`: Verify specific item by index (1-based)
247
-
248
- ### `ranger clean`
249
-
250
- Remove all Ranger artifacts from the project (`.ranger/`, `.mcp.json` entries).
251
-
252
- ```bash
253
- ranger clean
254
- ```
124
+ - `--env`: Environment to use (defaults to active environment)
125
+ - `--start-path`: Path to start on (e.g., `/dashboard`)
255
126
 
256
- ### `ranger auth encrypt <env>`
127
+ ### `ranger config`
257
128
 
258
- Encrypt auth.json for an environment to allow safe git storage.
129
+ Configure browser settings for environments:
259
130
 
260
131
  ```bash
261
- ranger auth encrypt local # Encrypts .ranger/local/auth.json -> auth.json.enc
262
- ranger auth encrypt ci # Encrypts .ranger/ci/auth.json -> auth.json.enc
132
+ ranger config set ci headless true
133
+ ranger config set ci userAgent "Mozilla/5.0 (CI Bot)"
134
+ ranger config set ci header.Authorization '${AUTH_TOKEN}'
263
135
  ```
264
136
 
265
- ## Configuring agents.md
266
-
267
- Create or update `.claude/agents.md` in your project to help Claude Code understand your environment setup. This file should include:
268
-
269
- - **Environment URLs** - Which URLs correspond to which environments
270
- - **Product context** - What each environment is used for
271
-
272
- Example `.claude/agents.md`:
137
+ Environment variables like `${AUTH_TOKEN}` are resolved at runtime, not when the config is set.
273
138
 
274
- ```markdown
275
- ## Environments
276
-
277
- - `localhost:4000` - Customer-facing product (main app)
278
- - `localhost:3000` - Internal admin dashboard
279
- - `staging.example.com` - Staging environment
280
-
281
- ## Notes
282
-
283
- - Use the `local` environment for development testing
284
- - Staging requires VPN access
285
- ```
139
+ ## Claude Code Plugin
286
140
 
287
- This helps Ranger skills understand where to test and what each environment represents.
141
+ The `ranger start` command attempts to install the plugin automatically. However, installation may be skipped or fail.
288
142
 
289
- ## Example Workflow
143
+ To install manually:
290
144
 
291
145
  ```bash
292
- # Set up Ranger
293
- ranger start rngr_your_token_here
294
-
295
- # Add your local development environment
296
- ranger add env local
297
- # (Browser opens, log in if needed, close when done)
298
-
299
- # Install skills for Claude Code
300
- ranger skillup
301
-
302
- # Now use Claude Code to test your app
303
- # Claude can now browse your app, find bugs, and suggest tests!
304
-
305
- # When switching to test staging:
306
- ranger add env staging
307
- ranger use staging
308
-
309
- # Clean up when done
310
- ranger clean
146
+ claude plugin marketplace add ranger-testing/trailhead
147
+ claude plugin install ranger@trailhead --scope user
311
148
  ```
312
149
 
313
- ## Troubleshooting
150
+ Check status with `ranger status`.
314
151
 
315
- ### "No active environment" error
152
+ ## Troubleshooting
316
153
 
154
+ **"No active environment" error**
317
155
  Run `ranger use <env-name>` to set an active environment.
318
156
 
319
- ### Authentication expired
320
-
321
- Run `ranger env update <env-name>` to refresh authentication cookies/storage.
157
+ **Authentication expired**
158
+ Run `ranger env update <env-name>` to refresh auth.
package/build/cli.js CHANGED
@@ -27,6 +27,7 @@ import { verifyInBrowser } from './commands/verifyInBrowser.js';
27
27
  import { verifyFeature } from './commands/verifyFeature.js';
28
28
  import { featureCreate, featureList, featureShow, featureResume, featureSessions, featureConcludeSession, featureAddChecklistItem, } from './commands/feature.js';
29
29
  import { generateMarkdownReport, collectScreenshots, } from './commands/utils/reportGenerator.js';
30
+ import { logDesirePath, getErrorType, sanitizeArgs, } from './commands/utils/desirePathLog.js';
30
31
  // Setup yargs CLI
31
32
  yargs(process.argv.slice(2))
32
33
  .version('1.0.0')
@@ -169,7 +170,7 @@ Examples:
169
170
  }, async (argv) => {
170
171
  await updateEnv(argv['env-name']);
171
172
  })
172
- .demandCommand(1, 'You must specify an env subcommand')
173
+ .demandCommand(1, 'You must specify an env subcommand, try ranger env help')
173
174
  .epilogue(`Commands:
174
175
  ls List all environments
175
176
  update <env> Update authentication for an environment
@@ -374,6 +375,10 @@ Examples:
374
375
  .option('item', {
375
376
  type: 'number',
376
377
  description: 'Checklist item index (1-based)',
378
+ })
379
+ .option('start-path', {
380
+ type: 'string',
381
+ description: 'Path to start on (appended to base URL, e.g., /dashboard)',
377
382
  })
378
383
  .option('debug-outcome', {
379
384
  type: 'string',
@@ -391,6 +396,7 @@ Examples:
391
396
  env: argv.env,
392
397
  task: argv.task,
393
398
  item: argv.item,
399
+ startPath: argv['start-path'],
394
400
  debugOutcome: argv['debug-outcome'],
395
401
  });
396
402
  console.log('\n' + '='.repeat(60));
@@ -434,6 +440,13 @@ Examples:
434
440
  .demandCommand(1, 'You must specify a command')
435
441
  .strictCommands()
436
442
  .fail((msg, err, yargs) => {
443
+ const rawCommand = sanitizeArgs(process.argv.slice(2));
444
+ const errorType = getErrorType(msg, err);
445
+ logDesirePath({
446
+ rawCommand,
447
+ errorMessage: msg || err?.message,
448
+ errorType,
449
+ });
437
450
  if (msg && msg.includes('Unknown command')) {
438
451
  const command = process.argv[2];
439
452
  console.error(`\nUnknown command: ${command}`);
@@ -445,7 +458,8 @@ Examples:
445
458
  else if (err) {
446
459
  console.error(`\nError: ${err.message}\n`);
447
460
  }
448
- process.exit(1);
461
+ // Small delay allows desire path log fetch to dispatch before exit
462
+ setTimeout(() => process.exit(1), 50);
449
463
  })
450
464
  .help()
451
465
  .alias('help', 'h')
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- function _0x1dec(_0x35c313,_0x3ec41a){_0x35c313=_0x35c313-0x195;const _0xfad9d7=_0xfad9();let _0x1deca9=_0xfad9d7[_0x35c313];return _0x1deca9;}(function(_0x1d99be,_0x421a92){const _0x3e9626=_0x1dec,_0x194860=_0x1d99be();while(!![]){try{const _0x1c0c80=-parseInt(_0x3e9626(0x1b6))/0x1*(-parseInt(_0x3e9626(0x1c0))/0x2)+parseInt(_0x3e9626(0x1ca))/0x3+-parseInt(_0x3e9626(0x19a))/0x4+-parseInt(_0x3e9626(0x196))/0x5+-parseInt(_0x3e9626(0x1a6))/0x6*(parseInt(_0x3e9626(0x1c9))/0x7)+parseInt(_0x3e9626(0x1cb))/0x8*(-parseInt(_0x3e9626(0x1cc))/0x9)+-parseInt(_0x3e9626(0x1b2))/0xa;if(_0x1c0c80===_0x421a92)break;else _0x194860['push'](_0x194860['shift']());}catch(_0x1b863f){_0x194860['push'](_0x194860['shift']());}}}(_0xfad9,0xd4fc2));function _0xfad9(){const _0x325985=['isTTY','Cupks','SJDTO','\x0a๐Ÿ“‹\x20Authentication\x20Setup','baseUrl','JazYr','pBKfc','kghsV','436EYxCJL','overwrite','stdin','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','โœ“\x20Encrypted\x20auth\x20saved\x20to:\x20','requiresAuth','settings.json','KHmoP','Environment\x20\x22','252NdTqtk','4377948zTbytY','8zrqlfS','4556511hcZWDk','active-env.txt','exit','937330zLyJUd','\x20\x20\x20\x20\x20ranger\x20skillup','prompt','โœ“\x20Auth\x20state\x20saved\x20to:\x20','1585924SehjDK','\x20\x202.\x20Commit\x20the\x20encrypted\x20auth\x20file\x20(.ranger/<env>/auth.json.enc)\x20to\x20git','\x22\x20already\x20exists.\x20Overwrite?','stdout','PSyem','environmentDetails','leFSt','newContext','\x20\x20\x20When\x20you\x20are\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','\x0a\x20\x20Install\x20skills\x20for\x20Claude\x20Code:','Encrypt\x20auth\x20state?\x20(Recommended\x20for\x20CI\x20-\x20allows\x20committing\x20to\x20git)','newPage','15702OPPXpS','\x20\x20Set\x20active\x20environment:\x20','input','goto','confirm','fhNfu','\x0aโŒ\x20Non-interactive\x20mode\x20detected.','log','\x22\x20configured','close','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20start\x20<token>','about:blank','6873840vEwKst','What\x20is\x20this\x20environment\x20for?\x20(e.g.\x20this\x20is\x20our\x20internal\x20tools\x20app)','What\x20is\x20the\x20URL\x20to\x20this\x20environment?','error','5894ROOCDC','mwRtS'];_0xfad9=function(){return _0x325985;};return _0xfad9();}import{mkdir,writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x3a03b5 from'inquirer';import{chromium}from'playwright';import{saveSettings}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';export async function addEnv(_0x37b3af){const _0x52ec43=_0x1dec,_0x59f5d1={'ZizpT':'Saving\x20authentication\x20state...','pBKfc':_0x52ec43(0x1ac),'rpVSV':'\x0aThe\x20\x22ranger\x20add\x20env\x22\x20command\x20requires\x20interactive\x20browser\x20authentication','DSTsf':'and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).','gsHIY':'input','nqBeA':'http://localhost:3000','QSzSU':_0x52ec43(0x1c5),'sjvyP':_0x52ec43(0x1aa),'PSyem':'shouldEncrypt','MEGhM':_0x52ec43(0x1a4),'fhNfu':_0x52ec43(0x1b1),'SJDTO':'environmentDetails','IPcBh':_0x52ec43(0x1b3),'rSTxh':function(_0x528847,_0x358c1a,_0x4fcf98){return _0x528847(_0x358c1a,_0x4fcf98);},'dTGZZ':'utf-8','EOSVk':function(_0x17577b){return _0x17577b();},'IBNuK':function(_0x3b0bd5,_0x4720ad,_0x5ba4c){return _0x3b0bd5(_0x4720ad,_0x5ba4c);},'JazYr':function(_0x301a90,_0x3f3a22,_0x329cff){return _0x301a90(_0x3f3a22,_0x329cff);},'kghsV':function(_0x38dab7,_0x377db0){return _0x38dab7+_0x377db0;},'eEtUS':'.enc','FivbA':function(_0x3f0827,_0xf228e4){return _0x3f0827&&_0xf228e4;},'mwRtS':function(_0x5db703,_0x57121f,_0x538d2b){return _0x5db703(_0x57121f,_0x538d2b);},'ZWbgF':function(_0x4daa8e,_0x133996,_0x89220c){return _0x4daa8e(_0x133996,_0x89220c);},'DSuAV':_0x52ec43(0x1c6),'leFSt':function(_0x607b18,_0x5ae49b,_0x30e150){return _0x607b18(_0x5ae49b,_0x30e150);},'xzbsF':function(_0xd380cd){return _0xd380cd();},'KHmoP':_0x52ec43(0x1cd),'MoQnf':_0x52ec43(0x1a3)},_0x391531=join(getRangerDir(),_0x37b3af),_0x2ef46b=process[_0x52ec43(0x1c2)]['isTTY']&&process[_0x52ec43(0x19d)][_0x52ec43(0x1b8)];!_0x2ef46b&&(console[_0x52ec43(0x1b5)](_0x59f5d1[_0x52ec43(0x1be)]),console[_0x52ec43(0x1b5)](_0x59f5d1['rpVSV']),console[_0x52ec43(0x1b5)](_0x59f5d1['DSTsf']),console[_0x52ec43(0x1b5)]('\x0aTo\x20configure\x20environments\x20non-interactively:'),console['error']('\x20\x201.\x20Run\x20\x22ranger\x20add\x20env\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x20first'),console[_0x52ec43(0x1b5)](_0x52ec43(0x19b)),console[_0x52ec43(0x1b5)]('\x20\x203.\x20Use\x20\x22ranger\x20start\x20<token>\x22\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime'),process[_0x52ec43(0x195)](0x1));if(existsSync(_0x391531)){const {overwrite:_0x13154e}=await _0x3a03b5[_0x52ec43(0x198)]([{'type':_0x52ec43(0x1aa),'name':_0x52ec43(0x1c1),'message':_0x52ec43(0x1c8)+_0x37b3af+_0x52ec43(0x19c),'default':![]}]);if(!_0x13154e){console['log']('Aborted.');return;}}const {baseUrl:_0x953ed7}=await _0x3a03b5[_0x52ec43(0x198)]([{'type':_0x59f5d1['gsHIY'],'name':_0x52ec43(0x1bc),'message':_0x52ec43(0x1b4),'default':_0x59f5d1['nqBeA']}]),{requiresAuth:_0x4c55c0}=await _0x3a03b5[_0x52ec43(0x198)]([{'type':'confirm','name':_0x59f5d1['QSzSU'],'message':'Manually\x20authenticate\x20into\x20your\x20app\x20to\x20save\x20session?','default':!![]}]);await mkdir(_0x391531,{'recursive':!![]});const _0x54b34c=join(_0x391531,'auth.json');let _0x103adc;if(_0x4c55c0){const {shouldEncrypt:_0x29e275}=await _0x3a03b5['prompt']([{'type':_0x59f5d1['sjvyP'],'name':_0x59f5d1[_0x52ec43(0x19e)],'message':_0x59f5d1['MEGhM'],'default':![]}]);console['log'](_0x52ec43(0x1bb)),console['log']('\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20environment\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.'),console['log'](_0x52ec43(0x1a2)),await new Promise(_0x2c9b56=>setTimeout(_0x2c9b56,0xbb8));const _0x45fa73=await chromium['launch']({'headless':![]}),_0x47f528=await _0x45fa73[_0x52ec43(0x1a1)](),_0x2e6889=await _0x47f528[_0x52ec43(0x1a5)]();await _0x2e6889[_0x52ec43(0x1a9)](_0x953ed7||_0x59f5d1[_0x52ec43(0x1ab)]),await new Promise(_0x2212b7=>{const _0x5e07f2=_0x52ec43,_0x3daf2d={'Cupks':_0x59f5d1['ZizpT']};_0x2e6889['on'](_0x5e07f2(0x1af),async()=>{const _0x48c45d=_0x5e07f2;try{console[_0x48c45d(0x1ad)](_0x3daf2d[_0x48c45d(0x1b9)]),await _0x47f528['storageState']({'path':_0x54b34c});}catch{}_0x2212b7();});}),await _0x45fa73[_0x52ec43(0x1af)]();const _0x3491de=await _0x3a03b5[_0x52ec43(0x198)]([{'type':_0x52ec43(0x1a8),'name':_0x59f5d1[_0x52ec43(0x1ba)],'message':_0x59f5d1['IPcBh']}]);_0x103adc=_0x3491de['environmentDetails'];if(_0x29e275){const _0x11684f=await _0x59f5d1['rSTxh'](readFile,_0x54b34c,_0x59f5d1['dTGZZ']),_0x15ad6a=await _0x59f5d1['EOSVk'](getToken);if(!_0x15ad6a)console['error'](_0x52ec43(0x1b0)),console['log'](_0x52ec43(0x199)+_0x54b34c);else{const _0x2b7d33=_0x59f5d1['IBNuK'](encrypt,_0x11684f,_0x15ad6a);await _0x59f5d1[_0x52ec43(0x1bd)](writeFile,_0x59f5d1[_0x52ec43(0x1bf)](_0x54b34c,_0x59f5d1['eEtUS']),_0x2b7d33),await unlink(_0x54b34c),console['log'](_0x52ec43(0x1c4)+_0x54b34c+'.enc'),console['log'](_0x52ec43(0x1c3)),console['log']('\x20\x20Run\x20ranger\x20start\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.');}}else console[_0x52ec43(0x1ad)](_0x52ec43(0x199)+_0x54b34c);}const _0x28d922={};_0x953ed7&&(_0x28d922['baseUrl']=_0x953ed7);_0x59f5d1['FivbA'](_0x4c55c0,_0x103adc)&&(_0x28d922[_0x52ec43(0x19f)]=_0x103adc);await _0x59f5d1[_0x52ec43(0x1b7)](saveSettings,_0x37b3af,_0x28d922),console[_0x52ec43(0x1ad)]('โœ“\x20Created\x20settings:\x20'+_0x59f5d1['ZWbgF'](join,_0x391531,_0x59f5d1['DSuAV']));const _0x92cfa2=_0x59f5d1[_0x52ec43(0x1a0)](join,_0x59f5d1['xzbsF'](getRangerDir),_0x59f5d1[_0x52ec43(0x1c7)]);await _0x59f5d1['rSTxh'](writeFile,_0x92cfa2,_0x37b3af),console['log'](_0x52ec43(0x1a7)+_0x37b3af),console['log']('\x0a\x20\x20Environment\x20\x22'+_0x37b3af+_0x52ec43(0x1ae)),console['log'](_0x59f5d1['MoQnf']),console['log'](_0x52ec43(0x197));}
1
+ (function(_0x51f51f,_0x5721cd){const _0x28a69c=_0x17a7,_0x111bd3=_0x51f51f();while(!![]){try{const _0x11d6ff=parseInt(_0x28a69c(0x1e7))/0x1+-parseInt(_0x28a69c(0x1e6))/0x2+parseInt(_0x28a69c(0x1e2))/0x3*(parseInt(_0x28a69c(0x1ea))/0x4)+parseInt(_0x28a69c(0x1cf))/0x5+-parseInt(_0x28a69c(0x1eb))/0x6+-parseInt(_0x28a69c(0x1d7))/0x7*(parseInt(_0x28a69c(0x1f7))/0x8)+parseInt(_0x28a69c(0x1c9))/0x9;if(_0x11d6ff===_0x5721cd)break;else _0x111bd3['push'](_0x111bd3['shift']());}catch(_0x9323aa){_0x111bd3['push'](_0x111bd3['shift']());}}}(_0x1e1b,0x8cd1f));import{mkdir,writeFile,readFile,unlink}from'fs/promises';function _0x17a7(_0x2ce006,_0x3bb2d7){_0x2ce006=_0x2ce006-0x1c8;const _0x1e1b3d=_0x1e1b();let _0x17a7e4=_0x1e1b3d[_0x2ce006];return _0x17a7e4;}import{join}from'path';import{existsSync}from'fs';import _0x245d08 from'inquirer';import{chromium}from'playwright';import{saveSettings}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x1e1b(){const _0x3ab0c6=['and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).','\x0a\x20\x20Install\x20skills\x20for\x20Claude\x20Code:','\x20\x20\x20When\x20you\x20are\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','error','aggZf','DsDAV','storageState','about:blank','\x0aโŒ\x20Non-interactive\x20mode\x20detected.','SJvCN','settings.json','407216pZtmNw','\x20\x20Set\x20active\x20environment:\x20','13135221rxpGrW','close','lEUHj','dJfvW','Aborted.','baseUrl','622465THzghV','confirm','jykHc','.enc','Manually\x20authenticate\x20into\x20your\x20app\x20to\x20save\x20session?','โœ“\x20Created\x20settings:\x20','\x20\x203.\x20Use\x20\x22ranger\x20start\x20<token>\x22\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime','environmentDetails','42qbjQJW','Saving\x20authentication\x20state...','What\x20is\x20this\x20environment\x20for?\x20(e.g.\x20this\x20is\x20our\x20internal\x20tools\x20app)','requiresAuth','ihnQy','active-env.txt','isTTY','auth.json','shouldEncrypt','CwFrI','log','21729PRqDDx','launch','newPage','\x20\x20\x20\x20\x20ranger\x20skillup','14272pOxRJI','6817FkbYKP','MUynG','prompt','184onvbPn','6207660NCLawE'];_0x1e1b=function(){return _0x3ab0c6;};return _0x1e1b();}import{getRangerDir}from'./utils/rangerRoot.js';export async function addEnv(_0x247982){const _0x5e3ab1=_0x17a7,_0x49d007={'dJfvW':function(_0x4e2cc4){return _0x4e2cc4();},'KsOaS':_0x5e3ab1(0x1ca),'jykHc':function(_0x59aa20,_0x7e5a89,_0x26e5c3){return _0x59aa20(_0x7e5a89,_0x26e5c3);},'ZJxGC':'\x20\x202.\x20Commit\x20the\x20encrypted\x20auth\x20file\x20(.ranger/<env>/auth.json.enc)\x20to\x20git','aggZf':'\x0aThe\x20\x22ranger\x20add\x20env\x22\x20command\x20requires\x20interactive\x20browser\x20authentication','lePtJ':_0x5e3ab1(0x1f4),'lEUHj':_0x5e3ab1(0x1ec),'DCJKp':'\x0aTo\x20configure\x20environments\x20non-interactively:','wTvSB':_0x5e3ab1(0x1d5),'HbqUV':function(_0x2126b1,_0x31c771){return _0x2126b1(_0x31c771);},'METfQ':_0x5e3ab1(0x1cd),'MUynG':'input','hsvRV':_0x5e3ab1(0x1ce),'PqCHN':'What\x20is\x20the\x20URL\x20to\x20this\x20environment?','ihnQy':'http://localhost:3000','vryCZ':_0x5e3ab1(0x1de),'DsDAV':'Encrypt\x20auth\x20state?\x20(Recommended\x20for\x20CI\x20-\x20allows\x20committing\x20to\x20git)','SJvCN':function(_0x2f948e,_0x4b35fc,_0x5cd5c1){return _0x2f948e(_0x4b35fc,_0x5cd5c1);},'OZIpE':function(_0x4e8e20,_0x3862a1){return _0x4e8e20+_0x3862a1;},'nezsX':_0x5e3ab1(0x1d2),'Jkcxn':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','NVoPu':function(_0x4769e3,_0x4a10a2){return _0x4769e3&&_0x4a10a2;},'LEIjy':function(_0x42d3c8,_0x29de2a,_0x343acc){return _0x42d3c8(_0x29de2a,_0x343acc);},'VHoKa':_0x5e3ab1(0x1dc)},_0x5ec387=_0x49d007[_0x5e3ab1(0x1d1)](join,_0x49d007['dJfvW'](getRangerDir),_0x247982),_0xabc967=process['stdin']['isTTY']&&process['stdout'][_0x5e3ab1(0x1dd)];if(!_0xabc967){const _0x47534a='3|1|4|5|6|0|7|2'['split']('|');let _0x59883f=0x0;while(!![]){switch(_0x47534a[_0x59883f++]){case'0':console['error'](_0x49d007['ZJxGC']);continue;case'1':console['error'](_0x49d007[_0x5e3ab1(0x1f0)]);continue;case'2':process['exit'](0x1);continue;case'3':console['error'](_0x49d007['lePtJ']);continue;case'4':console['error'](_0x49d007[_0x5e3ab1(0x1cb)]);continue;case'5':console[_0x5e3ab1(0x1ef)](_0x49d007['DCJKp']);continue;case'6':console[_0x5e3ab1(0x1ef)]('\x20\x201.\x20Run\x20\x22ranger\x20add\x20env\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x20first');continue;case'7':console[_0x5e3ab1(0x1ef)](_0x49d007['wTvSB']);continue;}break;}}if(_0x49d007['HbqUV'](existsSync,_0x5ec387)){const {overwrite:_0x2bcff3}=await _0x245d08[_0x5e3ab1(0x1e9)]([{'type':_0x5e3ab1(0x1d0),'name':'overwrite','message':'Environment\x20\x22'+_0x247982+'\x22\x20already\x20exists.\x20Overwrite?','default':![]}]);if(!_0x2bcff3){console['log'](_0x49d007['METfQ']);return;}}const {baseUrl:_0x461a55}=await _0x245d08[_0x5e3ab1(0x1e9)]([{'type':_0x49d007[_0x5e3ab1(0x1e8)],'name':_0x49d007['hsvRV'],'message':_0x49d007['PqCHN'],'default':_0x49d007[_0x5e3ab1(0x1db)]}]),{requiresAuth:_0x18f094}=await _0x245d08['prompt']([{'type':'confirm','name':_0x5e3ab1(0x1da),'message':_0x5e3ab1(0x1d3),'default':!![]}]);await mkdir(_0x5ec387,{'recursive':!![]});const _0x23cf9a=_0x49d007['jykHc'](join,_0x5ec387,_0x49d007['vryCZ']);let _0x57a42e;if(_0x18f094){const {shouldEncrypt:_0xc2f2fc}=await _0x245d08[_0x5e3ab1(0x1e9)]([{'type':'confirm','name':_0x5e3ab1(0x1df),'message':_0x49d007[_0x5e3ab1(0x1f1)],'default':![]}]);console[_0x5e3ab1(0x1e1)]('\x0a๐Ÿ“‹\x20Authentication\x20Setup'),console[_0x5e3ab1(0x1e1)]('\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20environment\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.'),console['log'](_0x5e3ab1(0x1ee)),await new Promise(_0x4d0dfc=>setTimeout(_0x4d0dfc,0xbb8));const _0x3959cb=await chromium[_0x5e3ab1(0x1e3)]({'headless':![]}),_0x5d4f8b=await _0x3959cb['newContext'](),_0x2bada1=await _0x5d4f8b[_0x5e3ab1(0x1e4)]();await _0x2bada1['goto'](_0x461a55||_0x5e3ab1(0x1f3)),await new Promise(_0x5241e8=>{const _0x57a11a={'CwFrI':function(_0x157f7f){return _0x49d007['dJfvW'](_0x157f7f);}};_0x2bada1['on'](_0x49d007['KsOaS'],async()=>{const _0x251e29=_0x17a7;try{console['log'](_0x251e29(0x1d8)),await _0x5d4f8b[_0x251e29(0x1f2)]({'path':_0x23cf9a});}catch{}_0x57a11a[_0x251e29(0x1e0)](_0x5241e8);});}),await _0x3959cb[_0x5e3ab1(0x1ca)]();const _0x19a047=await _0x245d08[_0x5e3ab1(0x1e9)]([{'type':_0x49d007['MUynG'],'name':'environmentDetails','message':_0x5e3ab1(0x1d9)}]);_0x57a42e=_0x19a047[_0x5e3ab1(0x1d6)];if(_0xc2f2fc){const _0x2ac5c7=await _0x49d007[_0x5e3ab1(0x1d1)](readFile,_0x23cf9a,'utf-8'),_0x46380a=await _0x49d007['dJfvW'](getToken);if(!_0x46380a)console['error']('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20start\x20<token>'),console['log']('โœ“\x20Auth\x20state\x20saved\x20to:\x20'+_0x23cf9a);else{const _0x1c32f1=_0x49d007[_0x5e3ab1(0x1f5)](encrypt,_0x2ac5c7,_0x46380a);await writeFile(_0x49d007['OZIpE'](_0x23cf9a,_0x49d007['nezsX']),_0x1c32f1),await unlink(_0x23cf9a),console['log']('โœ“\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x23cf9a+'.enc'),console[_0x5e3ab1(0x1e1)](_0x49d007['Jkcxn']),console['log']('\x20\x20Run\x20ranger\x20start\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.');}}else console['log']('โœ“\x20Auth\x20state\x20saved\x20to:\x20'+_0x23cf9a);}const _0x13c498={};_0x461a55&&(_0x13c498[_0x5e3ab1(0x1ce)]=_0x461a55);_0x49d007['NVoPu'](_0x18f094,_0x57a42e)&&(_0x13c498[_0x5e3ab1(0x1d6)]=_0x57a42e);await saveSettings(_0x247982,_0x13c498),console[_0x5e3ab1(0x1e1)](_0x5e3ab1(0x1d4)+_0x49d007['LEIjy'](join,_0x5ec387,_0x5e3ab1(0x1f6)));const _0x523a12=join(_0x49d007[_0x5e3ab1(0x1cc)](getRangerDir),_0x49d007['VHoKa']);await writeFile(_0x523a12,_0x247982),console['log'](_0x5e3ab1(0x1c8)+_0x247982),console['log']('\x0a\x20\x20Environment\x20\x22'+_0x247982+'\x22\x20configured'),console['log'](_0x5e3ab1(0x1ed)),console[_0x5e3ab1(0x1e1)](_0x5e3ab1(0x1e5));}
@@ -1 +1 @@
1
- function _0x37fd(_0x3abf0d,_0x37872f){_0x3abf0d=_0x3abf0d-0xc6;const _0x117fe1=_0x117f();let _0x37fd01=_0x117fe1[_0x3abf0d];return _0x37fd01;}(function(_0x26307e,_0x18c716){const _0x56ec59=_0x37fd,_0x30c476=_0x26307e();while(!![]){try{const _0x353488=parseInt(_0x56ec59(0xcc))/0x1+parseInt(_0x56ec59(0xe0))/0x2+-parseInt(_0x56ec59(0xd9))/0x3*(-parseInt(_0x56ec59(0xcd))/0x4)+parseInt(_0x56ec59(0xd6))/0x5*(parseInt(_0x56ec59(0xc6))/0x6)+parseInt(_0x56ec59(0xd4))/0x7*(parseInt(_0x56ec59(0xd8))/0x8)+parseInt(_0x56ec59(0xd0))/0x9*(-parseInt(_0x56ec59(0xd3))/0xa)+-parseInt(_0x56ec59(0xcb))/0xb*(parseInt(_0x56ec59(0xd7))/0xc);if(_0x353488===_0x18c716)break;else _0x30c476['push'](_0x30c476['shift']());}catch(_0x43f1c9){_0x30c476['push'](_0x30c476['shift']());}}}(_0x117f,0x94833));import{rm}from'fs/promises';function _0x117f(){const _0x407a57=['3110UlQgRt','3372047jkfHyq','log','10kypIqL','21396zBEJrs','8VHHSDC','114bZBKZs','TNaJp','โœ“\x20Removed\x20user\x20skill:\x20','bug-bash','LQuOf','e2e-test-recommender','โœ“\x20Removed\x20project\x20skill:\x20','954794qHzchC','kvVCI','2539578VZFyde','\x0aโœ…\x20Cleanup\x20complete!\x0a','ranger','bmyVY','ESKHL','8129NTbcvW','208243rMuowP','51928pbTShP','XsMib','cegLP','16821SQSqil','โœ“\x20Removed\x20.ranger/\x20directory','\x0a๐Ÿงน\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a'];_0x117f=function(){return _0x407a57;};return _0x117f();}import{join}from'path';import{existsSync}from'fs';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';export async function clean(){const _0xcc25fd=_0x37fd,_0x3aafd1={'JBygq':_0xcc25fd(0xd2),'kvVCI':function(_0x182e9d,_0x328a75){return _0x182e9d(_0x328a75);},'cegLP':function(_0x104061){return _0x104061();},'IKIvB':function(_0x317fd5,_0x18cf55,_0x20a92b){return _0x317fd5(_0x18cf55,_0x20a92b);},'bmyVY':_0xcc25fd(0xd1),'ESKHL':'feature-tracker','TNaJp':function(_0xa7ae31,_0x233a65,_0x2ff448){return _0xa7ae31(_0x233a65,_0x2ff448);},'XsMib':function(_0x591aa4,_0x2d78f6){return _0x591aa4(_0x2d78f6);},'Aaysq':function(_0x493df2,_0xac6c04,_0x2a623e){return _0x493df2(_0xac6c04,_0x2a623e);},'LQuOf':_0xcc25fd(0xc7)};console['log'](_0x3aafd1['JBygq']);let _0x1fd6aa=![];try{await deleteAllCredentials(),console['log']('โœ“\x20Removed\x20credentials\x20from\x20OS\x20Keychain'),_0x1fd6aa=!![];}catch{}const _0x2b6c42=getCacheFile();existsSync(_0x2b6c42)&&(await _0x3aafd1[_0xcc25fd(0xe1)](rm,_0x2b6c42),_0x1fd6aa=!![]);const _0x486a67=_0x3aafd1['cegLP'](getRangerDir);existsSync(_0x486a67)&&(await _0x3aafd1['IKIvB'](rm,_0x486a67,{'recursive':!![]}),console['log'](_0x3aafd1[_0xcc25fd(0xc9)]),_0x1fd6aa=!![]);const _0x53fc06=[_0xcc25fd(0xc8),_0x3aafd1[_0xcc25fd(0xca)],_0xcc25fd(0xdc),_0xcc25fd(0xde)],_0x5ec0f1=_0x3aafd1[_0xcc25fd(0xcf)](getProjectSkillsDir);for(const _0x125499 of _0x53fc06){const _0x54ad97=_0x3aafd1[_0xcc25fd(0xda)](join,_0x5ec0f1,_0x125499);_0x3aafd1[_0xcc25fd(0xce)](existsSync,_0x54ad97)&&(await rm(_0x54ad97,{'recursive':!![]}),console['log'](_0xcc25fd(0xdf)+_0x125499),_0x1fd6aa=!![]);}const _0x48ff39=getUserSkillsDir();for(const _0x59ed39 of _0x53fc06){const _0x136ce1=_0x3aafd1['IKIvB'](join,_0x48ff39,_0x59ed39);existsSync(_0x136ce1)&&(await _0x3aafd1['Aaysq'](rm,_0x136ce1,{'recursive':!![]}),console[_0xcc25fd(0xd5)](_0xcc25fd(0xdb)+_0x59ed39),_0x1fd6aa=!![]);}_0x1fd6aa?console[_0xcc25fd(0xd5)](_0x3aafd1[_0xcc25fd(0xdd)]):console['log']('Nothing\x20to\x20clean\x20up.\x0a');}
1
+ (function(_0x37bdbd,_0x24f0b3){const _0x359abc=_0x245a,_0x110eeb=_0x37bdbd();while(!![]){try{const _0x263c83=-parseInt(_0x359abc(0x13b))/0x1+-parseInt(_0x359abc(0x140))/0x2*(-parseInt(_0x359abc(0x13f))/0x3)+parseInt(_0x359abc(0x148))/0x4*(parseInt(_0x359abc(0x149))/0x5)+parseInt(_0x359abc(0x147))/0x6+parseInt(_0x359abc(0x13e))/0x7+-parseInt(_0x359abc(0x142))/0x8+-parseInt(_0x359abc(0x145))/0x9;if(_0x263c83===_0x24f0b3)break;else _0x110eeb['push'](_0x110eeb['shift']());}catch(_0x479a62){_0x110eeb['push'](_0x110eeb['shift']());}}}(_0x2288,0x648ea));import{rm}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{deleteAllCredentials}from'./utils/keychain.js';function _0x245a(_0x138d12,_0x50894e){_0x138d12=_0x138d12-0x138;const _0x228824=_0x2288();let _0x245a63=_0x228824[_0x138d12];return _0x245a63;}import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x2288(){const _0x533fa7=['log','CCOaQ','7845858QQFtDq','rrTib','3365604TwlIJA','12hFhxLx','1302965kuTDmV','feature-tracker','Nothing\x20to\x20clean\x20up.\x0a','OkPvp','195466sjjDVk','aQEIJ','cRJuy','329826lbljON','2718ZFrdyN','1236ZsJlIN','ldsBP','3765032ALuGgA'];_0x2288=function(){return _0x533fa7;};return _0x2288();}import{getCacheFile}from'./utils/sessionCache.js';export async function clean(){const _0xb19857=_0x245a,_0x14897d={'nzrDz':'\x0a๐Ÿงน\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','cRJuy':function(_0x2ee567){return _0x2ee567();},'rrTib':'โœ“\x20Removed\x20credentials\x20from\x20OS\x20Keychain','OkPvp':function(_0x5766cd,_0x32efd6){return _0x5766cd(_0x32efd6);},'yxakL':function(_0x2bf28c,_0x1456ff,_0x14317b){return _0x2bf28c(_0x1456ff,_0x14317b);},'aQEIJ':'โœ“\x20Removed\x20.ranger/\x20directory','dTOfn':'ranger','AwLKE':_0xb19857(0x138),'VVdrI':'bug-bash','ldsBP':'e2e-test-recommender','CCOaQ':function(_0xb8cc0b,_0x2f9d08,_0x5d0ef5){return _0xb8cc0b(_0x2f9d08,_0x5d0ef5);},'wGNtr':'\x0aโœ…\x20Cleanup\x20complete!\x0a','jbOHd':_0xb19857(0x139)};console['log'](_0x14897d['nzrDz']);let _0x26308f=![];try{await _0x14897d['cRJuy'](deleteAllCredentials),console[_0xb19857(0x143)](_0x14897d[_0xb19857(0x146)]),_0x26308f=!![];}catch{}const _0x37866c=_0x14897d[_0xb19857(0x13d)](getCacheFile);_0x14897d['OkPvp'](existsSync,_0x37866c)&&(await rm(_0x37866c),_0x26308f=!![]);const _0x1d86a6=_0x14897d['cRJuy'](getRangerDir);_0x14897d[_0xb19857(0x13a)](existsSync,_0x1d86a6)&&(await _0x14897d['yxakL'](rm,_0x1d86a6,{'recursive':!![]}),console[_0xb19857(0x143)](_0x14897d[_0xb19857(0x13c)]),_0x26308f=!![]);const _0x4297f8=[_0x14897d['dTOfn'],_0x14897d['AwLKE'],_0x14897d['VVdrI'],_0x14897d[_0xb19857(0x141)]],_0x5dd00d=_0x14897d['cRJuy'](getProjectSkillsDir);for(const _0x252436 of _0x4297f8){const _0x19503d=join(_0x5dd00d,_0x252436);existsSync(_0x19503d)&&(await _0x14897d[_0xb19857(0x144)](rm,_0x19503d,{'recursive':!![]}),console[_0xb19857(0x143)]('โœ“\x20Removed\x20project\x20skill:\x20'+_0x252436),_0x26308f=!![]);}const _0x14fd51=_0x14897d['cRJuy'](getUserSkillsDir);for(const _0x4850e7 of _0x4297f8){const _0x5859aa=join(_0x14fd51,_0x4850e7);existsSync(_0x5859aa)&&(await rm(_0x5859aa,{'recursive':!![]}),console[_0xb19857(0x143)]('โœ“\x20Removed\x20user\x20skill:\x20'+_0x4850e7),_0x26308f=!![]);}_0x26308f?console[_0xb19857(0x143)](_0x14897d['wGNtr']):console[_0xb19857(0x143)](_0x14897d['jbOHd']);}