@eddym06/custom-chrome-mcp 1.0.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.
- package/.npmrc.example +2 -0
- package/CHANGELOG.md +87 -0
- package/INSTALL.md +148 -0
- package/LICENSE +21 -0
- package/README.md +403 -0
- package/dist/chrome-connector.d.ts +116 -0
- package/dist/chrome-connector.d.ts.map +1 -0
- package/dist/chrome-connector.js +452 -0
- package/dist/chrome-connector.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +211 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/anti-detection.d.ts +22 -0
- package/dist/tools/anti-detection.d.ts.map +1 -0
- package/dist/tools/anti-detection.js +220 -0
- package/dist/tools/anti-detection.js.map +1 -0
- package/dist/tools/capture.d.ts +130 -0
- package/dist/tools/capture.d.ts.map +1 -0
- package/dist/tools/capture.js +164 -0
- package/dist/tools/capture.js.map +1 -0
- package/dist/tools/interaction.d.ts +173 -0
- package/dist/tools/interaction.d.ts.map +1 -0
- package/dist/tools/interaction.js +274 -0
- package/dist/tools/interaction.js.map +1 -0
- package/dist/tools/navigation.d.ts +82 -0
- package/dist/tools/navigation.d.ts.map +1 -0
- package/dist/tools/navigation.js +196 -0
- package/dist/tools/navigation.js.map +1 -0
- package/dist/tools/playwright-launcher.d.ts +53 -0
- package/dist/tools/playwright-launcher.d.ts.map +1 -0
- package/dist/tools/playwright-launcher.js +117 -0
- package/dist/tools/playwright-launcher.js.map +1 -0
- package/dist/tools/service-worker.d.ts +128 -0
- package/dist/tools/service-worker.d.ts.map +1 -0
- package/dist/tools/service-worker.js +355 -0
- package/dist/tools/service-worker.js.map +1 -0
- package/dist/tools/session.d.ts +54 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +311 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/system.d.ts +159 -0
- package/dist/tools/system.d.ts.map +1 -0
- package/dist/tools/system.js +252 -0
- package/dist/tools/system.js.map +1 -0
- package/dist/types/index.d.ts +75 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/helpers.d.ts +53 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +122 -0
- package/dist/utils/helpers.js.map +1 -0
- package/mcp-config-example.json +12 -0
- package/package.json +61 -0
- package/test-playwright.js +57 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Worker Management Tools
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
export function createServiceWorkerTools(connector) {
|
|
6
|
+
return [
|
|
7
|
+
// List all service workers
|
|
8
|
+
{
|
|
9
|
+
name: 'list_service_workers',
|
|
10
|
+
description: 'List all registered service workers',
|
|
11
|
+
inputSchema: z.object({
|
|
12
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
13
|
+
}),
|
|
14
|
+
handler: async ({ tabId }) => {
|
|
15
|
+
const client = await connector.getTabClient(tabId);
|
|
16
|
+
const { Runtime } = client;
|
|
17
|
+
await Runtime.enable();
|
|
18
|
+
// Use JavaScript to query service workers
|
|
19
|
+
const result = await Runtime.evaluate({
|
|
20
|
+
expression: `
|
|
21
|
+
(async () => {
|
|
22
|
+
const registrations = await navigator.serviceWorker.getRegistrations();
|
|
23
|
+
return registrations.map(reg => ({
|
|
24
|
+
scope: reg.scope,
|
|
25
|
+
scriptURL: reg.active ? reg.active.scriptURL : null,
|
|
26
|
+
state: reg.active ? reg.active.state : 'none',
|
|
27
|
+
installing: reg.installing ? reg.installing.scriptURL : null,
|
|
28
|
+
waiting: reg.waiting ? reg.waiting.scriptURL : null
|
|
29
|
+
}));
|
|
30
|
+
})()
|
|
31
|
+
`,
|
|
32
|
+
awaitPromise: true,
|
|
33
|
+
returnByValue: true
|
|
34
|
+
});
|
|
35
|
+
const workers = result.result.value || [];
|
|
36
|
+
return {
|
|
37
|
+
success: true,
|
|
38
|
+
count: workers.length,
|
|
39
|
+
workers
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
// Inspect service worker console logs
|
|
44
|
+
{
|
|
45
|
+
name: 'inspect_service_worker_logs',
|
|
46
|
+
description: 'Get recent console logs from a specific Service Worker Target. Generates test logs and captures them in real-time.',
|
|
47
|
+
inputSchema: z.object({
|
|
48
|
+
targetId: z.string().describe('The Target ID of the service worker (from list_tabs)'),
|
|
49
|
+
executeTestLogs: z.boolean().optional().default(true).describe('Whether to execute test console.log statements to verify capture (default: true)'),
|
|
50
|
+
captureTimeMs: z.number().optional().default(3000).describe('How long to listen for logs in milliseconds (default: 3000)')
|
|
51
|
+
}),
|
|
52
|
+
handler: async ({ targetId, executeTestLogs = true, captureTimeMs = 3000 }) => {
|
|
53
|
+
// Connect directly to the specific target
|
|
54
|
+
const client = await connector.getTabClient(targetId);
|
|
55
|
+
const { Runtime, Log } = client;
|
|
56
|
+
await Runtime.enable();
|
|
57
|
+
await Log.enable();
|
|
58
|
+
// Collect logs from BOTH Runtime and Log domains for better coverage
|
|
59
|
+
const logs = [];
|
|
60
|
+
// Listen to Runtime.consoleAPICalled (for console.log/warn/error)
|
|
61
|
+
client.on('Runtime.consoleAPICalled', (params) => {
|
|
62
|
+
try {
|
|
63
|
+
const message = params.args.map((a) => {
|
|
64
|
+
if (a.value !== undefined)
|
|
65
|
+
return String(a.value);
|
|
66
|
+
if (a.description)
|
|
67
|
+
return a.description;
|
|
68
|
+
if (a.preview?.properties) {
|
|
69
|
+
return JSON.stringify(Object.fromEntries(a.preview.properties.map((p) => [p.name, p.value])));
|
|
70
|
+
}
|
|
71
|
+
return '[Complex Object]';
|
|
72
|
+
}).join(' ');
|
|
73
|
+
logs.push({
|
|
74
|
+
time: new Date().toISOString(),
|
|
75
|
+
source: 'Runtime.consoleAPICalled',
|
|
76
|
+
type: params.type || 'log',
|
|
77
|
+
message
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
logs.push({
|
|
82
|
+
time: new Date().toISOString(),
|
|
83
|
+
source: 'Runtime.consoleAPICalled',
|
|
84
|
+
type: 'error',
|
|
85
|
+
message: `Failed to parse console args: ${e}`
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
// Listen to Log.entryAdded (alternative logging mechanism)
|
|
90
|
+
client.on('Log.entryAdded', (params) => {
|
|
91
|
+
logs.push({
|
|
92
|
+
time: new Date(params.entry.timestamp).toISOString(),
|
|
93
|
+
source: 'Log.entryAdded',
|
|
94
|
+
type: params.entry.level || 'info',
|
|
95
|
+
message: params.entry.text || params.entry.url || 'Unknown log'
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
// Get initial status
|
|
99
|
+
const evalResult = await Runtime.evaluate({
|
|
100
|
+
expression: `(function() {
|
|
101
|
+
return {
|
|
102
|
+
userAgent: navigator.userAgent,
|
|
103
|
+
time: new Date().toISOString(),
|
|
104
|
+
location: self.location.href,
|
|
105
|
+
serviceWorker: {
|
|
106
|
+
state: self.serviceWorker ? self.serviceWorker.state : 'unknown'
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
})()`,
|
|
110
|
+
returnByValue: true
|
|
111
|
+
});
|
|
112
|
+
// Execute test logs if requested (AFTER listeners are set up)
|
|
113
|
+
if (executeTestLogs) {
|
|
114
|
+
await Runtime.evaluate({
|
|
115
|
+
expression: `
|
|
116
|
+
console.log('🔍 [MCP Test 1] Service Worker Log Capture Test');
|
|
117
|
+
console.warn('⚠️ [MCP Test 2] Warning level test');
|
|
118
|
+
console.error('❌ [MCP Test 3] Error level test');
|
|
119
|
+
console.log('✅ [MCP Test 4] Capture timestamp:', new Date().toISOString());
|
|
120
|
+
`,
|
|
121
|
+
awaitPromise: false
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Wait to capture logs
|
|
125
|
+
await new Promise(r => setTimeout(r, captureTimeMs));
|
|
126
|
+
return {
|
|
127
|
+
success: true,
|
|
128
|
+
targetId,
|
|
129
|
+
status: evalResult.result.value,
|
|
130
|
+
capturedLogs: logs.length > 0 ? logs : [],
|
|
131
|
+
summary: {
|
|
132
|
+
totalCaptured: logs.length,
|
|
133
|
+
byType: logs.reduce((acc, log) => {
|
|
134
|
+
acc[log.type] = (acc[log.type] || 0) + 1;
|
|
135
|
+
return acc;
|
|
136
|
+
}, {}),
|
|
137
|
+
bySource: logs.reduce((acc, log) => {
|
|
138
|
+
acc[log.source] = (acc[log.source] || 0) + 1;
|
|
139
|
+
return acc;
|
|
140
|
+
}, {})
|
|
141
|
+
},
|
|
142
|
+
note: logs.length === 0 ?
|
|
143
|
+
"No logs captured. Service Worker extensions may have limited console.log emission via CDP. Try using Log.entryAdded or check Chrome DevTools directly." :
|
|
144
|
+
`Successfully captured ${logs.length} log entries`
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
// Get service worker details
|
|
149
|
+
{
|
|
150
|
+
name: 'get_service_worker',
|
|
151
|
+
description: 'Get detailed information about a specific service worker',
|
|
152
|
+
inputSchema: z.object({
|
|
153
|
+
versionId: z.string().describe('Service worker version ID'),
|
|
154
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
155
|
+
}),
|
|
156
|
+
handler: async ({ versionId, tabId }) => {
|
|
157
|
+
const client = await connector.getTabClient(tabId);
|
|
158
|
+
const { ServiceWorker } = client;
|
|
159
|
+
await ServiceWorker.enable();
|
|
160
|
+
const { registrations } = await ServiceWorker.getRegistrations();
|
|
161
|
+
const worker = registrations.find((r) => r.versionId === versionId);
|
|
162
|
+
if (!worker) {
|
|
163
|
+
throw new Error(`Service worker not found: ${versionId}`);
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
success: true,
|
|
167
|
+
worker: {
|
|
168
|
+
registrationId: worker.registrationId,
|
|
169
|
+
scopeURL: worker.scopeURL,
|
|
170
|
+
scriptURL: worker.scriptURL,
|
|
171
|
+
status: worker.status,
|
|
172
|
+
versionId: worker.versionId,
|
|
173
|
+
runningStatus: worker.runningStatus
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
// Unregister service worker
|
|
179
|
+
{
|
|
180
|
+
name: 'unregister_service_worker',
|
|
181
|
+
description: 'Unregister a service worker by scope URL',
|
|
182
|
+
inputSchema: z.object({
|
|
183
|
+
scopeURL: z.string().describe('Scope URL of the service worker to unregister'),
|
|
184
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
185
|
+
}),
|
|
186
|
+
handler: async ({ scopeURL, tabId }) => {
|
|
187
|
+
const client = await connector.getTabClient(tabId);
|
|
188
|
+
const { Runtime } = client;
|
|
189
|
+
await Runtime.enable();
|
|
190
|
+
const result = await Runtime.evaluate({
|
|
191
|
+
expression: `
|
|
192
|
+
(async () => {
|
|
193
|
+
const registrations = await navigator.serviceWorker.getRegistrations();
|
|
194
|
+
const reg = registrations.find(r => r.scope === '${scopeURL}');
|
|
195
|
+
if (reg) {
|
|
196
|
+
const unregistered = await reg.unregister();
|
|
197
|
+
return { success: unregistered };
|
|
198
|
+
}
|
|
199
|
+
return { success: false, error: 'Not found' };
|
|
200
|
+
})()
|
|
201
|
+
`,
|
|
202
|
+
awaitPromise: true,
|
|
203
|
+
returnByValue: true
|
|
204
|
+
});
|
|
205
|
+
return {
|
|
206
|
+
success: result.result.value.success,
|
|
207
|
+
message: `Service worker unregister ${result.result.value.success ? 'successful' : 'failed'}: ${scopeURL}`
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
// Update service worker
|
|
212
|
+
{
|
|
213
|
+
name: 'update_service_worker',
|
|
214
|
+
description: 'Force update a service worker registration',
|
|
215
|
+
inputSchema: z.object({
|
|
216
|
+
scopeURL: z.string().describe('Scope URL of the service worker to update'),
|
|
217
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
218
|
+
}),
|
|
219
|
+
handler: async ({ scopeURL, tabId }) => {
|
|
220
|
+
const client = await connector.getTabClient(tabId);
|
|
221
|
+
const { Runtime } = client;
|
|
222
|
+
await Runtime.enable();
|
|
223
|
+
const result = await Runtime.evaluate({
|
|
224
|
+
expression: `
|
|
225
|
+
(async () => {
|
|
226
|
+
const registrations = await navigator.serviceWorker.getRegistrations();
|
|
227
|
+
const reg = registrations.find(r => r.scope === '${scopeURL}');
|
|
228
|
+
if (reg) {
|
|
229
|
+
await reg.update();
|
|
230
|
+
return { success: true };
|
|
231
|
+
}
|
|
232
|
+
return { success: false, error: 'Not found' };
|
|
233
|
+
})()
|
|
234
|
+
`,
|
|
235
|
+
awaitPromise: true,
|
|
236
|
+
returnByValue: true
|
|
237
|
+
});
|
|
238
|
+
return {
|
|
239
|
+
success: result.result.value.success,
|
|
240
|
+
message: `Service worker update triggered: ${scopeURL}`
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
// Start service worker
|
|
245
|
+
{
|
|
246
|
+
name: 'start_service_worker',
|
|
247
|
+
description: 'Start a service worker',
|
|
248
|
+
inputSchema: z.object({
|
|
249
|
+
scopeURL: z.string().describe('Scope URL of the service worker to start'),
|
|
250
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
251
|
+
}),
|
|
252
|
+
handler: async ({ scopeURL, tabId }) => {
|
|
253
|
+
const client = await connector.getTabClient(tabId);
|
|
254
|
+
const { ServiceWorker } = client;
|
|
255
|
+
await ServiceWorker.enable();
|
|
256
|
+
await ServiceWorker.startWorker({ scopeURL });
|
|
257
|
+
return {
|
|
258
|
+
success: true,
|
|
259
|
+
message: `Service worker started: ${scopeURL}`
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
// Stop service worker
|
|
264
|
+
{
|
|
265
|
+
name: 'stop_service_worker',
|
|
266
|
+
description: 'Stop a running service worker',
|
|
267
|
+
inputSchema: z.object({
|
|
268
|
+
versionId: z.string().describe('Version ID of the service worker to stop'),
|
|
269
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
270
|
+
}),
|
|
271
|
+
handler: async ({ versionId, tabId }) => {
|
|
272
|
+
const client = await connector.getTabClient(tabId);
|
|
273
|
+
const { ServiceWorker } = client;
|
|
274
|
+
await ServiceWorker.enable();
|
|
275
|
+
await ServiceWorker.stopWorker({ versionId });
|
|
276
|
+
return {
|
|
277
|
+
success: true,
|
|
278
|
+
message: `Service worker stopped: ${versionId}`
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
// Inspect service worker
|
|
283
|
+
{
|
|
284
|
+
name: 'inspect_service_worker',
|
|
285
|
+
description: 'Open DevTools for a service worker',
|
|
286
|
+
inputSchema: z.object({
|
|
287
|
+
versionId: z.string().describe('Version ID of the service worker to inspect'),
|
|
288
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
289
|
+
}),
|
|
290
|
+
handler: async ({ versionId, tabId }) => {
|
|
291
|
+
const client = await connector.getTabClient(tabId);
|
|
292
|
+
const { ServiceWorker } = client;
|
|
293
|
+
await ServiceWorker.enable();
|
|
294
|
+
await ServiceWorker.inspectWorker({ versionId });
|
|
295
|
+
return {
|
|
296
|
+
success: true,
|
|
297
|
+
message: `DevTools opened for service worker: ${versionId}`
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
// Skip waiting
|
|
302
|
+
{
|
|
303
|
+
name: 'skip_waiting',
|
|
304
|
+
description: 'Skip waiting phase for a service worker',
|
|
305
|
+
inputSchema: z.object({
|
|
306
|
+
scopeURL: z.string().describe('Scope URL of the service worker'),
|
|
307
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
308
|
+
}),
|
|
309
|
+
handler: async ({ scopeURL, tabId }) => {
|
|
310
|
+
const client = await connector.getTabClient(tabId);
|
|
311
|
+
const { ServiceWorker } = client;
|
|
312
|
+
await ServiceWorker.enable();
|
|
313
|
+
await ServiceWorker.skipWaiting({ scopeURL });
|
|
314
|
+
return {
|
|
315
|
+
success: true,
|
|
316
|
+
message: `Skip waiting triggered for: ${scopeURL}`
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
// Get service worker cache names
|
|
321
|
+
{
|
|
322
|
+
name: 'get_sw_caches',
|
|
323
|
+
description: 'Get cache names used by service workers',
|
|
324
|
+
inputSchema: z.object({
|
|
325
|
+
tabId: z.string().optional().describe('Tab ID (optional)')
|
|
326
|
+
}),
|
|
327
|
+
handler: async ({ tabId }) => {
|
|
328
|
+
const client = await connector.getTabClient(tabId);
|
|
329
|
+
const { CacheStorage } = client;
|
|
330
|
+
const { caches } = await CacheStorage.requestCacheNames({
|
|
331
|
+
securityOrigin: await getCurrentOrigin(client)
|
|
332
|
+
});
|
|
333
|
+
return {
|
|
334
|
+
success: true,
|
|
335
|
+
count: caches.length,
|
|
336
|
+
caches: caches.map((c) => ({
|
|
337
|
+
securityOrigin: c.securityOrigin,
|
|
338
|
+
cacheName: c.cacheName,
|
|
339
|
+
cacheId: c.cacheId
|
|
340
|
+
}))
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
];
|
|
345
|
+
}
|
|
346
|
+
// Helper function to get current origin
|
|
347
|
+
async function getCurrentOrigin(client) {
|
|
348
|
+
const { Runtime } = client;
|
|
349
|
+
await Runtime.enable();
|
|
350
|
+
const result = await Runtime.evaluate({
|
|
351
|
+
expression: 'window.location.origin'
|
|
352
|
+
});
|
|
353
|
+
return result.result.value;
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=service-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-worker.js","sourceRoot":"","sources":["../../src/tools/service-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookie and Session Management Tools
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import type { ChromeConnector } from '../chrome-connector.js';
|
|
6
|
+
export declare function createSessionTools(connector: ChromeConnector): ({
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
inputSchema: z.ZodObject<{
|
|
10
|
+
url: z.ZodOptional<z.ZodString>;
|
|
11
|
+
tabId: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
url?: string | undefined;
|
|
14
|
+
tabId?: string | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
url?: string | undefined;
|
|
17
|
+
tabId?: string | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
handler: ({ url, tabId }: any) => Promise<{
|
|
20
|
+
success: boolean;
|
|
21
|
+
count: any;
|
|
22
|
+
cookies: any;
|
|
23
|
+
}>;
|
|
24
|
+
} | {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
inputSchema: z.ZodObject<{
|
|
28
|
+
tabId: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
tabId?: string | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
tabId?: string | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
handler: ({ tabId }: any) => Promise<{
|
|
35
|
+
success: boolean;
|
|
36
|
+
count: number;
|
|
37
|
+
storage: any;
|
|
38
|
+
}>;
|
|
39
|
+
} | {
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
inputSchema: z.ZodObject<{
|
|
43
|
+
tabId: z.ZodOptional<z.ZodString>;
|
|
44
|
+
}, "strip", z.ZodTypeAny, {
|
|
45
|
+
tabId?: string | undefined;
|
|
46
|
+
}, {
|
|
47
|
+
tabId?: string | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
handler: ({ tabId }: any) => Promise<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
message: string;
|
|
52
|
+
}>;
|
|
53
|
+
})[];
|
|
54
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe;;;;;;;;;;;;;8BAUvB,GAAG;;;;;;;;;;;;;;;yBAwKR,GAAG;;;;;;;;;;;;;;;yBAsDH,GAAG;;;;KAsHnC"}
|