claude-chrome-parallel 2.2.2 → 3.0.0
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 +352 -45
- package/dist/cdp/client.d.ts +30 -3
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +75 -6
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/connection-pool.d.ts +5 -1
- package/dist/cdp/connection-pool.d.ts.map +1 -1
- package/dist/cdp/connection-pool.js +7 -1
- package/dist/cdp/connection-pool.js.map +1 -1
- package/dist/chrome/launcher.d.ts +2 -0
- package/dist/chrome/launcher.d.ts.map +1 -1
- package/dist/chrome/launcher.js +13 -0
- package/dist/chrome/launcher.js.map +1 -1
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/global.d.ts +18 -0
- package/dist/config/global.d.ts.map +1 -0
- package/dist/config/global.js +24 -0
- package/dist/config/global.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestration/state-manager.d.ts +117 -0
- package/dist/orchestration/state-manager.d.ts.map +1 -0
- package/dist/orchestration/state-manager.js +435 -0
- package/dist/orchestration/state-manager.js.map +1 -0
- package/dist/orchestration/workflow-engine.d.ts +96 -0
- package/dist/orchestration/workflow-engine.d.ts.map +1 -0
- package/dist/orchestration/workflow-engine.js +326 -0
- package/dist/orchestration/workflow-engine.js.map +1 -0
- package/dist/session-manager.d.ts +62 -18
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +274 -100
- package/dist/session-manager.js.map +1 -1
- package/dist/tools/computer.d.ts.map +1 -1
- package/dist/tools/computer.js +49 -3
- package/dist/tools/computer.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/navigate.d.ts.map +1 -1
- package/dist/tools/navigate.js +91 -8
- package/dist/tools/navigate.js.map +1 -1
- package/dist/tools/orchestration.d.ts +6 -0
- package/dist/tools/orchestration.d.ts.map +1 -0
- package/dist/tools/orchestration.js +436 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/tabs-context.d.ts.map +1 -1
- package/dist/tools/tabs-context.js +42 -23
- package/dist/tools/tabs-context.js.map +1 -1
- package/dist/tools/tabs-create.d.ts +1 -1
- package/dist/tools/tabs-create.d.ts.map +1 -1
- package/dist/tools/tabs-create.js +30 -6
- package/dist/tools/tabs-create.js.map +1 -1
- package/dist/tools/worker-create.d.ts +7 -0
- package/dist/tools/worker-create.d.ts.map +1 -0
- package/dist/tools/worker-create.js +62 -0
- package/dist/tools/worker-create.js.map +1 -0
- package/dist/tools/worker-delete.d.ts +6 -0
- package/dist/tools/worker-delete.d.ts.map +1 -0
- package/dist/tools/worker-delete.js +80 -0
- package/dist/tools/worker-delete.js.map +1 -0
- package/dist/tools/worker-list.d.ts +6 -0
- package/dist/tools/worker-list.d.ts.map +1 -0
- package/dist/tools/worker-list.js +67 -0
- package/dist/tools/worker-list.js.map +1 -0
- package/dist/types/session.d.ts +35 -2
- package/dist/types/session.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/session-manager.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Session Manager - Manages lifecycle of parallel Claude Code sessions
|
|
4
|
+
* Supports multiple Workers within a single session for parallel browser operations
|
|
4
5
|
*/
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
7
|
exports.SessionManager = void 0;
|
|
@@ -18,11 +19,12 @@ const DEFAULT_CONFIG = {
|
|
|
18
19
|
cleanupInterval: 60 * 1000, // 1 minute
|
|
19
20
|
autoCleanup: true,
|
|
20
21
|
maxSessions: 100,
|
|
21
|
-
|
|
22
|
+
maxWorkersPerSession: 20,
|
|
23
|
+
useConnectionPool: false, // Disabled by default for worker isolation
|
|
22
24
|
};
|
|
23
25
|
class SessionManager {
|
|
24
26
|
sessions = new Map();
|
|
25
|
-
|
|
27
|
+
targetToWorker = new Map();
|
|
26
28
|
cdpClient;
|
|
27
29
|
connectionPool = null;
|
|
28
30
|
queueManager;
|
|
@@ -44,6 +46,10 @@ class SessionManager {
|
|
|
44
46
|
if (this.config.autoCleanup) {
|
|
45
47
|
this.startAutoCleanup();
|
|
46
48
|
}
|
|
49
|
+
// Register target destroyed listener
|
|
50
|
+
this.cdpClient.addTargetDestroyedListener((targetId) => {
|
|
51
|
+
this.onTargetClosed(targetId);
|
|
52
|
+
});
|
|
47
53
|
}
|
|
48
54
|
/**
|
|
49
55
|
* Start automatic cleanup interval
|
|
@@ -81,12 +87,19 @@ class SessionManager {
|
|
|
81
87
|
*/
|
|
82
88
|
getStats() {
|
|
83
89
|
let totalTargets = 0;
|
|
90
|
+
let totalWorkers = 0;
|
|
84
91
|
for (const session of this.sessions.values()) {
|
|
92
|
+
totalWorkers += session.workers.size;
|
|
93
|
+
for (const worker of session.workers.values()) {
|
|
94
|
+
totalTargets += worker.targets.size;
|
|
95
|
+
}
|
|
96
|
+
// Also count legacy targets
|
|
85
97
|
totalTargets += session.targets.size;
|
|
86
98
|
}
|
|
87
99
|
const stats = {
|
|
88
100
|
activeSessions: this.sessions.size,
|
|
89
101
|
totalTargets,
|
|
102
|
+
totalWorkers,
|
|
90
103
|
totalSessionsCreated: this.totalSessionsCreated,
|
|
91
104
|
totalSessionsCleaned: this.totalSessionsCleaned,
|
|
92
105
|
uptime: Date.now() - this.startTime,
|
|
@@ -125,8 +138,9 @@ class SessionManager {
|
|
|
125
138
|
await this.cdpClient.connect();
|
|
126
139
|
}
|
|
127
140
|
}
|
|
141
|
+
// ==================== SESSION MANAGEMENT ====================
|
|
128
142
|
/**
|
|
129
|
-
* Create a new session
|
|
143
|
+
* Create a new session with a default worker
|
|
130
144
|
*/
|
|
131
145
|
async createSession(options = {}) {
|
|
132
146
|
await this.ensureConnected();
|
|
@@ -136,23 +150,37 @@ class SessionManager {
|
|
|
136
150
|
}
|
|
137
151
|
// Check max sessions limit
|
|
138
152
|
if (this.sessions.size >= this.config.maxSessions) {
|
|
139
|
-
// Try to cleanup old sessions first
|
|
140
153
|
const deleted = await this.cleanupInactiveSessions(this.config.sessionTTL);
|
|
141
154
|
if (deleted.length === 0 && this.sessions.size >= this.config.maxSessions) {
|
|
142
|
-
throw new Error(`Maximum session limit (${this.config.maxSessions}) reached
|
|
155
|
+
throw new Error(`Maximum session limit (${this.config.maxSessions}) reached.`);
|
|
143
156
|
}
|
|
144
157
|
}
|
|
145
158
|
const name = options.name || `Session ${id.slice(0, 8)}`;
|
|
159
|
+
const defaultWorkerId = 'default';
|
|
160
|
+
// Create default worker with isolated browser context
|
|
161
|
+
const defaultContext = await this.cdpClient.createBrowserContext();
|
|
162
|
+
const defaultWorker = {
|
|
163
|
+
id: defaultWorkerId,
|
|
164
|
+
name: 'Default Worker',
|
|
165
|
+
targets: new Set(),
|
|
166
|
+
context: defaultContext,
|
|
167
|
+
createdAt: Date.now(),
|
|
168
|
+
lastActivityAt: Date.now(),
|
|
169
|
+
};
|
|
146
170
|
const session = {
|
|
147
171
|
id,
|
|
148
|
-
|
|
172
|
+
workers: new Map([[defaultWorkerId, defaultWorker]]),
|
|
173
|
+
defaultWorkerId,
|
|
174
|
+
targets: new Set(), // Legacy support
|
|
149
175
|
createdAt: Date.now(),
|
|
150
176
|
lastActivityAt: Date.now(),
|
|
151
177
|
name,
|
|
178
|
+
context: defaultContext, // Legacy support
|
|
152
179
|
};
|
|
153
180
|
this.sessions.set(id, session);
|
|
154
181
|
this.totalSessionsCreated++;
|
|
155
182
|
this.emitEvent({ type: 'session:created', sessionId: id, timestamp: Date.now() });
|
|
183
|
+
console.error(`[SessionManager] Created session ${id} with default worker`);
|
|
156
184
|
return session;
|
|
157
185
|
}
|
|
158
186
|
/**
|
|
@@ -181,30 +209,16 @@ class SessionManager {
|
|
|
181
209
|
}
|
|
182
210
|
}
|
|
183
211
|
/**
|
|
184
|
-
* Delete a session and clean up
|
|
212
|
+
* Delete a session and clean up all workers
|
|
185
213
|
*/
|
|
186
214
|
async deleteSession(sessionId) {
|
|
187
215
|
const session = this.sessions.get(sessionId);
|
|
188
216
|
if (!session) {
|
|
189
217
|
return;
|
|
190
218
|
}
|
|
191
|
-
//
|
|
192
|
-
for (const
|
|
193
|
-
|
|
194
|
-
const page = await this.cdpClient.getPageByTargetId(targetId);
|
|
195
|
-
if (page && this.connectionPool) {
|
|
196
|
-
// Return page to pool for reuse
|
|
197
|
-
await this.connectionPool.releasePage(page);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
// Close directly if no pool
|
|
201
|
-
await this.cdpClient.closePage(targetId);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
// Page might already be closed
|
|
206
|
-
}
|
|
207
|
-
this.targetToSession.delete(targetId);
|
|
219
|
+
// Delete all workers
|
|
220
|
+
for (const workerId of session.workers.keys()) {
|
|
221
|
+
await this.deleteWorkerInternal(session, workerId);
|
|
208
222
|
}
|
|
209
223
|
// Clean up request queue
|
|
210
224
|
this.queueManager.deleteQueue(sessionId);
|
|
@@ -213,6 +227,7 @@ class SessionManager {
|
|
|
213
227
|
// Remove session
|
|
214
228
|
this.sessions.delete(sessionId);
|
|
215
229
|
this.emitEvent({ type: 'session:deleted', sessionId, timestamp: Date.now() });
|
|
230
|
+
console.error(`[SessionManager] Deleted session ${sessionId}`);
|
|
216
231
|
}
|
|
217
232
|
/**
|
|
218
233
|
* Clean up inactive sessions
|
|
@@ -241,54 +256,203 @@ class SessionManager {
|
|
|
241
256
|
}
|
|
242
257
|
return count;
|
|
243
258
|
}
|
|
259
|
+
// ==================== WORKER MANAGEMENT ====================
|
|
244
260
|
/**
|
|
245
|
-
* Create a new
|
|
261
|
+
* Create a new worker within a session
|
|
262
|
+
* Each worker has its own isolated browser context (cookies, localStorage, etc.)
|
|
246
263
|
*/
|
|
247
|
-
async
|
|
264
|
+
async createWorker(sessionId, options = {}) {
|
|
248
265
|
await this.ensureConnected();
|
|
249
266
|
const session = await this.getOrCreateSession(sessionId);
|
|
250
|
-
//
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
267
|
+
// Check max workers limit
|
|
268
|
+
if (session.workers.size >= this.config.maxWorkersPerSession) {
|
|
269
|
+
throw new Error(`Maximum workers per session (${this.config.maxWorkersPerSession}) reached.`);
|
|
270
|
+
}
|
|
271
|
+
const workerId = options.id || `worker-${crypto.randomUUID().slice(0, 8)}`;
|
|
272
|
+
if (session.workers.has(workerId)) {
|
|
273
|
+
return session.workers.get(workerId);
|
|
274
|
+
}
|
|
275
|
+
const name = options.name || `Worker ${workerId}`;
|
|
276
|
+
// Create isolated browser context for this worker
|
|
277
|
+
const context = await this.cdpClient.createBrowserContext();
|
|
278
|
+
const worker = {
|
|
279
|
+
id: workerId,
|
|
280
|
+
name,
|
|
281
|
+
targets: new Set(),
|
|
282
|
+
context,
|
|
283
|
+
createdAt: Date.now(),
|
|
284
|
+
lastActivityAt: Date.now(),
|
|
285
|
+
};
|
|
286
|
+
session.workers.set(workerId, worker);
|
|
287
|
+
this.touchSession(sessionId);
|
|
288
|
+
this.emitEvent({
|
|
289
|
+
type: 'worker:created',
|
|
290
|
+
sessionId,
|
|
291
|
+
workerId,
|
|
292
|
+
timestamp: Date.now(),
|
|
293
|
+
});
|
|
294
|
+
console.error(`[SessionManager] Created worker ${workerId} in session ${sessionId}`);
|
|
295
|
+
return worker;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Get a worker by ID
|
|
299
|
+
*/
|
|
300
|
+
getWorker(sessionId, workerId) {
|
|
301
|
+
const session = this.sessions.get(sessionId);
|
|
302
|
+
if (!session)
|
|
303
|
+
return undefined;
|
|
304
|
+
return session.workers.get(workerId);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Get or create a worker
|
|
308
|
+
*/
|
|
309
|
+
async getOrCreateWorker(sessionId, workerId) {
|
|
310
|
+
const session = await this.getOrCreateSession(sessionId);
|
|
311
|
+
// If no workerId specified, use default worker
|
|
312
|
+
const targetWorkerId = workerId || session.defaultWorkerId;
|
|
313
|
+
let worker = session.workers.get(targetWorkerId);
|
|
314
|
+
if (!worker) {
|
|
315
|
+
worker = await this.createWorker(sessionId, { id: targetWorkerId });
|
|
316
|
+
}
|
|
317
|
+
return worker;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* List all workers in a session
|
|
321
|
+
*/
|
|
322
|
+
getWorkers(sessionId) {
|
|
323
|
+
const session = this.sessions.get(sessionId);
|
|
324
|
+
if (!session)
|
|
325
|
+
return [];
|
|
326
|
+
const workers = [];
|
|
327
|
+
for (const worker of session.workers.values()) {
|
|
328
|
+
workers.push({
|
|
329
|
+
id: worker.id,
|
|
330
|
+
name: worker.name,
|
|
331
|
+
targetCount: worker.targets.size,
|
|
332
|
+
createdAt: worker.createdAt,
|
|
333
|
+
lastActivityAt: worker.lastActivityAt,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return workers;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Delete a worker and its resources
|
|
340
|
+
*/
|
|
341
|
+
async deleteWorker(sessionId, workerId) {
|
|
342
|
+
const session = this.sessions.get(sessionId);
|
|
343
|
+
if (!session)
|
|
344
|
+
return;
|
|
345
|
+
// Can't delete default worker
|
|
346
|
+
if (workerId === session.defaultWorkerId) {
|
|
347
|
+
throw new Error('Cannot delete the default worker. Delete the session instead.');
|
|
348
|
+
}
|
|
349
|
+
await this.deleteWorkerInternal(session, workerId);
|
|
350
|
+
this.emitEvent({
|
|
351
|
+
type: 'worker:deleted',
|
|
352
|
+
sessionId,
|
|
353
|
+
workerId,
|
|
354
|
+
timestamp: Date.now(),
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Internal worker deletion (also used for cleanup)
|
|
359
|
+
*/
|
|
360
|
+
async deleteWorkerInternal(session, workerId) {
|
|
361
|
+
const worker = session.workers.get(workerId);
|
|
362
|
+
if (!worker)
|
|
363
|
+
return;
|
|
364
|
+
// Close all pages in this worker
|
|
365
|
+
for (const targetId of worker.targets) {
|
|
366
|
+
try {
|
|
367
|
+
await this.cdpClient.closePage(targetId);
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
// Page might already be closed
|
|
256
371
|
}
|
|
372
|
+
this.targetToWorker.delete(targetId);
|
|
373
|
+
}
|
|
374
|
+
// Close the browser context
|
|
375
|
+
try {
|
|
376
|
+
await this.cdpClient.closeBrowserContext(worker.context);
|
|
257
377
|
}
|
|
258
|
-
|
|
259
|
-
|
|
378
|
+
catch {
|
|
379
|
+
// Context might already be closed
|
|
260
380
|
}
|
|
381
|
+
// Clean up ref IDs for this worker
|
|
382
|
+
for (const targetId of worker.targets) {
|
|
383
|
+
(0, ref_id_manager_1.getRefIdManager)().clearTargetRefs(session.id, targetId);
|
|
384
|
+
}
|
|
385
|
+
session.workers.delete(workerId);
|
|
386
|
+
console.error(`[SessionManager] Deleted worker ${workerId} from session ${session.id}`);
|
|
387
|
+
}
|
|
388
|
+
// ==================== TARGET/PAGE MANAGEMENT ====================
|
|
389
|
+
/**
|
|
390
|
+
* Create a new page/target for a worker
|
|
391
|
+
* @param sessionId Session ID
|
|
392
|
+
* @param url Optional URL to navigate to
|
|
393
|
+
* @param workerId Optional worker ID (uses default worker if not specified)
|
|
394
|
+
*/
|
|
395
|
+
async createTarget(sessionId, url, workerId) {
|
|
396
|
+
await this.ensureConnected();
|
|
397
|
+
const worker = await this.getOrCreateWorker(sessionId, workerId);
|
|
398
|
+
// Create page in the worker's isolated browser context
|
|
399
|
+
const page = await this.cdpClient.createPage(url, worker.context);
|
|
261
400
|
const targetId = getTargetId(page.target());
|
|
262
|
-
|
|
263
|
-
|
|
401
|
+
worker.targets.add(targetId);
|
|
402
|
+
worker.lastActivityAt = Date.now();
|
|
403
|
+
this.targetToWorker.set(targetId, { sessionId, workerId: worker.id });
|
|
264
404
|
this.emitEvent({
|
|
265
405
|
type: 'session:target-added',
|
|
266
406
|
sessionId,
|
|
407
|
+
workerId: worker.id,
|
|
267
408
|
targetId,
|
|
268
409
|
timestamp: Date.now(),
|
|
269
410
|
});
|
|
270
411
|
this.touchSession(sessionId);
|
|
271
|
-
return { targetId, page };
|
|
412
|
+
return { targetId, page, workerId: worker.id };
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Check if a target is still valid (page not closed)
|
|
416
|
+
*/
|
|
417
|
+
async isTargetValid(targetId) {
|
|
418
|
+
try {
|
|
419
|
+
const page = await this.cdpClient.getPageByTargetId(targetId);
|
|
420
|
+
return page !== null && !page.isClosed();
|
|
421
|
+
}
|
|
422
|
+
catch {
|
|
423
|
+
return false;
|
|
424
|
+
}
|
|
272
425
|
}
|
|
273
426
|
/**
|
|
274
427
|
* Get page for a target
|
|
428
|
+
* @param sessionId Session ID
|
|
429
|
+
* @param targetId Target/Tab ID
|
|
430
|
+
* @param workerId Optional worker ID for validation
|
|
275
431
|
*/
|
|
276
|
-
async getPage(sessionId, targetId) {
|
|
277
|
-
|
|
432
|
+
async getPage(sessionId, targetId, workerId) {
|
|
433
|
+
const ownerInfo = this.targetToWorker.get(targetId);
|
|
434
|
+
if (!ownerInfo || ownerInfo.sessionId !== sessionId) {
|
|
278
435
|
throw new Error(`Target ${targetId} does not belong to session ${sessionId}`);
|
|
279
436
|
}
|
|
437
|
+
if (workerId && ownerInfo.workerId !== workerId) {
|
|
438
|
+
throw new Error(`Target ${targetId} does not belong to worker ${workerId}`);
|
|
439
|
+
}
|
|
440
|
+
// Validate target is still valid
|
|
441
|
+
if (!await this.isTargetValid(targetId)) {
|
|
442
|
+
this.onTargetClosed(targetId);
|
|
443
|
+
return null;
|
|
444
|
+
}
|
|
280
445
|
return this.cdpClient.getPageByTargetId(targetId);
|
|
281
446
|
}
|
|
282
447
|
/**
|
|
283
|
-
* Get all pages for a
|
|
448
|
+
* Get all pages for a worker
|
|
284
449
|
*/
|
|
285
|
-
async
|
|
286
|
-
const
|
|
287
|
-
if (!
|
|
450
|
+
async getWorkerPages(sessionId, workerId) {
|
|
451
|
+
const worker = this.getWorker(sessionId, workerId);
|
|
452
|
+
if (!worker)
|
|
288
453
|
return [];
|
|
289
|
-
}
|
|
290
454
|
const pages = [];
|
|
291
|
-
for (const targetId of
|
|
455
|
+
for (const targetId of worker.targets) {
|
|
292
456
|
const page = await this.cdpClient.getPageByTargetId(targetId);
|
|
293
457
|
if (page) {
|
|
294
458
|
pages.push(page);
|
|
@@ -297,30 +461,44 @@ class SessionManager {
|
|
|
297
461
|
return pages;
|
|
298
462
|
}
|
|
299
463
|
/**
|
|
300
|
-
* Get target IDs for a session
|
|
464
|
+
* Get target IDs for a session (all workers)
|
|
301
465
|
*/
|
|
302
466
|
getSessionTargetIds(sessionId) {
|
|
303
467
|
const session = this.sessions.get(sessionId);
|
|
304
|
-
if (!session)
|
|
468
|
+
if (!session)
|
|
305
469
|
return [];
|
|
470
|
+
const allTargets = [];
|
|
471
|
+
for (const worker of session.workers.values()) {
|
|
472
|
+
allTargets.push(...worker.targets);
|
|
306
473
|
}
|
|
307
|
-
return
|
|
474
|
+
return allTargets;
|
|
308
475
|
}
|
|
309
476
|
/**
|
|
310
|
-
*
|
|
477
|
+
* Get target IDs for a specific worker
|
|
478
|
+
*/
|
|
479
|
+
getWorkerTargetIds(sessionId, workerId) {
|
|
480
|
+
const worker = this.getWorker(sessionId, workerId);
|
|
481
|
+
if (!worker)
|
|
482
|
+
return [];
|
|
483
|
+
return Array.from(worker.targets);
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Validate target ownership (legacy method, checks session only)
|
|
311
487
|
*/
|
|
312
488
|
validateTargetOwnership(sessionId, targetId) {
|
|
313
|
-
const
|
|
314
|
-
return
|
|
489
|
+
const ownerInfo = this.targetToWorker.get(targetId);
|
|
490
|
+
return ownerInfo?.sessionId === sessionId;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Get the worker ID that owns a target
|
|
494
|
+
*/
|
|
495
|
+
getTargetWorkerId(targetId) {
|
|
496
|
+
return this.targetToWorker.get(targetId)?.workerId;
|
|
315
497
|
}
|
|
316
498
|
/**
|
|
317
499
|
* Execute a CDP command through the session's queue
|
|
318
500
|
*/
|
|
319
501
|
async executeCDP(sessionId, targetId, method, params) {
|
|
320
|
-
const session = this.sessions.get(sessionId);
|
|
321
|
-
if (!session) {
|
|
322
|
-
throw new Error(`Session ${sessionId} not found`);
|
|
323
|
-
}
|
|
324
502
|
if (!this.validateTargetOwnership(sessionId, targetId)) {
|
|
325
503
|
throw new Error(`Target ${targetId} does not belong to session ${sessionId}`);
|
|
326
504
|
}
|
|
@@ -334,36 +512,53 @@ class SessionManager {
|
|
|
334
512
|
});
|
|
335
513
|
}
|
|
336
514
|
/**
|
|
337
|
-
*
|
|
515
|
+
* Handle target closed event
|
|
338
516
|
*/
|
|
339
|
-
|
|
340
|
-
const
|
|
341
|
-
if (
|
|
342
|
-
|
|
517
|
+
onTargetClosed(targetId) {
|
|
518
|
+
const ownerInfo = this.targetToWorker.get(targetId);
|
|
519
|
+
if (ownerInfo) {
|
|
520
|
+
const session = this.sessions.get(ownerInfo.sessionId);
|
|
521
|
+
if (session) {
|
|
522
|
+
const worker = session.workers.get(ownerInfo.workerId);
|
|
523
|
+
if (worker) {
|
|
524
|
+
worker.targets.delete(targetId);
|
|
525
|
+
}
|
|
526
|
+
this.targetToWorker.delete(targetId);
|
|
527
|
+
this.emitEvent({
|
|
528
|
+
type: 'session:target-removed',
|
|
529
|
+
sessionId: ownerInfo.sessionId,
|
|
530
|
+
workerId: ownerInfo.workerId,
|
|
531
|
+
targetId,
|
|
532
|
+
timestamp: Date.now(),
|
|
533
|
+
});
|
|
534
|
+
}
|
|
343
535
|
}
|
|
344
|
-
session.targets.delete(targetId);
|
|
345
|
-
this.targetToSession.delete(targetId);
|
|
346
|
-
// Clean up ref IDs for this target
|
|
347
|
-
(0, ref_id_manager_1.getRefIdManager)().clearTargetRefs(sessionId, targetId);
|
|
348
|
-
this.emitEvent({
|
|
349
|
-
type: 'session:target-removed',
|
|
350
|
-
sessionId,
|
|
351
|
-
targetId,
|
|
352
|
-
timestamp: Date.now(),
|
|
353
|
-
});
|
|
354
|
-
this.touchSession(sessionId);
|
|
355
536
|
}
|
|
537
|
+
// ==================== SESSION INFO ====================
|
|
356
538
|
/**
|
|
357
539
|
* Get session info (for serialization)
|
|
358
540
|
*/
|
|
359
541
|
getSessionInfo(sessionId) {
|
|
360
542
|
const session = this.sessions.get(sessionId);
|
|
361
|
-
if (!session)
|
|
543
|
+
if (!session)
|
|
362
544
|
return undefined;
|
|
545
|
+
let totalTargets = 0;
|
|
546
|
+
const workers = [];
|
|
547
|
+
for (const worker of session.workers.values()) {
|
|
548
|
+
totalTargets += worker.targets.size;
|
|
549
|
+
workers.push({
|
|
550
|
+
id: worker.id,
|
|
551
|
+
name: worker.name,
|
|
552
|
+
targetCount: worker.targets.size,
|
|
553
|
+
createdAt: worker.createdAt,
|
|
554
|
+
lastActivityAt: worker.lastActivityAt,
|
|
555
|
+
});
|
|
363
556
|
}
|
|
364
557
|
return {
|
|
365
558
|
id: session.id,
|
|
366
|
-
targetCount:
|
|
559
|
+
targetCount: totalTargets,
|
|
560
|
+
workerCount: session.workers.size,
|
|
561
|
+
workers,
|
|
367
562
|
createdAt: session.createdAt,
|
|
368
563
|
lastActivityAt: session.lastActivityAt,
|
|
369
564
|
name: session.name,
|
|
@@ -374,36 +569,15 @@ class SessionManager {
|
|
|
374
569
|
*/
|
|
375
570
|
getAllSessionInfos() {
|
|
376
571
|
const infos = [];
|
|
377
|
-
for (const
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
createdAt: session.createdAt,
|
|
382
|
-
lastActivityAt: session.lastActivityAt,
|
|
383
|
-
name: session.name,
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
return infos;
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Handle target closed event
|
|
390
|
-
*/
|
|
391
|
-
onTargetClosed(targetId) {
|
|
392
|
-
const sessionId = this.targetToSession.get(targetId);
|
|
393
|
-
if (sessionId) {
|
|
394
|
-
const session = this.sessions.get(sessionId);
|
|
395
|
-
if (session) {
|
|
396
|
-
session.targets.delete(targetId);
|
|
397
|
-
this.targetToSession.delete(targetId);
|
|
398
|
-
this.emitEvent({
|
|
399
|
-
type: 'session:target-removed',
|
|
400
|
-
sessionId,
|
|
401
|
-
targetId,
|
|
402
|
-
timestamp: Date.now(),
|
|
403
|
-
});
|
|
572
|
+
for (const sessionId of this.sessions.keys()) {
|
|
573
|
+
const info = this.getSessionInfo(sessionId);
|
|
574
|
+
if (info) {
|
|
575
|
+
infos.push(info);
|
|
404
576
|
}
|
|
405
577
|
}
|
|
578
|
+
return infos;
|
|
406
579
|
}
|
|
580
|
+
// ==================== EVENT HANDLING ====================
|
|
407
581
|
/**
|
|
408
582
|
* Add event listener
|
|
409
583
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuvBH,8CAKC;AAxvBD,yCAAuD;AACvD,2DAA2F;AAC3F,yDAA4D;AAC5D,2DAAyD;AAEzD,wDAAwD;AACxD,SAAS,WAAW,CAAC,MAAc;IACjC,OAAQ,MAA2C,CAAC,SAAS,CAAC;AAChE,CAAC;AA6BD,MAAM,cAAc,GAAmC;IACrD,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAO,aAAa;IAC9C,eAAe,EAAE,EAAE,GAAG,IAAI,EAAQ,WAAW;IAC7C,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,GAAG;IAChB,oBAAoB,EAAE,EAAE;IACxB,iBAAiB,EAAE,KAAK,EAAU,2CAA2C;CAC9E,CAAC;AAEF,MAAa,cAAc;IACjB,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;IAC3C,cAAc,GAAyD,IAAI,GAAG,EAAE,CAAC;IACjF,SAAS,CAAY;IACrB,cAAc,GAA6B,IAAI,CAAC;IAChD,YAAY,CAAsB;IAClC,cAAc,GAAsC,EAAE,CAAC;IAE/D,cAAc;IACN,MAAM,CAAiC;IACvC,YAAY,GAA0B,IAAI,CAAC;IAC3C,SAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,oBAAoB,GAAW,CAAC,CAAC;IACjC,oBAAoB,GAAW,CAAC,CAAC;IACjC,eAAe,GAAkB,IAAI,CAAC;IAE9C,YAAY,SAAqB,EAAE,MAA6B;QAC9D,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAA,qBAAY,GAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,mCAAmB,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAA,sCAAoB,GAAE,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE,EAAE;YACrD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CAAC,0CAA0C,OAAO,CAAC,MAAM,sBAAsB,CAAC,CAAC;gBAChG,CAAC;gBACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAEhC,6BAA6B;QAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YACtC,CAAC;YACD,4BAA4B;YAC5B,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACvC,CAAC;QAED,MAAM,KAAK,GAAwB;YACjC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YAClC,YAAY;YACZ,YAAY;YACZ,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;YACnC,WAAW,EAAE,IAAI,CAAC,eAAe;YACjC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ;SAC5C,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAqC;QAChD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAE5C,4CAA4C;QAC5C,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7E,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAgC,EAAE;QACpD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1E,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,WAAW,YAAY,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,eAAe,GAAG,SAAS,CAAC;QAElC,sDAAsD;QACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACnE,MAAM,aAAa,GAAW;YAC5B,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;SAC3B,CAAC;QAEF,MAAM,OAAO,GAAY;YACvB,EAAE;YACF,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;YACpD,eAAe;YACf,OAAO,EAAE,IAAI,GAAG,EAAE,EAAG,iBAAiB;YACtC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI;YACJ,OAAO,EAAE,cAAc,EAAG,iBAAiB;SAC5C,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAElF,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,sBAAsB,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEzC,mBAAmB;QACnB,IAAA,gCAAe,GAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE9C,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE9E,OAAO,CAAC,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjD,IAAI,GAAG,GAAG,OAAO,CAAC,cAAc,GAAG,QAAQ,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8D;IAE9D;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,UAA+B,EAAE;QACrE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEzD,0BAA0B;QAC1B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,CAAC,oBAAoB,YAAY,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAE3E,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,QAAQ,EAAE,CAAC;QAElD,kDAAkD;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAE5D,MAAM,MAAM,GAAW;YACrB,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;SAC3B,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,SAAS;YACT,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,mCAAmC,QAAQ,eAAe,SAAS,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,SAAiB,EAAE,QAAgB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,QAAiB;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEzD,+CAA+C;QAC/C,MAAM,cAAc,GAAG,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;QAE3D,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,QAAgB;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,8BAA8B;QAC9B,IAAI,QAAQ,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,SAAS;YACT,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,OAAgB,EAAE,QAAgB;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,iCAAiC;QACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QAED,mCAAmC;QACnC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,IAAA,gCAAe,GAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,mCAAmC,QAAQ,iBAAiB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,mEAAmE;IAEnE;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,GAAY,EACZ,QAAiB;QAEjB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEjE,uDAAuD;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,sBAAsB;YAC5B,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC9D,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAE,QAAiB;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAgB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAiB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAiB,EAAE,QAAgB;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAiB,EAAE,QAAgB;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,QAAgB,EAChB,MAAc,EACd,MAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAI,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,QAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAErC,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,wBAAwB;oBAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,QAAQ;oBACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,yDAAyD;IAEzD;;OAEG;IACH,cAAc,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjC,OAAO;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2DAA2D;IAE3D;;OAEG;IACH,gBAAgB,CAAC,QAAuC;QACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAAuC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAmB;QACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAhsBD,wCAgsBC;AAED,qBAAqB;AACrB,IAAI,sBAAsB,GAA0B,IAAI,CAAC;AAEzD,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,sBAAsB,GAAG,IAAI,cAAc,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computer.d.ts","sourceRoot":"","sources":["../../src/tools/computer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"computer.d.ts","sourceRoot":"","sources":["../../src/tools/computer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAuhB1C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE5D"}
|