mcp-accessibility-scanner 3.0.0 → 3.1.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 +232 -7
- package/lib/browserContextFactory.js +645 -32
- package/lib/browserContextFactory.js.map +1 -1
- package/lib/browserServerBackend.js +8 -2
- package/lib/browserServerBackend.js.map +1 -1
- package/lib/context.js +179 -62
- package/lib/context.js.map +1 -1
- package/lib/extension/extensionContextFactory.js +3 -0
- package/lib/extension/extensionContextFactory.js.map +1 -1
- package/lib/mcp/proxyBackend.js +1 -0
- package/lib/mcp/proxyBackend.js.map +1 -1
- package/lib/networkPolicy.js +73 -0
- package/lib/networkPolicy.js.map +1 -0
- package/lib/program.js +21 -3
- package/lib/program.js.map +1 -1
- package/lib/response.js +8 -3
- package/lib/response.js.map +1 -1
- package/lib/tab.js +117 -16
- package/lib/tab.js.map +1 -1
- package/lib/tools/auditKeyboard.js +203 -0
- package/lib/tools/auditKeyboard.js.map +1 -1
- package/lib/tools/auditScreenReader.js +826 -0
- package/lib/tools/auditScreenReader.js.map +1 -0
- package/lib/tools/auditSite.js +267 -86
- package/lib/tools/auditSite.js.map +1 -1
- package/lib/tools/axe.js +479 -21
- package/lib/tools/axe.js.map +1 -1
- package/lib/tools/dialogs.js +18 -4
- package/lib/tools/dialogs.js.map +1 -1
- package/lib/tools/evaluate.js +34 -5
- package/lib/tools/evaluate.js.map +1 -1
- package/lib/tools/keyboard.js +1 -2
- package/lib/tools/keyboard.js.map +1 -1
- package/lib/tools/navigate.js +2 -1
- package/lib/tools/navigate.js.map +1 -1
- package/lib/tools/network.js +225 -8
- package/lib/tools/network.js.map +1 -1
- package/lib/tools/scanPageMatrix.js +134 -43
- package/lib/tools/scanPageMatrix.js.map +1 -1
- package/lib/tools/screenshot.js +3 -3
- package/lib/tools/screenshot.js.map +1 -1
- package/lib/tools/snapshot.js +269 -8
- package/lib/tools/snapshot.js.map +1 -1
- package/lib/tools/tool.js.map +1 -1
- package/lib/tools/utils.js +62 -6
- package/lib/tools/utils.js.map +1 -1
- package/lib/tools.js +5 -2
- package/lib/tools.js.map +1 -1
- package/lib/utils/dataUrl.js +58 -35
- package/lib/utils/dataUrl.js.map +1 -1
- package/lib/utils/jsSource.js +187 -0
- package/lib/utils/jsSource.js.map +1 -0
- package/lib/vscode/browserContextFactory.js +83 -0
- package/lib/vscode/browserContextFactory.js.map +1 -0
- package/lib/vscode/host.js +16 -1
- package/lib/vscode/host.js.map +1 -1
- package/lib/vscode/main.js +1 -33
- package/lib/vscode/main.js.map +1 -1
- package/package.json +6 -4
package/lib/program.js
CHANGED
|
@@ -19,7 +19,7 @@ import * as mcpServer from './mcp/server.js';
|
|
|
19
19
|
import { commaSeparatedList, resolveCLIConfig, semicolonSeparatedList } from './config.js';
|
|
20
20
|
import { packageJSON } from './utils/package.js';
|
|
21
21
|
import { Context } from './context.js';
|
|
22
|
-
import { contextFactory } from './browserContextFactory.js';
|
|
22
|
+
import { assertStorageStateDoesNotResetUserProfile, assertStorageStateSupported, contextFactory, PersistentContextFactory, persistentProfileConflictRemedy } from './browserContextFactory.js';
|
|
23
23
|
import { ProxyBackend } from './mcp/proxyBackend.js';
|
|
24
24
|
import { BrowserServerBackend } from './browserServerBackend.js';
|
|
25
25
|
import { ExtensionContextFactory } from './extension/extensionContextFactory.js';
|
|
@@ -28,8 +28,23 @@ import { logUnhandledError } from './utils/log.js';
|
|
|
28
28
|
import { runVSCodeTools } from './vscode/host.js';
|
|
29
29
|
async function resolveProgramContext(options) {
|
|
30
30
|
const config = await resolveCLIConfig(options);
|
|
31
|
-
const browserContextFactory = contextFactory(config);
|
|
32
31
|
const extensionContextFactory = new ExtensionContextFactory(config.browser.launchOptions.channel || 'chrome', config.browser.userDataDir, config.browser.launchOptions.executablePath);
|
|
32
|
+
// --extension runs every tool through the extension factory, not the one
|
|
33
|
+
// contextFactory() builds, so validate the factory that will actually create
|
|
34
|
+
// the context. Checked first because contextFactory() would otherwise
|
|
35
|
+
// recommend --isolated, which does not help here.
|
|
36
|
+
if (options.extension)
|
|
37
|
+
assertStorageStateSupported(config, extensionContextFactory, '--extension attaches to the browser you are already running and uses the context it already has; --isolated does not change that. Drop the storage state and sign in in that browser before auditing.');
|
|
38
|
+
const browserContextFactory = contextFactory(config);
|
|
39
|
+
// Provider-switching modes with a persistent default provider must reject
|
|
40
|
+
// the profile conflict at startup: the factory itself only rejects the
|
|
41
|
+
// combination lazily, on its first browser operation, while the extension
|
|
42
|
+
// provider refuses the storage state at switch time — so the server would
|
|
43
|
+
// start advertising two providers and neither could ever create a context.
|
|
44
|
+
// (Other default providers ignore --user-data-dir, and the extension leg
|
|
45
|
+
// alone validates at switch time instead.)
|
|
46
|
+
if ((options.connectTool || options.vscode) && browserContextFactory instanceof PersistentContextFactory)
|
|
47
|
+
assertStorageStateDoesNotResetUserProfile(config, persistentProfileConflictRemedy);
|
|
33
48
|
return { config, browserContextFactory, extensionContextFactory };
|
|
34
49
|
}
|
|
35
50
|
async function startMCPServer(config, browserContextFactory) {
|
|
@@ -83,7 +98,7 @@ function configureBaseProgram() {
|
|
|
83
98
|
.option('--proxy-server <proxy>', 'specify proxy server, for example "http://myproxy:3128" or "socks5://myproxy:8080"')
|
|
84
99
|
.option('--save-session', 'Whether to save the Playwright MCP session into the output directory.')
|
|
85
100
|
.option('--save-trace', 'Whether to save the Playwright Trace of the session into the output directory.')
|
|
86
|
-
.option('--storage-state <path>', 'path to the storage state file
|
|
101
|
+
.option('--storage-state <path>', 'path to the storage state file to start the session from; applied in every mode except --extension (reused contexts receive it via setStorageState, which first clears their cookies and storage).')
|
|
87
102
|
.option('--user-agent <ua string>', 'specify user agent string')
|
|
88
103
|
.option('--user-data-dir <path>', 'path to the user data directory. If not specified, a temporary directory will be created.')
|
|
89
104
|
.option('--viewport-size <size>', 'specify browser viewport size in pixels, for example "1280, 720"')
|
|
@@ -124,6 +139,9 @@ configureBaseProgram()
|
|
|
124
139
|
{
|
|
125
140
|
name: 'extension',
|
|
126
141
|
description: 'Connect to a browser using the Playwright MCP extension',
|
|
142
|
+
// Runs before the default provider is torn down, so a rejected
|
|
143
|
+
// switch keeps the session on the provider that works.
|
|
144
|
+
validate: () => assertStorageStateSupported(config, extensionContextFactory, 'The "extension" method works through the browser you are already running and uses the context it already has. Stay on the "default" method, or restart without the storage state and sign in in that browser.'),
|
|
127
145
|
connect: () => mcpServer.wrapInProcess(new BrowserServerBackend(config, extensionContextFactory)),
|
|
128
146
|
},
|
|
129
147
|
];
|
package/lib/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/lib/response.js
CHANGED
|
@@ -119,12 +119,17 @@ export class Response {
|
|
|
119
119
|
// All the async snapshotting post-action is happening here.
|
|
120
120
|
// Everything below should race against modal states.
|
|
121
121
|
const currentTab = this._context.currentTab();
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
// The snapshot of the current tab and the titles of the others are
|
|
123
|
+
// independent page reads, so they go out together rather than one after the
|
|
124
|
+
// other. Only the current tab's snapshot also refreshes its title.
|
|
124
125
|
const tabsToUpdate = this._includeTabs
|
|
125
126
|
? this._context.tabs().filter(tab => !this._includeSnapshot || tab !== currentTab)
|
|
126
127
|
: currentTab && !this._includeSnapshot ? [currentTab] : [];
|
|
127
|
-
await Promise.
|
|
128
|
+
const [snapshot] = await Promise.all([
|
|
129
|
+
this._includeSnapshot && currentTab ? currentTab.captureSnapshot() : undefined,
|
|
130
|
+
Promise.allSettled(tabsToUpdate.map(tab => tab.updateTitle())),
|
|
131
|
+
]);
|
|
132
|
+
this._tabSnapshot = snapshot;
|
|
128
133
|
}
|
|
129
134
|
tabSnapshot() {
|
|
130
135
|
return this._tabSnapshot;
|
package/lib/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"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"}
|
package/lib/tab.js
CHANGED
|
@@ -21,6 +21,8 @@ import { truncateDataUrls } from './utils/dataUrl.js';
|
|
|
21
21
|
export const TabEvents = {
|
|
22
22
|
modalState: 'modalState'
|
|
23
23
|
};
|
|
24
|
+
class StaleAriaSnapshotError extends Error {
|
|
25
|
+
}
|
|
24
26
|
export class Tab extends EventEmitter {
|
|
25
27
|
context;
|
|
26
28
|
page;
|
|
@@ -33,34 +35,68 @@ export class Tab extends EventEmitter {
|
|
|
33
35
|
_modalStates = [];
|
|
34
36
|
_downloads = [];
|
|
35
37
|
_defaultTimeout;
|
|
38
|
+
// The aria snapshot last handed to the caller; the refs in it are the refs the
|
|
39
|
+
// next tool call will name. Cleared whenever the page it described is gone.
|
|
40
|
+
_lastAriaSnapshot;
|
|
41
|
+
_ariaSnapshotGeneration = 0;
|
|
42
|
+
_pageGeneration = 0;
|
|
43
|
+
_pageListeners = [];
|
|
36
44
|
constructor(context, page, onPageClose) {
|
|
37
45
|
super();
|
|
38
46
|
this.context = context;
|
|
39
47
|
this.page = page;
|
|
40
48
|
this._onPageClose = onPageClose;
|
|
41
49
|
this._defaultTimeout = context.config.timeouts.defaultTimeout ?? 6000;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
// Registered through a tracked list so dispose() can take them off again:
|
|
51
|
+
// on a shared (non-isolated CDP) context the page outlives the session,
|
|
52
|
+
// and listeners left behind would pile up with session churn.
|
|
53
|
+
const listen = (event, listener) => {
|
|
54
|
+
page.on(event, listener);
|
|
55
|
+
this._pageListeners.push({ event, listener });
|
|
56
|
+
};
|
|
57
|
+
// Every document swap invalidates the cached snapshot, whoever caused it:
|
|
58
|
+
// goBack(), page.reload() from scan_page_matrix, a meta refresh, or the page
|
|
59
|
+
// assigning location itself. Tab.navigate() is only one of those routes, and
|
|
60
|
+
// a ref resolved against the page the user has left would target the wrong
|
|
61
|
+
// document.
|
|
62
|
+
listen('framenavigated', (frame) => {
|
|
63
|
+
if (!frame.parentFrame()) {
|
|
64
|
+
++this._pageGeneration;
|
|
65
|
+
this._invalidateAriaSnapshot();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
listen('console', event => this._handleConsoleMessage(messageToConsoleMessage(event)));
|
|
69
|
+
listen('pageerror', error => this._handleConsoleMessage(pageErrorToConsoleMessage(error)));
|
|
70
|
+
listen('request', request => this._requests.set(request, null));
|
|
71
|
+
listen('response', response => this._handleResponse(response));
|
|
72
|
+
listen('close', () => this._onClose());
|
|
73
|
+
listen('filechooser', chooser => {
|
|
48
74
|
this.setModalState({
|
|
49
75
|
type: 'fileChooser',
|
|
50
76
|
description: 'File chooser',
|
|
51
77
|
fileChooser: chooser,
|
|
52
78
|
});
|
|
53
79
|
});
|
|
54
|
-
|
|
55
|
-
|
|
80
|
+
listen('dialog', dialog => this._dialogShown(dialog));
|
|
81
|
+
// Fires on Playwright >= 1.63 when a dialog is closed out of band (e.g.
|
|
82
|
+
// dismissed manually in headed mode or via a CDP side-channel); inert on
|
|
83
|
+
// the pinned 1.62.0, which never emits it. Until then a stale dialog
|
|
84
|
+
// modal state blocks every snapshot-bearing tool until the user re-issues
|
|
85
|
+
// browser_handle_dialog, whose already-closed fallback (tools/dialogs.ts)
|
|
86
|
+
// recovers the session on the pinned version.
|
|
87
|
+
listen('dialogclosed', dialog => this._dialogClosed(dialog));
|
|
88
|
+
listen('download', download => {
|
|
56
89
|
void this._downloadStarted(download);
|
|
57
90
|
});
|
|
58
91
|
page.setDefaultNavigationTimeout(context.config.timeouts.navigationTimeout ?? 30000);
|
|
59
92
|
page.setDefaultTimeout(this._defaultTimeout);
|
|
60
|
-
_pageTabMap.set(page, this);
|
|
61
93
|
}
|
|
62
|
-
|
|
63
|
-
|
|
94
|
+
// Detaches this wrapper from its page without closing the page: the page
|
|
95
|
+
// can belong to a shared context that outlives the session.
|
|
96
|
+
dispose() {
|
|
97
|
+
for (const { event, listener } of this._pageListeners)
|
|
98
|
+
this.page.off(event, listener);
|
|
99
|
+
this._pageListeners = [];
|
|
64
100
|
}
|
|
65
101
|
modalStates() {
|
|
66
102
|
return this._modalStates;
|
|
@@ -82,6 +118,11 @@ export class Tab extends EventEmitter {
|
|
|
82
118
|
dialog,
|
|
83
119
|
});
|
|
84
120
|
}
|
|
121
|
+
_dialogClosed(dialog) {
|
|
122
|
+
const state = this._modalStates.find(state => state.type === 'dialog' && state.dialog === dialog);
|
|
123
|
+
if (state)
|
|
124
|
+
this.clearModalState(state);
|
|
125
|
+
}
|
|
85
126
|
async _downloadStarted(download) {
|
|
86
127
|
const entry = {
|
|
87
128
|
download,
|
|
@@ -97,6 +138,12 @@ export class Tab extends EventEmitter {
|
|
|
97
138
|
this._recentConsoleMessages.length = 0;
|
|
98
139
|
this._requests.clear();
|
|
99
140
|
this._mainDocumentStatus = undefined;
|
|
141
|
+
++this._pageGeneration;
|
|
142
|
+
this._invalidateAriaSnapshot();
|
|
143
|
+
}
|
|
144
|
+
_invalidateAriaSnapshot() {
|
|
145
|
+
++this._ariaSnapshotGeneration;
|
|
146
|
+
this._lastAriaSnapshot = undefined;
|
|
100
147
|
}
|
|
101
148
|
_handleConsoleMessage(message) {
|
|
102
149
|
this._consoleMessages.push(message);
|
|
@@ -172,12 +219,28 @@ export class Tab extends EventEmitter {
|
|
|
172
219
|
requests() {
|
|
173
220
|
return this._requests;
|
|
174
221
|
}
|
|
222
|
+
// Playwright resolves `Request.allHeaders()` and `Response.body()` with no
|
|
223
|
+
// timeout of their own, so a still-streaming response would hang a tool call
|
|
224
|
+
// until the page closed. Callers outside this class need the same bound the
|
|
225
|
+
// page-state reads above use.
|
|
226
|
+
async withPageStateTimeout(promise, description) {
|
|
227
|
+
return this._withPageStateTimeout(promise, description);
|
|
228
|
+
}
|
|
175
229
|
async captureSnapshot() {
|
|
176
230
|
let tabSnapshot;
|
|
231
|
+
const capture = { valid: true };
|
|
232
|
+
const snapshotGeneration = this._ariaSnapshotGeneration;
|
|
177
233
|
const modalStates = await this._raceAgainstModalStates(async () => {
|
|
178
234
|
const [snapshot, title] = await Promise.all([
|
|
179
|
-
this._withPageStateTimeout(this.
|
|
180
|
-
|
|
235
|
+
this._withPageStateTimeout(this._captureAriaSnapshot(capture), 'capturing page accessibility snapshot').catch(error => {
|
|
236
|
+
// Nothing describes the page any more, and the refs of an older
|
|
237
|
+
// snapshot must not be trusted against it.
|
|
238
|
+
if (!(error instanceof StaleAriaSnapshotError)) {
|
|
239
|
+
capture.valid = false;
|
|
240
|
+
logUnhandledError(error);
|
|
241
|
+
if (snapshotGeneration === this._ariaSnapshotGeneration)
|
|
242
|
+
this._invalidateAriaSnapshot();
|
|
243
|
+
}
|
|
181
244
|
return `# Page snapshot unavailable: ${formatPageStateError(error)}`;
|
|
182
245
|
}),
|
|
183
246
|
this._withPageStateTimeout(this.page.title(), 'reading page title').catch(error => {
|
|
@@ -201,6 +264,10 @@ export class Tab extends EventEmitter {
|
|
|
201
264
|
tabSnapshot.consoleMessages = this._recentConsoleMessages;
|
|
202
265
|
this._recentConsoleMessages = [];
|
|
203
266
|
}
|
|
267
|
+
if (!tabSnapshot) {
|
|
268
|
+
capture.valid = false;
|
|
269
|
+
this._invalidateAriaSnapshot();
|
|
270
|
+
}
|
|
204
271
|
return tabSnapshot ?? {
|
|
205
272
|
url: this.page.url(),
|
|
206
273
|
title: '',
|
|
@@ -255,13 +322,48 @@ export class Tab extends EventEmitter {
|
|
|
255
322
|
return (await this.refLocators([params]))[0];
|
|
256
323
|
}
|
|
257
324
|
async refLocators(params) {
|
|
258
|
-
|
|
325
|
+
// The refs a caller passes come from the snapshot the last tool call
|
|
326
|
+
// returned, which is the one cached here, so the common case needs no fresh
|
|
327
|
+
// capture. Playwright keeps a ref bound to the element it was issued for,
|
|
328
|
+
// but that element can change its accessible role or name while staying
|
|
329
|
+
// connected. Re-checking only the referenced nodes is still cheaper than a
|
|
330
|
+
// full-page snapshot and prevents an old ref from targeting repurposed UI.
|
|
331
|
+
const cached = this._lastAriaSnapshot;
|
|
332
|
+
const snapshot = cached && await this._refsMatchSnapshot(params, cached)
|
|
333
|
+
? cached
|
|
334
|
+
: await this._captureAriaSnapshot();
|
|
259
335
|
return params.map(param => {
|
|
260
336
|
if (!snapshot.includes(`[ref=${param.ref}]`))
|
|
261
337
|
throw new Error(`Ref ${param.ref} not found in the current page snapshot. Try capturing new snapshot.`);
|
|
262
338
|
return this.page.locator(`aria-ref=${param.ref}`).describe(param.element);
|
|
263
339
|
});
|
|
264
340
|
}
|
|
341
|
+
async _refsMatchSnapshot(params, snapshot) {
|
|
342
|
+
const pageGeneration = this._pageGeneration;
|
|
343
|
+
const lines = snapshot.split('\n');
|
|
344
|
+
const timeout = Math.min(this._pageStateTimeoutMs(), 1000);
|
|
345
|
+
const matches = await Promise.all(params.map(async (param) => {
|
|
346
|
+
const cached = lines.find(line => line.includes(`[ref=${param.ref}]`));
|
|
347
|
+
if (!cached)
|
|
348
|
+
return false;
|
|
349
|
+
const current = await this.page.locator(`aria-ref=${param.ref}`)
|
|
350
|
+
.ariaSnapshot({ mode: 'ai', depth: 1, timeout })
|
|
351
|
+
.catch(() => '');
|
|
352
|
+
// Refs are assigned from the full role and name before long names are
|
|
353
|
+
// omitted from rendering, so a semantic change still changes this line.
|
|
354
|
+
return current.split('\n', 1)[0]?.trim() === cached.trim();
|
|
355
|
+
}));
|
|
356
|
+
return pageGeneration === this._pageGeneration && matches.every(Boolean);
|
|
357
|
+
}
|
|
358
|
+
async _captureAriaSnapshot(capture = { valid: true }) {
|
|
359
|
+
const pageGeneration = this._pageGeneration;
|
|
360
|
+
const snapshot = await this.page.ariaSnapshot({ mode: 'ai' });
|
|
361
|
+
if (!capture.valid || pageGeneration !== this._pageGeneration)
|
|
362
|
+
throw new StaleAriaSnapshotError('Page changed while capturing accessibility snapshot.');
|
|
363
|
+
++this._ariaSnapshotGeneration;
|
|
364
|
+
this._lastAriaSnapshot = snapshot;
|
|
365
|
+
return snapshot;
|
|
366
|
+
}
|
|
265
367
|
async waitForTimeout(time) {
|
|
266
368
|
if (this._javaScriptBlocked()) {
|
|
267
369
|
await new Promise(f => setTimeout(f, time));
|
|
@@ -301,10 +403,9 @@ export function renderModalStates(context, modalStates) {
|
|
|
301
403
|
if (modalStates.length === 0)
|
|
302
404
|
result.push('- There is no modal state present');
|
|
303
405
|
for (const state of modalStates) {
|
|
304
|
-
const tool = context.tools.
|
|
406
|
+
const tool = context.tools.find(tool => tool.clearsModalState === state.type);
|
|
305
407
|
result.push(`- [${truncateDataUrls(state.description)}]: can be handled by the "${tool?.schema.name}" tool`);
|
|
306
408
|
}
|
|
307
409
|
return result;
|
|
308
410
|
}
|
|
309
|
-
const _pageTabMap = new WeakMap();
|
|
310
411
|
//# sourceMappingURL=tab.js.map
|
package/lib/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sourceRoot":"","sources":["../src/tab.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab.js","sourceRoot":"","sources":["../src/tab.ts"],"names":[],"mappings":"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"}
|