@jobshimo/browser-link 0.5.1 → 0.5.3
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/dist/auth/process-identity.d.ts +19 -3
- package/dist/auth/process-identity.js +81 -20
- package/dist/auth/process-identity.js.map +1 -1
- package/dist/bridge/dispatch.d.ts +6 -0
- package/dist/bridge/dispatch.js +2 -2
- package/dist/bridge/dispatch.js.map +1 -1
- package/dist/bridge/events.d.ts +1 -1
- package/dist/bridge/events.js.map +1 -1
- package/dist/bridge/server.d.ts +7 -1
- package/dist/bridge/server.js +42 -5
- package/dist/bridge/server.js.map +1 -1
- package/dist/commands/self-update.d.ts +59 -0
- package/dist/commands/self-update.js +110 -0
- package/dist/commands/self-update.js.map +1 -0
- package/dist/commands/updates.js +27 -1
- package/dist/commands/updates.js.map +1 -1
- package/dist/config.d.ts +12 -10
- package/dist/config.js +55 -20
- package/dist/config.js.map +1 -1
- package/dist/extension/background.js +56 -6
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/manifest.json +2 -2
- package/dist/extension/popup.d.ts +4 -0
- package/dist/extension/popup.html +238 -48
- package/dist/extension/popup.js +37 -24
- package/dist/extension/popup.js.map +1 -1
- package/dist/server.js +50 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/browser-definitions.js +36 -1
- package/dist/tools/browser-definitions.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +39 -3
- package/dist/tools/browser-dispatch.js +170 -63
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/dist/tools/server-instructions.d.ts +1 -1
- package/dist/tools/server-instructions.js +32 -0
- package/dist/tools/server-instructions.js.map +1 -1
- package/dist/tools/tab-claims.d.ts +117 -0
- package/dist/tools/tab-claims.js +186 -0
- package/dist/tools/tab-claims.js.map +1 -0
- package/dist/ui/screens.js +57 -6
- package/dist/ui/screens.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/updates.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { PACKAGE_NAME, VERSION } from '../version.js';
|
|
2
|
+
/**
|
|
3
|
+
* Conservative subset of npm's official name grammar — lowercase ASCII,
|
|
4
|
+
* digits, dash/underscore/dot, optional `@scope/` prefix. PACKAGE_NAME is
|
|
5
|
+
* read from package.json at runtime; routing that string into a URL without
|
|
6
|
+
* a validation gate would let a tampered package.json point the registry
|
|
7
|
+
* lookup elsewhere. Refusing to query at all is the safer failure mode.
|
|
8
|
+
*/
|
|
9
|
+
const NPM_NAME_REGEX = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/;
|
|
10
|
+
function assertSafeNpmName(name) {
|
|
11
|
+
if (!NPM_NAME_REGEX.test(name)) {
|
|
12
|
+
throw new Error(`Refusing to query registry: package name "${name}" does not match the npm grammar.`);
|
|
13
|
+
}
|
|
14
|
+
return name;
|
|
15
|
+
}
|
|
2
16
|
/**
|
|
3
17
|
* Ask the npm registry for the `latest` dist-tag and compare it to the
|
|
4
18
|
* version baked into this package. Network round-trip is one tiny GET.
|
|
@@ -9,7 +23,19 @@ import { PACKAGE_NAME, VERSION } from '../version.js';
|
|
|
9
23
|
* consistent ordering, just not the semver-correct one.
|
|
10
24
|
*/
|
|
11
25
|
export async function checkUpdates(timeoutMs = 4000) {
|
|
12
|
-
|
|
26
|
+
let safeName;
|
|
27
|
+
try {
|
|
28
|
+
safeName = assertSafeNpmName(PACKAGE_NAME);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
return {
|
|
32
|
+
current: VERSION,
|
|
33
|
+
latest: null,
|
|
34
|
+
newer: null,
|
|
35
|
+
error: err instanceof Error ? err.message : String(err),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const url = `https://registry.npmjs.org/-/package/${safeName}/dist-tags`;
|
|
13
39
|
const controller = new AbortController();
|
|
14
40
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
15
41
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/commands/updates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/commands/updates.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -13,19 +13,21 @@ export interface BrowserLinkConfig {
|
|
|
13
13
|
*/
|
|
14
14
|
disabledTools?: string[];
|
|
15
15
|
/**
|
|
16
|
-
* Multi-agent mode. When
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
16
|
+
* Multi-agent mode. Default ON. When true (default), several MCP clients
|
|
17
|
+
* (Claude Code + OpenCode + Copilot, …) can share the same browser-link
|
|
18
|
+
* primary: the second `browser-link` spawn becomes a thin proxy that
|
|
19
|
+
* forwards MCP traffic to the first one over an internal IPC port
|
|
20
|
+
* (127.0.0.1:17530), and all agents see the same Chrome tabs and the
|
|
21
|
+
* same persistent UI map. Set explicitly to false to disable.
|
|
22
22
|
*/
|
|
23
23
|
multiAgent?: boolean;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
* primary's MCP client closes, secondary
|
|
27
|
-
*
|
|
28
|
-
*
|
|
25
|
+
* Auto-reelect. Default ON, gated by `multiAgent`. When true and the
|
|
26
|
+
* current primary's MCP client closes, the secondary proxies enter a
|
|
27
|
+
* short reconnect window and race to become the new primary; clients
|
|
28
|
+
* recover automatically instead of needing a manual relaunch. Set
|
|
29
|
+
* explicitly to false to keep the previous behaviour (proxies die when
|
|
30
|
+
* the primary does). Has no effect when multiAgent is false.
|
|
29
31
|
*/
|
|
30
32
|
autoReelect?: boolean;
|
|
31
33
|
}
|
package/dist/config.js
CHANGED
|
@@ -2,13 +2,31 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { getDataDir } from './map/paths.js';
|
|
4
4
|
import { sanitizeDisabledTools } from './permissions.js';
|
|
5
|
+
/** Defaults applied at load time so consumers can read `cfg.multiAgent`
|
|
6
|
+
* directly. Persisted form (see `normaliseForWrite`) only carries the field
|
|
7
|
+
* when the user overrides the default, keeping the on-disk config minimal. */
|
|
8
|
+
const DEFAULT_MULTI_AGENT = true;
|
|
9
|
+
const DEFAULT_AUTO_REELECT = true;
|
|
5
10
|
function configFile() {
|
|
6
11
|
return join(getDataDir(), 'config.json');
|
|
7
12
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
/** Apply the runtime defaults so every consumer of loadConfig() reads the
|
|
14
|
+
* effective configuration directly — no per-call `?? true` plumbing. */
|
|
15
|
+
function withDefaults(cfg) {
|
|
16
|
+
const multiAgent = cfg.multiAgent ?? DEFAULT_MULTI_AGENT;
|
|
17
|
+
// autoReelect is gated on multiAgent: when multi-agent is off, the flag
|
|
18
|
+
// has no effect, so the effective value is forced to false to avoid any
|
|
19
|
+
// ambiguity for the consumer.
|
|
20
|
+
const autoReelect = multiAgent ? (cfg.autoReelect ?? DEFAULT_AUTO_REELECT) : false;
|
|
21
|
+
return { ...cfg, multiAgent, autoReelect };
|
|
22
|
+
}
|
|
23
|
+
/** Strip fields that hold their default value before writing — the on-disk
|
|
24
|
+
* config only carries explicit overrides. Keeps the file diff-friendly and
|
|
25
|
+
* forward-compatible when defaults shift in a future release. */
|
|
26
|
+
function normaliseForWrite(cfg) {
|
|
27
|
+
// Always run the disabled-tools list through the sanitizer so unknown
|
|
28
|
+
// names from a downgraded build, a typo, or a manual edit never reach
|
|
29
|
+
// the server filter.
|
|
12
30
|
const sanitized = sanitizeDisabledTools(cfg.disabledTools);
|
|
13
31
|
let next;
|
|
14
32
|
if (sanitized.length === 0) {
|
|
@@ -18,20 +36,20 @@ function normalise(cfg) {
|
|
|
18
36
|
else {
|
|
19
37
|
next = { ...cfg, disabledTools: sanitized };
|
|
20
38
|
}
|
|
21
|
-
// autoReelect only makes sense when multiAgent is on. Drop
|
|
22
|
-
//
|
|
23
|
-
// an inert
|
|
24
|
-
if (next.
|
|
39
|
+
// autoReelect only makes sense when multiAgent is on. Drop the flag
|
|
40
|
+
// entirely when multiAgent has been turned off so the file never carries
|
|
41
|
+
// an inert override.
|
|
42
|
+
if (next.multiAgent === false && 'autoReelect' in next) {
|
|
25
43
|
const { autoReelect: _omit2, ...rest2 } = next;
|
|
26
44
|
next = rest2;
|
|
27
45
|
}
|
|
28
|
-
// Drop
|
|
29
|
-
//
|
|
30
|
-
if (next.multiAgent ===
|
|
46
|
+
// Drop fields whose value matches the runtime default — they are the
|
|
47
|
+
// implicit state; the file should only show user-chosen overrides.
|
|
48
|
+
if (next.multiAgent === DEFAULT_MULTI_AGENT) {
|
|
31
49
|
const { multiAgent: _omit3, ...rest3 } = next;
|
|
32
50
|
next = rest3;
|
|
33
51
|
}
|
|
34
|
-
if (next.autoReelect ===
|
|
52
|
+
if (next.autoReelect === DEFAULT_AUTO_REELECT) {
|
|
35
53
|
const { autoReelect: _omit4, ...rest4 } = next;
|
|
36
54
|
next = rest4;
|
|
37
55
|
}
|
|
@@ -40,13 +58,13 @@ function normalise(cfg) {
|
|
|
40
58
|
export function loadConfig() {
|
|
41
59
|
const path = configFile();
|
|
42
60
|
if (!existsSync(path))
|
|
43
|
-
return {};
|
|
61
|
+
return withDefaults({});
|
|
44
62
|
try {
|
|
45
63
|
const raw = readFileSync(path, 'utf8');
|
|
46
64
|
const parsed = JSON.parse(raw);
|
|
47
65
|
if (parsed && typeof parsed === 'object')
|
|
48
|
-
return
|
|
49
|
-
return {};
|
|
66
|
+
return withDefaults(parsed);
|
|
67
|
+
return withDefaults({});
|
|
50
68
|
}
|
|
51
69
|
catch (err) {
|
|
52
70
|
// Surface corruption rather than silently masking it: the file is
|
|
@@ -54,15 +72,32 @@ export function loadConfig() {
|
|
|
54
72
|
// signal. We still fall back to defaults so the CLI keeps working.
|
|
55
73
|
const message = err instanceof Error ? err.message : String(err);
|
|
56
74
|
console.warn(`[browser-link] could not read config at ${path}: ${message}. Using defaults.`);
|
|
57
|
-
return {};
|
|
75
|
+
return withDefaults({});
|
|
58
76
|
}
|
|
59
77
|
}
|
|
60
78
|
export function saveConfig(patch) {
|
|
61
79
|
const path = configFile();
|
|
62
80
|
mkdirSync(dirname(path), { recursive: true });
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
81
|
+
// Read the persisted form (pre-defaults) so merging the patch doesn't
|
|
82
|
+
// accidentally promote a default into an explicit field on disk.
|
|
83
|
+
const persisted = readPersisted();
|
|
84
|
+
const stripped = normaliseForWrite({ ...persisted, ...patch });
|
|
85
|
+
writeFileSync(path, JSON.stringify(stripped, null, 2) + '\n', 'utf8');
|
|
86
|
+
return loadConfig();
|
|
87
|
+
}
|
|
88
|
+
function readPersisted() {
|
|
89
|
+
const path = configFile();
|
|
90
|
+
if (!existsSync(path))
|
|
91
|
+
return {};
|
|
92
|
+
try {
|
|
93
|
+
const raw = readFileSync(path, 'utf8');
|
|
94
|
+
const parsed = JSON.parse(raw);
|
|
95
|
+
if (parsed && typeof parsed === 'object')
|
|
96
|
+
return parsed;
|
|
97
|
+
return {};
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
67
102
|
}
|
|
68
103
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -371,21 +371,58 @@ chrome.debugger.onEvent.addListener((source, method, params) => {
|
|
|
371
371
|
return;
|
|
372
372
|
state.debuggerListener(method, params);
|
|
373
373
|
});
|
|
374
|
+
/**
|
|
375
|
+
* Look up the previous browser-link tab_id this Chrome tab had, if any.
|
|
376
|
+
* Stored in chrome.storage.session (cleared when the browser restarts).
|
|
377
|
+
* Used to ask the primary to keep the same tab_id across primary swaps
|
|
378
|
+
* — a key piece of the v0.4 multi-agent UX so the agent does not see
|
|
379
|
+
* stale tab_ids after a re-election.
|
|
380
|
+
*/
|
|
381
|
+
async function readPreviousTabId(chromeTabId) {
|
|
382
|
+
const key = `prevTabId:${chromeTabId}`;
|
|
383
|
+
try {
|
|
384
|
+
const data = await chrome.storage.session.get(key);
|
|
385
|
+
const v = data[key];
|
|
386
|
+
return typeof v === 'string' ? v : undefined;
|
|
387
|
+
}
|
|
388
|
+
catch {
|
|
389
|
+
return undefined;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
async function storeTabId(chromeTabId, serverTabId) {
|
|
393
|
+
const key = `prevTabId:${chromeTabId}`;
|
|
394
|
+
try {
|
|
395
|
+
await chrome.storage.session.set({ [key]: serverTabId });
|
|
396
|
+
}
|
|
397
|
+
catch {
|
|
398
|
+
/* storage failure is non-fatal — worst case the next reconnect gets a fresh id */
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
async function forgetTabId(chromeTabId) {
|
|
402
|
+
const key = `prevTabId:${chromeTabId}`;
|
|
403
|
+
try {
|
|
404
|
+
await chrome.storage.session.remove(key);
|
|
405
|
+
}
|
|
406
|
+
catch {
|
|
407
|
+
/* ignore */
|
|
408
|
+
}
|
|
409
|
+
}
|
|
374
410
|
async function connectTab(tabId) {
|
|
375
411
|
if (tabStates.has(tabId)) {
|
|
376
|
-
return { ok: false, error: '
|
|
412
|
+
return { ok: false, error: 'This tab is already connected' };
|
|
377
413
|
}
|
|
378
414
|
const tab = await chrome.tabs.get(tabId);
|
|
379
415
|
if (!tab.url || !tab.title) {
|
|
380
|
-
return { ok: false, error: '
|
|
416
|
+
return { ok: false, error: 'Tab has no URL or title' };
|
|
381
417
|
}
|
|
418
|
+
const previousTabId = await readPreviousTabId(tabId);
|
|
382
419
|
try {
|
|
383
420
|
await chrome.debugger.attach({ tabId }, CDP_VERSION);
|
|
384
421
|
}
|
|
385
422
|
catch (err) {
|
|
386
423
|
return {
|
|
387
424
|
ok: false,
|
|
388
|
-
error: `
|
|
425
|
+
error: `Could not attach debugger: ${err instanceof Error ? err.message : String(err)}`,
|
|
389
426
|
};
|
|
390
427
|
}
|
|
391
428
|
const state = {
|
|
@@ -408,7 +445,7 @@ async function connectTab(tabId) {
|
|
|
408
445
|
await cleanup(tabId);
|
|
409
446
|
return {
|
|
410
447
|
ok: false,
|
|
411
|
-
error: `
|
|
448
|
+
error: `Could not enable CDP: ${err instanceof Error ? err.message : String(err)}`,
|
|
412
449
|
};
|
|
413
450
|
}
|
|
414
451
|
const ws = new WebSocket(WS_URL);
|
|
@@ -422,7 +459,10 @@ async function connectTab(tabId) {
|
|
|
422
459
|
resolve(result);
|
|
423
460
|
};
|
|
424
461
|
ws.addEventListener('open', () => {
|
|
425
|
-
send(ws, {
|
|
462
|
+
send(ws, {
|
|
463
|
+
kind: 'tab.register',
|
|
464
|
+
payload: { url: tab.url, title: tab.title, previousTabId },
|
|
465
|
+
});
|
|
426
466
|
});
|
|
427
467
|
ws.addEventListener('message', async (ev) => {
|
|
428
468
|
const msg = safeParse(typeof ev.data === 'string' ? ev.data : '');
|
|
@@ -430,6 +470,10 @@ async function connectTab(tabId) {
|
|
|
430
470
|
return;
|
|
431
471
|
if (msg.kind === 'tab.registered') {
|
|
432
472
|
state.serverTabId = msg.payload.tabId;
|
|
473
|
+
// Remember this id so the next reconnect (after a primary swap)
|
|
474
|
+
// asks the new primary to honour it. The primary emits
|
|
475
|
+
// `tab-renamed` in the bridge event log if it can't.
|
|
476
|
+
void storeTabId(tabId, msg.payload.tabId);
|
|
433
477
|
settle({ ok: true, serverTabId: msg.payload.tabId });
|
|
434
478
|
return;
|
|
435
479
|
}
|
|
@@ -441,7 +485,7 @@ async function connectTab(tabId) {
|
|
|
441
485
|
});
|
|
442
486
|
ws.addEventListener('error', () => {
|
|
443
487
|
cleanup(tabId).catch(() => { });
|
|
444
|
-
settle({ ok: false, error: 'WebSocket connection failed.
|
|
488
|
+
settle({ ok: false, error: 'WebSocket connection failed. Is the MCP server running?' });
|
|
445
489
|
});
|
|
446
490
|
ws.addEventListener('close', () => {
|
|
447
491
|
cleanup(tabId).catch(() => { });
|
|
@@ -451,6 +495,10 @@ async function connectTab(tabId) {
|
|
|
451
495
|
}
|
|
452
496
|
async function disconnectTab(tabId) {
|
|
453
497
|
await cleanup(tabId);
|
|
498
|
+
// Explicit user-driven disconnect → forget the previous tab id so the
|
|
499
|
+
// next "Connect" starts from a clean slate (vs. an involuntary
|
|
500
|
+
// reconnect where we WANT to keep the id for continuity).
|
|
501
|
+
await forgetTabId(tabId);
|
|
454
502
|
return { ok: true };
|
|
455
503
|
}
|
|
456
504
|
function getTabStatus(tabId) {
|
|
@@ -476,6 +524,8 @@ chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {
|
|
|
476
524
|
});
|
|
477
525
|
chrome.tabs.onRemoved.addListener((tabId) => {
|
|
478
526
|
cleanup(tabId).catch(() => { });
|
|
527
|
+
// The Chrome tab is gone — drop any cached browser-link id for it.
|
|
528
|
+
void forgetTabId(tabId);
|
|
479
529
|
});
|
|
480
530
|
chrome.debugger.onDetach.addListener((source) => {
|
|
481
531
|
if (source.tabId === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,GAAG,sBAAsB,CAAC;AACtC,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAkD/B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE9C,SAAS,IAAI,CAAC,EAAa,EAAE,GAAsB;IACjD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAc,KAAa,EAAE,MAAc,EAAE,SAAiB,EAAE;IAC1E,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAe,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAAe,EAAE,KAAmB;IACvD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,SAAiB;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/E,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;YAC1C,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAe;IAC7C,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,MAAe,EAAQ,EAAE;QACzD,MAAM,CAAC,GAAG,MAA6B,CAAC;QACxC,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAgD,CAAC;YAC3E,MAAM,IAAI,GAAG,IAAI;iBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC7E,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,WAAW,CAAC,KAAK,EAAE;gBACjB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;gBACpC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;gBACtB,IAAI;gBACJ,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAMX,CAAC;YACF,WAAW,CAAC,KAAK,EAAE;gBACjB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;gBACpC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,IAAI,EAAE,CAAC,CAAC,UAAU;aACnB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;YACxC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACjD,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;YACpD,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC;YACpE,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB,CAAC;YACzE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC3C,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACvC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC;YACvC,OAAO;QACT,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EnB,CAAC;AAEF,KAAK,UAAU,aAAa,CAAc,KAAa,EAAE,UAAkB;IACzE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE;QACnD,UAAU;QACV,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC,CAGD,CAAC;IACF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE,CAAC,IAAI,IAAI,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,SAAS,GAAG,MAAM;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,IAA+B,EAAQ,EAAE;YAC3E,IAAI,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACtD,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,GAAuB;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAwB,CAAC;IACpD,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;iBACvD,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM,eAAe,GAAG,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC;gBAClD,MAAM,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAI,eAAe;oBAAE,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE;iBACvD,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxE,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,CAAC,CAAC,KAA2B,CAAC;gBAC5C,MAAM,OAAO,GAAG,KAAK;oBACnB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;oBACtD,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC1E,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAI,CAAC,CAAC,UAAiC,EAAE,WAAW,EAAE,CAAC;gBACnE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY;qBAC5B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;qBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvE,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC,CAGvE,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvE,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG;;gDAE2B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;eAKzD,CAAC;gBACR,MAAM,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAIxC,CAAC;gBACT,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,sBAAsB,QAAQ,EAAE;qBACxC,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBAC3C,IAAI,EAAE,YAAY;oBAClB,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;iBACZ,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBAC3C,IAAI,EAAE,cAAc;oBACpB,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBAC3C,IAAI,EAAE,eAAe;oBACrB,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;iBAC/C,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxB,MAAM,SAAS,GAAG;;gDAEsB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;cAG1D,KAAK,CAAC,CAAC,CAAC,gGAAgG,CAAC,CAAC,CAAC,EAAE;;eAE5G,CAAC;gBACR,MAAM,OAAO,GAAG,MAAM,aAAa,CAAU,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,sBAAsB,QAAQ,EAAE;qBACxC,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;iBACzC,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACrD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxE,CAAC;YAED;gBACE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC7D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,gBAAgB;QAAE,OAAO;IACrC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,UAAU,CAAC,KAAa;IACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC9F,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,KAAK;QACL,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChC,MAAM,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACvF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IAEd,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,MAAqB,EAAQ,EAAE;YAC7C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAM,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAgB,EAAE,EAAE;YACxD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAClC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC9C,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;oBAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+DAA+D,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAa;IACxC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;IAClE,IAAI,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/D,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,EAAE,MAAM,KAAK,YAAY,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE;IAC9C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"name": "browser-link",
|
|
4
|
-
"version": "0.0
|
|
5
|
-
"description": "Bridge between Chrome and an MCP client (Claude Code). Per-tab manual activation.",
|
|
4
|
+
"version": "0.4.0",
|
|
5
|
+
"description": "Bridge between Chrome and an MCP client (Claude Code, OpenCode, GitHub Copilot CLI, …). Per-tab manual activation.",
|
|
6
6
|
"permissions": ["debugger", "activeTab", "storage", "tabs"],
|
|
7
7
|
"host_permissions": [],
|
|
8
8
|
"icons": {
|
|
@@ -7,7 +7,11 @@ interface ConnectResult {
|
|
|
7
7
|
error?: string;
|
|
8
8
|
serverTabId?: string;
|
|
9
9
|
}
|
|
10
|
+
type CardState = 'connected' | 'idle' | 'error';
|
|
10
11
|
declare function getCurrentTab(): Promise<chrome.tabs.Tab | null>;
|
|
11
12
|
declare function $(id: string): HTMLElement;
|
|
13
|
+
declare function setCardState(state: CardState): void;
|
|
14
|
+
declare function setStatus(state: CardState, label: string, tabId?: string): void;
|
|
15
|
+
declare function setAction(label: string, variant: 'primary' | 'danger', disabled?: boolean): void;
|
|
12
16
|
declare function refresh(): Promise<void>;
|
|
13
17
|
declare function onAction(): Promise<void>;
|