@redplanethq/corebrain 2.7.2 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/commands/browser/close-session.d.ts +10 -0
  2. package/dist/commands/browser/close-session.d.ts.map +1 -0
  3. package/dist/commands/browser/close-session.js +34 -0
  4. package/dist/commands/browser/close-session.js.map +1 -0
  5. package/dist/commands/browser/close.d.ts +2 -5
  6. package/dist/commands/browser/close.d.ts.map +1 -1
  7. package/dist/commands/browser/close.js +11 -38
  8. package/dist/commands/browser/close.js.map +1 -1
  9. package/dist/commands/browser/command.d.ts +3 -3
  10. package/dist/commands/browser/command.d.ts.map +1 -1
  11. package/dist/commands/browser/command.js +23 -26
  12. package/dist/commands/browser/command.js.map +1 -1
  13. package/dist/commands/browser/create-profile.d.ts +10 -0
  14. package/dist/commands/browser/create-profile.d.ts.map +1 -0
  15. package/dist/commands/browser/create-profile.js +37 -0
  16. package/dist/commands/browser/create-profile.js.map +1 -0
  17. package/dist/commands/browser/create-session.d.ts +4 -2
  18. package/dist/commands/browser/create-session.d.ts.map +1 -1
  19. package/dist/commands/browser/create-session.js +20 -10
  20. package/dist/commands/browser/create-session.js.map +1 -1
  21. package/dist/commands/browser/delete-profile.d.ts +10 -0
  22. package/dist/commands/browser/delete-profile.d.ts.map +1 -0
  23. package/dist/commands/browser/delete-profile.js +44 -0
  24. package/dist/commands/browser/delete-profile.js.map +1 -0
  25. package/dist/commands/browser/delete-session.d.ts.map +1 -1
  26. package/dist/commands/browser/delete-session.js +5 -13
  27. package/dist/commands/browser/delete-session.js.map +1 -1
  28. package/dist/commands/browser/install.d.ts.map +1 -1
  29. package/dist/commands/browser/install.js +18 -29
  30. package/dist/commands/browser/install.js.map +1 -1
  31. package/dist/commands/browser/list-sessions.d.ts.map +1 -1
  32. package/dist/commands/browser/list-sessions.js +8 -5
  33. package/dist/commands/browser/list-sessions.js.map +1 -1
  34. package/dist/commands/browser/open-head.d.ts.map +1 -1
  35. package/dist/commands/browser/open-head.js +21 -23
  36. package/dist/commands/browser/open-head.js.map +1 -1
  37. package/dist/commands/browser/open.d.ts +2 -2
  38. package/dist/commands/browser/open.d.ts.map +1 -1
  39. package/dist/commands/browser/open.js +27 -23
  40. package/dist/commands/browser/open.js.map +1 -1
  41. package/dist/commands/browser/set-browser.js +1 -1
  42. package/dist/commands/browser/set-browser.js.map +1 -1
  43. package/dist/commands/browser/status.d.ts.map +1 -1
  44. package/dist/commands/browser/status.js +23 -20
  45. package/dist/commands/browser/status.js.map +1 -1
  46. package/dist/commands/gateway/config.js +6 -6
  47. package/dist/commands/gateway/config.js.map +1 -1
  48. package/dist/commands/gateway/start.js +2 -2
  49. package/dist/commands/gateway/start.js.map +1 -1
  50. package/dist/server/gateway-client.js +2 -2
  51. package/dist/server/gateway-client.js.map +1 -1
  52. package/dist/server/tools/browser-tools.d.ts +0 -16
  53. package/dist/server/tools/browser-tools.d.ts.map +1 -1
  54. package/dist/server/tools/browser-tools.js +412 -121
  55. package/dist/server/tools/browser-tools.js.map +1 -1
  56. package/dist/server/tools/coding-tools.d.ts.map +1 -1
  57. package/dist/server/tools/coding-tools.js +4 -3
  58. package/dist/server/tools/coding-tools.js.map +1 -1
  59. package/dist/tui/chat.d.ts.map +1 -1
  60. package/dist/tui/chat.js +6 -4
  61. package/dist/tui/chat.js.map +1 -1
  62. package/dist/tui/hooks/use-conversation.d.ts.map +1 -1
  63. package/dist/tui/hooks/use-conversation.js +1 -0
  64. package/dist/tui/hooks/use-conversation.js.map +1 -1
  65. package/dist/types/config.d.ts +6 -1
  66. package/dist/types/config.d.ts.map +1 -1
  67. package/dist/utils/browser-config.d.ts +51 -0
  68. package/dist/utils/browser-config.d.ts.map +1 -0
  69. package/dist/utils/browser-config.js +293 -0
  70. package/dist/utils/browser-config.js.map +1 -0
  71. package/dist/utils/browser-manager.d.ts +27 -0
  72. package/dist/utils/browser-manager.d.ts.map +1 -0
  73. package/dist/utils/browser-manager.js +131 -0
  74. package/dist/utils/browser-manager.js.map +1 -0
  75. package/dist/utils/coding-agents/claude-code.d.ts +0 -1
  76. package/dist/utils/coding-agents/claude-code.d.ts.map +1 -1
  77. package/dist/utils/coding-agents/claude-code.js +0 -4
  78. package/dist/utils/coding-agents/claude-code.js.map +1 -1
  79. package/dist/utils/coding-agents/codex.d.ts +0 -1
  80. package/dist/utils/coding-agents/codex.d.ts.map +1 -1
  81. package/dist/utils/coding-agents/codex.js +0 -3
  82. package/dist/utils/coding-agents/codex.js.map +1 -1
  83. package/dist/utils/coding-agents/index.d.ts +0 -1
  84. package/dist/utils/coding-agents/index.d.ts.map +1 -1
  85. package/dist/utils/coding-agents/index.js +0 -3
  86. package/dist/utils/coding-agents/index.js.map +1 -1
  87. package/dist/utils/coding-agents/types.d.ts +0 -1
  88. package/dist/utils/coding-agents/types.d.ts.map +1 -1
  89. package/dist/utils/coding-agents/types.js +0 -1
  90. package/dist/utils/coding-agents/types.js.map +1 -1
  91. package/dist/utils/coding-runner.d.ts +2 -4
  92. package/dist/utils/coding-runner.d.ts.map +1 -1
  93. package/dist/utils/coding-runner.js +4 -7
  94. package/dist/utils/coding-runner.js.map +1 -1
  95. package/package.json +2 -1
  96. package/dist/utils/agent-browser.d.ts +0 -135
  97. package/dist/utils/agent-browser.d.ts.map +0 -1
  98. package/dist/utils/agent-browser.js +0 -561
  99. package/dist/utils/agent-browser.js.map +0 -1
@@ -1,561 +0,0 @@
1
- import { spawn, execSync } from 'node:child_process';
2
- import fs from 'node:fs';
3
- import { getPreferences, updatePreferences } from '../config/preferences.js';
4
- // Constants
5
- const BINARY_NAME = 'agent-browser';
6
- const MAX_SESSIONS = 5;
7
- const DEFAULT_SESSIONS = ['personal', 'work', 'misc'];
8
- // ============ Browser Executable Paths ============
9
- // Known browser paths for auto-detection
10
- const BRAVE_PATHS = {
11
- darwin: ['/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'],
12
- linux: ['/usr/bin/brave-browser', '/usr/bin/brave', '/snap/bin/brave'],
13
- win32: [
14
- 'C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe',
15
- 'C:\\Program Files (x86)\\BraveSoftware\\Brave-Browser\\Application\\brave.exe',
16
- ],
17
- };
18
- const CHROME_PATHS = {
19
- darwin: ['/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'],
20
- linux: ['/usr/bin/google-chrome', '/usr/bin/google-chrome-stable'],
21
- win32: [
22
- 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
23
- 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
24
- ],
25
- };
26
- // ============ Browser Config Management (stored in preferences.browser) ============
27
- /**
28
- * Get all configured session names from preferences
29
- */
30
- export function getConfiguredSessions() {
31
- const prefs = getPreferences();
32
- return prefs.browser?.sessions || [];
33
- }
34
- /**
35
- * Check if a session name is configured
36
- */
37
- export function isSessionConfigured(name) {
38
- const sessions = getConfiguredSessions();
39
- return sessions.includes(name);
40
- }
41
- /**
42
- * Create a new session (add to preferences.browser.sessions)
43
- */
44
- export function createSession(name) {
45
- // Validate name
46
- if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
47
- return {
48
- success: false,
49
- error: 'Session name must contain only alphanumeric characters, hyphens, and underscores',
50
- };
51
- }
52
- const prefs = getPreferences();
53
- const currentSessions = prefs.browser?.sessions || [];
54
- if (currentSessions.includes(name)) {
55
- return { success: false, error: `Session "${name}" already exists` };
56
- }
57
- if (currentSessions.length >= MAX_SESSIONS) {
58
- return {
59
- success: false,
60
- error: `Maximum ${MAX_SESSIONS} sessions allowed. Current: ${currentSessions.join(', ')}`,
61
- };
62
- }
63
- updatePreferences({
64
- browser: {
65
- ...prefs.browser,
66
- sessions: [...currentSessions, name],
67
- },
68
- });
69
- return { success: true };
70
- }
71
- /**
72
- * Delete a session from preferences
73
- */
74
- export function deleteSession(name) {
75
- const prefs = getPreferences();
76
- const currentSessions = prefs.browser?.sessions || [];
77
- if (!currentSessions.includes(name)) {
78
- return { success: false, error: `Session "${name}" does not exist` };
79
- }
80
- updatePreferences({
81
- browser: {
82
- ...prefs.browser,
83
- sessions: currentSessions.filter(s => s !== name),
84
- },
85
- });
86
- return { success: true };
87
- }
88
- /**
89
- * Initialize default sessions (called on install)
90
- */
91
- export function initializeDefaultSessions() {
92
- const prefs = getPreferences();
93
- const currentSessions = prefs.browser?.sessions || [];
94
- // Only add defaults if no sessions exist
95
- if (currentSessions.length === 0) {
96
- updatePreferences({
97
- browser: {
98
- ...prefs.browser,
99
- sessions: [...DEFAULT_SESSIONS],
100
- },
101
- });
102
- }
103
- }
104
- // ============ Browser Executable Management ============
105
- /**
106
- * Auto-detect Brave browser path
107
- */
108
- export function detectBravePath() {
109
- const platform = process.platform;
110
- const paths = BRAVE_PATHS[platform] || [];
111
- for (const p of paths) {
112
- if (fs.existsSync(p)) {
113
- return p;
114
- }
115
- }
116
- return null;
117
- }
118
- /**
119
- * Auto-detect Chrome browser path
120
- */
121
- export function detectChromePath() {
122
- const platform = process.platform;
123
- const paths = CHROME_PATHS[platform] || [];
124
- for (const p of paths) {
125
- if (fs.existsSync(p)) {
126
- return p;
127
- }
128
- }
129
- return null;
130
- }
131
- /**
132
- * Detect all available browsers
133
- */
134
- export function detectAvailableBrowsers() {
135
- const browsers = [];
136
- const bravePath = detectBravePath();
137
- if (bravePath) {
138
- browsers.push({ type: 'brave', path: bravePath });
139
- }
140
- const chromePath = detectChromePath();
141
- if (chromePath) {
142
- browsers.push({ type: 'chrome', path: chromePath });
143
- }
144
- return browsers;
145
- }
146
- /**
147
- * Get configured browser executable from preferences.browser
148
- */
149
- export function getBrowserExecutable() {
150
- const prefs = getPreferences();
151
- return {
152
- type: prefs.browser?.browserType || 'default',
153
- path: prefs.browser?.browserExecutable,
154
- };
155
- }
156
- /**
157
- * Set browser executable in preferences.browser
158
- */
159
- export function setBrowserExecutable(type, customPath) {
160
- const prefs = getPreferences();
161
- let browserExecutable;
162
- if (type === 'default') {
163
- // No executable path for default
164
- browserExecutable = undefined;
165
- }
166
- else if (type === 'brave') {
167
- const bravePath = detectBravePath();
168
- if (!bravePath) {
169
- return {
170
- success: false,
171
- error: 'Brave browser not found. Install it or use custom path.',
172
- };
173
- }
174
- browserExecutable = bravePath;
175
- }
176
- else if (type === 'chrome') {
177
- const chromePath = detectChromePath();
178
- if (!chromePath) {
179
- return {
180
- success: false,
181
- error: 'Chrome browser not found. Install it or use custom path.',
182
- };
183
- }
184
- browserExecutable = chromePath;
185
- }
186
- else if (type === 'custom') {
187
- if (!customPath) {
188
- return { success: false, error: 'Custom path is required' };
189
- }
190
- if (!fs.existsSync(customPath)) {
191
- return { success: false, error: `Browser not found at: ${customPath}` };
192
- }
193
- browserExecutable = customPath;
194
- }
195
- updatePreferences({
196
- browser: {
197
- ...prefs.browser,
198
- browserType: type,
199
- browserExecutable,
200
- },
201
- });
202
- return { success: true };
203
- }
204
- // Blocked commands that cannot be run via browser_command
205
- const BLOCKED_COMMANDS = [
206
- 'open',
207
- 'close',
208
- 'cookies',
209
- 'storage',
210
- 'network',
211
- 'download',
212
- 'run',
213
- 'session',
214
- 'task',
215
- 'tunnel',
216
- 'state',
217
- ];
218
- // ============ Installation ============
219
- /**
220
- * Get the agent-browser binary path (cross-platform)
221
- */
222
- function getAgentBrowserPath() {
223
- try {
224
- const command = process.platform === 'win32'
225
- ? `where ${BINARY_NAME}`
226
- : `which ${BINARY_NAME}`;
227
- const result = execSync(command, { stdio: 'pipe', encoding: 'utf-8' });
228
- const binaryPath = result.trim().split('\n')[0]; // Take first result on Windows (where can return multiple)
229
- return binaryPath || null;
230
- }
231
- catch {
232
- return null;
233
- }
234
- }
235
- // Cache the binary path
236
- let cachedBinaryPath;
237
- function getBinaryPath() {
238
- if (cachedBinaryPath === undefined) {
239
- cachedBinaryPath = getAgentBrowserPath();
240
- }
241
- return cachedBinaryPath;
242
- }
243
- // Clear cache (useful after installation)
244
- export function clearBinaryPathCache() {
245
- cachedBinaryPath = undefined;
246
- }
247
- export async function isAgentBrowserInstalled() {
248
- return getBinaryPath() !== null;
249
- }
250
- /**
251
- * Install agent-browser via npm
252
- */
253
- export async function installAgentBrowser() {
254
- const result = await runShellCommand('npm install -g agent-browser');
255
- // Clear cache so next check finds the newly installed binary
256
- clearBinaryPathCache();
257
- if (result.code === 0) {
258
- // Initialize default sessions after successful installation
259
- initializeDefaultSessions();
260
- }
261
- return result;
262
- }
263
- /**
264
- * Run agent-browser doctor to validate installation
265
- */
266
- export async function runAgentBrowserDoctor() {
267
- // agent-browser doesn't have a doctor command, so check version instead
268
- return runAgentBrowserRawCommand(['--version']);
269
- }
270
- function runShellCommand(command) {
271
- return new Promise(resolve => {
272
- const proc = spawn(command, [], {
273
- stdio: ['pipe', 'pipe', 'pipe'],
274
- shell: true,
275
- });
276
- let stdout = '';
277
- let stderr = '';
278
- proc.stdout?.on('data', data => {
279
- stdout += data.toString();
280
- });
281
- proc.stderr?.on('data', data => {
282
- stderr += data.toString();
283
- });
284
- proc.on('close', code => {
285
- resolve({ stdout, stderr, code: code ?? 0 });
286
- });
287
- proc.on('error', err => {
288
- resolve({ stdout, stderr: err.message, code: 1 });
289
- });
290
- });
291
- }
292
- // ============ Core Browser Command Runner ============
293
- /**
294
- * Run a raw agent-browser command without session
295
- */
296
- async function runAgentBrowserRawCommand(args) {
297
- const binaryPath = getBinaryPath();
298
- if (!binaryPath) {
299
- return {
300
- stdout: '',
301
- stderr: 'agent-browser not found. Run: corebrain browser install',
302
- code: 1,
303
- };
304
- }
305
- return new Promise(resolve => {
306
- const proc = spawn(binaryPath, args, {
307
- stdio: ['pipe', 'pipe', 'pipe'],
308
- env: process.env,
309
- detached: false,
310
- });
311
- let stdout = '';
312
- let stderr = '';
313
- proc.stdout?.on('data', data => {
314
- stdout += data.toString();
315
- });
316
- proc.stderr?.on('data', data => {
317
- stderr += data.toString();
318
- });
319
- proc.on('close', code => {
320
- resolve({ stdout, stderr, code: code ?? 0 });
321
- });
322
- proc.on('error', err => {
323
- resolve({ stdout, stderr: err.message, code: 1 });
324
- });
325
- });
326
- }
327
- /**
328
- * Run an agent-browser command with session
329
- * agent-browser [--executable-path <path>] --session <name> --session-name <name> [--headed] <command> <args>
330
- */
331
- async function runAgentBrowserCommand(sessionName, args, headed = false) {
332
- const fullArgs = [];
333
- // Add executable path if configured (not default)
334
- const browserConfig = getBrowserExecutable();
335
- if (browserConfig.type !== 'default' && browserConfig.path) {
336
- fullArgs.push('--executable-path', browserConfig.path);
337
- }
338
- // Use both --session and --session-name with the same value
339
- fullArgs.push('--session', sessionName, '--session-name', sessionName);
340
- // --headed right before command
341
- if (headed) {
342
- fullArgs.push('--headed');
343
- }
344
- fullArgs.push(...args);
345
- const result = await runAgentBrowserRawCommand(fullArgs);
346
- return result;
347
- }
348
- /**
349
- * List all available sessions using agent-browser session list command
350
- */
351
- export async function listSessions() {
352
- const result = await runAgentBrowserRawCommand(['session', 'list']);
353
- if (result.code !== 0) {
354
- return [];
355
- }
356
- // Parse output - each line after "Active sessions:" is a session name
357
- // Lines starting with "->" or just session names
358
- const lines = result.stdout.trim().split('\n');
359
- const sessions = [];
360
- for (const line of lines) {
361
- const trimmed = line.trim();
362
- // Skip header lines
363
- if (trimmed.startsWith('Active sessions:') || trimmed.length === 0) {
364
- continue;
365
- }
366
- // Handle "-> default" or " agent1" formats
367
- const sessionName = trimmed.replace(/^->\s*/, '').trim();
368
- if (sessionName && !sessionName.startsWith('No ')) {
369
- sessions.push(sessionName);
370
- }
371
- }
372
- return sessions;
373
- }
374
- /**
375
- * Check if a session exists
376
- */
377
- export async function sessionExists(name) {
378
- const sessions = await listSessions();
379
- return sessions.includes(name);
380
- }
381
- /**
382
- * Check if max sessions limit is reached
383
- */
384
- export async function isSessionLimitReached() {
385
- const sessions = await listSessions();
386
- return sessions.length >= MAX_SESSIONS;
387
- }
388
- /**
389
- * Get current session count
390
- */
391
- export async function getSessionCount() {
392
- const sessions = await listSessions();
393
- return sessions.length;
394
- }
395
- // ============ Browser Operations ============
396
- /**
397
- * Open a browser with URL using the specified session
398
- */
399
- export async function browserOpen(url, sessionName = 'corebrain', headed = false) {
400
- // Validate session is configured
401
- if (!isSessionConfigured(sessionName)) {
402
- const configured = getConfiguredSessions();
403
- if (configured.length === 0) {
404
- return {
405
- stdout: '',
406
- stderr: `No sessions configured. Run: corebrain browser create-session <name>`,
407
- code: 1,
408
- };
409
- }
410
- return {
411
- stdout: '',
412
- stderr: `Session "${sessionName}" is not configured. Available sessions: ${configured.join(', ')}. Create with: corebrain browser create-session <name>`,
413
- code: 1,
414
- };
415
- }
416
- return runAgentBrowserCommand(sessionName, ['open', url], headed);
417
- }
418
- /**
419
- * Close a browser for the specified session
420
- */
421
- export async function browserClose(sessionName) {
422
- // Validate session is configured
423
- if (!isSessionConfigured(sessionName)) {
424
- const configured = getConfiguredSessions();
425
- return {
426
- stdout: '',
427
- stderr: `Session "${sessionName}" is not configured. Available sessions: ${configured.join(', ')}`,
428
- code: 1,
429
- };
430
- }
431
- // Use close --session <name> format
432
- return runAgentBrowserRawCommand(['close', '--session', sessionName]);
433
- }
434
- /**
435
- * Close all browser sessions by closing each configured session
436
- */
437
- export async function browserCloseAll() {
438
- // Get all configured sessions and close each
439
- const configuredSessions = getConfiguredSessions();
440
- if (configuredSessions.length === 0) {
441
- return {
442
- stdout: 'No sessions configured',
443
- stderr: '',
444
- code: 0,
445
- };
446
- }
447
- const results = [];
448
- let hasError = false;
449
- // Close each configured session
450
- for (const session of configuredSessions) {
451
- const result = await runAgentBrowserRawCommand([
452
- 'close',
453
- '--session',
454
- session,
455
- ]);
456
- if (result.code !== 0 && !result.stderr.includes('not running')) {
457
- hasError = true;
458
- results.push(`Failed to close ${session}: ${result.stderr}`);
459
- }
460
- else {
461
- results.push(`Closed session: ${session}`);
462
- }
463
- }
464
- return {
465
- stdout: results.join('\n'),
466
- stderr: hasError ? 'Some sessions failed to close' : '',
467
- code: hasError ? 1 : 0,
468
- };
469
- }
470
- /**
471
- * Check if a command is blocked
472
- */
473
- export function isBlockedCommand(command) {
474
- const cmd = command.toLowerCase().trim();
475
- return BLOCKED_COMMANDS.includes(cmd);
476
- }
477
- // Args that are controlled internally and should be stripped from user input
478
- const INTERNAL_ARGS = ['--session', '--session-name', '--executable-path'];
479
- /**
480
- * Filter out internal args that we control (session, session-name, executable-path)
481
- */
482
- function filterInternalArgs(args) {
483
- const filtered = [];
484
- let skipNext = false;
485
- for (let i = 0; i < args.length; i++) {
486
- if (skipNext) {
487
- skipNext = false;
488
- continue;
489
- }
490
- const arg = args[i];
491
- // Check if this arg is an internal arg we should filter
492
- const isInternal = INTERNAL_ARGS.some(internal => arg === internal || arg.startsWith(`${internal}=`));
493
- if (isInternal) {
494
- // If it's --flag value format (not --flag=value), skip the next arg too
495
- if (!arg.includes('=')) {
496
- skipNext = true;
497
- }
498
- continue;
499
- }
500
- filtered.push(arg);
501
- }
502
- return filtered;
503
- }
504
- /**
505
- * Execute a generic browser command on a session
506
- * Blocks: open, close, cookies, storage, network, download, run, session, task, tunnel, state
507
- * Filters: --session, --session-name, --executable-path (controlled internally)
508
- */
509
- export async function browserCommand(sessionName, command, args = []) {
510
- // Validate session is configured
511
- if (!isSessionConfigured(sessionName)) {
512
- const configured = getConfiguredSessions();
513
- return {
514
- stdout: '',
515
- stderr: `Session "${sessionName}" is not configured. Available sessions: ${configured.join(', ')}`,
516
- code: 1,
517
- };
518
- }
519
- // Check if command is blocked
520
- if (isBlockedCommand(command)) {
521
- return {
522
- stdout: '',
523
- stderr: `Command "${command}" is blocked. Blocked commands: ${BLOCKED_COMMANDS.join(', ')}`,
524
- code: 1,
525
- };
526
- }
527
- // Filter out internal args that could override our session/executable settings
528
- const filteredArgs = filterInternalArgs(args);
529
- return runAgentBrowserCommand(sessionName, [command, ...filteredArgs]);
530
- }
531
- /**
532
- * Get all configured sessions (sync)
533
- */
534
- export function browserGetSessions() {
535
- return getConfiguredSessions();
536
- }
537
- /**
538
- * Get running sessions from agent-browser
539
- */
540
- export async function getActiveSessions() {
541
- return listSessions();
542
- }
543
- /**
544
- * Get server status
545
- */
546
- export async function getServerStatus() {
547
- return runAgentBrowserRawCommand(['session', 'list']);
548
- }
549
- /**
550
- * Get max sessions limit
551
- */
552
- export function getMaxSessions() {
553
- return MAX_SESSIONS;
554
- }
555
- /**
556
- * Get default sessions list
557
- */
558
- export function getDefaultSessions() {
559
- return DEFAULT_SESSIONS;
560
- }
561
- //# sourceMappingURL=agent-browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-browser.js","sourceRoot":"","sources":["../../src/utils/agent-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAGvE,YAAY;AACZ,MAAM,WAAW,GAAG,eAAe,CAAC;AACpC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,qDAAqD;AAErD,yCAAyC;AACzC,MAAM,WAAW,GAA6B;IAC7C,MAAM,EAAE,CAAC,8DAA8D,CAAC;IACxE,KAAK,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;IACtE,KAAK,EAAE;QACN,yEAAyE;QACzE,+EAA+E;KAC/E;CACD,CAAC;AAEF,MAAM,YAAY,GAA6B;IAC9C,MAAM,EAAE,CAAC,8DAA8D,CAAC;IACxE,KAAK,EAAE,CAAC,wBAAwB,EAAE,+BAA+B,CAAC;IAClE,KAAK,EAAE;QACN,4DAA4D;QAC5D,kEAAkE;KAClE;CACD,CAAC;AAIF,sFAAsF;AAEtF;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACpC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IAIzC,gBAAgB;IAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EACJ,kFAAkF;SACnF,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IAEtD,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAC,CAAC;IACpE,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QAC5C,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,YAAY,+BAA+B,eAAe,CAAC,IAAI,CAChF,IAAI,CACJ,EAAE;SACH,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC;QACjB,OAAO,EAAE;YACR,GAAG,KAAK,CAAC,OAAO;YAChB,QAAQ,EAAE,CAAC,GAAG,eAAe,EAAE,IAAI,CAAC;SACpC;KACD,CAAC,CAAC;IAEH,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IAIzC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAC,CAAC;IACpE,CAAC;IAED,iBAAiB,CAAC;QACjB,OAAO,EAAE;YACR,GAAG,KAAK,CAAC,OAAO;YAChB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SACjD;KACD,CAAC,CAAC;IAEH,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACxC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IAEtD,yCAAyC;IACzC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,iBAAiB,CAAC;YACjB,OAAO,EAAE;gBACR,GAAG,KAAK,CAAC,OAAO;gBAChB,QAAQ,EAAE,CAAC,GAAG,gBAAgB,CAAC;aAC/B;SACD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,0DAA0D;AAE1D;;GAEG;AACH,MAAM,UAAU,eAAe;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAwC,CAAC;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAwC,CAAC;IAClE,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACtC,MAAM,QAAQ,GAAwC,EAAE,CAAC;IAEzD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,SAAS,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IACnC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,IAAI,SAAS;QAC7C,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB;KACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CACnC,IAAiB,EACjB,UAAmB;IAEnB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,iBAAqC,CAAC;IAE1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,iCAAiC;QACjC,iBAAiB,GAAG,SAAS,CAAC;IAC/B,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yDAAyD;aAChE,CAAC;QACH,CAAC;QACD,iBAAiB,GAAG,SAAS,CAAC;IAC/B,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0DAA0D;aACjE,CAAC;QACH,CAAC;QACD,iBAAiB,GAAG,UAAU,CAAC;IAChC,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,UAAU,EAAE,EAAC,CAAC;QACvE,CAAC;QACD,iBAAiB,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,iBAAiB,CAAC;QACjB,OAAO,EAAE;YACR,GAAG,KAAK,CAAC,OAAO;YAChB,WAAW,EAAE,IAAI;YACjB,iBAAiB;SACjB;KACD,CAAC,CAAC;IAEH,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;AACxB,CAAC;AAED,0DAA0D;AAC1D,MAAM,gBAAgB,GAAG;IACxB,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,OAAO;CACP,CAAC;AAQF,yCAAyC;AAEzC;;GAEG;AACH,SAAS,mBAAmB;IAC3B,IAAI,CAAC;QACJ,MAAM,OAAO,GACZ,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC3B,CAAC,CAAC,SAAS,WAAW,EAAE;YACxB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC5G,OAAO,UAAU,IAAI,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,wBAAwB;AACxB,IAAI,gBAA2C,CAAC;AAEhD,SAAS,aAAa;IACrB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,oBAAoB;IACnC,gBAAgB,GAAG,SAAS,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC5C,OAAO,aAAa,EAAE,KAAK,IAAI,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACxC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,8BAA8B,CAAC,CAAC;IAErE,6DAA6D;IAC7D,oBAAoB,EAAE,CAAC;IAEvB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,4DAA4D;QAC5D,yBAAyB,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IAC1C,wEAAwE;IACxE,OAAO,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACvC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE;YAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACvB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,wDAAwD;AAExD;;GAEG;AACH,KAAK,UAAU,yBAAyB,CACvC,IAAc;IAEd,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,yDAAyD;YACjE,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACvB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CACpC,WAAmB,EACnB,IAAc,EACd,SAAkB,KAAK;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,kDAAkD;IAClD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAEvE,gCAAgC;IAChC,IAAI,MAAM,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvB,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAEzD,OAAO,MAAM,CAAC;AACf,CAAC;AASD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IACjC,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,sEAAsE;IACtE,iDAAiD;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,oBAAoB;QACpB,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,SAAS;QACV,CAAC;QACD,6CAA6C;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC/C,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IAC1C,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,MAAM,CAAC;AACxB,CAAC;AAED,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,GAAW,EACX,cAAsB,WAAW,EACjC,SAAkB,KAAK;IAEvB,iCAAiC;IACjC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACN,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,sEAAsE;gBAC9E,IAAI,EAAE,CAAC;aACP,CAAC;QACH,CAAC;QACD,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,YAAY,WAAW,4CAA4C,UAAU,CAAC,IAAI,CACzF,IAAI,CACJ,wDAAwD;YACzD,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,WAAmB;IAEnB,iCAAiC;IACjC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,YAAY,WAAW,4CAA4C,UAAU,CAAC,IAAI,CACzF,IAAI,CACJ,EAAE;YACH,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,OAAO,yBAAyB,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IAEnD,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACN,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,gCAAgC;IAChC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;YAC9C,OAAO;YACP,WAAW;YACX,OAAO;SACP,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IAED,OAAO;QACN,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE;QACvD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,6EAA6E;AAC7E,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;AAE3E;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAc;IACzC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACV,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,wDAAwD;QACxD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CACpC,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAC9D,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YAChB,wEAAwE;YACxE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,QAAQ,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,SAAS;QACV,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,WAAmB,EACnB,OAAe,EACf,OAAiB,EAAE;IAEnB,iCAAiC;IACjC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,YAAY,WAAW,4CAA4C,UAAU,CAAC,IAAI,CACzF,IAAI,CACJ,EAAE;YACH,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,YAAY,OAAO,mCAAmC,gBAAgB,CAAC,IAAI,CAClF,IAAI,CACJ,EAAE;YACH,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO,sBAAsB,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IACjC,OAAO,qBAAqB,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACtC,OAAO,YAAY,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,OAAO,yBAAyB,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,YAAY,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IACjC,OAAO,gBAAgB,CAAC;AACzB,CAAC"}