@ranger-testing/ranger-cli 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -0
- package/build/cli.js +230 -8
- package/build/cli.js.map +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/addEnv.js.map +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/clean.js.map +1 -1
- package/build/commands/dataMcpServer.js +1 -1
- package/build/commands/dataMcpServer.js.map +1 -1
- package/build/commands/env.js +46 -0
- package/build/commands/env.js.map +1 -0
- package/build/commands/feature.js +494 -0
- package/build/commands/feature.js.map +1 -0
- package/build/commands/index.js +1 -0
- package/build/commands/index.js.map +1 -1
- package/build/commands/skillup.js +65 -16
- package/build/commands/skillup.js.map +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/start.js.map +1 -1
- package/build/commands/status.js +42 -11
- package/build/commands/status.js.map +1 -1
- package/build/commands/update.js +29 -16
- package/build/commands/update.js.map +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/updateEnv.js.map +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/useEnv.js.map +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/browserSessionsApi.js.map +1 -1
- package/build/commands/utils/claudeConfig.js +73 -0
- package/build/commands/utils/claudeConfig.js.map +1 -0
- package/build/commands/utils/cliSecret.js +1 -1
- package/build/commands/utils/environment.js +69 -0
- package/build/commands/utils/environment.js.map +1 -0
- package/build/commands/utils/featureApi.js +190 -0
- package/build/commands/utils/featureApi.js.map +1 -0
- package/build/commands/utils/featureReportGenerator.js +170 -0
- package/build/commands/utils/featureReportGenerator.js.map +1 -0
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js.map +1 -1
- package/build/commands/utils/mcpConfig.js +1 -1
- package/build/commands/utils/settings.js +2 -2
- package/build/commands/utils/settings.js.map +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/skills.js.map +1 -1
- package/build/commands/verifyFeature.js +451 -0
- package/build/commands/verifyFeature.js.map +1 -0
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/commands/verifyInBrowser.js.map +1 -1
- package/build/skills/feature-tracker/SKILL.md +185 -0
- package/build/skills/feature-tracker/create.md +105 -0
- package/build/skills/feature-tracker/manage.md +145 -0
- package/build/skills/feature-tracker/report.md +159 -0
- package/build/skills/feature-tracker/start.md +93 -0
- package/build/skills/feature-tracker/verify.md +143 -0
- package/package.json +23 -20
- package/build/agents/bug-basher.md +0 -259
- package/build/agents/e2e-test-recommender.md +0 -164
- package/build/agents/quality-advocate.md +0 -164
- package/build/agents/ui-verifier.md +0 -100
- package/build/commands/addApp.js +0 -21
- package/build/commands/initAgents.js +0 -84
- package/build/commands/utils/agents.js +0 -45
- package/build/index.js +0 -436
- package/build/test-auth.js +0 -13
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
2
|
+
import { join, dirname } from 'path';
|
|
3
|
+
import { readFile, readdir, appendFile, mkdir, rm } from 'fs/promises';
|
|
4
|
+
import { existsSync } from 'fs';
|
|
5
|
+
import { execSync } from 'child_process';
|
|
6
|
+
import { tmpdir } from 'os';
|
|
7
|
+
import inquirer from 'inquirer';
|
|
8
|
+
import { loadSettings, resolveEnvVars, buildPlaywrightConfig, cleanupTempFiles, } from './utils/settings.js';
|
|
9
|
+
import { createBrowserSession, updateBrowserSession, getUploadUrls, uploadTrace, uploadConversation, uploadScreenshot, buildTraceViewerUrl, getAnthropicApiKey, } from './utils/browserSessionsApi.js';
|
|
10
|
+
import { getToken } from './utils/keychain.js';
|
|
11
|
+
import { getActiveFeatureId } from './feature.js';
|
|
12
|
+
import { getFeature, addChecklistItem, updateChecklistItem, } from './utils/featureApi.js';
|
|
13
|
+
/**
|
|
14
|
+
* Zip a directory and return the buffer
|
|
15
|
+
*/
|
|
16
|
+
async function zipDirectory(dirPath) {
|
|
17
|
+
const outputPath = join(dirPath, '..', 'trace-upload.zip');
|
|
18
|
+
execSync(`cd "${dirPath}" && zip -r "${outputPath}" .`, {
|
|
19
|
+
stdio: 'pipe',
|
|
20
|
+
});
|
|
21
|
+
const buffer = await readFile(outputPath);
|
|
22
|
+
execSync(`rm "${outputPath}"`, { stdio: 'pipe' });
|
|
23
|
+
return buffer;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Find the trace directory for a session
|
|
27
|
+
*/
|
|
28
|
+
function getTraceDirectory(sessionId) {
|
|
29
|
+
return join(process.cwd(), '.ranger', 'sessions', sessionId);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get the conversation file path for a session
|
|
33
|
+
*/
|
|
34
|
+
function getConversationFilePath(sessionId) {
|
|
35
|
+
return join(tmpdir(), 'ranger-browser-sessions', sessionId, 'conversation.jsonl');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Prompt user to select a checklist item
|
|
39
|
+
*/
|
|
40
|
+
async function selectChecklistItem(items) {
|
|
41
|
+
const choices = items.map((item, i) => {
|
|
42
|
+
const emoji = item.status === 'verified'
|
|
43
|
+
? '\u2705'
|
|
44
|
+
: item.status === 'blocked'
|
|
45
|
+
? '\ud83d\uded1'
|
|
46
|
+
: item.status === 'canceled'
|
|
47
|
+
? '\u26d4'
|
|
48
|
+
: '\u2b1c';
|
|
49
|
+
return {
|
|
50
|
+
name: `${i + 1}. ${emoji} ${item.description}`,
|
|
51
|
+
value: item.id,
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
choices.push({ name: '+ Add new item', value: '__new__' });
|
|
55
|
+
const { selected } = await inquirer.prompt([
|
|
56
|
+
{
|
|
57
|
+
type: 'list',
|
|
58
|
+
name: 'selected',
|
|
59
|
+
message: 'Which checklist item does this verify?',
|
|
60
|
+
choices,
|
|
61
|
+
},
|
|
62
|
+
]);
|
|
63
|
+
if (selected === '__new__') {
|
|
64
|
+
return { item: null, addNew: true };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
item: items.find((i) => i.id === selected) || null,
|
|
68
|
+
addNew: false,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Verify a checklist item in the browser
|
|
73
|
+
*/
|
|
74
|
+
export async function verifyFeature(url, options) {
|
|
75
|
+
// 1. Check for active feature
|
|
76
|
+
const featureId = await getActiveFeatureId();
|
|
77
|
+
if (!featureId) {
|
|
78
|
+
throw new Error('No active feature. Run: ranger feature use <id> or ranger feature create');
|
|
79
|
+
}
|
|
80
|
+
// Load feature details
|
|
81
|
+
const feature = await getFeature(featureId);
|
|
82
|
+
console.log(`\nActive feature: ${feature.name} (${featureId})`);
|
|
83
|
+
// 2. Determine which checklist item we're verifying
|
|
84
|
+
let checklistItem = null;
|
|
85
|
+
let taskDescription = options.task;
|
|
86
|
+
if (options.newItem) {
|
|
87
|
+
// Create a new item with the provided description
|
|
88
|
+
checklistItem = await addChecklistItem(featureId, {
|
|
89
|
+
description: options.newItem,
|
|
90
|
+
});
|
|
91
|
+
console.log(`Created new checklist item: ${checklistItem.description}`);
|
|
92
|
+
if (!taskDescription) {
|
|
93
|
+
taskDescription = options.newItem;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else if (options.item !== undefined) {
|
|
97
|
+
// Use specified item index
|
|
98
|
+
const itemIndex = options.item - 1; // 1-based to 0-based
|
|
99
|
+
if (itemIndex < 0 || itemIndex >= feature.checklistItems.length) {
|
|
100
|
+
throw new Error(`Invalid item index: ${options.item}. Feature has ${feature.checklistItems.length} items.`);
|
|
101
|
+
}
|
|
102
|
+
checklistItem = feature.checklistItems[itemIndex];
|
|
103
|
+
if (!taskDescription) {
|
|
104
|
+
taskDescription = checklistItem.description;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// Interactive selection
|
|
109
|
+
const { item, addNew } = await selectChecklistItem(feature.checklistItems);
|
|
110
|
+
if (addNew) {
|
|
111
|
+
const { description } = await inquirer.prompt([
|
|
112
|
+
{
|
|
113
|
+
type: 'input',
|
|
114
|
+
name: 'description',
|
|
115
|
+
message: 'Enter new item description:',
|
|
116
|
+
validate: (input) => input.trim() ? true : 'Description is required',
|
|
117
|
+
},
|
|
118
|
+
]);
|
|
119
|
+
checklistItem = await addChecklistItem(featureId, {
|
|
120
|
+
description: description.trim(),
|
|
121
|
+
});
|
|
122
|
+
console.log(`Created new checklist item: ${checklistItem.description}`);
|
|
123
|
+
if (!taskDescription) {
|
|
124
|
+
taskDescription = checklistItem.description;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
checklistItem = item;
|
|
129
|
+
if (!taskDescription && checklistItem) {
|
|
130
|
+
taskDescription = checklistItem.description;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (!checklistItem) {
|
|
135
|
+
throw new Error('No checklist item selected');
|
|
136
|
+
}
|
|
137
|
+
if (!taskDescription) {
|
|
138
|
+
throw new Error('No task description provided');
|
|
139
|
+
}
|
|
140
|
+
console.log(`\nVerifying: ${checklistItem.description}`);
|
|
141
|
+
console.log(`Task: ${taskDescription}`);
|
|
142
|
+
// 3. Load active environment
|
|
143
|
+
const activeEnvPath = join(process.cwd(), '.ranger', 'active-env.txt');
|
|
144
|
+
if (!existsSync(activeEnvPath)) {
|
|
145
|
+
throw new Error('No active environment. Run: ranger use <env-name>');
|
|
146
|
+
}
|
|
147
|
+
const activeEnv = await readFile(activeEnvPath, 'utf-8').then((s) => s.trim());
|
|
148
|
+
const envDir = join(process.cwd(), '.ranger', activeEnv);
|
|
149
|
+
if (!existsSync(envDir)) {
|
|
150
|
+
throw new Error(`Environment not found at ${envDir}. Run: ranger add env ${activeEnv}`);
|
|
151
|
+
}
|
|
152
|
+
const settings = await loadSettings(activeEnv);
|
|
153
|
+
const resolvedSettings = resolveEnvVars(settings);
|
|
154
|
+
// 4. Create browser session
|
|
155
|
+
const token = await getToken();
|
|
156
|
+
if (!token) {
|
|
157
|
+
throw new Error('No API token configured. Run: ranger start <token>');
|
|
158
|
+
}
|
|
159
|
+
const browserSession = await createBrowserSession({
|
|
160
|
+
environmentName: activeEnv,
|
|
161
|
+
settings: resolvedSettings,
|
|
162
|
+
task: taskDescription,
|
|
163
|
+
url,
|
|
164
|
+
});
|
|
165
|
+
console.log(`Browser session created: ${browserSession.id}`);
|
|
166
|
+
const configResult = await buildPlaywrightConfig(resolvedSettings, activeEnv, browserSession?.id);
|
|
167
|
+
const rangerBrowserMcp = {
|
|
168
|
+
command: 'npx',
|
|
169
|
+
args: [
|
|
170
|
+
'@ranger-testing/playwright',
|
|
171
|
+
'run-mcp-server',
|
|
172
|
+
'--config',
|
|
173
|
+
configResult.configPath,
|
|
174
|
+
],
|
|
175
|
+
};
|
|
176
|
+
const startTime = Date.now();
|
|
177
|
+
// Fetch Anthropic API key
|
|
178
|
+
let anthropicApiKey;
|
|
179
|
+
try {
|
|
180
|
+
anthropicApiKey = await getAnthropicApiKey();
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
184
|
+
const errorMsg = `Failed to fetch Anthropic API key: ${message}`;
|
|
185
|
+
try {
|
|
186
|
+
await updateBrowserSession(browserSession.id, {
|
|
187
|
+
status: 'failed',
|
|
188
|
+
durationMs: Date.now() - startTime,
|
|
189
|
+
errorMessage: errorMsg,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
// Ignore
|
|
194
|
+
}
|
|
195
|
+
throw new Error(errorMsg);
|
|
196
|
+
}
|
|
197
|
+
// 5. UI Verifier + Evaluation Agent prompt
|
|
198
|
+
const verifierPrompt = `You are a Feature Verifier. Your job is to verify a checklist item by executing a UI flow and evaluating whether it adequately completes the checklist item.
|
|
199
|
+
|
|
200
|
+
## Checklist Item to Verify
|
|
201
|
+
${checklistItem.description}
|
|
202
|
+
|
|
203
|
+
## Task to Execute
|
|
204
|
+
${taskDescription}
|
|
205
|
+
|
|
206
|
+
## URL
|
|
207
|
+
${url}
|
|
208
|
+
|
|
209
|
+
## Instructions
|
|
210
|
+
1. Navigate to the URL using browser_navigate
|
|
211
|
+
2. Take a snapshot with browser_snapshot to see the page
|
|
212
|
+
3. Execute the task step-by-step using browser tools
|
|
213
|
+
4. Document any issues found (bugs, errors, unexpected behavior)
|
|
214
|
+
5. After completing the verification, evaluate whether the result adequately verifies the checklist item
|
|
215
|
+
|
|
216
|
+
## Evaluation Criteria
|
|
217
|
+
- VERIFIED: The task completed successfully and the checklist item requirements are fully met
|
|
218
|
+
- PARTIAL: The task partially completed but some aspects of the checklist item are not verified
|
|
219
|
+
- BLOCKED: A blocking issue (bug, error, missing feature) prevents completion
|
|
220
|
+
- FAILED: The task could not be completed due to errors
|
|
221
|
+
|
|
222
|
+
Return your findings in the structured output format with your evaluation.`;
|
|
223
|
+
const outputSchema = {
|
|
224
|
+
type: 'object',
|
|
225
|
+
properties: {
|
|
226
|
+
success: { type: 'boolean' },
|
|
227
|
+
summary: { type: 'string' },
|
|
228
|
+
evaluation: {
|
|
229
|
+
type: 'string',
|
|
230
|
+
enum: ['verified', 'partial', 'blocked', 'failed'],
|
|
231
|
+
},
|
|
232
|
+
evaluationReason: { type: 'string' },
|
|
233
|
+
issues: {
|
|
234
|
+
type: 'array',
|
|
235
|
+
items: {
|
|
236
|
+
type: 'object',
|
|
237
|
+
properties: {
|
|
238
|
+
severity: {
|
|
239
|
+
type: 'string',
|
|
240
|
+
enum: ['BLOCKER', 'MAJOR', 'MINOR'],
|
|
241
|
+
},
|
|
242
|
+
description: { type: 'string' },
|
|
243
|
+
screenshot: { type: 'string' },
|
|
244
|
+
},
|
|
245
|
+
required: ['severity', 'description'],
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
required: ['success', 'summary', 'evaluation', 'evaluationReason'],
|
|
250
|
+
};
|
|
251
|
+
// 6. Execute agent
|
|
252
|
+
const result = query({
|
|
253
|
+
prompt: verifierPrompt,
|
|
254
|
+
options: {
|
|
255
|
+
cwd: process.cwd(),
|
|
256
|
+
model: 'claude-opus-4-5',
|
|
257
|
+
mcpServers: {
|
|
258
|
+
'ranger-browser': rangerBrowserMcp,
|
|
259
|
+
},
|
|
260
|
+
tools: ['mcp__ranger-browser__*'],
|
|
261
|
+
permissionMode: 'bypassPermissions',
|
|
262
|
+
allowDangerouslySkipPermissions: true,
|
|
263
|
+
outputFormat: {
|
|
264
|
+
type: 'json_schema',
|
|
265
|
+
schema: outputSchema,
|
|
266
|
+
},
|
|
267
|
+
maxTurns: 25,
|
|
268
|
+
env: {
|
|
269
|
+
...process.env,
|
|
270
|
+
ANTHROPIC_API_KEY: anthropicApiKey,
|
|
271
|
+
},
|
|
272
|
+
persistSession: false,
|
|
273
|
+
},
|
|
274
|
+
});
|
|
275
|
+
// 7. Collect messages
|
|
276
|
+
let finalResult = null;
|
|
277
|
+
let agentError = null;
|
|
278
|
+
const conversationFilePath = getConversationFilePath(browserSession.id);
|
|
279
|
+
const conversationDir = dirname(conversationFilePath);
|
|
280
|
+
await mkdir(conversationDir, { recursive: true });
|
|
281
|
+
const TIMEOUT_MS = 59 * 60 * 1000;
|
|
282
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
283
|
+
setTimeout(() => {
|
|
284
|
+
reject(new Error('Agent execution timed out after 59 minutes'));
|
|
285
|
+
}, TIMEOUT_MS);
|
|
286
|
+
});
|
|
287
|
+
try {
|
|
288
|
+
try {
|
|
289
|
+
await Promise.race([
|
|
290
|
+
(async () => {
|
|
291
|
+
for await (const message of result) {
|
|
292
|
+
try {
|
|
293
|
+
const jsonLine = JSON.stringify(message) + '\n';
|
|
294
|
+
await appendFile(conversationFilePath, jsonLine, 'utf-8');
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
// Ignore
|
|
298
|
+
}
|
|
299
|
+
const msg = message;
|
|
300
|
+
if (msg.error) {
|
|
301
|
+
let errorText = msg.error;
|
|
302
|
+
if (msg.message?.content &&
|
|
303
|
+
Array.isArray(msg.message.content)) {
|
|
304
|
+
const texts = msg.message.content
|
|
305
|
+
.filter((c) => c.type === 'text')
|
|
306
|
+
.map((c) => c.text)
|
|
307
|
+
.filter(Boolean);
|
|
308
|
+
if (texts.length > 0) {
|
|
309
|
+
errorText = texts.join(' ');
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
agentError = errorText;
|
|
313
|
+
}
|
|
314
|
+
if (message.type === 'result') {
|
|
315
|
+
if (message.subtype === 'success' &&
|
|
316
|
+
message.structured_output) {
|
|
317
|
+
finalResult =
|
|
318
|
+
message.structured_output;
|
|
319
|
+
}
|
|
320
|
+
else if (message.subtype !== 'success') {
|
|
321
|
+
if (!agentError) {
|
|
322
|
+
agentError =
|
|
323
|
+
message.errors?.join(', ') ||
|
|
324
|
+
'Unknown error';
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
})(),
|
|
330
|
+
timeoutPromise,
|
|
331
|
+
]);
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
agentError = error instanceof Error ? error.message : String(error);
|
|
335
|
+
}
|
|
336
|
+
const durationMs = Date.now() - startTime;
|
|
337
|
+
// 8. Upload trace and update session
|
|
338
|
+
let traceDownloadUrl;
|
|
339
|
+
try {
|
|
340
|
+
const traceDir = getTraceDirectory(browserSession.id);
|
|
341
|
+
if (existsSync(traceDir)) {
|
|
342
|
+
const files = await readdir(traceDir);
|
|
343
|
+
if (files.length > 0) {
|
|
344
|
+
const traceUrls = await getUploadUrls(browserSession.id, 'trace.zip', 'zip');
|
|
345
|
+
const traceBuffer = await zipDirectory(traceDir);
|
|
346
|
+
await uploadTrace(traceUrls.uploadUrl, traceBuffer);
|
|
347
|
+
traceDownloadUrl = traceUrls.downloadUrl;
|
|
348
|
+
const pngFiles = files.filter((f) => f.toLowerCase().endsWith('.png'));
|
|
349
|
+
for (const pngFile of pngFiles) {
|
|
350
|
+
try {
|
|
351
|
+
const pngPath = join(traceDir, pngFile);
|
|
352
|
+
const pngBuffer = await readFile(pngPath);
|
|
353
|
+
const pngUrls = await getUploadUrls(browserSession.id, pngFile, 'png');
|
|
354
|
+
await uploadScreenshot(pngUrls.uploadUrl, pngBuffer);
|
|
355
|
+
}
|
|
356
|
+
catch {
|
|
357
|
+
// Ignore
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
if (existsSync(conversationFilePath)) {
|
|
363
|
+
try {
|
|
364
|
+
const conversationUrls = await getUploadUrls(browserSession.id, 'conversation.jsonl', 'jsonl');
|
|
365
|
+
const conversationBuffer = await readFile(conversationFilePath);
|
|
366
|
+
await uploadConversation(conversationUrls.uploadUrl, conversationBuffer);
|
|
367
|
+
}
|
|
368
|
+
catch {
|
|
369
|
+
// Ignore
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
// Cast to help TypeScript understand the type after complex control flow
|
|
373
|
+
const typedResult = finalResult;
|
|
374
|
+
const updateData = {
|
|
375
|
+
status: (agentError ? 'failed' : 'completed'),
|
|
376
|
+
durationMs,
|
|
377
|
+
agentResponse: typedResult?.summary || agentError || undefined,
|
|
378
|
+
errorMessage: agentError || undefined,
|
|
379
|
+
};
|
|
380
|
+
await updateBrowserSession(browserSession.id, updateData);
|
|
381
|
+
if (typedResult && traceDownloadUrl) {
|
|
382
|
+
typedResult.traceViewerUrl =
|
|
383
|
+
buildTraceViewerUrl(traceDownloadUrl);
|
|
384
|
+
typedResult.sessionId = browserSession.id;
|
|
385
|
+
typedResult.sessionDir = getTraceDirectory(browserSession.id);
|
|
386
|
+
typedResult.durationMs = durationMs;
|
|
387
|
+
typedResult.checklistItemId = checklistItem.id;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
catch {
|
|
391
|
+
// Ignore upload errors
|
|
392
|
+
}
|
|
393
|
+
// 9. Update checklist item based on evaluation
|
|
394
|
+
// Use typedResult from outer scope for the evaluation
|
|
395
|
+
const resultForEval = finalResult;
|
|
396
|
+
if (resultForEval && checklistItem) {
|
|
397
|
+
const evaluation = resultForEval.evaluation;
|
|
398
|
+
if (evaluation === 'verified') {
|
|
399
|
+
await updateChecklistItem(featureId, checklistItem.id, {
|
|
400
|
+
status: 'verified',
|
|
401
|
+
browserSessionId: browserSession.id,
|
|
402
|
+
});
|
|
403
|
+
console.log(`\n\u2705 Checklist item verified!`);
|
|
404
|
+
}
|
|
405
|
+
else if (evaluation === 'blocked') {
|
|
406
|
+
await updateChecklistItem(featureId, checklistItem.id, {
|
|
407
|
+
status: 'blocked',
|
|
408
|
+
browserSessionId: browserSession.id,
|
|
409
|
+
blockedReason: resultForEval.evaluationReason,
|
|
410
|
+
});
|
|
411
|
+
console.log(`\n\ud83d\uded1 Checklist item blocked: ${resultForEval.evaluationReason}`);
|
|
412
|
+
}
|
|
413
|
+
else if (evaluation === 'partial' || evaluation === 'failed') {
|
|
414
|
+
// Keep pending but link session
|
|
415
|
+
await updateChecklistItem(featureId, checklistItem.id, {
|
|
416
|
+
browserSessionId: browserSession.id,
|
|
417
|
+
});
|
|
418
|
+
console.log(`\n\u26a0\ufe0f ${evaluation === 'partial' ? 'Partial verification' : 'Verification failed'}: ${resultForEval.evaluationReason}`);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
if (agentError && !resultForEval) {
|
|
422
|
+
throw new Error(`Verification failed: ${agentError}`);
|
|
423
|
+
}
|
|
424
|
+
if (!resultForEval) {
|
|
425
|
+
throw new Error('No result received from agent');
|
|
426
|
+
}
|
|
427
|
+
return resultForEval;
|
|
428
|
+
}
|
|
429
|
+
finally {
|
|
430
|
+
// Cleanup
|
|
431
|
+
await cleanupTempFiles(configResult);
|
|
432
|
+
try {
|
|
433
|
+
const traceDir = getTraceDirectory(browserSession.id);
|
|
434
|
+
if (existsSync(traceDir)) {
|
|
435
|
+
await rm(traceDir, { recursive: true, force: true });
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
// Ignore
|
|
440
|
+
}
|
|
441
|
+
try {
|
|
442
|
+
if (existsSync(conversationDir)) {
|
|
443
|
+
await rm(conversationDir, { recursive: true, force: true });
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
catch {
|
|
447
|
+
// Ignore
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
//# sourceMappingURL=verifyFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyFeature.js","sourceRoot":"","sources":["../../src/commands/verifyFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xcc6df6,_0x5550bd){const _0x36103c=_0x3458,_0x47e350=_0xcc6df6();while(!![]){try{const _0x25a850=-parseInt(_0x36103c(0x18e))/0x1+parseInt(_0x36103c(0x129))/0x2+-parseInt(_0x36103c(0x188))/0x3*(parseInt(_0x36103c(0xef))/0x4)+-parseInt(_0x36103c(0xfe))/0x5+-parseInt(_0x36103c(0x17e))/0x6+parseInt(_0x36103c(0x194))/0x7+parseInt(_0x36103c(0xf4))/0x8;if(_0x25a850===_0x5550bd)break;else _0x47e350['push'](_0x47e350['shift']());}catch(_0x3073ce){_0x47e350['push'](_0x47e350['shift']());}}}(_0xb4a6,0x2c3da));const _0x4e5646=(function(){const _0x4358fa=_0x3458,_0x288a8f={'qnhch':_0x4358fa(0x17f)};let _0x303dcd=!![];return function(_0x50b2d1,_0x493020){const _0x1adabd=_0x303dcd?function(){const _0x4be48a=_0x3458;if(_0x493020){if(_0x288a8f[_0x4be48a(0x10b)]===_0x4be48a(0x17f)){const _0xc57a7c=_0x493020[_0x4be48a(0x184)](_0x50b2d1,arguments);return _0x493020=null,_0xc57a7c;}else{const _0x3d5c0a=_0x4be48a(0x172)[_0x4be48a(0x151)]('|');let _0x3a8054=0x0;while(!![]){switch(_0x3d5c0a[_0x3a8054++]){case'0':_0x4c10a9['traceViewerUrl']=_0x26550a;continue;case'1':_0x48baed[_0x4be48a(0x116)]=_0x2b00b2(_0x35baed['id']);continue;case'2':_0x41f457[_0x4be48a(0x16b)]=_0x2d34dc;continue;case'3':_0x4efd66[_0x4be48a(0x140)]=_0x1ad3a3;continue;case'4':_0x1e3a11['url']=_0x2dcf61;continue;case'5':_0x3b4bd4[_0x4be48a(0x17d)]=_0x21d212['id'];continue;}break;}}}}:function(){};return _0x303dcd=![],_0x1adabd;};}()),_0x4186fe=_0x4e5646(this,function(){const _0x3dd89a=_0x3458,_0x8c7ac2={'zJBkv':_0x3dd89a(0xdd)};return _0x4186fe['toString']()[_0x3dd89a(0x14f)](_0x8c7ac2['zJBkv'])['toString']()[_0x3dd89a(0x156)](_0x4186fe)[_0x3dd89a(0x14f)](_0x8c7ac2[_0x3dd89a(0x105)]);});_0x4186fe();import{query}from'@anthropic-ai/claude-agent-sdk';import{join,dirname}from'path';function _0x3458(_0x3c104a,_0x1337b0){_0x3c104a=_0x3c104a-0xdc;const _0x1dcfdd=_0xb4a6();let _0x4186fe=_0x1dcfdd[_0x3c104a];if(_0x3458['CewEdR']===undefined){var _0x4e5646=function(_0x2045f5){const _0x66859c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40fb16='',_0x14edf6='',_0x3ee717=_0x40fb16+_0x4e5646;for(let _0x5e39a3=0x0,_0x154e14,_0x3e939f,_0x4c09df=0x0;_0x3e939f=_0x2045f5['charAt'](_0x4c09df++);~_0x3e939f&&(_0x154e14=_0x5e39a3%0x4?_0x154e14*0x40+_0x3e939f:_0x3e939f,_0x5e39a3++%0x4)?_0x40fb16+=_0x3ee717['charCodeAt'](_0x4c09df+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x154e14>>(-0x2*_0x5e39a3&0x6)):_0x5e39a3:0x0){_0x3e939f=_0x66859c['indexOf'](_0x3e939f);}for(let _0x6c127e=0x0,_0x368443=_0x40fb16['length'];_0x6c127e<_0x368443;_0x6c127e++){_0x14edf6+='%'+('00'+_0x40fb16['charCodeAt'](_0x6c127e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14edf6);};_0x3458['RDwVMj']=_0x4e5646,_0x3458['pTYpxx']={},_0x3458['CewEdR']=!![];}const _0xb4a6ac=_0x1dcfdd[0x0],_0x345827=_0x3c104a+_0xb4a6ac,_0x483494=_0x3458['pTYpxx'][_0x345827];if(!_0x483494){const _0x1f2ba7=function(_0x2b867e){this['xXPbyv']=_0x2b867e,this['gxuoAc']=[0x1,0x0,0x0],this['JmqhVt']=function(){return'newState';},this['QXXQUc']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['yUZFFk']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1f2ba7['prototype']['kLFywY']=function(){const _0x37a61c=new RegExp(this['QXXQUc']+this['yUZFFk']),_0xbb4290=_0x37a61c['test'](this['JmqhVt']['toString']())?--this['gxuoAc'][0x1]:--this['gxuoAc'][0x0];return this['sGXaji'](_0xbb4290);},_0x1f2ba7['prototype']['sGXaji']=function(_0x398ff1){if(!Boolean(~_0x398ff1))return _0x398ff1;return this['hQSwHF'](this['xXPbyv']);},_0x1f2ba7['prototype']['hQSwHF']=function(_0x479e67){for(let _0xdcc145=0x0,_0x2bffe4=this['gxuoAc']['length'];_0xdcc145<_0x2bffe4;_0xdcc145++){this['gxuoAc']['push'](Math['round'](Math['random']())),_0x2bffe4=this['gxuoAc']['length'];}return _0x479e67(this['gxuoAc'][0x0]);},new _0x1f2ba7(_0x3458)['kLFywY'](),_0x4186fe=_0x3458['RDwVMj'](_0x4186fe),_0x3458['pTYpxx'][_0x345827]=_0x4186fe;}else _0x4186fe=_0x483494;return _0x4186fe;}import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';function _0xb4a6(){const _0x4f2b7e=['C2vZC2LVBKLK','nduYmZCWv2fmtMnV','zev4wve','vLrYCe8','BwLyA3u','y29UzMLNugf0Aa','CNvUlw1JCc1Zzxj2zxi','yxbWBhK','zM9Yz3m','tuLot1i','y1Hdz1K','nLDwywLfva','v1jpt1C','lIbsDw46ihjHBMDLCIbHzgqGzw52ia','y3DK','vxjnBuC','rw52AxjVBM1LBNqGBM90igzVDw5Kigf0ia','mtuYodu1EezZyuzS','iIaMjIb6AxaGlxiGiG','rw55wMm','BxzuB3G','rLzdzva','rLLzEg4','mtKZmJiZoevxqMDiyq','tNPiDhC','EgTryKq','tufkt1i','CMfJzq','BwvZC2fNzq','BwnWx19Yyw5NzxiTyNjVD3nLCL9FkG','kcGOlISPkYKRksSK','CMvnBeW','uez2v3O','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','y29UDgvUDa','tM8Gywn0AxzLigvUDMLYB25Tzw50lIbsDw46ihjHBMDLCIb1C2uGpgvUDI1Uyw1LpG','vLffy0i','B2jQzwn0','A3vHuu4','tNr1B24','tKnRvMW','vfnTshC','r0DurK8','q2TdANC','cLvstdOG','zMfPBgvK','Dgv4Da','zfrqzNi','mZyWmJm2twjfwfPh','tKXcC2W','rhbPALy','uKzjC1C','zMHdExO','mJu4otq0mefsAeLLtW','zMLSDgvY','sM9vtuK','v3Ptu1i','yK9iAhG','CMvZDwX0','tMHjDvO','teXgtKm','CeX4rNy','BhndDhm','mti3mZm4mgfqAgXoyW','C3vJy2vZCW','tLHvsue','sMjOu1a','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihn0yxj0idX0B2TLBJ4','C2v2zxjPDhK','qvrdz0u','EKPcA3y','y2XHDwrLlw9WDxmTnc01','DuPxAM8','yxjYyxK','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','C0jWr3u','Cw5Oy2G','vvHpDxa','CgLWzq','DgHLBG','zxjYB3jZ','AvHYrwC','C3rYAw5N','C3vTBwfYEq','zgvZy3jPChrPB24','thzRq2y','vxDpsMK','C2vZC2LVBKrPCG','A2XZqLC','yM5hwKG','yMvVtfm','BwfW','zgnLqLa','ufPJteG','yvjTEgS','q2PbuuS','tfLzsg0','r3r0uei','BM93','u0PWsuW','C3vIDhLWzq','AM9PBG','Aunuv08','vfbPA1O','wu5Hqvy','C3rYDwn0DxjLzf9VDxrWDxq','ndG5mdGWvfrdEfj1','z1jwvgO','Bu16BKe','vw9bC2i','Ehfethi','CwLUv1G','sMrUuvi','B3DuseS','AeDoyxq','ANnVBL9Zy2HLBwe','suP5z1i','C1nJzfm','D2Luuxm','lNjHBMDLCG','rMfPBgvKihrVigzLDgnOiefUDgHYB3bPyYbbueKGA2v5igzYB20GuMfUz2vYiefqss4G','AgX3ELe','r1HYBw8','BgvUz3rO','r3njDu0','yNLWyxnZugvYBwLZC2LVBNm','zNjMwxq','vw5RBM93BIbLCNjVCG','svLsCwe','zhvYyxrPB25nCW','zeDbt0u','y29TCgXLDgvK','tvPuDfm','BKvjt1e','AeXKz3e','AhPeCKG','ywn0AxzLlwvUDI50Ehq','vLjbqMe','t1PAC0W','C2vZC2LVBNm','CxLYqxC','zxjYB3i','Bg9N','ALzTugS','C2vHCMnO','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','C3bSAxq','EvjTzLK','Be5kvve','y29UDMvYC2f0Aw9UvxbSB2fKvxjS','Cg94sxe','y29UC3rYDwn0B3i','zw52','zKHuChu','DxrMltG','nxWWFdj8m3WXFdq','AxnbCNjHEq','ve9gy2e','wgDeu3C','s0Xgwfu','ls1JB25MAwC','vLDVt1y','uhnrufe','rM9jBuq','DLLWteq','rNLrtMi','sK9ys0e','vunkz3y','BKrcrLm','DxjS','rgTKuhu','ywrvsvi','DgfZAW','tM9LvNy','tM1RANG','yM9VBgvHBG','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','z0TSENG','CgL5t2u','mhW1Fdf8m3WYFdq','tKXZAvK','ru9VsMe','vwTyr0y','y29UDMvYC2f0Aw9UlMPZB25S','DhLWzq','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGsu5tvfjvq1rjt05toGOXlIboyxzPz2f0zsb0BYb0AguGvvjmihvZAw5NigjYB3DZzxjFBMf2AwDHDgukmI4GvgfRzsbHihnUyxbZAg90ihDPDgGGyNjVD3nLCL9ZBMfWC2HVDcb0BYbZzwuGDgHLihbHz2ukmY4GrxHLy3v0zsb0AguGDgfZAYbZDgvWlwj5lxn0zxaGDxnPBMCGyNjVD3nLCIb0B29SCWO0lIbjzIb5B3uGzMLUzcbbtLKGyNvNCYWGCMvWB3j0igLTBwvKAwf0zwX5ihDPDgGGC2v2zxjPDhKkns4GuMv0DxjUihLVDxiGzMLUzgLUz3mGAw4GDgHLihn0CNvJDhvYzwqGB3v0Chv0igzVCM1HDaOkww91CIb0yxnRoIa','DhjHy2vvCMW','zKruDxu','Dg9tDhjPBMC','AxHozvC'];_0xb4a6=function(){return _0x4f2b7e;};return _0xb4a6();}import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,uploadTrace,uploadConversation,buildTraceViewerUrl,getAnthropicApiKey}from'./utils/browserSessionsApi.js';import{getToken}from'./utils/keychain.js';async function zipDirectory(_0x1a9e31){const _0x38323c=_0x3458,_0x2e0f51={'vtLgX':function(_0x284e6b,_0x10c894,_0x43d772,_0x185c86){return _0x284e6b(_0x10c894,_0x43d772,_0x185c86);},'UwOJi':'trace-upload.zip','XgDSw':function(_0x1906a2,_0x2be9b7,_0x4b7c2a){return _0x1906a2(_0x2be9b7,_0x4b7c2a);},'adUIR':_0x38323c(0x10d),'OZZsL':function(_0x338e93,_0x409661){return _0x338e93(_0x409661);}},_0xa0db84=_0x2e0f51['vtLgX'](join,_0x1a9e31,'..',_0x2e0f51[_0x38323c(0x115)]);_0x2e0f51[_0x38323c(0x15d)](execSync,'cd\x20\x22'+_0x1a9e31+_0x38323c(0x18f)+_0xa0db84+'\x22\x20.',{'stdio':_0x2e0f51[_0x38323c(0x16a)]});const _0x418b89=await _0x2e0f51[_0x38323c(0x149)](readFile,_0xa0db84);return _0x2e0f51['XgDSw'](execSync,'rm\x20\x22'+_0xa0db84+'\x22',{'stdio':_0x38323c(0x10d)}),_0x418b89;}function getTraceDirectory(_0x4758ce){const _0x1fee04=_0x3458,_0x437618={'GsIuM':function(_0x5eb778,_0x584ad8,_0x4653b1,_0x9a134d,_0x5c8a03){return _0x5eb778(_0x584ad8,_0x4653b1,_0x9a134d,_0x5c8a03);},'mvTox':_0x1fee04(0x136),'HWGVX':_0x1fee04(0x14a)};return _0x437618[_0x1fee04(0x13b)](join,process[_0x1fee04(0x18b)](),_0x437618[_0x1fee04(0x191)],_0x437618['HWGVX'],_0x4758ce);}function getConversationFilePath(_0x479cdc){const _0x36edb3=_0x3458,_0x85781d={'NoeVv':function(_0xc75160){return _0xc75160();}};return join(_0x85781d[_0x36edb3(0x16c)](tmpdir),_0x36edb3(0x16f),_0x479cdc,_0x36edb3(0x176));}export async function verifyInBrowser(_0x431be1,_0x4960fb){const _0x4a2954=_0x3458,_0x2918cf={'owTHK':function(_0x289d05,_0xc4bd4b,_0x4ec486,_0x38856e,_0x1970b3){return _0x289d05(_0xc4bd4b,_0x4ec486,_0x38856e,_0x1970b3);},'LYYHm':function(_0x5f5dd0){return _0x5f5dd0();},'cvVZa':_0x4a2954(0x16f),'bnGZH':_0x4a2954(0x176),'hzDrH':_0x4a2954(0x13e),'VTrpO':_0x4a2954(0xdd),'forgs':function(_0xee2759,_0x24f8e8){return _0xee2759(_0x24f8e8);},'sScdS':_0x4a2954(0x109),'UrMmG':function(_0x4ebe22,_0x3172ac,_0x655a49){return _0x4ebe22(_0x3172ac,_0x655a49);},'xqDLr':function(_0x4c3572,_0x16129b){return _0x4c3572>_0x16129b;},'RFIsW':_0x4a2954(0x131),'FRQUC':function(_0x4d3da9,_0x22d3b3,_0x4cd9e4,_0x36455f,_0x1276c3){return _0x4d3da9(_0x22d3b3,_0x4cd9e4,_0x36455f,_0x1276c3);},'LvkCf':'.ranger','mMznA':function(_0x1cce06,_0x5b5a4d){return _0x1cce06===_0x5b5a4d;},'miXku':_0x4a2954(0xff),'iCTWO':function(_0x3b05e8,_0x29d14a){return _0x3b05e8(_0x29d14a);},'OPQKl':function(_0x2e43e1,_0x4bc8a6){return _0x2e43e1>_0x4bc8a6;},'NLBsl':function(_0xf284ab,_0x242798){return _0xf284ab instanceof _0x242798;},'hlwzQ':_0x4a2954(0xe2),'SJpIL':'epyGh','GXrmo':_0x4a2954(0x166),'JdnQR':function(_0x39a330,_0x1a6bbb,_0x478cf2,_0x23ffcc){return _0x39a330(_0x1a6bbb,_0x478cf2,_0x23ffcc);},'poxIq':_0x4a2954(0x159),'UkXGF':_0x4a2954(0xee),'vNmcr':_0x4a2954(0x12a),'NLsiY':function(_0x5a56fb,_0x42470d){return _0x5a56fb===_0x42470d;},'piyOe':function(_0x555949,_0x77dc4){return _0x555949!==_0x77dc4;},'pLxFv':'NAOyK','bOHhx':'iXKex','AsGdO':_0x4a2954(0x195),'Ntuon':_0x4a2954(0x147),'yRmfY':_0x4a2954(0xfd),'EnyZc':function(_0x5567c7,_0x521a6f,_0xe54cb4){return _0x5567c7(_0x521a6f,_0xe54cb4);},'IJygR':function(_0x33f9d2,_0x5f17fe){return _0x33f9d2(_0x5f17fe);},'PFvWz':function(_0xf890a2,_0x1172d2){return _0xf890a2!==_0x1172d2;},'PsQPQ':_0x4a2954(0x163),'FoImD':_0x4a2954(0x135),'beoLS':function(_0x3c643f,_0x98aa69){return _0x3c643f===_0x98aa69;},'klsBW':'JKHOZ','nucMI':_0x4a2954(0x101),'qyrAw':_0x4a2954(0x102),'FVCeP':function(_0x27e182,_0x472123){return _0x27e182(_0x472123);},'dTuIZ':'npx','YNaAV':'@ranger-testing/playwright','GttPB':_0x4a2954(0x183),'JqkbD':_0x4a2954(0x15f),'KLFXU':function(_0x2e0625,_0x30a938){return _0x2e0625!==_0x30a938;},'aRmxk':_0x4a2954(0x187),'jVmPk':function(_0x227d7b){return _0x227d7b();},'TSmHw':_0x4a2954(0x145),'NXUIA':function(_0x475ce3,_0x1e88ef){return _0x475ce3 instanceof _0x1e88ef;},'DkdPu':function(_0x25fb4d,_0x5a6ab7){return _0x25fb4d(_0x5a6ab7);},'QIPib':'failed','lNJUQ':'object','nEIOQ':_0x4a2954(0x16e),'ATCgE':_0x4a2954(0x111),'UXOup':_0x4a2954(0x108),'dGAOE':'BLOCKER','NhIuZ':_0x4a2954(0x113),'nDBFS':_0x4a2954(0x112),'UoAsb':function(_0x16f591,_0x4643b4){return _0x16f591(_0x4643b4);},'cxUra':_0x4a2954(0xdc),'IYRqa':_0x4a2954(0x13c),'TPikZ':_0x4a2954(0x132),'LLFNC':function(_0x19e454,_0x1c3571){return _0x19e454(_0x1c3571);},'uJWjo':function(_0x146dc8,_0x4627ef,_0x5ce219){return _0x146dc8(_0x4627ef,_0x5ce219);},'xkQbD':function(_0x2219fc,_0x40bbe2){return _0x2219fc*_0x40bbe2;},'abvtA':'XeYQD','gKlzx':'KGCup','JOXKA':_0x4a2954(0x110),'GGTFO':function(_0x47fe57,_0x47ab31){return _0x47fe57-_0x47ab31;},'MZTtS':function(_0x8f3abb,_0x1c8336){return _0x8f3abb!==_0x1c8336;},'ixNeW':_0x4a2954(0xde),'FYYxn':_0x4a2954(0xf7),'DpijV':function(_0x1f88da,_0x14be1e){return _0x1f88da(_0x14be1e);},'iSPpj':function(_0x442552,_0x37525e){return _0x442552(_0x37525e);},'BemwW':_0x4a2954(0x11b),'UnZmM':_0x4a2954(0x164),'fhCyz':function(_0x32a105,_0x3aa9eb){return _0x32a105(_0x3aa9eb);},'Nmkjx':function(_0x126ca2,_0x2714b1,_0x405310){return _0x126ca2(_0x2714b1,_0x405310);},'frfYt':_0x4a2954(0x142),'PZcLH':function(_0xc347b7,_0x3cf9c6){return _0xc347b7||_0x3cf9c6;},'fHTpu':function(_0xac6906,_0x50ee16,_0xe86a03){return _0xac6906(_0x50ee16,_0xe86a03);},'kuaQN':function(_0x4b7732,_0xdde84b){return _0x4b7732(_0xdde84b);},'niFog':_0x4a2954(0x15a),'shMJl':function(_0x26bbf2,_0x316ae2){return _0x26bbf2(_0x316ae2);},'yWyTM':_0x4a2954(0x148),'XibXf':_0x4a2954(0x174),'CkCjw':'No\x20result\x20received\x20from\x20agent','JoUMI':function(_0x12c033,_0x1885fd){return _0x12c033(_0x1885fd);}},_0x1408ac=join(process['cwd'](),_0x2918cf[_0x4a2954(0x114)],_0x2918cf[_0x4a2954(0xe6)]);if(!existsSync(_0x1408ac)){if(_0x2918cf[_0x4a2954(0x152)]===_0x4a2954(0x17a))return _0x2918cf[_0x4a2954(0x130)](_0x2a5a4f,_0x2918cf[_0x4a2954(0x11f)](_0x5a640f),_0x2918cf['cvVZa'],_0x211a40,_0x2918cf[_0x4a2954(0x118)]);else throw new Error(_0x2918cf['hlwzQ']);}const _0x514deb=await _0x2918cf[_0x4a2954(0x190)](readFile,_0x1408ac,_0x2918cf[_0x4a2954(0x155)])[_0x4a2954(0x10e)](_0x5b9731=>_0x5b9731['trim']()),_0x46a382=_0x2918cf[_0x4a2954(0x12f)](join,process[_0x4a2954(0x18b)](),_0x2918cf[_0x4a2954(0x114)],_0x514deb);if(!_0x2918cf[_0x4a2954(0x133)](existsSync,_0x46a382)){if(_0x2918cf[_0x4a2954(0xdf)](_0x2918cf[_0x4a2954(0x161)],_0x2918cf[_0x4a2954(0x162)]))throw new Error(_0x4a2954(0x18d)+_0x46a382+'.\x20Run:\x20ranger\x20add\x20env\x20'+_0x514deb);else throw new _0x412fde('Verification\x20failed:\x20'+_0x59c60f);}const _0x18acf7=await loadSettings(_0x514deb),_0x25b3e1=_0x2918cf[_0x4a2954(0x185)](resolveEnvVars,_0x18acf7),_0x34ca58=await _0x2918cf['LYYHm'](getToken);if(!_0x34ca58){if(_0x2918cf[_0x4a2954(0x119)](_0x2918cf[_0x4a2954(0x117)],_0x2918cf['nucMI']))!_0x2952e4&&(_0x179290=_0x5c4081[_0x4a2954(0x10f)]?.['join'](',\x20')||_0x2918cf[_0x4a2954(0x146)]);else throw new Error(_0x2918cf[_0x4a2954(0x14b)]);}const _0x5e6b63=await _0x2918cf[_0x4a2954(0x192)](createBrowserSession,{'environmentName':_0x514deb,'settings':_0x25b3e1,'task':_0x4960fb,'url':_0x431be1});console[_0x4a2954(0x14d)](_0x4a2954(0xe0)+_0x5e6b63['id']);const _0x1eb2be=await _0x2918cf[_0x4a2954(0x12f)](buildPlaywrightConfig,_0x25b3e1,_0x514deb,_0x5e6b63?.['id']),_0x5a4eee={'command':_0x2918cf['dTuIZ'],'args':[_0x2918cf[_0x4a2954(0x127)],_0x2918cf[_0x4a2954(0x120)],_0x2918cf['JqkbD'],_0x1eb2be[_0x4a2954(0x182)]]},_0x3e333b=Date[_0x4a2954(0x121)]();let _0x283048;try{if(_0x2918cf[_0x4a2954(0x15e)](_0x2918cf[_0x4a2954(0x11d)],'hbHNl'))_0x283048=await _0x2918cf[_0x4a2954(0x14e)](getAnthropicApiKey);else return _0x269915[_0x4a2954(0x17b)]()['search'](LwNJqs[_0x4a2954(0x180)])[_0x4a2954(0x17b)]()['constructor'](_0x1c7682)[_0x4a2954(0x14f)](LwNJqs[_0x4a2954(0x180)]);}catch(_0x2a5377){if(_0x2918cf[_0x4a2954(0xe8)]===_0x4a2954(0x145)){const _0x12e9df=_0x2918cf[_0x4a2954(0x100)](_0x2a5377,Error)?_0x2a5377['message']:_0x2918cf['DkdPu'](String,_0x2a5377),_0x472bbe=_0x4a2954(0x137)+_0x12e9df;try{await updateBrowserSession(_0x5e6b63['id'],{'status':_0x2918cf['QIPib'],'durationMs':Date[_0x4a2954(0x121)]()-_0x3e333b,'errorMessage':_0x472bbe});}catch{}throw new Error(_0x472bbe);}else{const _0x4d7768={'WROOW':function(_0x3b8d6d,_0x2e20e3){const _0xb11fd9=_0x4a2954;return _0x2918cf[_0xb11fd9(0x185)](_0x3b8d6d,_0x2e20e3);},'TOFca':_0x2918cf[_0x4a2954(0x134)]};_0x2918cf[_0x4a2954(0x18c)](_0x35ef2b,()=>{const _0x3f10b2=_0x4a2954;_0x4d7768[_0x3f10b2(0x189)](_0x1defc3,new _0x2e9442(_0x4d7768[_0x3f10b2(0x15c)]));},_0x92276b);}}const _0x357506=_0x4a2954(0x178)+_0x4960fb+_0x4a2954(0xeb)+_0x431be1,_0x43d261={'type':_0x2918cf[_0x4a2954(0x153)],'properties':{'success':{'type':_0x2918cf[_0x4a2954(0x144)]},'summary':{'type':_0x2918cf[_0x4a2954(0x104)]},'issues':{'type':_0x2918cf[_0x4a2954(0x10c)],'items':{'type':_0x4a2954(0xe4),'properties':{'severity':{'type':_0x4a2954(0x111),'enum':[_0x2918cf[_0x4a2954(0x141)],_0x4a2954(0x197),_0x4a2954(0x186)]},'description':{'type':_0x2918cf[_0x4a2954(0x104)]},'screenshot':{'type':_0x2918cf['ATCgE']}},'required':[_0x4a2954(0x103),_0x2918cf[_0x4a2954(0xfa)]]}},'screenshots':{'type':_0x4a2954(0x108),'items':{'type':_0x2918cf[_0x4a2954(0x104)]}}},'required':[_0x2918cf[_0x4a2954(0x181)],_0x2918cf[_0x4a2954(0x167)]]},_0x2495f5=_0x2918cf[_0x4a2954(0x12c)](query,{'prompt':_0x357506,'options':{'cwd':process['cwd'](),'model':_0x4a2954(0x106),'mcpServers':{'ranger-browser':_0x5a4eee},'tools':[_0x2918cf['cxUra']],'permissionMode':_0x2918cf[_0x4a2954(0x13f)],'allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x2918cf[_0x4a2954(0x126)],'schema':_0x43d261},'maxTurns':0x14,'env':{...process[_0x4a2954(0x157)],'ANTHROPIC_API_KEY':_0x283048}}});let _0xb45083=null,_0x164308=null;const _0x46ed2d=_0x2918cf[_0x4a2954(0x185)](getConversationFilePath,_0x5e6b63['id']),_0x5da633=_0x2918cf[_0x4a2954(0xfb)](dirname,_0x46ed2d);await _0x2918cf[_0x4a2954(0x107)](mkdir,_0x5da633,{'recursive':!![]});const _0x4a4a93=_0x2918cf[_0x4a2954(0x196)](_0x2918cf['xkQbD'](0x3b,0x3c),0x3e8),_0x44a4ad=new Promise((_0x114985,_0x18a92b)=>{const _0x1dfef8=_0x4a2954,_0x3d93a9={'VQEcB':function(_0x1d1a2a,_0x1cbed1){const _0x40f71c=_0x3458;return _0x2918cf[_0x40f71c(0x12d)](_0x1d1a2a,_0x1cbed1);},'CjAQK':_0x2918cf[_0x1dfef8(0xf2)],'GJscY':_0x1dfef8(0xe7)};setTimeout(()=>{const _0x4f58e0=_0x1dfef8;if(_0x3d93a9[_0x4f58e0(0x11e)]!==_0x3d93a9['GJscY'])_0x18a92b(new Error(_0x4f58e0(0x109)));else{let _0x4544f9=_0x2a3d52['error'];if(_0x6fb4bb[_0x4f58e0(0x199)]?.[_0x4f58e0(0xe1)]&&_0x3f55f2[_0x4f58e0(0x15b)](_0x2c9ec0[_0x4f58e0(0x199)][_0x4f58e0(0xe1)])){const _0x305084=_0x4ec029[_0x4f58e0(0x199)]['content'][_0x4f58e0(0xf5)](_0x451da0=>_0x451da0['type']==='text')[_0x4f58e0(0x11a)](_0x328a63=>_0x328a63[_0x4f58e0(0xed)])[_0x4f58e0(0xf5)](_0x319a26);_0x3d93a9[_0x4f58e0(0xe3)](_0x305084[_0x4f58e0(0x13a)],0x0)&&(_0x4544f9=_0x305084[_0x4f58e0(0x124)]('\x20'));}_0x481181=_0x4544f9;}},_0x4a4a93);});try{if(_0x2918cf[_0x4a2954(0x12b)](_0x2918cf['abvtA'],_0x4a2954(0x160)))_0xdbe92a=_0x3bd2df[_0x4a2954(0x124)]('\x20');else{try{if(_0x2918cf['beoLS'](_0x2918cf[_0x4a2954(0x170)],_0x2918cf[_0x4a2954(0x165)]))return _0x2918cf['FRQUC'](_0x521987,_0x5722e8[_0x4a2954(0x18b)](),_0x2918cf[_0x4a2954(0x114)],'sessions',_0xaa35e2);else await Promise[_0x4a2954(0x198)]([((async()=>{const _0x1c3394=_0x4a2954,_0x20d5d3={'sBpGu':function(_0x22a7a9,_0x526e9e){const _0x4b50f7=_0x3458;return _0x2918cf[_0x4b50f7(0xf0)](_0x22a7a9,_0x526e9e);},'FnAaF':_0x2918cf[_0x1c3394(0x138)]};for await(const _0x7d940e of _0x2495f5){if(_0x2918cf[_0x1c3394(0x12b)](_0x2918cf[_0x1c3394(0x122)],_0x2918cf[_0x1c3394(0x122)])){try{if(_0x2918cf[_0x1c3394(0x139)]===_0x2918cf['GXrmo']){const _0x2dea98=JSON['stringify'](_0x7d940e)+'\x0a';await _0x2918cf[_0x1c3394(0x12f)](appendFile,_0x46ed2d,_0x2dea98,_0x2918cf[_0x1c3394(0x155)]);}else{const _0x4a0c1e=_0x3b97e8[_0x1c3394(0x184)](_0x2b8126,arguments);return _0x33f441=null,_0x4a0c1e;}}catch{}const _0x401d20=_0x7d940e;if(_0x401d20[_0x1c3394(0x14c)]){if(_0x1c3394(0xee)===_0x2918cf[_0x1c3394(0x175)]){let _0x2ca608=_0x401d20['error'];if(_0x401d20['message']?.[_0x1c3394(0xe1)]&&Array['isArray'](_0x401d20[_0x1c3394(0x199)]['content'])){const _0x43a84e=_0x401d20[_0x1c3394(0x199)][_0x1c3394(0xe1)]['filter'](_0x9558e7=>_0x9558e7['type']===_0x1c3394(0xed))[_0x1c3394(0x11a)](_0x4fe30a=>_0x4fe30a[_0x1c3394(0xed)])[_0x1c3394(0xf5)](Boolean);_0x2918cf[_0x1c3394(0x12d)](_0x43a84e[_0x1c3394(0x13a)],0x0)&&(_0x1c3394(0x12a)===_0x2918cf['vNmcr']?_0x2ca608=_0x43a84e[_0x1c3394(0x124)]('\x20'):_0x28ad94=_0x20d5d3[_0x1c3394(0x10a)](_0x5a8adb,_0x297b0b)?_0x1c5e79[_0x1c3394(0x199)]:_0x173ebb(_0xd22ea2));}_0x164308=_0x2ca608;}else{if(_0x2918cf['mMznA'](_0xe531ad[_0x1c3394(0x123)],_0x2918cf[_0x1c3394(0x181)])&&_0x293314[_0x1c3394(0x128)])_0x42ef7a=_0xa8323['structured_output'];else _0x168eeb[_0x1c3394(0x123)]!==_0x2918cf[_0x1c3394(0x181)]&&(!_0x49b869&&(_0x1c78bc=_0x3ad962[_0x1c3394(0x10f)]?.[_0x1c3394(0x124)](',\x20')||_0x2918cf[_0x1c3394(0x146)]));}}if(_0x2918cf[_0x1c3394(0x173)](_0x7d940e[_0x1c3394(0x177)],_0x1c3394(0xf9))){if(_0x2918cf[_0x1c3394(0x12b)](_0x7d940e[_0x1c3394(0x123)],_0x2918cf['miXku'])&&_0x7d940e[_0x1c3394(0x128)])_0x2918cf[_0x1c3394(0x171)](_0x2918cf[_0x1c3394(0xfc)],_0x2918cf[_0x1c3394(0xf8)])?_0xb45083=_0x7d940e['structured_output']:_0x2918cf[_0x1c3394(0x125)](_0x584376,new _0x341606(_0x2918cf[_0x1c3394(0x134)]));else{if(_0x7d940e['subtype']!==_0x1c3394(0xff)){if(!_0x164308){if(_0x2918cf['piyOe'](_0x2918cf['AsGdO'],_0x1c3394(0x12e)))_0x164308=_0x7d940e[_0x1c3394(0x10f)]?.[_0x1c3394(0x124)](',\x20')||_0x1c3394(0x13e);else{const _0x205d25=_0x239ab9[_0x1c3394(0x199)][_0x1c3394(0xe1)]['filter'](_0x18b7b3=>_0x18b7b3[_0x1c3394(0x177)]===_0x1c3394(0xed))[_0x1c3394(0x11a)](_0xe662a=>_0xe662a['text'])[_0x1c3394(0xf5)](_0x509268);_0x2918cf['OPQKl'](_0x205d25['length'],0x0)&&(_0x540078=_0x205d25['join']('\x20'));}}}}}}else throw new _0x191e39(_0x20d5d3['FnAaF']);}})()),_0x44a4ad]);}catch(_0x5604a8){_0x164308=_0x5604a8 instanceof Error?_0x5604a8[_0x4a2954(0x199)]:_0x2918cf[_0x4a2954(0x192)](String,_0x5604a8);}const _0x5921fd=_0x2918cf[_0x4a2954(0xe9)](Date[_0x4a2954(0x121)](),_0x3e333b);try{if(_0x2918cf[_0x4a2954(0x143)](_0x2918cf[_0x4a2954(0x17c)],_0x2918cf[_0x4a2954(0x193)])){const _0x2ed23e=_0x2918cf[_0x4a2954(0x169)](getTraceDirectory,_0x5e6b63['id']);if(_0x2918cf[_0x4a2954(0x192)](existsSync,_0x2ed23e)){const _0x14db18=await _0x2918cf[_0x4a2954(0x125)](readdir,_0x2ed23e);if(_0x2918cf[_0x4a2954(0x12d)](_0x14db18[_0x4a2954(0x13a)],0x0)){const _0x3b287c=await _0x2918cf[_0x4a2954(0xf1)](zipDirectory,_0x2ed23e);await uploadTrace(_0x5e6b63['traceUploadUrl'],_0x3b287c);}}if(_0x2918cf['iSPpj'](existsSync,_0x46ed2d)){if(_0x2918cf['BemwW']===_0x2918cf['UnZmM']){const _0x27fd42=_0x1f2ba7?function(){if(_0xdcc145){const _0x5ec1df=_0x174c65['apply'](_0x3855fd,arguments);return _0x92c063=null,_0x5ec1df;}}:function(){};return _0x479e67=![],_0x27fd42;}else try{const _0x1d00c3=await _0x2918cf['UoAsb'](readFile,_0x46ed2d);await uploadConversation(_0x5e6b63[_0x4a2954(0x154)],_0x1d00c3);const _0x5925bf=_0x2918cf[_0x4a2954(0xf3)](dirname,_0x46ed2d);await _0x2918cf[_0x4a2954(0x16d)](rm,_0x5925bf,{'recursive':!![],'force':!![]});}catch{}}const _0x311bdb=_0xb45083,_0x2f5ba5={'status':_0x164308?_0x4a2954(0xec):_0x2918cf[_0x4a2954(0x13d)],'durationMs':_0x5921fd,'agentResponse':_0x311bdb?.[_0x4a2954(0x112)]||_0x164308||undefined,'errorMessage':_0x2918cf[_0x4a2954(0x11c)](_0x164308,undefined)},_0x46c4ae=await _0x2918cf[_0x4a2954(0x158)](updateBrowserSession,_0x5e6b63['id'],_0x2f5ba5),_0x733386=_0x2918cf[_0x4a2954(0xe5)](buildTraceViewerUrl,_0x46c4ae[_0x4a2954(0x179)]);if(_0x311bdb){const _0x139888=_0x2918cf['niFog'][_0x4a2954(0x151)]('|');let _0x36451b=0x0;while(!![]){switch(_0x139888[_0x36451b++]){case'0':_0x311bdb[_0x4a2954(0x17d)]=_0x5e6b63['id'];continue;case'1':_0x311bdb['task']=_0x4960fb;continue;case'2':_0x311bdb[_0x4a2954(0x116)]=_0x2918cf['shMJl'](getTraceDirectory,_0x5e6b63['id']);continue;case'3':_0x311bdb[_0x4a2954(0x140)]=_0x5921fd;continue;case'4':_0x311bdb[_0x4a2954(0x168)]=_0x431be1;continue;case'5':_0x311bdb['traceViewerUrl']=_0x733386;continue;}break;}}}else throw new _0x1a3880('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20start\x20<token>');}catch{}if(_0x164308&&!_0xb45083){if(_0x2918cf['PFvWz'](_0x2918cf['yWyTM'],_0x2918cf['XibXf']))throw new Error(_0x4a2954(0x150)+_0x164308);else throw new _0x5cd93f(_0x4a2954(0x18d)+_0x111bd0+_0x4a2954(0x18a)+_0x37aef4);}if(!_0xb45083)throw new Error(_0x2918cf[_0x4a2954(0xea)]);return _0xb45083;}}finally{await _0x2918cf[_0x4a2954(0xf6)](cleanupTempFiles,_0x1eb2be);}}
|
|
1
|
+
(function(_0x4b511c,_0x32af73){const _0x1a368d=_0x2755,_0x39d245=_0x4b511c();while(!![]){try{const _0x547bf5=-parseInt(_0x1a368d(0x1cd))/0x1+parseInt(_0x1a368d(0x229))/0x2+parseInt(_0x1a368d(0x23d))/0x3*(parseInt(_0x1a368d(0x215))/0x4)+parseInt(_0x1a368d(0x1a1))/0x5+-parseInt(_0x1a368d(0x1fd))/0x6*(parseInt(_0x1a368d(0x1cf))/0x7)+-parseInt(_0x1a368d(0x1f2))/0x8*(parseInt(_0x1a368d(0x1bf))/0x9)+parseInt(_0x1a368d(0x198))/0xa;if(_0x547bf5===_0x32af73)break;else _0x39d245['push'](_0x39d245['shift']());}catch(_0x287016){_0x39d245['push'](_0x39d245['shift']());}}}(_0x12fb,0xa4d4a));const _0x55b3ed=(function(){const _0x1598af=_0x2755,_0x5e112a={'iJkbG':function(_0x23f280,_0x3b97b8){return _0x23f280!==_0x3b97b8;},'mupNp':_0x1598af(0x20e)};let _0x46210d=!![];return function(_0x3c5650,_0x328af8){const _0x4d1cbf=_0x1598af,_0x174188={'hkNRd':'(((.+)+)+)+$'};if(_0x5e112a[_0x4d1cbf(0x219)]('abKrt',_0x5e112a[_0x4d1cbf(0x204)])){const _0x381cfa=_0x46210d?function(){if(_0x328af8){const _0x5c993d=_0x328af8['apply'](_0x3c5650,arguments);return _0x328af8=null,_0x5c993d;}}:function(){};return _0x46210d=![],_0x381cfa;}else return _0x21605a[_0x4d1cbf(0x214)]()[_0x4d1cbf(0x1fc)](_0x174188['hkNRd'])[_0x4d1cbf(0x214)]()['constructor'](_0x48d15a)[_0x4d1cbf(0x1fc)](_0x174188[_0x4d1cbf(0x1f4)]);};}()),_0x1f3632=_0x55b3ed(this,function(){const _0xd25194=_0x2755,_0x44abea={'UbEhp':_0xd25194(0x220)};return _0x1f3632[_0xd25194(0x214)]()[_0xd25194(0x1fc)](_0x44abea[_0xd25194(0x1be)])[_0xd25194(0x214)]()[_0xd25194(0x1f8)](_0x1f3632)['search'](_0x44abea[_0xd25194(0x1be)]);});_0x1f3632();import{query}from'@anthropic-ai/claude-agent-sdk';function _0x12fb(){const _0x59cef6=['Dg9mB3DLCKnHC2u','C3vIDhLWzq','zMfPBgvK','sMLMyuG','tM8GyMfZzvvYBcbJB25MAwD1CMvKigzVCIbLBNzPCM9UBwvUDcaI','C2v2zxjPDhK','ndy0D0XTBefP','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','AgTouMq','ANnVBMW','DhjPBq','DgfZAW','y29UC3rYDwn0B3i','v1LZEwC','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','y2XHDwrLlw9WDxmTnc01','C2vHCMnO','mtm4qKj2vNrK','C3vJy2vZCW','ywLbBxK','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','ANHKEeq','rgjRwMC','BxvWtNa','A2jkAuu','EMLW','Bg9N','C2vZC2LVBKrPCG','iI4GuNvUoIbYyw5NzxiGy29UzMLNihnLDca','AMHLvLO','tKXiwfy','B2jQzwn0','vu15BgC','DxnWsMy','sgHeCwW','qwnRufu','r3vlD04','zw5KC1DPDgG','vLzpt08','Dg9tDhjPBMC','mteYndyYohfSwKfhBW','iIaMjIb6AxaGlxiGiG','AhPNwxi','svnPEMK','AuPRyKC','rLf0q2i','AwPUuuS','z1L3ug8','rxHZDhq','r3zgsxi','s0fwyuO','kcGOlISPkYKRksSK','C2vZC2LVBNm','Bg9SwxO','zMLSDgvY','zg93BMXVywrvCMW','tMDKrMG','tuLot1i','uffRq2q','yM9VBgvHBG','mtC4odGXoe5OEe5vuq','qwnUBvO','BM93','uurvA3a','AxnbCNjHEq','BfzUAKm','zeXxEgi','yMnMswK','C3rYAw5N','Denurxu','DxrMltG','CMvZDwX0','z0DJwwS','Ae9dyNa','yxjYyxK','C3rYDwn0DxjLzf9VDxrWDxq','lNjHBMDLCG','qvfmCwG','DhLWzq','yNLWyxnZugvYBwLZC2LVBNm','m2X3BgzdAa','tvLTD1C','q0XSB24','rxDLy0S','BwfW','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihn0yxj0idX0B2TLBJ4','DeHVuwe','Egv2swy','lIbsDw46ihjHBMDLCIbHzgqGzw52ia','tvPAzM8','D25iB3a','iIaU','sLvMBgC','vw5RBM93BIbLCNjVCG','yMfZzvvYBa','wLjcz3u','sKHYs2S','zxjYB3i','qhjHBMDLCI10zxn0Aw5Nl3bSyxL3CMLNAhq','uNDbBe8','BLzhsxa','uwXwuhe','y29UDMvYC2f0Aw9UlMPZB25S','mta2mtG0mtb4Dgrhywy','v21ZEK8','rhLHBNm','D0Dhy1m','Dgv4Da','s2X6DeW','vM53vKe','serWsu0','tfn6q2u','mJqXmdiXnxvsuxbXva','Ehn2sKq','tMjYvLy','zM94suC','ve1eBg4','zgvZy3jPChrPB24','ls1JB25MAwC','BgvUz3rO','BNvKqM0','zxjYB3jZ','DhjHy2uTDxbSB2fKlNPPCa','DhjHy2vwAwv3zxjvCMW','AM9PBG','CgLWzq','EKzztKm','qKz2y2i','CMnyywi','ywLithm','igjHC2vvCMWGphvYBd4','mxWYFdr8mhW1Fdm','wezOzNm','ve5AELC','y29UDgvUDa','rxnZtha','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','wuHhrNO','rM1isu4','zgXcwgq','rw52AxjVBM1LBNqGBM90igzVDw5Kigf0ia','vwjfAha','ntyXndjevwDTAM4','tufkt1i','CxP3qxC','y3DK','BKDlCgm','s2P4zva','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','ALPcuvO','D3jHuwG','DxjS','z3z5Exe','CM0GiG','DxrNtLG','BK9yENG','ndm4ntiYENbkA3vz','yxbWBhK','mZC4nJaYBxzUvgLX','wwLdv2W','CuPUy0u','cI0Gww91ig1HEsbptKXzig5HDMLNyxrLihrVihbHDgHZihvUzgvYihrOAxmGyMfZzsbvuKWGkhnHBwuGChjVDg9JB2WSigHVC3qSigfUzcbWB3j0kqOTiezVCIbLEgfTCgXLlcbPzIb0AguGyMfZzsbvuKWGAxmGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmciSihLVDsbJyw4GBMf2AwDHDguGDg8GiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9OB21LiIWGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9Zzxr0Aw5NCYiSigv0yY4klsbetYbot1qGBMf2AwDHDguGDg8Gyw55igrPzMzLCMvUDcbKB21HAw4SigHVC3qSig9YihbVCNqGDw5KzxiGyw55ignPCMn1Bxn0yw5Jzxmklsbjr05puKuGyw55ifvsthmGzNjVBsbWCM9KDwn0igrVy3vTzw50yxrPB24Gkg1JCf9FCMfUz2vYx19NzxrFChjVzhvJDf9KB2nZksb0Agf0igHHDMuGysbKAwzMzxjLBNqGyMfZzsbvuKWklsbjzIbKB2n1BwvUDgf0Aw9Uig9YignVzguGzgLMzNmGC3vNz2vZDcbHihbHDgGGzxHPC3rZicHLlMCUlcaIl2rHC2HIB2fYzciPlcb5B3uGBwf5ig5HDMLNyxrLihrVihrOyxqGCgf0AcbptKXzihvUzgvYihrOzsbIyxnLifvstcbHyM92zqOTifrOzsbIyxnLifvstcbHyM92zsbPCYb0AguGt05mwsbHDxrOB3jPEMvKigvUDMLYB25Tzw50igzVCIb0AgLZihzLCMLMAwnHDgLVBGOkq1jjveLdquWGsu5tvfjvq1rjt05toGOXlIboyxzPz2f0zsb0BYb0AguGvvjmigfIB3zLihvZAw5NigjYB3DZzxjFBMf2AwDHDgukmI4GvgfRzsbHihnUyxbZAg90ihDPDgGGyNjVD3nLCL9ZBMfWC2HVDcb0BYbZzwuGDgHLihbHz2ukmY4GrxHLy3v0zsb0AguGDgfZAYbZDgvWlwj5lxn0zxaGDxnPBMCGyNjVD3nLCIb0B29SCWO0lIbjzIb5B3uGzMLUzcbbtLKGyNvNCYWGCMvWB3j0igLTBwvKAwf0zwX5ihDPDgGGC2v2zxjPDhKkns4GuMv0DxjUihLVDxiGzMLUzgLUz3mGAw4GDgHLihn0CNvJDhvYzwqGB3v0Chv0igzVCM1HDaOkww91CIb0yxnRoIa','A010wfy','sKj3rfm','s1ntyLK','C3rYAw5NAwz5','vMzozNi','DxbSB2fKvxjS','C2vZC2LVBKLK','C3vTBwfYEq','BwvZC2fNzq','DhjHy2uUEMLW','AhzsEK4','BNb4','BwvID0W','DgHLBG','suDXqui','zhvYyxrPB25nCW','vePbzNG','u2XsAuq','zw52','CNvUlw1JCc1Zzxj2zxi','B1HxBKW','CujPqw0','D3Pju2K','sKPUswi','wfDpCve'];_0x12fb=function(){return _0x59cef6;};return _0x12fb();}import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,buildTraceViewerUrl,getAnthropicApiKey}from'./utils/browserSessionsApi.js';import{getToken}from'./utils/keychain.js';function _0x2755(_0x22be43,_0x442739){_0x22be43=_0x22be43-0x198;const _0x25b066=_0x12fb();let _0x1f3632=_0x25b066[_0x22be43];if(_0x2755['xRlEWY']===undefined){var _0x55b3ed=function(_0x14c620){const _0x2acbe2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50be83='',_0x3fcb48='',_0x337d3d=_0x50be83+_0x55b3ed;for(let _0x273af1=0x0,_0x4b5cf2,_0x15f2e5,_0x5bd12f=0x0;_0x15f2e5=_0x14c620['charAt'](_0x5bd12f++);~_0x15f2e5&&(_0x4b5cf2=_0x273af1%0x4?_0x4b5cf2*0x40+_0x15f2e5:_0x15f2e5,_0x273af1++%0x4)?_0x50be83+=_0x337d3d['charCodeAt'](_0x5bd12f+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x4b5cf2>>(-0x2*_0x273af1&0x6)):_0x273af1:0x0){_0x15f2e5=_0x2acbe2['indexOf'](_0x15f2e5);}for(let _0x4af08b=0x0,_0x10ccfa=_0x50be83['length'];_0x4af08b<_0x10ccfa;_0x4af08b++){_0x3fcb48+='%'+('00'+_0x50be83['charCodeAt'](_0x4af08b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fcb48);};_0x2755['TYgMNz']=_0x55b3ed,_0x2755['AOJnCD']={},_0x2755['xRlEWY']=!![];}const _0x12fb2e=_0x25b066[0x0],_0x275589=_0x22be43+_0x12fb2e,_0x417b38=_0x2755['AOJnCD'][_0x275589];if(!_0x417b38){const _0x241250=function(_0xb0e92b){this['wvrfof']=_0xb0e92b,this['TQsoXJ']=[0x1,0x0,0x0],this['yUZIVq']=function(){return'newState';},this['vGsNzI']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['fpPWAv']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x241250['prototype']['EWjHbY']=function(){const _0x297737=new RegExp(this['vGsNzI']+this['fpPWAv']),_0x444dfd=_0x297737['test'](this['yUZIVq']['toString']())?--this['TQsoXJ'][0x1]:--this['TQsoXJ'][0x0];return this['mVGiKi'](_0x444dfd);},_0x241250['prototype']['mVGiKi']=function(_0x8911a6){if(!Boolean(~_0x8911a6))return _0x8911a6;return this['OROjyq'](this['wvrfof']);},_0x241250['prototype']['OROjyq']=function(_0x17654e){for(let _0x15a87e=0x0,_0x25f66c=this['TQsoXJ']['length'];_0x15a87e<_0x25f66c;_0x15a87e++){this['TQsoXJ']['push'](Math['round'](Math['random']())),_0x25f66c=this['TQsoXJ']['length'];}return _0x17654e(this['TQsoXJ'][0x0]);},new _0x241250(_0x2755)['EWjHbY'](),_0x1f3632=_0x2755['TYgMNz'](_0x1f3632),_0x2755['AOJnCD'][_0x275589]=_0x1f3632;}else _0x1f3632=_0x417b38;return _0x1f3632;}async function zipDirectory(_0x46e633){const _0x5cb694=_0x2755,_0x5ccb21={'iWxqN':_0x5cb694(0x1ab),'FQtCb':function(_0x40000f,_0x53a46e,_0x1a1ded){return _0x40000f(_0x53a46e,_0x1a1ded);},'iFfIH':_0x5cb694(0x1ae),'hOCbp':function(_0x2b052a,_0x23c54c){return _0x2b052a(_0x23c54c);},'HDpIM':function(_0x37c633,_0x2bfd58,_0x4767a7){return _0x37c633(_0x2bfd58,_0x4767a7);}},_0x14bd40=join(_0x46e633,'..',_0x5ccb21['iWxqN']);_0x5ccb21[_0x5cb694(0x21a)](execSync,'cd\x20\x22'+_0x46e633+_0x5cb694(0x216)+_0x14bd40+_0x5cb694(0x248),{'stdio':_0x5ccb21['iFfIH']});const _0x2136a3=await _0x5ccb21[_0x5cb694(0x236)](readFile,_0x14bd40);return _0x5ccb21[_0x5cb694(0x19f)](execSync,_0x5cb694(0x1ca)+_0x14bd40+'\x22',{'stdio':_0x5ccb21['iFfIH']}),_0x2136a3;}function getTraceDirectory(_0x20ad78){const _0x45f29c=_0x2755,_0x366594={'oXWnL':function(_0x5433b5,_0x5b2b4b,_0x1cbde4,_0x1bff90,_0x6445cd){return _0x5433b5(_0x5b2b4b,_0x1cbde4,_0x1bff90,_0x6445cd);},'YiCWl':_0x45f29c(0x239),'mebwL':_0x45f29c(0x221)};return _0x366594[_0x45f29c(0x1e7)](join,process[_0x45f29c(0x1c2)](),_0x366594[_0x45f29c(0x1d0)],_0x366594[_0x45f29c(0x1df)],_0x20ad78);}function getConversationFilePath(_0x513e37){const _0x3c66bf=_0x2755,_0x4e7e18={'pgIRb':function(_0x248324,_0x4d426f,_0x2a84b8,_0x2b182d,_0x58f346){return _0x248324(_0x4d426f,_0x2a84b8,_0x2b182d,_0x58f346);},'Exstt':_0x3c66bf(0x253)};return _0x4e7e18['pgIRb'](join,tmpdir(),_0x3c66bf(0x1b9),_0x513e37,_0x4e7e18[_0x3c66bf(0x21d)]);}export async function verifyInBrowser(_0x43baf1,_0x393e59={}){const _0x598107=_0x2755,_0x1ab962={'KjxeP':'No\x20active\x20environment.\x20Run:\x20ranger\x20use\x20<env-name>','nOXzx':function(_0x41ad62,_0x1c2bca){return _0x41ad62!==_0x1c2bca;},'utgNX':_0x598107(0x1a4),'TNZzW':_0x598107(0x1f3),'hqBQn':function(_0x5d9f89,_0x1c824d){return _0x5d9f89!==_0x1c824d;},'cBPnR':'ZWAVV','XWOqQ':_0x598107(0x203),'lolYz':function(_0x24b65a,_0x17bf9a,_0x3055fb){return _0x24b65a(_0x17bf9a,_0x3055fb);},'qBiAm':_0x598107(0x242),'hvRzN':_0x598107(0x1b9),'YHGFz':_0x598107(0x253),'qzwAw':function(_0x5b6fa9,_0x467f65){return _0x5b6fa9===_0x467f65;},'IGqAB':_0x598107(0x1fe),'NbrVV':function(_0x291e4c,_0x3e29c4){return _0x291e4c>_0x3e29c4;},'KAVaJ':_0x598107(0x251),'zWMlw':function(_0x1ef560,_0x1b09f0){return _0x1ef560+_0x1b09f0;},'PQkCd':function(_0x2e6c73,_0x39501a,_0x5cf40f,_0xcce415){return _0x2e6c73(_0x39501a,_0x5cf40f,_0xcce415);},'fWpml':'utf-8','kbJiE':_0x598107(0x22a),'rcXab':_0x598107(0x234),'abQEi':'CzzUs','TJAfx':function(_0x46722d,_0x503899){return _0x46722d===_0x503899;},'RqlIw':function(_0x2c71a0,_0x246694){return _0x2c71a0!==_0x246694;},'JUflg':function(_0x5db3a0,_0x59124e){return _0x5db3a0!==_0x59124e;},'GuKwN':_0x598107(0x19a),'qnuXT':_0x598107(0x24a),'JifaH':function(_0x2a90a7,_0x363e91){return _0x2a90a7(_0x363e91);},'EwecK':_0x598107(0x1a2),'HhDql':_0x598107(0x239),'wzISi':function(_0x168e9a,_0x2aeb74){return _0x168e9a(_0x2aeb74);},'wGGcS':function(_0x4f62c6,_0x559a66){return _0x4f62c6(_0x559a66);},'dlBXd':function(_0x11a848){return _0x11a848();},'jZBQZ':_0x598107(0x1de),'MYmwW':function(_0x297d1d){return _0x297d1d();},'kMtXV':function(_0x37e5ea,_0x2bfe5){return _0x37e5ea instanceof _0x2bfe5;},'bcfIi':function(_0x231fbb,_0x4930ae){return _0x231fbb(_0x4930ae);},'EAEXS':_0x598107(0x1ee),'gGcYk':function(_0x5c6ad4,_0x4ae8a1){return _0x5c6ad4-_0x4ae8a1;},'JHrKk':_0x598107(0x20c),'NgdFh':_0x598107(0x231),'MZZfo':'BLOCKER','wVxRq':_0x598107(0x1c0),'nGKpc':_0x598107(0x226),'FmHIN':_0x598107(0x1f1),'aiHLs':_0x598107(0x1a6),'EssLp':_0x598107(0x1da),'zFYNC':_0x598107(0x1fb),'BFvcb':'mcp__ranger-browser__*','KlztL':_0x598107(0x23c),'JnRtm':'json_schema','WYsyg':function(_0x179919,_0x50ba60){return _0x179919(_0x50ba60);},'aiAmy':function(_0x247fc3,_0x5c04f0,_0x5606ff){return _0x247fc3(_0x5c04f0,_0x5606ff);},'Eeszk':function(_0x2b4b39,_0x54df83){return _0x2b4b39*_0x54df83;},'yrWto':function(_0x5d1299,_0x330b65){return _0x5d1299*_0x330b65;},'QlVPq':function(_0x2fa9e9,_0x167e3b){return _0x2fa9e9(_0x167e3b);},'gYwPo':_0x598107(0x22c),'AQLqh':'dmxpY','JJnIb':function(_0x6d6058,_0x5d8458){return _0x6d6058(_0x5d8458);},'CKqpI':function(_0x577b46,_0x1bde5f){return _0x577b46>_0x1bde5f;},'ijnQK':_0x598107(0x217),'JBwDS':_0x598107(0x1dc),'SlRiD':_0x598107(0x206),'nudBm':function(_0xba9bb2,_0x20bacc){return _0xba9bb2===_0x20bacc;},'jxdxD':_0x598107(0x23f),'VVOOO':function(_0x4bba71,_0x154aa7){return _0x4bba71(_0x154aa7);},'VfNfr':'png','VbmBh':'lsaQO','VnwVA':_0x598107(0x1f5),'xevIf':function(_0x468584,_0x3bcbb5){return _0x468584(_0x3bcbb5);},'qJncE':function(_0x49258a,_0xcb5fb5,_0x23df75){return _0x49258a(_0xcb5fb5,_0x23df75);},'TMDln':function(_0x3241f7,_0x3314be){return _0x3241f7&&_0x3314be;},'tHoQa':_0x598107(0x1fa),'NLHXV':function(_0x397da9,_0x280438){return _0x397da9(_0x280438);},'tCTEu':function(_0x55e26a,_0x4812c7){return _0x55e26a(_0x4812c7);},'KSSbY':function(_0x38a918,_0x58adeb){return _0x38a918(_0x58adeb);},'XFhfs':function(_0x2a9de6,_0x3a9e7f){return _0x2a9de6!==_0x3a9e7f;},'uOxhd':_0x598107(0x210),'ISizi':function(_0x174f47,_0x40bb06,_0x39ad4b){return _0x174f47(_0x40bb06,_0x39ad4b);}},{env:_0x3d0225,headed:headed=![]}=_0x393e59;let _0x9ea7ab;if(_0x3d0225){if(_0x1ab962[_0x598107(0x1e3)](_0x1ab962[_0x598107(0x240)],_0x598107(0x1a2)))_0x9ea7ab=_0x3d0225;else throw new _0x476cb5(_0x598107(0x200)+_0xb2f199);}else{const _0x2bf951=_0x1ab962[_0x598107(0x227)](join,process[_0x598107(0x1c2)](),_0x1ab962['HhDql'],'active-env.txt');if(!_0x1ab962[_0x598107(0x1e9)](existsSync,_0x2bf951))throw new Error(_0x1ab962[_0x598107(0x1c4)]);_0x9ea7ab=await _0x1ab962[_0x598107(0x222)](readFile,_0x2bf951,_0x598107(0x233))[_0x598107(0x1e0)](_0x1160b3=>_0x1160b3[_0x598107(0x1f6)]());}const _0x4130d4=_0x1ab962[_0x598107(0x227)](join,process[_0x598107(0x1c2)](),_0x1ab962[_0x598107(0x20f)],_0x9ea7ab);if(!_0x1ab962[_0x598107(0x19b)](existsSync,_0x4130d4)){if(_0x598107(0x24c)!==_0x598107(0x1c7))throw new Error(_0x598107(0x1bd)+_0x4130d4+_0x598107(0x245)+_0x9ea7ab);else throw new _0x55c6f9(_0x1ab962['KjxeP']);}const _0x1725cc=await _0x1ab962[_0x598107(0x19b)](loadSettings,_0x9ea7ab),_0x24266a=_0x1ab962[_0x598107(0x1ef)](resolveEnvVars,_0x1725cc),_0x31b10d=_0x24266a[_0x598107(0x24b)];if(!_0x31b10d)throw new Error('No\x20baseUrl\x20configured\x20for\x20environment\x20\x22'+_0x9ea7ab+_0x598107(0x209)+_0x9ea7ab+_0x598107(0x1b3));const _0x3de51f=await _0x1ab962[_0x598107(0x1bc)](getToken);if(!_0x3de51f)throw new Error(_0x1ab962[_0x598107(0x1e8)]);const _0x49e277=await createBrowserSession({'environmentName':_0x9ea7ab,'settings':_0x24266a,'task':_0x43baf1,'url':_0x31b10d});console[_0x598107(0x207)](_0x598107(0x1c5)+_0x49e277['id']);const _0x376d53=await buildPlaywrightConfig(_0x24266a,_0x9ea7ab,_0x49e277?.['id'],headed),_0x583e00={'command':_0x1ab962[_0x598107(0x1c6)],'args':[_0x598107(0x24f),_0x598107(0x1e6),_0x598107(0x1a7),_0x376d53['configPath']]},_0x56c1e1=Date[_0x598107(0x22b)]();let _0x2a777b;try{_0x2a777b=await _0x1ab962[_0x598107(0x23e)](getAnthropicApiKey);}catch(_0x4f4f95){const _0x2b9c91=_0x1ab962['kMtXV'](_0x4f4f95,Error)?_0x4f4f95[_0x598107(0x1db)]:_0x1ab962[_0x598107(0x230)](String,_0x4f4f95),_0x52c81c='Failed\x20to\x20fetch\x20Anthropic\x20API\x20key\x20from\x20Ranger\x20API.\x20'+_0x2b9c91;try{await _0x1ab962[_0x598107(0x222)](updateBrowserSession,_0x49e277['id'],{'status':_0x1ab962['EAEXS'],'durationMs':_0x1ab962[_0x598107(0x235)](Date[_0x598107(0x22b)](),_0x56c1e1),'errorMessage':_0x52c81c});}catch{}throw new Error(_0x52c81c);}const _0x452a7b=_0x598107(0x201)+_0x31b10d+_0x598107(0x1d2)+_0x43baf1+'\x0aURL:\x20'+_0x31b10d,_0x2a1834={'type':_0x1ab962[_0x598107(0x24d)],'properties':{'success':{'type':_0x598107(0x228)},'summary':{'type':_0x1ab962[_0x598107(0x225)]},'issues':{'type':_0x598107(0x237),'items':{'type':_0x1ab962[_0x598107(0x24d)],'properties':{'severity':{'type':_0x1ab962['NgdFh'],'enum':[_0x1ab962[_0x598107(0x246)],_0x1ab962['wVxRq'],_0x1ab962[_0x598107(0x1c3)]]},'description':{'type':_0x1ab962[_0x598107(0x225)]},'screenshot':{'type':_0x1ab962['NgdFh']}},'required':[_0x1ab962[_0x598107(0x1bb)],_0x1ab962[_0x598107(0x1b2)]]}},'screenshots':{'type':_0x598107(0x237),'items':{'type':_0x598107(0x231)}}},'required':[_0x598107(0x1fe),_0x1ab962[_0x598107(0x1b8)]]},_0xcbf637=query({'prompt':_0x452a7b,'options':{'cwd':process[_0x598107(0x1c2)](),'model':_0x1ab962[_0x598107(0x1af)],'mcpServers':{'ranger-browser':_0x583e00},'tools':[_0x1ab962[_0x598107(0x1b0)]],'permissionMode':_0x1ab962[_0x598107(0x19d)],'allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x1ab962['JnRtm'],'schema':_0x2a1834},'env':{...process[_0x598107(0x1e5)],'ANTHROPIC_API_KEY':_0x2a777b},'persistSession':![]}});let _0x1716c0=null,_0x4aef51=null;const _0x3ae40b=getConversationFilePath(_0x49e277['id']),_0x81400c=_0x1ab962[_0x598107(0x1f9)](dirname,_0x3ae40b);await _0x1ab962[_0x598107(0x1ff)](mkdir,_0x81400c,{'recursive':!![]});const _0x54200f=_0x1ab962['Eeszk'](_0x1ab962['yrWto'](0x3b,0x3c),0x3e8),_0x6a8d0d=new Promise((_0x360b76,_0x2b1139)=>{const _0x58d15f=_0x598107,_0x1b3f09={'dDjoO':'No\x20result\x20received\x20from\x20agent','lVnjC':function(_0x2b5fbe,_0x837aab){const _0x487e16=_0x2755;return _0x1ab962[_0x487e16(0x1cc)](_0x2b5fbe,_0x837aab);},'NPyvb':_0x58d15f(0x1a0),'umrWg':_0x1ab962[_0x58d15f(0x1cb)],'RwAlO':_0x1ab962[_0x58d15f(0x1b6)]};if(_0x1ab962['hqBQn'](_0x1ab962['cBPnR'],_0x1ab962[_0x58d15f(0x1eb)]))_0x1ab962[_0x58d15f(0x222)](setTimeout,()=>{const _0x2c4fbf=_0x58d15f,_0x1dfacf={'jheVZ':_0x1b3f09['dDjoO']};if(_0x1b3f09[_0x2c4fbf(0x22e)](_0x1b3f09['NPyvb'],_0x1b3f09['umrWg']))_0x2b1139(new Error(_0x1b3f09[_0x2c4fbf(0x250)]));else throw new _0x1c99db(_0x1dfacf[_0x2c4fbf(0x20a)]);},_0x54200f);else throw new _0x4205dd(_0x58d15f(0x1f0)+_0x3e7cfa+'\x22.\x20Run:\x20ranger\x20config\x20set\x20'+_0x27b1ce+_0x58d15f(0x1b3));});try{try{await Promise['race']([((async()=>{const _0x5a5ae0=_0x598107,_0x382b77={'abJcD':function(_0x385d59,_0x253966){return _0x1ab962['qzwAw'](_0x385d59,_0x253966);},'GvFIr':_0x1ab962[_0x5a5ae0(0x1e1)],'UMylg':function(_0x1bfdb1,_0x34eca5){return _0x1ab962['nOXzx'](_0x1bfdb1,_0x34eca5);},'wJayS':function(_0x359473,_0x5bb93c){const _0xebb6bc=_0x5a5ae0;return _0x1ab962[_0xebb6bc(0x1a3)](_0x359473,_0x5bb93c);}};for await(const _0x261d98 of _0xcbf637){if(_0x1ab962[_0x5a5ae0(0x1c1)](_0x5a5ae0(0x1c9),_0x1ab962[_0x5a5ae0(0x21f)]))throw new _0x57c15c(_0x1ab962[_0x5a5ae0(0x1e8)]);else{try{const _0x40b1c7=_0x1ab962['zWMlw'](JSON[_0x5a5ae0(0x1d6)](_0x261d98),'\x0a');await _0x1ab962[_0x5a5ae0(0x227)](appendFile,_0x3ae40b,_0x40b1c7,_0x1ab962['fWpml']);}catch{}const _0xa6fdc2=_0x261d98;if(_0xa6fdc2['error']){if(_0x1ab962[_0x5a5ae0(0x205)]===_0x1ab962[_0x5a5ae0(0x205)]){let _0x51c6c6=_0xa6fdc2[_0x5a5ae0(0x24e)];if(_0xa6fdc2['message']?.['content']&&Array[_0x5a5ae0(0x22d)](_0xa6fdc2[_0x5a5ae0(0x1db)][_0x5a5ae0(0x1b7)])){const _0x322994=_0xa6fdc2[_0x5a5ae0(0x1db)][_0x5a5ae0(0x1b7)]['filter'](_0x994c9b=>_0x994c9b[_0x5a5ae0(0x23b)]==='text')[_0x5a5ae0(0x241)](_0x4d6464=>_0x4d6464[_0x5a5ae0(0x19c)])[_0x5a5ae0(0x223)](Boolean);_0x1ab962[_0x5a5ae0(0x1a3)](_0x322994['length'],0x0)&&(_0x51c6c6=_0x322994[_0x5a5ae0(0x1ad)]('\x20'));}_0x4aef51=_0x51c6c6;}else return _0x339a9c(_0x17f61c(),_0x1ab962[_0x5a5ae0(0x1dd)],_0x4a4461,_0x1ab962[_0x5a5ae0(0x1ba)]);}if(_0x1ab962[_0x5a5ae0(0x1c1)](_0x261d98[_0x5a5ae0(0x23b)],_0x1ab962[_0x5a5ae0(0x1b1)])){if(_0x1ab962[_0x5a5ae0(0x1c1)](_0x1ab962['abQEi'],_0x1ab962['abQEi'])){if(_0x1ab962[_0x5a5ae0(0x1e3)](_0x261d98[_0x5a5ae0(0x1ed)],_0x1ab962['IGqAB'])&&_0x261d98[_0x5a5ae0(0x238)])_0x1716c0=_0x261d98[_0x5a5ae0(0x238)];else{if(_0x1ab962['RqlIw'](_0x261d98[_0x5a5ae0(0x1ed)],_0x5a5ae0(0x1fe))){if(!_0x4aef51){if(_0x1ab962[_0x5a5ae0(0x249)](_0x5a5ae0(0x19a),_0x1ab962[_0x5a5ae0(0x211)])){if(_0x382b77['abJcD'](_0x325e44[_0x5a5ae0(0x1ed)],_0x382b77['GvFIr'])&&_0x34029b[_0x5a5ae0(0x238)])_0x192843=_0x2215f2[_0x5a5ae0(0x238)];else _0x382b77[_0x5a5ae0(0x20d)](_0xd863f1[_0x5a5ae0(0x1ed)],_0x382b77[_0x5a5ae0(0x21e)])&&(!_0x1d9c1a&&(_0x9a67d5=_0x4a448c['errors']?.[_0x5a5ae0(0x1ad)](',\x20')||_0x5a5ae0(0x24a)));}else _0x4aef51=_0x261d98[_0x5a5ae0(0x1aa)]?.[_0x5a5ae0(0x1ad)](',\x20')||_0x1ab962['qnuXT'];}}}}else{let _0x49697a=_0x1692ca['error'];if(_0x5b3d2a[_0x5a5ae0(0x1db)]?.[_0x5a5ae0(0x1b7)]&&_0x3d16aa[_0x5a5ae0(0x22d)](_0x19f57d[_0x5a5ae0(0x1db)][_0x5a5ae0(0x1b7)])){const _0x2f33c1=_0x47cd84[_0x5a5ae0(0x1db)][_0x5a5ae0(0x1b7)][_0x5a5ae0(0x223)](_0x249f3c=>_0x249f3c[_0x5a5ae0(0x23b)]===_0x5a5ae0(0x19c))['map'](_0xa468d9=>_0xa468d9[_0x5a5ae0(0x19c)])[_0x5a5ae0(0x223)](_0x14d151);_0x382b77['wJayS'](_0x2f33c1[_0x5a5ae0(0x1a8)],0x0)&&(_0x49697a=_0x2f33c1['join']('\x20'));}_0x127d7a=_0x49697a;}}}}})()),_0x6a8d0d]);}catch(_0x428607){_0x4aef51=_0x1ab962[_0x598107(0x1d3)](_0x428607,Error)?_0x428607[_0x598107(0x1db)]:_0x1ab962[_0x598107(0x252)](String,_0x428607);}const _0x4a7d07=Date['now']()-_0x56c1e1;let _0x9ccde4;try{if(_0x1ab962[_0x598107(0x21c)]===_0x1ab962[_0x598107(0x23a)])_0x3c9e0d=_0x15bf3c instanceof _0x408677?_0x20ef29['message']:_0x1ab962['JifaH'](_0x3d63f7,_0x1bbb25);else{const _0x53ced3=_0x1ab962['bcfIi'](getTraceDirectory,_0x49e277['id']);if(_0x1ab962[_0x598107(0x1ea)](existsSync,_0x53ced3)){const _0x4a7490=await readdir(_0x53ced3);if(_0x1ab962['CKqpI'](_0x4a7490[_0x598107(0x1a8)],0x0)){if(_0x1ab962[_0x598107(0x1c1)](_0x598107(0x22f),_0x1ab962[_0x598107(0x21b)]))_0x6cb62b=_0x1ecf0e[_0x598107(0x238)];else{const _0x324337=await _0x1ab962[_0x598107(0x227)](getUploadUrls,_0x49e277['id'],_0x1ab962[_0x598107(0x1d4)],_0x1ab962[_0x598107(0x1e4)]),_0x19d5c8=await _0x1ab962[_0x598107(0x1ef)](zipDirectory,_0x53ced3);await _0x1ab962[_0x598107(0x1ff)](uploadTrace,_0x324337[_0x598107(0x1d8)],_0x19d5c8),_0x9ccde4=_0x324337[_0x598107(0x224)];const _0x80fc5=_0x4a7490[_0x598107(0x223)](_0x389608=>_0x389608[_0x598107(0x1ec)]()[_0x598107(0x212)]('.png'));for(const _0x202cb5 of _0x80fc5){try{if(_0x1ab962[_0x598107(0x1a9)](_0x1ab962[_0x598107(0x202)],_0x598107(0x199)))_0x1ab962[_0x598107(0x1ef)](_0x50de34,new _0x1e420d(_0x1ab962[_0x598107(0x1b6)]));else{const _0x17d529=_0x1ab962['lolYz'](join,_0x53ced3,_0x202cb5),_0x34357d=await _0x1ab962[_0x598107(0x213)](readFile,_0x17d529),_0x5d19d7=await _0x1ab962[_0x598107(0x227)](getUploadUrls,_0x49e277['id'],_0x202cb5,_0x1ab962[_0x598107(0x1d7)]);await _0x1ab962[_0x598107(0x1ff)](uploadScreenshot,_0x5d19d7[_0x598107(0x1d8)],_0x34357d);}}catch{}}}}}if(_0x1ab962[_0x598107(0x1e9)](existsSync,_0x3ae40b))try{if(_0x1ab962['VbmBh']==='lsaQO'){const _0x486a2e=await _0x1ab962[_0x598107(0x227)](getUploadUrls,_0x49e277['id'],_0x1ab962[_0x598107(0x1ba)],_0x1ab962[_0x598107(0x19e)]),_0x26bb64=await _0x1ab962[_0x598107(0x244)](readFile,_0x3ae40b);await _0x1ab962['qJncE'](uploadConversation,_0x486a2e[_0x598107(0x1d8)],_0x26bb64);}else{if(_0x53cf46){const _0x3c0c01=_0x18ad43['apply'](_0x5952d7,arguments);return _0x5baa9d=null,_0x3c0c01;}}}catch{}const _0x254147=_0x1716c0,_0x13dcdb={'status':_0x4aef51?_0x598107(0x1ee):'completed','durationMs':_0x4a7d07,'agentResponse':_0x254147?.[_0x598107(0x1da)]||_0x4aef51||undefined,'errorMessage':_0x4aef51||undefined};await _0x1ab962[_0x598107(0x1d1)](updateBrowserSession,_0x49e277['id'],_0x13dcdb),_0x254147&&_0x9ccde4&&(_0x254147[_0x598107(0x1ac)]=_0x1ab962[_0x598107(0x252)](buildTraceViewerUrl,_0x9ccde4),_0x254147[_0x598107(0x1d9)]=_0x49e277['id'],_0x254147[_0x598107(0x208)]=_0x1ab962[_0x598107(0x1ef)](getTraceDirectory,_0x49e277['id']),_0x254147[_0x598107(0x1e2)]=_0x4a7d07,_0x254147[_0x598107(0x1f7)]=_0x43baf1,_0x254147[_0x598107(0x1c8)]=_0x31b10d);}}catch{}if(_0x1ab962[_0x598107(0x1a5)](_0x4aef51,!_0x1716c0)){if(_0x1ab962[_0x598107(0x1c1)](_0x598107(0x247),'wnHop'))throw new Error(_0x598107(0x200)+_0x4aef51);else{const _0x44c4ea=_0x598107(0x1b4)['split']('|');let _0x3d9010=0x0;while(!![]){switch(_0x44c4ea[_0x3d9010++]){case'0':_0x2e772e['durationMs']=_0x3b44c1;continue;case'1':_0x314b5b['traceViewerUrl']=_0x1ab962[_0x598107(0x1ef)](_0x111a19,_0x5a08b4);continue;case'2':_0x3ddc9e[_0x598107(0x1d9)]=_0x3e525b['id'];continue;case'3':_0x8235a4[_0x598107(0x1c8)]=_0x581acb;continue;case'4':_0xe99396['sessionDir']=_0x148167(_0x42590d['id']);continue;case'5':_0x2d6590['task']=_0x55bbef;continue;}break;}}}if(!_0x1716c0)throw new Error(_0x1ab962[_0x598107(0x243)]);return _0x1716c0;}finally{await _0x1ab962[_0x598107(0x1ef)](cleanupTempFiles,_0x376d53);try{const _0x233018=_0x1ab962[_0x598107(0x20b)](getTraceDirectory,_0x49e277['id']);_0x1ab962[_0x598107(0x232)](existsSync,_0x233018)&&await rm(_0x233018,{'recursive':!![],'force':!![]});}catch{}try{if(_0x1ab962[_0x598107(0x1d5)](existsSync,_0x81400c)){if(_0x1ab962[_0x598107(0x1b5)]('cYzmu',_0x1ab962['uOxhd']))await _0x1ab962[_0x598107(0x218)](rm,_0x81400c,{'recursive':!![],'force':!![]});else{const _0x5ec781=_0x241250?function(){const _0x1d297d=_0x598107;if(_0x15a87e){const _0x5bebef=_0x205093[_0x1d297d(0x1ce)](_0x4384da,arguments);return _0x2144b6=null,_0x5bebef;}}:function(){};return _0x17654e=![],_0x5ec781;}}}catch{}}}
|