@launchsecure/launch-kit 0.0.38 → 0.0.40
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/beacon/beacon.mjs +308 -298
- package/dist/beacon/beacon.mjs.map +1 -1
- package/dist/beacon/beacon.umd.js +6 -6
- package/dist/beacon/beacon.umd.js.map +1 -1
- package/dist/beacon/types/internal/screenshot.d.ts.map +1 -1
- package/dist/chart-client/assets/index-CWJFFDPu.css +1 -0
- package/dist/chart-client/index.html +2 -2
- package/dist/client/assets/index-CTzFcfGV.css +32 -0
- package/dist/client/index.html +2 -2
- package/dist/council-client/assets/index-ArgRc5mN.css +1 -0
- package/dist/council-client/index.html +2 -2
- package/dist/deck-client/assets/{_baseUniq-CgW32Gdk.js → _baseUniq-BZP7n41F.js} +1 -1
- package/dist/deck-client/assets/{arc-D-Mg9gvM.js → arc-31biU3Az.js} +1 -1
- package/dist/deck-client/assets/{architectureDiagram-Q4EWVU46-CdTsXsgl.js → architectureDiagram-Q4EWVU46-DHg6Ss--.js} +1 -1
- package/dist/deck-client/assets/{blockDiagram-DXYQGD6D-mwTneYyB.js → blockDiagram-DXYQGD6D-CUdblaWk.js} +1 -1
- package/dist/deck-client/assets/{c4Diagram-AHTNJAMY-C4R8IbjO.js → c4Diagram-AHTNJAMY-MfAO5lak.js} +1 -1
- package/dist/deck-client/assets/channel-BBkRLdnC.js +1 -0
- package/dist/deck-client/assets/{chunk-4BX2VUAB-ZWuRIUwb.js → chunk-4BX2VUAB-DQ1MrGgN.js} +1 -1
- package/dist/deck-client/assets/{chunk-4TB4RGXK-PNHX10sF.js → chunk-4TB4RGXK-BUJtZ7jO.js} +1 -1
- package/dist/deck-client/assets/{chunk-55IACEB6-CD9MUgPr.js → chunk-55IACEB6-BdSnXB6g.js} +1 -1
- package/dist/deck-client/assets/{chunk-EDXVE4YY-C_CpORb3.js → chunk-EDXVE4YY-94yZIUI8.js} +1 -1
- package/dist/deck-client/assets/{chunk-FMBD7UC4-Bg5RoVC-.js → chunk-FMBD7UC4-PnZ9v6ey.js} +1 -1
- package/dist/deck-client/assets/{chunk-OYMX7WX6-DhTwgQwd.js → chunk-OYMX7WX6-DXrWNOsV.js} +1 -1
- package/dist/deck-client/assets/{chunk-QZHKN3VN-C5VLMaFa.js → chunk-QZHKN3VN-CsIGIDKX.js} +1 -1
- package/dist/deck-client/assets/{chunk-YZCP3GAM-NAGHy4Sr.js → chunk-YZCP3GAM-DVkBO9tn.js} +1 -1
- package/dist/deck-client/assets/classDiagram-6PBFFD2Q-DFCaeF-7.js +1 -0
- package/dist/deck-client/assets/classDiagram-v2-HSJHXN6E-DFCaeF-7.js +1 -0
- package/dist/deck-client/assets/clone-GCEVRScB.js +1 -0
- package/dist/deck-client/assets/{cose-bilkent-S5V4N54A-CpUczjZk.js → cose-bilkent-S5V4N54A-m126Oh3b.js} +1 -1
- package/dist/deck-client/assets/{dagre-KV5264BT-BOvb07MG.js → dagre-KV5264BT-C2aig8U5.js} +1 -1
- package/dist/deck-client/assets/{diagram-5BDNPKRD-BPxwTiC-.js → diagram-5BDNPKRD-CKpoRfGn.js} +1 -1
- package/dist/deck-client/assets/{diagram-G4DWMVQ6-Dz_gsHgx.js → diagram-G4DWMVQ6-Cjh115Ep.js} +1 -1
- package/dist/deck-client/assets/{diagram-MMDJMWI5-B7z-oVTW.js → diagram-MMDJMWI5-DKlBv_2L.js} +1 -1
- package/dist/deck-client/assets/{diagram-TYMM5635-CAIAglLQ.js → diagram-TYMM5635-CdBh4cEn.js} +1 -1
- package/dist/deck-client/assets/{erDiagram-SMLLAGMA-BiViTWF3.js → erDiagram-SMLLAGMA-56pn_93p.js} +1 -1
- package/dist/deck-client/assets/{flowDiagram-DWJPFMVM-DYVemp0H.js → flowDiagram-DWJPFMVM-BtV3M5xJ.js} +1 -1
- package/dist/deck-client/assets/{ganttDiagram-T4ZO3ILL-Chc1Iyu1.js → ganttDiagram-T4ZO3ILL-DTIsC6Zg.js} +1 -1
- package/dist/deck-client/assets/{gitGraphDiagram-UUTBAWPF-B7eFgaj5.js → gitGraphDiagram-UUTBAWPF-CJYeyCLe.js} +1 -1
- package/dist/deck-client/assets/{graph-CKaIoNwb.js → graph-BDvMu1Ss.js} +1 -1
- package/dist/deck-client/assets/index-D4eSxcBn.css +1 -0
- package/dist/deck-client/assets/{index-BRawc7RA.js → index-QnGVE9PZ.js} +83 -83
- package/dist/deck-client/assets/{infoDiagram-42DDH7IO-BxsVq7vO.js → infoDiagram-42DDH7IO-BWyKJnpW.js} +1 -1
- package/dist/deck-client/assets/{ishikawaDiagram-UXIWVN3A-DAM7vPwa.js → ishikawaDiagram-UXIWVN3A-DXYkdO3T.js} +1 -1
- package/dist/deck-client/assets/{journeyDiagram-VCZTEJTY-Xe20Nf7R.js → journeyDiagram-VCZTEJTY-C2zBr-J5.js} +1 -1
- package/dist/deck-client/assets/{kanban-definition-6JOO6SKY-DS8YguzB.js → kanban-definition-6JOO6SKY-CdoYLS4Z.js} +1 -1
- package/dist/deck-client/assets/{layout-DKMBpzR-.js → layout-vOnxnCQU.js} +1 -1
- package/dist/deck-client/assets/{linear-DTNtBg5h.js → linear-B0J0WCGz.js} +1 -1
- package/dist/deck-client/assets/{min-C4DrxCcA.js → min-B0AXlT9L.js} +1 -1
- package/dist/deck-client/assets/{mindmap-definition-QFDTVHPH-B4nEtsw5.js → mindmap-definition-QFDTVHPH-oAybLedr.js} +1 -1
- package/dist/deck-client/assets/{pieDiagram-DEJITSTG-BzHdGNu5.js → pieDiagram-DEJITSTG-BjHyHxGk.js} +1 -1
- package/dist/deck-client/assets/{quadrantDiagram-34T5L4WZ-CaX0SD4-.js → quadrantDiagram-34T5L4WZ-dtluDZXs.js} +1 -1
- package/dist/deck-client/assets/{requirementDiagram-MS252O5E-QeG4p2ni.js → requirementDiagram-MS252O5E-Cq8l7bOl.js} +1 -1
- package/dist/deck-client/assets/{sankeyDiagram-XADWPNL6-BoAwgAj-.js → sankeyDiagram-XADWPNL6-C1Vih91z.js} +1 -1
- package/dist/deck-client/assets/{sequenceDiagram-FGHM5R23-Dn4pYYgu.js → sequenceDiagram-FGHM5R23-CYkd7oQK.js} +1 -1
- package/dist/deck-client/assets/{stateDiagram-FHFEXIEX-Is6KRmQV.js → stateDiagram-FHFEXIEX-CtyG8wBK.js} +1 -1
- package/dist/deck-client/assets/stateDiagram-v2-QKLJ7IA2-BLyKWfcN.js +1 -0
- package/dist/deck-client/assets/{timeline-definition-GMOUNBTQ-v64IZGuY.js → timeline-definition-GMOUNBTQ-DZIxSyd1.js} +1 -1
- package/dist/deck-client/assets/{vennDiagram-DHZGUBPP-noh9eouF.js → vennDiagram-DHZGUBPP-Ct4JVRDM.js} +1 -1
- package/dist/deck-client/assets/{wardley-RL74JXVD-cJ_1is2S.js → wardley-RL74JXVD-V29ycxOW.js} +1 -1
- package/dist/deck-client/assets/{wardleyDiagram-NUSXRM2D-DxR4j737.js → wardleyDiagram-NUSXRM2D-D-Ua6Cmi.js} +1 -1
- package/dist/deck-client/assets/{xychartDiagram-5P7HB3ND-B26vodaL.js → xychartDiagram-5P7HB3ND-BPCOuRVl.js} +1 -1
- package/dist/deck-client/index.html +2 -2
- package/dist/server/beacon-monitor-entry.js +106 -24
- package/dist/server/chart-serve.js +544 -247
- package/dist/server/cli.js +743 -324
- package/dist/server/council-entry.js +16 -3
- package/dist/server/council-serve.js +15 -2
- package/dist/server/deck-mcp-entry.js +270 -108
- package/dist/server/deck-serve.js +101 -23
- package/dist/server/fb-wizard.js +0 -0
- package/dist/server/graph-mcp-entry.js +866 -357
- package/dist/server/init-entry.js +152 -25
- package/dist/server/orbit-entry.js +91 -7
- package/dist/server/radar-docker-init-entry.js +0 -0
- package/dist/server/radar-entrypoint-entry.js +0 -0
- package/dist/server/radar-teardown-entry.js +0 -0
- package/dist/server/recall-entry.js +94 -12
- package/dist/server/rover-entry.js +44 -1
- package/package.json +23 -22
- package/scaffolds/ls-marketplace/plugins/kit/commands/activate-statusline.md +8 -7
- package/scaffolds/ls-marketplace/plugins/kit/commands/deactivate-statusline.md +2 -2
- package/scaffolds/ls-marketplace/plugins/kit/skills/comms/SKILL.md +88 -0
- package/scaffolds/ls-marketplace/plugins/kit/skills/project-info/SKILL.md +88 -0
- package/scaffolds/ls-marketplace/plugins/kit/skills/slides/SKILL.md +118 -0
- package/scaffolds/migrate-safety/scripts/migrate-with-backup.sh +0 -0
- package/scaffolds/recall-hook/scripts/ensure-recall.sh +0 -0
- package/scaffolds/statusline/statusline-base.sh +20 -0
- package/scaffolds/statusline/statusline-mcp.sh +68 -19
- package/scaffolds/statusline/statusline-wrapper.sh +12 -9
- package/dist/chart-client/assets/index-B6rR0CWx.css +0 -1
- package/dist/client/assets/index-D6uX1lQe.css +0 -32
- package/dist/council-client/assets/index-CleYLarJ.css +0 -1
- package/dist/deck-client/assets/channel-CuSee7GO.js +0 -1
- package/dist/deck-client/assets/classDiagram-6PBFFD2Q-_kTisqzs.js +0 -1
- package/dist/deck-client/assets/classDiagram-v2-HSJHXN6E-_kTisqzs.js +0 -1
- package/dist/deck-client/assets/clone-kb3zkY60.js +0 -1
- package/dist/deck-client/assets/index-55P73aS_.css +0 -1
- package/dist/deck-client/assets/stateDiagram-v2-QKLJ7IA2-Cy45Ttqq.js +0 -1
- /package/dist/chart-client/assets/{index-C_xCi3gW.js → index-Dzlj-oCj.js} +0 -0
- /package/dist/client/assets/{index-CRecYFUA.js → index-tTg_ezUF.js} +0 -0
- /package/dist/council-client/assets/{index-DO-Vn15O.js → index-B1v46vTE.js} +0 -0
package/dist/beacon/beacon.mjs
CHANGED
|
@@ -961,14 +961,14 @@ class ct {
|
|
|
961
961
|
const m = document.createElement("label");
|
|
962
962
|
m.className = "beacon-label", m.textContent = t.severityLabel, this.severitiesContainer = document.createElement("div"), this.severitiesContainer.className = "beacon-severity";
|
|
963
963
|
for (const g of n) {
|
|
964
|
-
const
|
|
965
|
-
|
|
966
|
-
const
|
|
967
|
-
|
|
964
|
+
const f = document.createElement("label");
|
|
965
|
+
f.className = "beacon-severity-opt", f.dataset.sev = g;
|
|
966
|
+
const y = document.createElement("input");
|
|
967
|
+
y.type = "radio", y.name = "beacon-severity", y.value = g, g === this.severitySelected && (y.checked = !0, f.classList.add("selected")), y.addEventListener("change", () => this.setSeverity(g)), f.appendChild(y), f.appendChild(document.createTextNode(this.severityLabel(g))), this.severitiesContainer.appendChild(f);
|
|
968
968
|
}
|
|
969
969
|
l.appendChild(m), l.appendChild(this.severitiesContainer), s.appendChild(l), this.pluginSlot = document.createElement("div"), this.pluginSlot.className = "beacon-plugin-panels", s.appendChild(this.pluginSlot), this.statusEl = document.createElement("div"), this.statusEl.className = "beacon-status", s.appendChild(this.statusEl);
|
|
970
|
-
const
|
|
971
|
-
|
|
970
|
+
const u = document.createElement("div");
|
|
971
|
+
u.className = "beacon-actions", this.submitBtn = document.createElement("button"), this.submitBtn.type = "button", this.submitBtn.className = "beacon-btn primary", this.submitBtn.textContent = t.send, this.submitBtn.addEventListener("click", () => this.callbacks.onSubmit()), u.appendChild(this.submitBtn), s.appendChild(u), this.root.addEventListener("close", () => {
|
|
972
972
|
if (this.expectedSuppressedCloses > 0) {
|
|
973
973
|
this.expectedSuppressedCloses -= 1;
|
|
974
974
|
return;
|
|
@@ -1260,12 +1260,12 @@ function wt() {
|
|
|
1260
1260
|
}
|
|
1261
1261
|
t.style.display = "", r.textContent = `${l} runtime error${l !== 1 ? "s" : ""} captured`, i.innerHTML = "";
|
|
1262
1262
|
for (const m of d) {
|
|
1263
|
-
const
|
|
1264
|
-
|
|
1263
|
+
const u = document.createElement("li");
|
|
1264
|
+
u.className = "beacon-events-item";
|
|
1265
1265
|
const g = document.createElement("span");
|
|
1266
1266
|
g.className = `beacon-events-kind ${m.kind === "unhandledrejection" ? "rejection" : "error"}`, g.textContent = m.kind === "unhandledrejection" ? "REJ" : "ERR";
|
|
1267
|
-
const
|
|
1268
|
-
|
|
1267
|
+
const f = document.createElement("span");
|
|
1268
|
+
f.className = "beacon-events-msg", f.textContent = m.message, u.appendChild(g), u.appendChild(f), i.appendChild(u);
|
|
1269
1269
|
}
|
|
1270
1270
|
}
|
|
1271
1271
|
s();
|
|
@@ -1317,7 +1317,7 @@ function At(e) {
|
|
|
1317
1317
|
try {
|
|
1318
1318
|
const l = Array.from(i.classList).join(" ");
|
|
1319
1319
|
Array.from(c.children).filter(
|
|
1320
|
-
(
|
|
1320
|
+
(u) => u.tagName === i.tagName && Array.from(u.classList).join(" ") === l
|
|
1321
1321
|
).length > 1 && (d = `${i.tagName.toLowerCase()}:nth-of-type(${kt(i)})`);
|
|
1322
1322
|
} catch {
|
|
1323
1323
|
}
|
|
@@ -1466,10 +1466,10 @@ async function _e(e, t, n, o = jt) {
|
|
|
1466
1466
|
for (const d of t) {
|
|
1467
1467
|
const l = Vt(d);
|
|
1468
1468
|
if (!l) continue;
|
|
1469
|
-
const m = l.x * s,
|
|
1470
|
-
i.lineWidth = Ft, i.strokeStyle = o, i.strokeRect(m,
|
|
1471
|
-
const
|
|
1472
|
-
i.beginPath(), i.fillStyle = o, i.arc(
|
|
1469
|
+
const m = l.x * s, u = l.y * c, g = l.w * s, f = l.h * c;
|
|
1470
|
+
i.lineWidth = Ft, i.strokeStyle = o, i.strokeRect(m, u, g, f);
|
|
1471
|
+
const y = m + g, S = u;
|
|
1472
|
+
i.beginPath(), i.fillStyle = o, i.arc(y, S, Ht, 0, Math.PI * 2), i.fill(), i.lineWidth = 3, i.strokeStyle = Ut, i.stroke(), i.fillStyle = qt, i.font = "bold 16px system-ui, -apple-system, sans-serif", i.textAlign = "center", i.textBaseline = "middle", i.fillText(String(d.number), y, S + 1);
|
|
1473
1473
|
}
|
|
1474
1474
|
return r.toDataURL("image/jpeg", 0.85);
|
|
1475
1475
|
}
|
|
@@ -1544,13 +1544,13 @@ function Xt(e = {}) {
|
|
|
1544
1544
|
margin-right: 8px;
|
|
1545
1545
|
"></span>`;
|
|
1546
1546
|
function c(h) {
|
|
1547
|
-
return h.replace(/[<>&]/g, (
|
|
1547
|
+
return h.replace(/[<>&]/g, (p) => ({ "<": "<", ">": ">", "&": "&" })[p]);
|
|
1548
1548
|
}
|
|
1549
1549
|
document.body.appendChild(r), document.body.appendChild(i);
|
|
1550
1550
|
const d = /* @__PURE__ */ new Map();
|
|
1551
1551
|
function l(h) {
|
|
1552
|
-
const
|
|
1553
|
-
return
|
|
1552
|
+
const p = document.createElement("div");
|
|
1553
|
+
return p.className = D, p.setAttribute("aria-hidden", "true"), p.style.cssText = [
|
|
1554
1554
|
"position: fixed",
|
|
1555
1555
|
"width: 24px",
|
|
1556
1556
|
"height: 24px",
|
|
@@ -1565,7 +1565,7 @@ function Xt(e = {}) {
|
|
|
1565
1565
|
"box-shadow: 0 2px 8px hsl(0 0% 0% / 0.4)",
|
|
1566
1566
|
"pointer-events: none",
|
|
1567
1567
|
"z-index: 2147483646"
|
|
1568
|
-
].join("; "),
|
|
1568
|
+
].join("; "), p.textContent = String(h), document.body.appendChild(p), p;
|
|
1569
1569
|
}
|
|
1570
1570
|
function m() {
|
|
1571
1571
|
const h = document.createElement("div");
|
|
@@ -1578,56 +1578,56 @@ function Xt(e = {}) {
|
|
|
1578
1578
|
"z-index: 2147483645"
|
|
1579
1579
|
].join("; "), document.body.appendChild(h), h;
|
|
1580
1580
|
}
|
|
1581
|
-
function
|
|
1581
|
+
function u(h, p, E) {
|
|
1582
1582
|
const b = E ? "0.5" : "1";
|
|
1583
|
-
h.outline.style.display = "block", h.outline.style.opacity = b, h.outline.style.left = `${
|
|
1583
|
+
h.outline.style.display = "block", h.outline.style.opacity = b, h.outline.style.left = `${p.x}px`, h.outline.style.top = `${p.y}px`, h.outline.style.width = `${p.w}px`, h.outline.style.height = `${p.h}px`, h.marker.style.display = "flex", h.marker.style.opacity = b, h.marker.style.left = `${p.x + p.w - 12}px`, h.marker.style.top = `${Math.max(2, p.y - 12)}px`;
|
|
1584
1584
|
}
|
|
1585
1585
|
function g(h) {
|
|
1586
1586
|
h.marker.style.display = "none", h.outline.style.display = "none";
|
|
1587
1587
|
}
|
|
1588
|
-
function
|
|
1588
|
+
function f() {
|
|
1589
1589
|
d.forEach((h) => {
|
|
1590
|
-
let
|
|
1591
|
-
if (
|
|
1590
|
+
let p = h.anchor.target;
|
|
1591
|
+
if (p && !p.isConnected && (p = null), !p && h.anchor.selector) {
|
|
1592
1592
|
try {
|
|
1593
|
-
|
|
1593
|
+
p = document.querySelector(h.anchor.selector);
|
|
1594
1594
|
} catch {
|
|
1595
|
-
|
|
1595
|
+
p = null;
|
|
1596
1596
|
}
|
|
1597
|
-
|
|
1597
|
+
p && (h.anchor.target = p);
|
|
1598
1598
|
}
|
|
1599
|
-
if (
|
|
1600
|
-
const b =
|
|
1599
|
+
if (p) {
|
|
1600
|
+
const b = p.getBoundingClientRect();
|
|
1601
1601
|
if (b.width > 0 || b.height > 0) {
|
|
1602
|
-
|
|
1602
|
+
u(h, { x: b.left, y: b.top, w: b.width, h: b.height }, !1);
|
|
1603
1603
|
return;
|
|
1604
1604
|
}
|
|
1605
1605
|
}
|
|
1606
1606
|
const E = h.anchor.fallbackRect;
|
|
1607
1607
|
if (E && (E.w > 0 || E.h > 0)) {
|
|
1608
|
-
|
|
1608
|
+
u(h, E, !0);
|
|
1609
1609
|
return;
|
|
1610
1610
|
}
|
|
1611
1611
|
g(h);
|
|
1612
1612
|
});
|
|
1613
1613
|
}
|
|
1614
|
-
let
|
|
1614
|
+
let y = null;
|
|
1615
1615
|
function S() {
|
|
1616
|
-
|
|
1617
|
-
|
|
1616
|
+
y === null && (y = requestAnimationFrame(() => {
|
|
1617
|
+
y = null, f();
|
|
1618
1618
|
}));
|
|
1619
1619
|
}
|
|
1620
1620
|
return window.addEventListener("scroll", S, !0), window.addEventListener("resize", S), {
|
|
1621
|
-
addPin(h,
|
|
1621
|
+
addPin(h, p) {
|
|
1622
1622
|
const E = l(h), b = m();
|
|
1623
|
-
d.set(h, { anchor:
|
|
1623
|
+
d.set(h, { anchor: p, marker: E, outline: b }), f();
|
|
1624
1624
|
},
|
|
1625
1625
|
setLoading(h) {
|
|
1626
1626
|
h ? i.innerHTML = s + c(h) : i.textContent = he;
|
|
1627
1627
|
},
|
|
1628
1628
|
destroy() {
|
|
1629
|
-
window.removeEventListener("scroll", S, !0), window.removeEventListener("resize", S),
|
|
1630
|
-
h.remove(),
|
|
1629
|
+
window.removeEventListener("scroll", S, !0), window.removeEventListener("resize", S), y !== null && cancelAnimationFrame(y), r.remove(), i.remove(), a.remove(), d.forEach(({ marker: h, outline: p }) => {
|
|
1630
|
+
h.remove(), p.remove();
|
|
1631
1631
|
}), d.clear();
|
|
1632
1632
|
}
|
|
1633
1633
|
};
|
|
@@ -1661,10 +1661,10 @@ function Jt(e) {
|
|
|
1661
1661
|
}
|
|
1662
1662
|
document.addEventListener("keydown", d, !0), n.addEventListener("click", (l) => {
|
|
1663
1663
|
var g;
|
|
1664
|
-
const
|
|
1665
|
-
if (
|
|
1666
|
-
const
|
|
1667
|
-
c({ ...
|
|
1664
|
+
const u = (g = l.target.closest("[data-action]")) == null ? void 0 : g.getAttribute("data-action");
|
|
1665
|
+
if (u && (l.stopPropagation(), u === "cancel" && c({ cancelled: "pin" }), u === "save")) {
|
|
1666
|
+
const f = s.value.trim();
|
|
1667
|
+
c({ ...f ? { note: f } : {}, cancelled: !1 });
|
|
1668
1668
|
}
|
|
1669
1669
|
}), s.addEventListener("keydown", (l) => {
|
|
1670
1670
|
if (l.key === "Enter" && (l.metaKey || l.ctrlKey)) {
|
|
@@ -1722,7 +1722,7 @@ function en(e) {
|
|
|
1722
1722
|
}
|
|
1723
1723
|
return !1;
|
|
1724
1724
|
}
|
|
1725
|
-
function
|
|
1725
|
+
function u(b) {
|
|
1726
1726
|
return b.tagName.includes("-");
|
|
1727
1727
|
}
|
|
1728
1728
|
function g(b, x) {
|
|
@@ -1732,17 +1732,17 @@ function en(e) {
|
|
|
1732
1732
|
r.style.display = "block", i.style.display = "block";
|
|
1733
1733
|
for (const T of A) {
|
|
1734
1734
|
if (m(T)) continue;
|
|
1735
|
-
let
|
|
1736
|
-
for (;
|
|
1737
|
-
const M = (((k = (C =
|
|
1735
|
+
let v = T, L = 16;
|
|
1736
|
+
for (; v.shadowRoot && !u(v) && L-- > 0; ) {
|
|
1737
|
+
const M = (((k = (C = v.shadowRoot).elementsFromPoint) == null ? void 0 : k.call(C, b, x)) ?? []).find((O) => !m(O) && O !== v);
|
|
1738
1738
|
if (!M) break;
|
|
1739
|
-
|
|
1739
|
+
v = M;
|
|
1740
1740
|
}
|
|
1741
|
-
return
|
|
1741
|
+
return v;
|
|
1742
1742
|
}
|
|
1743
1743
|
return null;
|
|
1744
1744
|
}
|
|
1745
|
-
function
|
|
1745
|
+
function f(b) {
|
|
1746
1746
|
const x = b.getBoundingClientRect();
|
|
1747
1747
|
r.style.left = `${x.left}px`, r.style.top = `${x.top}px`, r.style.width = `${x.width}px`, r.style.height = `${x.height}px`;
|
|
1748
1748
|
const A = b.tagName.toLowerCase(), C = b.classList.length > 0 ? "." + Array.from(b.classList).slice(0, 2).join(".") : "";
|
|
@@ -1750,9 +1750,9 @@ function en(e) {
|
|
|
1750
1750
|
const k = x.top - 22;
|
|
1751
1751
|
i.style.left = `${x.left}px`, i.style.top = `${k >= 0 ? k : x.bottom + 4}px`;
|
|
1752
1752
|
}
|
|
1753
|
-
function
|
|
1753
|
+
function y(b) {
|
|
1754
1754
|
const x = g(b.clientX, b.clientY);
|
|
1755
|
-
x ? (
|
|
1755
|
+
x ? (f(x), n == null || n(x)) : (r.style.display = "none", i.style.display = "none", n == null || n(null));
|
|
1756
1756
|
}
|
|
1757
1757
|
function S(b) {
|
|
1758
1758
|
if (b.button !== 0) return;
|
|
@@ -1763,13 +1763,13 @@ function en(e) {
|
|
|
1763
1763
|
function h(b) {
|
|
1764
1764
|
b.preventDefault(), b.stopPropagation();
|
|
1765
1765
|
}
|
|
1766
|
-
function
|
|
1766
|
+
function p(b) {
|
|
1767
1767
|
b.key === "Escape" && (b.preventDefault(), E(null));
|
|
1768
1768
|
}
|
|
1769
1769
|
function E(b) {
|
|
1770
|
-
c || (c = !0, document.removeEventListener("mousemove",
|
|
1770
|
+
c || (c = !0, document.removeEventListener("mousemove", y, !0), document.removeEventListener("pointerdown", S, !0), document.removeEventListener("click", h, !0), document.removeEventListener("mouseup", h, !0), document.removeEventListener("keydown", p, !0), r.remove(), i.remove(), document.body.style.cursor = s, d(b));
|
|
1771
1771
|
}
|
|
1772
|
-
return document.addEventListener("mousemove",
|
|
1772
|
+
return document.addEventListener("mousemove", y, !0), document.addEventListener("pointerdown", S, !0), document.addEventListener("click", h, !0), document.addEventListener("mouseup", h, !0), document.addEventListener("keydown", p, !0), {
|
|
1773
1773
|
cancel: () => E(null),
|
|
1774
1774
|
promise: l
|
|
1775
1775
|
};
|
|
@@ -1827,6 +1827,12 @@ function on() {
|
|
|
1827
1827
|
window.scrollTo(t, n);
|
|
1828
1828
|
};
|
|
1829
1829
|
}
|
|
1830
|
+
function rn() {
|
|
1831
|
+
const e = document.createElement("style");
|
|
1832
|
+
return e.setAttribute("data-beacon-capture", ""), e.textContent = "*,*::before,*::after{animation:none !important;transition:none !important;}", (document.head ?? document.documentElement).appendChild(e), () => {
|
|
1833
|
+
e.remove();
|
|
1834
|
+
};
|
|
1835
|
+
}
|
|
1830
1836
|
let ye = Promise.resolve();
|
|
1831
1837
|
async function De(e = {}) {
|
|
1832
1838
|
const t = ye;
|
|
@@ -1835,71 +1841,75 @@ async function De(e = {}) {
|
|
|
1835
1841
|
n = o;
|
|
1836
1842
|
});
|
|
1837
1843
|
try {
|
|
1838
|
-
return await t, await
|
|
1844
|
+
return await t, await an(e, n);
|
|
1839
1845
|
} catch (o) {
|
|
1840
1846
|
throw n(), o;
|
|
1841
1847
|
}
|
|
1842
1848
|
}
|
|
1843
|
-
async function
|
|
1849
|
+
async function an(e, t) {
|
|
1844
1850
|
const {
|
|
1845
1851
|
quality: n = 0.7,
|
|
1846
1852
|
pixelRatio: o = Math.min(window.devicePixelRatio || 1, 2),
|
|
1847
1853
|
excludeShadowRoot: a,
|
|
1848
1854
|
excludeHosts: r,
|
|
1849
1855
|
fullPage: i = !0
|
|
1850
|
-
} = e, s = await tn(), c = a || r != null && r.length ? (
|
|
1851
|
-
let
|
|
1852
|
-
for (;
|
|
1853
|
-
if (a &&
|
|
1854
|
-
|
|
1856
|
+
} = e, s = await tn(), c = a || r != null && r.length ? (f) => {
|
|
1857
|
+
let y = f;
|
|
1858
|
+
for (; y; ) {
|
|
1859
|
+
if (a && y === a.host || r && y instanceof Element && r.includes(y) || y instanceof Element && y.classList.contains("beacon-no-capture")) return !1;
|
|
1860
|
+
y = y.parentNode;
|
|
1855
1861
|
}
|
|
1856
1862
|
return !0;
|
|
1857
1863
|
} : void 0, d = nn(), l = i ? on() : () => {
|
|
1858
|
-
};
|
|
1859
|
-
let
|
|
1860
|
-
const
|
|
1861
|
-
if (!
|
|
1862
|
-
|
|
1864
|
+
}, m = rn();
|
|
1865
|
+
let u = !1;
|
|
1866
|
+
const g = () => {
|
|
1867
|
+
if (!u) {
|
|
1868
|
+
u = !0;
|
|
1863
1869
|
try {
|
|
1864
|
-
|
|
1870
|
+
m();
|
|
1865
1871
|
} finally {
|
|
1866
1872
|
try {
|
|
1867
|
-
|
|
1873
|
+
l();
|
|
1868
1874
|
} finally {
|
|
1869
|
-
|
|
1875
|
+
try {
|
|
1876
|
+
d();
|
|
1877
|
+
} finally {
|
|
1878
|
+
t();
|
|
1879
|
+
}
|
|
1870
1880
|
}
|
|
1871
1881
|
}
|
|
1872
1882
|
}
|
|
1873
1883
|
};
|
|
1874
1884
|
try {
|
|
1875
|
-
i && await new Promise((
|
|
1876
|
-
const
|
|
1877
|
-
return { dataUrl: await s.toJpeg(
|
|
1885
|
+
i && await new Promise((p) => requestAnimationFrame(() => p()));
|
|
1886
|
+
const f = document.documentElement, y = i ? Math.max(f.scrollWidth, window.innerWidth) : window.innerWidth, S = i ? Math.max(f.scrollHeight, window.innerHeight) : window.innerHeight;
|
|
1887
|
+
return { dataUrl: await s.toJpeg(f, {
|
|
1878
1888
|
quality: n,
|
|
1879
1889
|
pixelRatio: o,
|
|
1880
1890
|
cacheBust: !0,
|
|
1881
1891
|
...c ? { filter: c } : {},
|
|
1882
1892
|
imagePlaceholder: q,
|
|
1883
|
-
width:
|
|
1884
|
-
height:
|
|
1893
|
+
width: y,
|
|
1894
|
+
height: S,
|
|
1885
1895
|
style: { transform: "none" }
|
|
1886
|
-
}), width:
|
|
1887
|
-
} catch (
|
|
1888
|
-
throw
|
|
1896
|
+
}), width: y, height: S, pixelRatio: o, dispose: g };
|
|
1897
|
+
} catch (f) {
|
|
1898
|
+
throw g(), f;
|
|
1889
1899
|
}
|
|
1890
1900
|
}
|
|
1891
1901
|
let ee = null;
|
|
1892
|
-
function
|
|
1902
|
+
function sn(e) {
|
|
1893
1903
|
ee = e;
|
|
1894
1904
|
}
|
|
1895
|
-
function
|
|
1905
|
+
function cn() {
|
|
1896
1906
|
return ee;
|
|
1897
1907
|
}
|
|
1898
1908
|
function R() {
|
|
1899
1909
|
ee = null;
|
|
1900
1910
|
}
|
|
1901
1911
|
const ve = "http://www.w3.org/2000/svg";
|
|
1902
|
-
function
|
|
1912
|
+
function ln() {
|
|
1903
1913
|
const e = document.createElementNS(ve, "svg");
|
|
1904
1914
|
e.setAttribute("viewBox", "0 0 24 24"), e.setAttribute("fill", "none"), e.setAttribute("stroke", "currentColor"), e.setAttribute("stroke-width", "2"), e.setAttribute("stroke-linecap", "round"), e.setAttribute("stroke-linejoin", "round"), e.setAttribute("aria-hidden", "true");
|
|
1905
1915
|
const t = [
|
|
@@ -1913,26 +1923,26 @@ function cn() {
|
|
|
1913
1923
|
}
|
|
1914
1924
|
return e;
|
|
1915
1925
|
}
|
|
1916
|
-
function
|
|
1926
|
+
function dn(e = {}) {
|
|
1917
1927
|
const t = e.maxPins ?? 20;
|
|
1918
1928
|
let n = [], o = /* @__PURE__ */ new WeakMap(), a = null, r = 0, i = null, s = null, c = null, d = null;
|
|
1919
1929
|
function l() {
|
|
1920
1930
|
n = [], o = /* @__PURE__ */ new WeakMap(), a = null, r += 1, R(), S(), h();
|
|
1921
1931
|
}
|
|
1922
1932
|
function m() {
|
|
1923
|
-
const
|
|
1924
|
-
return (
|
|
1933
|
+
const p = document.querySelector("launch-kit-beacon");
|
|
1934
|
+
return (p == null ? void 0 : p.shadowRoot) ?? null;
|
|
1925
1935
|
}
|
|
1926
|
-
function
|
|
1936
|
+
function u() {
|
|
1927
1937
|
if (typeof window > "u") return e.accent ?? "#0ea5e9";
|
|
1928
1938
|
if (e.accent) return e.accent;
|
|
1929
|
-
const
|
|
1930
|
-
return
|
|
1939
|
+
const p = document.querySelector("launch-kit-beacon");
|
|
1940
|
+
return p && getComputedStyle(p).getPropertyValue("--beacon-accent").trim() || "#0ea5e9";
|
|
1931
1941
|
}
|
|
1932
|
-
async function g(
|
|
1942
|
+
async function g(p) {
|
|
1933
1943
|
const E = m();
|
|
1934
1944
|
if (!E) return;
|
|
1935
|
-
const b =
|
|
1945
|
+
const b = u(), x = await p.requestMode("pickElement"), A = Xt({ accent: b });
|
|
1936
1946
|
for (const C of n) {
|
|
1937
1947
|
const k = o.get(C);
|
|
1938
1948
|
k && A.addPin(C.number, {
|
|
@@ -1946,8 +1956,8 @@ function ln(e = {}) {
|
|
|
1946
1956
|
for (; C && !(n.length >= t); ) {
|
|
1947
1957
|
const T = await en({ shadowRoot: E, accent: b }).promise;
|
|
1948
1958
|
if (!T) break;
|
|
1949
|
-
const
|
|
1950
|
-
anchor: { x:
|
|
1959
|
+
const v = T.getBoundingClientRect(), L = await Jt({
|
|
1960
|
+
anchor: { x: v.left, y: v.bottom },
|
|
1951
1961
|
pinNumber: n.length + 1
|
|
1952
1962
|
});
|
|
1953
1963
|
if (L.cancelled === "all") {
|
|
@@ -1966,64 +1976,64 @@ function ln(e = {}) {
|
|
|
1966
1976
|
fallbackRect: I.boundingRect
|
|
1967
1977
|
});
|
|
1968
1978
|
}
|
|
1969
|
-
n.length > 0 ? (A.setLoading("Capturing screenshot…"), await new Promise((k) => requestAnimationFrame(() => k())), await
|
|
1979
|
+
n.length > 0 ? (A.setLoading("Capturing screenshot…"), await new Promise((k) => requestAnimationFrame(() => k())), await f()) : (a = null, R());
|
|
1970
1980
|
} finally {
|
|
1971
1981
|
A.destroy(), x();
|
|
1972
1982
|
}
|
|
1973
1983
|
S(), h();
|
|
1974
1984
|
}
|
|
1975
|
-
async function
|
|
1976
|
-
const
|
|
1985
|
+
async function f() {
|
|
1986
|
+
const p = ++r;
|
|
1977
1987
|
if (n.length === 0) {
|
|
1978
1988
|
a = null, R(), h();
|
|
1979
1989
|
return;
|
|
1980
1990
|
}
|
|
1981
|
-
const E =
|
|
1991
|
+
const E = u();
|
|
1982
1992
|
try {
|
|
1983
1993
|
const b = Array.from(document.querySelectorAll("launch-kit-beacon")), x = await De({ excludeHosts: b });
|
|
1984
1994
|
try {
|
|
1985
|
-
if (
|
|
1995
|
+
if (p !== r) return;
|
|
1986
1996
|
const A = n.map((T) => ({
|
|
1987
1997
|
number: T.number,
|
|
1988
1998
|
selector: T.selector,
|
|
1989
1999
|
boundingRect: T.boundingRect,
|
|
1990
2000
|
...o.get(T) ? { liveElement: o.get(T) } : {}
|
|
1991
2001
|
})), C = { w: x.width, h: x.height, dpr: x.pixelRatio }, k = await _e(x.dataUrl, A, C, E);
|
|
1992
|
-
if (
|
|
1993
|
-
a = k,
|
|
2002
|
+
if (p !== r) return;
|
|
2003
|
+
a = k, sn({ dataUrl: k, mime: "image/jpeg" });
|
|
1994
2004
|
} finally {
|
|
1995
2005
|
x.dispose();
|
|
1996
2006
|
}
|
|
1997
2007
|
} catch {
|
|
1998
|
-
if (
|
|
2008
|
+
if (p !== r) return;
|
|
1999
2009
|
a = null, R();
|
|
2000
2010
|
}
|
|
2001
|
-
|
|
2011
|
+
p === r && h();
|
|
2002
2012
|
}
|
|
2003
|
-
function
|
|
2004
|
-
const E = n.findIndex((b) => b.number ===
|
|
2013
|
+
function y(p) {
|
|
2014
|
+
const E = n.findIndex((b) => b.number === p);
|
|
2005
2015
|
E !== -1 && (n.splice(E, 1), n.forEach((b, x) => {
|
|
2006
2016
|
b.number = x + 1;
|
|
2007
|
-
}), a = null, R(), S(), h(),
|
|
2017
|
+
}), a = null, R(), S(), h(), f());
|
|
2008
2018
|
}
|
|
2009
2019
|
function S() {
|
|
2010
2020
|
if (i && (i.textContent = `Pins (${n.length})`, i.style.display = n.length === 0 ? "none" : ""), d && (d.textContent = n.length === 0 ? "Annotate elements" : "Add another pin"), !!s) {
|
|
2011
2021
|
s.innerHTML = "", s.style.display = n.length === 0 ? "none" : "";
|
|
2012
|
-
for (const
|
|
2022
|
+
for (const p of n) {
|
|
2013
2023
|
const E = document.createElement("div");
|
|
2014
|
-
E.className = "beacon-pin-item", E.dataset.pin = String(
|
|
2024
|
+
E.className = "beacon-pin-item", E.dataset.pin = String(p.number);
|
|
2015
2025
|
const b = document.createElement("span");
|
|
2016
|
-
b.className = "beacon-pin-num", b.textContent = String(
|
|
2026
|
+
b.className = "beacon-pin-num", b.textContent = String(p.number);
|
|
2017
2027
|
const x = document.createElement("div");
|
|
2018
2028
|
x.className = "beacon-pin-meta";
|
|
2019
2029
|
const A = document.createElement("div");
|
|
2020
|
-
A.className = "beacon-pin-selector", A.title =
|
|
2030
|
+
A.className = "beacon-pin-selector", A.title = p.selector, A.textContent = p.selector || p.tagName;
|
|
2021
2031
|
const C = document.createElement("input");
|
|
2022
|
-
C.type = "text", C.className = "beacon-pin-note-input", C.placeholder = "Add a note (optional)", C.value =
|
|
2023
|
-
C.value.trim() ?
|
|
2032
|
+
C.type = "text", C.className = "beacon-pin-note-input", C.placeholder = "Add a note (optional)", C.value = p.note ?? "", C.addEventListener("input", () => {
|
|
2033
|
+
C.value.trim() ? p.note = C.value : delete p.note;
|
|
2024
2034
|
}), x.appendChild(A), x.appendChild(C);
|
|
2025
2035
|
const k = document.createElement("button");
|
|
2026
|
-
k.type = "button", k.className = "beacon-icon-btn", k.setAttribute("aria-label", `Remove pin ${
|
|
2036
|
+
k.type = "button", k.className = "beacon-icon-btn", k.setAttribute("aria-label", `Remove pin ${p.number}`), k.appendChild(ln()), k.addEventListener("click", () => y(p.number)), E.appendChild(b), E.appendChild(x), E.appendChild(k), s.appendChild(E);
|
|
2027
2037
|
}
|
|
2028
2038
|
}
|
|
2029
2039
|
}
|
|
@@ -2032,13 +2042,13 @@ function ln(e = {}) {
|
|
|
2032
2042
|
}
|
|
2033
2043
|
return {
|
|
2034
2044
|
name: "domEle",
|
|
2035
|
-
setupOnce(
|
|
2036
|
-
return
|
|
2045
|
+
setupOnce(p) {
|
|
2046
|
+
return p.on("close", () => l());
|
|
2037
2047
|
},
|
|
2038
|
-
form(
|
|
2048
|
+
form(p) {
|
|
2039
2049
|
return {
|
|
2040
2050
|
render: (E) => (i = document.createElement("div"), i.className = "beacon-pin-list-header", E.appendChild(i), s = document.createElement("div"), s.className = "beacon-pin-list", E.appendChild(s), d = document.createElement("button"), d.type = "button", d.className = "beacon-btn secondary beacon-pin-annotate", d.addEventListener("click", () => {
|
|
2041
|
-
g(
|
|
2051
|
+
g(p);
|
|
2042
2052
|
}), E.appendChild(d), c = document.createElement("img"), c.className = "beacon-thumb", c.alt = "Annotated screenshot preview", c.style.display = "none", E.appendChild(c), S(), h(), () => {
|
|
2043
2053
|
i = null, s = null, c = null, d = null;
|
|
2044
2054
|
})
|
|
@@ -2049,14 +2059,14 @@ function ln(e = {}) {
|
|
|
2049
2059
|
}
|
|
2050
2060
|
};
|
|
2051
2061
|
}
|
|
2052
|
-
function
|
|
2062
|
+
function un(e) {
|
|
2053
2063
|
return !!e && typeof e == "object" && !("v" in e) && "error" in e;
|
|
2054
2064
|
}
|
|
2055
|
-
function
|
|
2065
|
+
function pn(e = {}) {
|
|
2056
2066
|
return {
|
|
2057
2067
|
name: "domSS",
|
|
2058
2068
|
async capture(t) {
|
|
2059
|
-
const n =
|
|
2069
|
+
const n = cn();
|
|
2060
2070
|
if (n)
|
|
2061
2071
|
return { dataUrl: n.dataUrl, mime: n.mime };
|
|
2062
2072
|
const o = await t.requestMode("hide");
|
|
@@ -2068,7 +2078,7 @@ function un(e = {}) {
|
|
|
2068
2078
|
excludeHosts: a
|
|
2069
2079
|
});
|
|
2070
2080
|
try {
|
|
2071
|
-
const i = t.captured("domEle"), s =
|
|
2081
|
+
const i = t.captured("domEle"), s = fn(i), c = { w: r.width, h: r.height, dpr: r.pixelRatio }, d = e.accent ?? mn();
|
|
2072
2082
|
return { dataUrl: s.length > 0 ? await _e(r.dataUrl, s, c, d) : r.dataUrl, mime: "image/jpeg" };
|
|
2073
2083
|
} finally {
|
|
2074
2084
|
r.dispose();
|
|
@@ -2079,8 +2089,8 @@ function un(e = {}) {
|
|
|
2079
2089
|
}
|
|
2080
2090
|
};
|
|
2081
2091
|
}
|
|
2082
|
-
function
|
|
2083
|
-
if (!e ||
|
|
2092
|
+
function fn(e) {
|
|
2093
|
+
if (!e || un(e)) return [];
|
|
2084
2094
|
const t = e.pins;
|
|
2085
2095
|
return Array.isArray(t) ? t.filter((n) => !!n && typeof n == "object").map((n) => ({
|
|
2086
2096
|
number: Number(n.number) || 0,
|
|
@@ -2088,14 +2098,14 @@ function pn(e) {
|
|
|
2088
2098
|
boundingRect: n.boundingRect ?? { x: 0, y: 0, w: 0, h: 0 }
|
|
2089
2099
|
})) : [];
|
|
2090
2100
|
}
|
|
2091
|
-
function
|
|
2101
|
+
function mn() {
|
|
2092
2102
|
if (typeof window > "u") return "#0ea5e9";
|
|
2093
2103
|
const e = document.querySelector("launch-kit-beacon");
|
|
2094
2104
|
return e && getComputedStyle(e).getPropertyValue("--beacon-accent").trim() || "#0ea5e9";
|
|
2095
2105
|
}
|
|
2096
|
-
const xe = "beacon-no-capture", we = "__lsBeaconMonitorChipPos",
|
|
2097
|
-
function
|
|
2098
|
-
const t = e.accent ??
|
|
2106
|
+
const xe = "beacon-no-capture", we = "__lsBeaconMonitorChipPos", hn = "#10b981";
|
|
2107
|
+
function bn(e) {
|
|
2108
|
+
const t = e.accent ?? hn, n = e.startedAt ?? Date.now(), o = document.createElement("div");
|
|
2099
2109
|
o.className = `${xe} beacon-monitor-overlay-frame`, o.setAttribute("aria-hidden", "true"), o.style.setProperty("--beacon-monitor-accent", t), document.body.appendChild(o);
|
|
2100
2110
|
const a = document.createElement("div");
|
|
2101
2111
|
a.className = `${xe} beacon-monitor-overlay-chip`, a.setAttribute("role", "status"), a.setAttribute("aria-label", "Recording — drag to move"), a.style.setProperty("--beacon-monitor-accent", t);
|
|
@@ -2113,52 +2123,52 @@ function hn(e) {
|
|
|
2113
2123
|
l.type = "button", l.className = "beacon-monitor-overlay-stop", l.textContent = "Stop", l.setAttribute("aria-label", "Stop monitoring"), r.appendChild(i), r.appendChild(s), r.appendChild(c), r.appendChild(d), r.appendChild(l), a.appendChild(r);
|
|
2114
2124
|
const m = document.createElement("div");
|
|
2115
2125
|
m.className = "beacon-monitor-overlay-url", e.url ? (m.textContent = e.url, m.title = e.url) : m.style.display = "none", a.appendChild(m), document.body.appendChild(a);
|
|
2116
|
-
const
|
|
2117
|
-
S(
|
|
2126
|
+
const u = g() ?? f();
|
|
2127
|
+
S(y(u));
|
|
2118
2128
|
function g() {
|
|
2119
2129
|
try {
|
|
2120
|
-
const
|
|
2121
|
-
if (!
|
|
2122
|
-
const L = JSON.parse(
|
|
2130
|
+
const v = localStorage.getItem(we);
|
|
2131
|
+
if (!v) return null;
|
|
2132
|
+
const L = JSON.parse(v), I = typeof L.x == "number" ? L.x : NaN, M = typeof L.y == "number" ? L.y : NaN;
|
|
2123
2133
|
return !Number.isFinite(I) || !Number.isFinite(M) ? null : { x: I, y: M };
|
|
2124
2134
|
} catch {
|
|
2125
2135
|
return null;
|
|
2126
2136
|
}
|
|
2127
2137
|
}
|
|
2128
|
-
function
|
|
2138
|
+
function f() {
|
|
2129
2139
|
const L = a.getBoundingClientRect().width || 200;
|
|
2130
2140
|
return { x: Math.max(8, Math.floor((window.innerWidth - L) / 2)), y: 16 };
|
|
2131
2141
|
}
|
|
2132
|
-
function v
|
|
2142
|
+
function y(v) {
|
|
2133
2143
|
const I = a.getBoundingClientRect(), M = I.width || 200, O = I.height || 40, We = Math.max(8, window.innerWidth - M - 8), Ye = Math.max(8, window.innerHeight - O - 8);
|
|
2134
2144
|
return {
|
|
2135
|
-
x: Math.min(Math.max(8,
|
|
2136
|
-
y: Math.min(Math.max(8,
|
|
2145
|
+
x: Math.min(Math.max(8, v.x), We),
|
|
2146
|
+
y: Math.min(Math.max(8, v.y), Ye)
|
|
2137
2147
|
};
|
|
2138
2148
|
}
|
|
2139
|
-
function S(
|
|
2140
|
-
a.style.left = `${
|
|
2149
|
+
function S(v) {
|
|
2150
|
+
a.style.left = `${v.x}px`, a.style.top = `${v.y}px`;
|
|
2141
2151
|
}
|
|
2142
|
-
let h = !1,
|
|
2143
|
-
function b(
|
|
2144
|
-
if (
|
|
2145
|
-
|
|
2152
|
+
let h = !1, p = null, E = { x: 0, y: 0 };
|
|
2153
|
+
function b(v) {
|
|
2154
|
+
if (v.target instanceof Element && v.target.closest(".beacon-monitor-overlay-stop")) return;
|
|
2155
|
+
v.preventDefault(), h = !0, p = v.pointerId;
|
|
2146
2156
|
try {
|
|
2147
|
-
a.setPointerCapture(
|
|
2157
|
+
a.setPointerCapture(v.pointerId);
|
|
2148
2158
|
} catch {
|
|
2149
2159
|
}
|
|
2150
2160
|
a.setAttribute("data-dragging", "true");
|
|
2151
2161
|
const L = a.getBoundingClientRect();
|
|
2152
|
-
E = { x:
|
|
2162
|
+
E = { x: v.clientX - L.left, y: v.clientY - L.top };
|
|
2153
2163
|
}
|
|
2154
|
-
function x(
|
|
2155
|
-
!h ||
|
|
2164
|
+
function x(v) {
|
|
2165
|
+
!h || v.pointerId !== p || S(y({ x: v.clientX - E.x, y: v.clientY - E.y }));
|
|
2156
2166
|
}
|
|
2157
|
-
function A(
|
|
2158
|
-
if (!h ||
|
|
2159
|
-
h = !1,
|
|
2167
|
+
function A(v) {
|
|
2168
|
+
if (!h || v.pointerId !== p) return;
|
|
2169
|
+
h = !1, p = null, a.removeAttribute("data-dragging");
|
|
2160
2170
|
try {
|
|
2161
|
-
a.releasePointerCapture(
|
|
2171
|
+
a.releasePointerCapture(v.pointerId);
|
|
2162
2172
|
} catch {
|
|
2163
2173
|
}
|
|
2164
2174
|
const L = a.getBoundingClientRect();
|
|
@@ -2167,38 +2177,38 @@ function hn(e) {
|
|
|
2167
2177
|
} catch {
|
|
2168
2178
|
}
|
|
2169
2179
|
}
|
|
2170
|
-
a.addEventListener("pointerdown", b), a.addEventListener("pointermove", x), a.addEventListener("pointerup", A), a.addEventListener("pointercancel", A), l.addEventListener("click", (
|
|
2171
|
-
|
|
2180
|
+
a.addEventListener("pointerdown", b), a.addEventListener("pointermove", x), a.addEventListener("pointerup", A), a.addEventListener("pointercancel", A), l.addEventListener("click", (v) => {
|
|
2181
|
+
v.stopPropagation(), e.onStop();
|
|
2172
2182
|
});
|
|
2173
2183
|
function C() {
|
|
2174
|
-
const
|
|
2175
|
-
S(
|
|
2184
|
+
const v = a.getBoundingClientRect();
|
|
2185
|
+
S(y({ x: v.left, y: v.top }));
|
|
2176
2186
|
}
|
|
2177
2187
|
window.addEventListener("resize", C);
|
|
2178
2188
|
function k() {
|
|
2179
|
-
const
|
|
2180
|
-
d.textContent =
|
|
2189
|
+
const v = Math.max(0, Math.floor((Date.now() - n) / 1e3));
|
|
2190
|
+
d.textContent = gn(v);
|
|
2181
2191
|
}
|
|
2182
2192
|
k();
|
|
2183
2193
|
const T = window.setInterval(k, 1e3);
|
|
2184
2194
|
return {
|
|
2185
|
-
updateUrl(
|
|
2186
|
-
|
|
2195
|
+
updateUrl(v) {
|
|
2196
|
+
v ? (m.textContent = v, m.title = v, m.style.display = "") : m.style.display = "none";
|
|
2187
2197
|
},
|
|
2188
2198
|
destroy() {
|
|
2189
2199
|
window.clearInterval(T), window.removeEventListener("resize", C), a.removeEventListener("pointerdown", b), a.removeEventListener("pointermove", x), a.removeEventListener("pointerup", A), a.removeEventListener("pointercancel", A), o.remove(), a.remove();
|
|
2190
2200
|
}
|
|
2191
2201
|
};
|
|
2192
2202
|
}
|
|
2193
|
-
function
|
|
2203
|
+
function gn(e) {
|
|
2194
2204
|
const t = Math.floor(e / 3600), n = Math.floor(e % 3600 / 60), o = e % 60;
|
|
2195
2205
|
return t > 0 ? `${$(t)}:${$(n)}:${$(o)}` : `${$(n)}:${$(o)}`;
|
|
2196
2206
|
}
|
|
2197
2207
|
function $(e) {
|
|
2198
2208
|
return e < 10 ? `0${e}` : String(e);
|
|
2199
2209
|
}
|
|
2200
|
-
const H = 80,
|
|
2201
|
-
function
|
|
2210
|
+
const H = 80, yn = 'button, a, input[type="submit"], input[type="button"], [role="button"], [role="link"], [role="menuitem"], [role="tab"], [role="option"]', vn = 1024, xn = 5;
|
|
2211
|
+
function wn(e, t) {
|
|
2202
2212
|
return e.length > t ? e.slice(0, t) : e;
|
|
2203
2213
|
}
|
|
2204
2214
|
function te(e) {
|
|
@@ -2222,7 +2232,7 @@ function Ee(e) {
|
|
|
2222
2232
|
const t = U(e.textContent, H), n = U(e.getAttribute("aria-label"), H), o = e.getAttribute("data-testid") || void 0, a = e.getAttribute("name") || void 0;
|
|
2223
2233
|
let r = n || t;
|
|
2224
2234
|
if (!r) {
|
|
2225
|
-
const i = e.closest(
|
|
2235
|
+
const i = e.closest(yn);
|
|
2226
2236
|
i && i !== e && (r = U(i.getAttribute("aria-label"), H) || U(i.textContent, H));
|
|
2227
2237
|
}
|
|
2228
2238
|
return {
|
|
@@ -2239,7 +2249,7 @@ function Ee(e) {
|
|
|
2239
2249
|
...r && r !== t ? { label: r } : {}
|
|
2240
2250
|
};
|
|
2241
2251
|
}
|
|
2242
|
-
function
|
|
2252
|
+
function En(e, t) {
|
|
2243
2253
|
const n = [], o = document.querySelectorAll("body *");
|
|
2244
2254
|
for (const a of Array.from(o)) {
|
|
2245
2255
|
const r = getComputedStyle(a);
|
|
@@ -2254,29 +2264,29 @@ function wn(e, t) {
|
|
|
2254
2264
|
classes: Array.from(a.classList).slice(0, 5).join(" ")
|
|
2255
2265
|
});
|
|
2256
2266
|
}
|
|
2257
|
-
return n.sort((a, r) => r.zIndex - a.zIndex).slice(0,
|
|
2267
|
+
return n.sort((a, r) => r.zIndex - a.zIndex).slice(0, xn);
|
|
2258
2268
|
}
|
|
2259
|
-
function
|
|
2269
|
+
function Sn(e) {
|
|
2260
2270
|
const t = (a) => (r) => {
|
|
2261
2271
|
const i = r, s = i.target;
|
|
2262
2272
|
if (!(s instanceof Element)) return;
|
|
2263
|
-
const c = i.clientX, d = i.clientY, l = document.elementFromPoint(c, d), m = l === s || (l ? s.contains(l) || l.contains(s) : !1),
|
|
2273
|
+
const c = i.clientX, d = i.clientY, l = document.elementFromPoint(c, d), m = l === s || (l ? s.contains(l) || l.contains(s) : !1), u = document.querySelectorAll('[role="dialog"][data-state="open"]').length, g = getComputedStyle(document.body).pointerEvents, f = m ? [] : En(c, d);
|
|
2264
2274
|
e.emitClick({
|
|
2265
2275
|
kind: a,
|
|
2266
2276
|
target: Ee(s),
|
|
2267
2277
|
hitMatchesTarget: m,
|
|
2268
2278
|
...!m && l instanceof Element ? { hitTarget: Ee(l) } : {},
|
|
2269
2279
|
coords: { x: c, y: d },
|
|
2270
|
-
openDialogs:
|
|
2280
|
+
openDialogs: u,
|
|
2271
2281
|
bodyPointerEvents: g,
|
|
2272
|
-
...
|
|
2282
|
+
...f.length > 0 ? { overlaysAtPoint: f } : {}
|
|
2273
2283
|
});
|
|
2274
2284
|
}, n = t("click"), o = t("mousedown");
|
|
2275
2285
|
return document.addEventListener("click", n, { capture: !0, passive: !0 }), document.addEventListener("mousedown", o, { capture: !0, passive: !0 }), () => {
|
|
2276
2286
|
document.removeEventListener("click", n, { capture: !0 }), document.removeEventListener("mousedown", o, { capture: !0 });
|
|
2277
2287
|
};
|
|
2278
2288
|
}
|
|
2279
|
-
function
|
|
2289
|
+
function Cn(e) {
|
|
2280
2290
|
const t = history.pushState, n = history.replaceState;
|
|
2281
2291
|
let o = window.location.href;
|
|
2282
2292
|
const a = (s) => {
|
|
@@ -2297,7 +2307,7 @@ function Sn(e) {
|
|
|
2297
2307
|
history.pushState = t, history.replaceState = n, window.removeEventListener("popstate", r), window.removeEventListener("hashchange", i);
|
|
2298
2308
|
};
|
|
2299
2309
|
}
|
|
2300
|
-
function
|
|
2310
|
+
function kn(e) {
|
|
2301
2311
|
const t = /* @__PURE__ */ new WeakSet(), n = (a, r) => {
|
|
2302
2312
|
const i = te(a);
|
|
2303
2313
|
e.emitDialog({
|
|
@@ -2305,7 +2315,7 @@ function Cn(e) {
|
|
|
2305
2315
|
action: r,
|
|
2306
2316
|
selector: i,
|
|
2307
2317
|
state: a.getAttribute("data-state"),
|
|
2308
|
-
...r === "mount" ? { outerHTML:
|
|
2318
|
+
...r === "mount" ? { outerHTML: wn(a.outerHTML, vn) } : {}
|
|
2309
2319
|
});
|
|
2310
2320
|
};
|
|
2311
2321
|
for (const a of Array.from(document.querySelectorAll('[role="dialog"]')))
|
|
@@ -2316,14 +2326,14 @@ function Cn(e) {
|
|
|
2316
2326
|
for (const l of Array.from(d.addedNodes)) {
|
|
2317
2327
|
if (!(l instanceof Element)) continue;
|
|
2318
2328
|
const m = (r = l.matches) != null && r.call(l, '[role="dialog"]') ? [l] : Array.from(((i = l.querySelectorAll) == null ? void 0 : i.call(l, '[role="dialog"]')) ?? []);
|
|
2319
|
-
for (const
|
|
2320
|
-
t.has(
|
|
2329
|
+
for (const u of m)
|
|
2330
|
+
t.has(u) || (t.add(u), n(u, "mount"));
|
|
2321
2331
|
}
|
|
2322
2332
|
for (const l of Array.from(d.removedNodes)) {
|
|
2323
2333
|
if (!(l instanceof Element)) continue;
|
|
2324
2334
|
const m = (s = l.matches) != null && s.call(l, '[role="dialog"]') ? [l] : Array.from(((c = l.querySelectorAll) == null ? void 0 : c.call(l, '[role="dialog"]')) ?? []);
|
|
2325
|
-
for (const
|
|
2326
|
-
t.has(
|
|
2335
|
+
for (const u of m)
|
|
2336
|
+
t.has(u) && (t.delete(u), n(u, "unmount"));
|
|
2327
2337
|
}
|
|
2328
2338
|
d.type === "attributes" && d.attributeName === "data-state" && d.target instanceof Element && d.target.getAttribute("role") === "dialog" && n(d.target, "state");
|
|
2329
2339
|
}
|
|
@@ -2335,7 +2345,7 @@ function Cn(e) {
|
|
|
2335
2345
|
attributeFilter: ["data-state"]
|
|
2336
2346
|
}), () => o.disconnect();
|
|
2337
2347
|
}
|
|
2338
|
-
function
|
|
2348
|
+
function An(e) {
|
|
2339
2349
|
const t = (n) => {
|
|
2340
2350
|
const o = n.target;
|
|
2341
2351
|
if (!(o instanceof HTMLFormElement)) return;
|
|
@@ -2359,27 +2369,27 @@ function kn(e) {
|
|
|
2359
2369
|
};
|
|
2360
2370
|
return document.addEventListener("submit", t, { capture: !0 }), () => document.removeEventListener("submit", t, { capture: !0 });
|
|
2361
2371
|
}
|
|
2362
|
-
function
|
|
2363
|
-
const t =
|
|
2372
|
+
function Ln(e) {
|
|
2373
|
+
const t = Sn(e), n = Cn(e), o = kn(e), a = An(e);
|
|
2364
2374
|
return {
|
|
2365
2375
|
uninstall() {
|
|
2366
2376
|
t(), n(), o(), a();
|
|
2367
2377
|
}
|
|
2368
2378
|
};
|
|
2369
2379
|
}
|
|
2370
|
-
const G = 1e3, Se = 10 * 1024, $e = "[REDACTED]", Be = /* @__PURE__ */ new Set(["POST", "PUT", "PATCH", "DELETE"]),
|
|
2380
|
+
const G = 1e3, Se = 10 * 1024, $e = "[REDACTED]", Be = /* @__PURE__ */ new Set(["POST", "PUT", "PATCH", "DELETE"]), Tn = [
|
|
2371
2381
|
/Bearer\s+[A-Za-z0-9._\-+/=]+/gi,
|
|
2372
2382
|
/\bls_pat_[A-Za-z0-9_]+/g,
|
|
2373
2383
|
// JWT: three dot-separated base64url segments starting with eyJ (the b64
|
|
2374
2384
|
// encoding of the JSON {"). Matches Auth0/Clerk/most providers' tokens.
|
|
2375
2385
|
/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g
|
|
2376
|
-
],
|
|
2386
|
+
], Nn = /^(password|passwd|secret|token|api[_-]?key|auth|access[_-]?token|refresh[_-]?token|client[_-]?secret|private[_-]?key)$/i;
|
|
2377
2387
|
function J(e, t) {
|
|
2378
2388
|
return e.length > t ? e.slice(0, t) : e;
|
|
2379
2389
|
}
|
|
2380
2390
|
function ze(e) {
|
|
2381
2391
|
let t = e;
|
|
2382
|
-
for (const n of
|
|
2392
|
+
for (const n of Tn)
|
|
2383
2393
|
t = t.replace(n, $e);
|
|
2384
2394
|
return t;
|
|
2385
2395
|
}
|
|
@@ -2389,7 +2399,7 @@ function Z(e) {
|
|
|
2389
2399
|
if (Array.isArray(e)) return e.map(Z);
|
|
2390
2400
|
const t = {};
|
|
2391
2401
|
for (const [n, o] of Object.entries(e))
|
|
2392
|
-
t[n] =
|
|
2402
|
+
t[n] = Nn.test(n) ? $e : Z(o);
|
|
2393
2403
|
return t;
|
|
2394
2404
|
}
|
|
2395
2405
|
function Ce(e, t) {
|
|
@@ -2405,7 +2415,7 @@ function F(e, t) {
|
|
|
2405
2415
|
const n = e.length, o = { bodySize: n };
|
|
2406
2416
|
return n > Se ? (o.body = Ce(e.slice(0, Se), t), o.bodyTruncated = !0) : o.body = Ce(e, t), t && (o.contentType = t), o;
|
|
2407
2417
|
}
|
|
2408
|
-
function
|
|
2418
|
+
function Mn(e, t) {
|
|
2409
2419
|
const n = t == null ? void 0 : t.body;
|
|
2410
2420
|
if (n != null) {
|
|
2411
2421
|
if (typeof n == "string") return n;
|
|
@@ -2420,10 +2430,10 @@ function Nn(e, t) {
|
|
|
2420
2430
|
}
|
|
2421
2431
|
return e instanceof Request, null;
|
|
2422
2432
|
}
|
|
2423
|
-
function
|
|
2433
|
+
function In(e, t) {
|
|
2424
2434
|
return !!(((o) => o ? o instanceof Headers ? o.has("authorization") : Array.isArray(o) ? o.some(([a]) => a.toLowerCase() === "authorization") : typeof o == "object" ? Object.keys(o).some((a) => a.toLowerCase() === "authorization") : !1 : !1)(t == null ? void 0 : t.headers) || e instanceof Request && e.headers.has("authorization"));
|
|
2425
2435
|
}
|
|
2426
|
-
function
|
|
2436
|
+
function Rn(e, t) {
|
|
2427
2437
|
return ((o) => {
|
|
2428
2438
|
if (o) {
|
|
2429
2439
|
if (o instanceof Headers) return o.get("content-type") || void 0;
|
|
@@ -2438,26 +2448,26 @@ function In(e, t) {
|
|
|
2438
2448
|
}
|
|
2439
2449
|
})(t == null ? void 0 : t.headers) ?? (e instanceof Request && e.headers.get("content-type") || void 0);
|
|
2440
2450
|
}
|
|
2441
|
-
function
|
|
2451
|
+
function Pn(e, t, n) {
|
|
2442
2452
|
if (!Be.has(n)) return;
|
|
2443
|
-
const o =
|
|
2453
|
+
const o = In(e, t), a = Mn(e, t);
|
|
2444
2454
|
if (a == null && !o) return;
|
|
2445
|
-
const r =
|
|
2455
|
+
const r = Rn(e, t), i = a != null ? F(a, r) : {};
|
|
2446
2456
|
return o && (i.hasAuth = !0), i;
|
|
2447
2457
|
}
|
|
2448
|
-
function
|
|
2458
|
+
function _n(e) {
|
|
2449
2459
|
const t = window.fetch;
|
|
2450
2460
|
if (typeof t != "function") return () => {
|
|
2451
2461
|
};
|
|
2452
2462
|
const n = async (o, a) => {
|
|
2453
|
-
const r = performance.now(), i = ((a == null ? void 0 : a.method) ?? (o instanceof Request ? o.method : "GET")).toUpperCase(), s = typeof o == "string" ? o : o instanceof URL ? o.toString() : o.url, c =
|
|
2463
|
+
const r = performance.now(), i = ((a == null ? void 0 : a.method) ?? (o instanceof Request ? o.method : "GET")).toUpperCase(), s = typeof o == "string" ? o : o instanceof URL ? o.toString() : o.url, c = Pn(o, a, i);
|
|
2454
2464
|
try {
|
|
2455
2465
|
const d = await t.call(window, o, a), l = Math.round(performance.now() - r), m = d.status >= 400;
|
|
2456
|
-
let
|
|
2466
|
+
let u;
|
|
2457
2467
|
if (m || e.verbose)
|
|
2458
2468
|
try {
|
|
2459
|
-
const g = await d.clone().text(),
|
|
2460
|
-
|
|
2469
|
+
const g = await d.clone().text(), f = d.headers.get("content-type") || void 0;
|
|
2470
|
+
u = F(g, f);
|
|
2461
2471
|
} catch {
|
|
2462
2472
|
}
|
|
2463
2473
|
return (m || e.verbose) && e.emit({
|
|
@@ -2468,7 +2478,7 @@ function Pn(e) {
|
|
|
2468
2478
|
durationMs: l,
|
|
2469
2479
|
failed: m,
|
|
2470
2480
|
...c ? { request: c } : {},
|
|
2471
|
-
...
|
|
2481
|
+
...u ? { response: u } : {}
|
|
2472
2482
|
}), d;
|
|
2473
2483
|
} catch (d) {
|
|
2474
2484
|
const l = Math.round(performance.now() - r);
|
|
@@ -2488,7 +2498,7 @@ function Pn(e) {
|
|
|
2488
2498
|
window.fetch.__lsBeaconWrapped && (window.fetch = t);
|
|
2489
2499
|
};
|
|
2490
2500
|
}
|
|
2491
|
-
function
|
|
2501
|
+
function Dn(e) {
|
|
2492
2502
|
if (e == null) return null;
|
|
2493
2503
|
if (typeof e == "string") return e;
|
|
2494
2504
|
if (e instanceof URLSearchParams) return e.toString();
|
|
@@ -2500,7 +2510,7 @@ function _n(e) {
|
|
|
2500
2510
|
}
|
|
2501
2511
|
return e instanceof Blob ? `[Blob ${e.size}b ${e.type || "unknown"}]` : e instanceof ArrayBuffer ? `[binary ${e.byteLength}b]` : ArrayBuffer.isView(e) ? `[binary ${e.byteLength}b]` : null;
|
|
2502
2512
|
}
|
|
2503
|
-
function
|
|
2513
|
+
function $n(e) {
|
|
2504
2514
|
const t = XMLHttpRequest.prototype, n = t.open, o = t.send, a = t.setRequestHeader, r = /* @__PURE__ */ new WeakMap();
|
|
2505
2515
|
return t.open = function(s, c, ...d) {
|
|
2506
2516
|
return r.set(this, {
|
|
@@ -2520,31 +2530,31 @@ function Dn(e) {
|
|
|
2520
2530
|
const c = r.get(this);
|
|
2521
2531
|
if (c)
|
|
2522
2532
|
if (c.start = performance.now(), Be.has(c.method)) {
|
|
2523
|
-
const l =
|
|
2533
|
+
const l = Dn(s);
|
|
2524
2534
|
l != null ? c.request = F(l, c.requestContentType) : c.request = {}, c.hasAuth && (c.request.hasAuth = !0);
|
|
2525
2535
|
} else c.hasAuth && (c.request = { hasAuth: !0 });
|
|
2526
2536
|
const d = () => {
|
|
2527
2537
|
this.removeEventListener("loadend", d);
|
|
2528
2538
|
const l = r.get(this);
|
|
2529
2539
|
if (!l) return;
|
|
2530
|
-
const m = Math.round(performance.now() - l.start),
|
|
2540
|
+
const m = Math.round(performance.now() - l.start), u = this.status === 0 || this.status >= 400;
|
|
2531
2541
|
let g;
|
|
2532
|
-
if ((
|
|
2542
|
+
if ((u || e.verbose) && this.status > 0)
|
|
2533
2543
|
try {
|
|
2534
|
-
const
|
|
2535
|
-
if (
|
|
2536
|
-
const
|
|
2537
|
-
g = F(
|
|
2544
|
+
const f = this.responseType === "" || this.responseType === "text" ? this.responseText : "";
|
|
2545
|
+
if (f) {
|
|
2546
|
+
const y = this.getResponseHeader("content-type") || void 0;
|
|
2547
|
+
g = F(f, y);
|
|
2538
2548
|
}
|
|
2539
2549
|
} catch {
|
|
2540
2550
|
}
|
|
2541
|
-
(
|
|
2551
|
+
(u || e.verbose) && e.emit({
|
|
2542
2552
|
kind: "xhr",
|
|
2543
2553
|
url: J(l.url, G),
|
|
2544
2554
|
method: l.method,
|
|
2545
2555
|
status: this.status,
|
|
2546
2556
|
durationMs: m,
|
|
2547
|
-
failed:
|
|
2557
|
+
failed: u,
|
|
2548
2558
|
...l.request ? { request: l.request } : {},
|
|
2549
2559
|
...g ? { response: g } : {}
|
|
2550
2560
|
}), r.delete(this);
|
|
@@ -2554,25 +2564,25 @@ function Dn(e) {
|
|
|
2554
2564
|
t.open = n, t.send = o, t.setRequestHeader = a;
|
|
2555
2565
|
};
|
|
2556
2566
|
}
|
|
2557
|
-
function
|
|
2558
|
-
const t =
|
|
2567
|
+
function Bn(e) {
|
|
2568
|
+
const t = _n(e), n = $n(e);
|
|
2559
2569
|
return {
|
|
2560
2570
|
uninstall() {
|
|
2561
2571
|
t(), n();
|
|
2562
2572
|
}
|
|
2563
2573
|
};
|
|
2564
2574
|
}
|
|
2565
|
-
const
|
|
2566
|
-
class
|
|
2575
|
+
const zn = 1e3, ke = 50, On = 500;
|
|
2576
|
+
class Hn {
|
|
2567
2577
|
constructor(t) {
|
|
2568
2578
|
this.buffer = [], this.inflight = !1, this.timer = null, this.destroyed = !1, this.handleVisibilityChange = () => {
|
|
2569
2579
|
document.visibilityState === "hidden" && this.flushSync();
|
|
2570
2580
|
}, this.url = t.url, this.sessionId = t.sessionId, this.onError = t.onError, this.timer = setInterval(() => {
|
|
2571
2581
|
this.flush();
|
|
2572
|
-
},
|
|
2582
|
+
}, zn), this.pagehideHandler = () => this.flushSync(), window.addEventListener("pagehide", this.pagehideHandler), document.addEventListener("visibilitychange", this.handleVisibilityChange);
|
|
2573
2583
|
}
|
|
2574
2584
|
enqueue(t) {
|
|
2575
|
-
this.destroyed || (this.buffer.push(t), this.buffer.length >
|
|
2585
|
+
this.destroyed || (this.buffer.push(t), this.buffer.length > On && this.buffer.shift(), this.buffer.length >= ke && this.flush());
|
|
2576
2586
|
}
|
|
2577
2587
|
/** Async flush via fetch. No-op when in-flight or empty. */
|
|
2578
2588
|
async flush() {
|
|
@@ -2635,10 +2645,10 @@ class On {
|
|
|
2635
2645
|
const ne = "__lsBeaconMonitorUrl", Oe = "__lsBeaconMonitorSession", oe = "__lsBeaconMonitorVerbose", re = "__lsBeaconMonitorDeadline", He = 30 * 6e4, Ae = 4096;
|
|
2636
2646
|
let w = null;
|
|
2637
2647
|
const Q = /* @__PURE__ */ new Set();
|
|
2638
|
-
function
|
|
2648
|
+
function Un() {
|
|
2639
2649
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID().slice(0, 8) : Math.random().toString(36).slice(2, 10);
|
|
2640
2650
|
}
|
|
2641
|
-
function
|
|
2651
|
+
function qn(e) {
|
|
2642
2652
|
const t = /* @__PURE__ */ new WeakSet(), n = (o) => {
|
|
2643
2653
|
if (o === null || typeof o != "object")
|
|
2644
2654
|
return typeof o == "string" && o.length > Ae ? o.slice(0, Ae) : o;
|
|
@@ -2666,7 +2676,7 @@ function ae() {
|
|
|
2666
2676
|
} catch {
|
|
2667
2677
|
}
|
|
2668
2678
|
}
|
|
2669
|
-
function
|
|
2679
|
+
function Fn(e) {
|
|
2670
2680
|
return w ? (w.seq += 1, {
|
|
2671
2681
|
...e,
|
|
2672
2682
|
ts: Date.now(),
|
|
@@ -2681,10 +2691,10 @@ function qn(e) {
|
|
|
2681
2691
|
}
|
|
2682
2692
|
function P(e) {
|
|
2683
2693
|
if (!w) return;
|
|
2684
|
-
const t =
|
|
2694
|
+
const t = Fn(e);
|
|
2685
2695
|
w.transport.enqueue(t);
|
|
2686
2696
|
}
|
|
2687
|
-
function
|
|
2697
|
+
function jn() {
|
|
2688
2698
|
if (w)
|
|
2689
2699
|
try {
|
|
2690
2700
|
sessionStorage.setItem(ne, w.url), sessionStorage.setItem(Oe, w.sessionId), sessionStorage.setItem(oe, w.verbose ? "1" : "0"), sessionStorage.setItem(re, String(w.deadlineMs));
|
|
@@ -2697,7 +2707,7 @@ function Ue() {
|
|
|
2697
2707
|
} catch {
|
|
2698
2708
|
}
|
|
2699
2709
|
}
|
|
2700
|
-
function
|
|
2710
|
+
function Vn() {
|
|
2701
2711
|
try {
|
|
2702
2712
|
const e = sessionStorage.getItem(ne);
|
|
2703
2713
|
if (!e) return null;
|
|
@@ -2722,30 +2732,30 @@ function Le(e) {
|
|
|
2722
2732
|
}
|
|
2723
2733
|
function qe(e) {
|
|
2724
2734
|
if (w && j(), !e.url) return;
|
|
2725
|
-
const t = e.maxSessionMs ?? He, n = Date.now() + t, o =
|
|
2735
|
+
const t = e.maxSessionMs ?? He, n = Date.now() + t, o = Un(), a = !!e.verbose, r = new Hn({
|
|
2726
2736
|
url: e.url,
|
|
2727
2737
|
sessionId: o,
|
|
2728
|
-
onError: (
|
|
2729
|
-
console.warn("[launch-kit-beacon] monitor transport error:",
|
|
2738
|
+
onError: (f) => {
|
|
2739
|
+
console.warn("[launch-kit-beacon] monitor transport error:", f.message);
|
|
2730
2740
|
}
|
|
2731
2741
|
}), i = Pe(), s = i.install(), c = i.snapshot();
|
|
2732
|
-
for (const
|
|
2742
|
+
for (const f of c) Le(f);
|
|
2733
2743
|
let d = c.length;
|
|
2734
2744
|
const l = i.subscribe(() => {
|
|
2735
2745
|
if (!w) return;
|
|
2736
|
-
const
|
|
2737
|
-
for (; w.drainedThrough <
|
|
2738
|
-
const
|
|
2739
|
-
|
|
2746
|
+
const f = w.errorsBuffer.snapshot();
|
|
2747
|
+
for (; w.drainedThrough < f.length; ) {
|
|
2748
|
+
const y = f[w.drainedThrough];
|
|
2749
|
+
y && Le(y), w.drainedThrough += 1;
|
|
2740
2750
|
}
|
|
2741
|
-
}), m =
|
|
2742
|
-
emit: (
|
|
2751
|
+
}), m = Bn({
|
|
2752
|
+
emit: (f) => P(f),
|
|
2743
2753
|
verbose: a
|
|
2744
|
-
}),
|
|
2745
|
-
emitClick: (
|
|
2746
|
-
emitRoute: (
|
|
2747
|
-
emitDialog: (
|
|
2748
|
-
emitSubmit: (
|
|
2754
|
+
}), u = Ln({
|
|
2755
|
+
emitClick: (f) => P(f),
|
|
2756
|
+
emitRoute: (f) => P(f),
|
|
2757
|
+
emitDialog: (f) => P(f),
|
|
2758
|
+
emitSubmit: (f) => P(f)
|
|
2749
2759
|
}), g = setTimeout(() => {
|
|
2750
2760
|
console.info("[launch-kit-beacon] monitor session expired (max duration reached)"), j();
|
|
2751
2761
|
}, Math.max(0, n - Date.now()));
|
|
@@ -2758,27 +2768,27 @@ function qe(e) {
|
|
|
2758
2768
|
transport: r,
|
|
2759
2769
|
errorsBuffer: i,
|
|
2760
2770
|
uninstallNetwork: m.uninstall,
|
|
2761
|
-
uninstallDom:
|
|
2771
|
+
uninstallDom: u.uninstall,
|
|
2762
2772
|
uninstallErrors: s,
|
|
2763
2773
|
errorsUnsub: l,
|
|
2764
2774
|
deadlineTimer: g,
|
|
2765
2775
|
drainedThrough: d
|
|
2766
|
-
},
|
|
2776
|
+
}, jn(), ae();
|
|
2767
2777
|
}
|
|
2768
2778
|
function j() {
|
|
2769
2779
|
Fe(), Ue(), ae();
|
|
2770
2780
|
}
|
|
2771
|
-
function
|
|
2781
|
+
function Wn() {
|
|
2772
2782
|
w && (Fe(), ae());
|
|
2773
2783
|
}
|
|
2774
2784
|
function Fe() {
|
|
2775
2785
|
w && (clearTimeout(w.deadlineTimer), w.errorsUnsub(), w.uninstallErrors(), w.uninstallNetwork(), w.uninstallDom(), w.transport.destroy(), w = null);
|
|
2776
2786
|
}
|
|
2777
|
-
function
|
|
2787
|
+
function ro(e, t) {
|
|
2778
2788
|
w && P({
|
|
2779
2789
|
kind: "probe",
|
|
2780
2790
|
label: e.slice(0, 200),
|
|
2781
|
-
data:
|
|
2791
|
+
data: qn(t)
|
|
2782
2792
|
});
|
|
2783
2793
|
}
|
|
2784
2794
|
function Te() {
|
|
@@ -2792,19 +2802,19 @@ function Me(e) {
|
|
|
2792
2802
|
Q.delete(e);
|
|
2793
2803
|
};
|
|
2794
2804
|
}
|
|
2795
|
-
function
|
|
2805
|
+
function Yn() {
|
|
2796
2806
|
if (w || typeof window > "u") return;
|
|
2797
|
-
const e =
|
|
2807
|
+
const e = Vn();
|
|
2798
2808
|
e && qe({
|
|
2799
2809
|
url: e.url,
|
|
2800
2810
|
verbose: e.verbose,
|
|
2801
2811
|
maxSessionMs: Math.max(6e4, e.deadlineMs - Date.now())
|
|
2802
2812
|
});
|
|
2803
2813
|
}
|
|
2804
|
-
function
|
|
2814
|
+
function ao(e = {}) {
|
|
2805
2815
|
let t = null, n = null, o = "", a = null;
|
|
2806
2816
|
function r() {
|
|
2807
|
-
a || (a =
|
|
2817
|
+
a || (a = bn({
|
|
2808
2818
|
onStop: () => j(),
|
|
2809
2819
|
url: Ne()
|
|
2810
2820
|
}));
|
|
@@ -2825,29 +2835,29 @@ function ro(e = {}) {
|
|
|
2825
2835
|
l.className = "beacon-monitor-title", l.textContent = "Monitor — paste a stream URL", t.appendChild(l);
|
|
2826
2836
|
const m = document.createElement("div");
|
|
2827
2837
|
m.className = "beacon-monitor-row";
|
|
2828
|
-
const
|
|
2829
|
-
|
|
2838
|
+
const u = document.createElement("input");
|
|
2839
|
+
u.type = "url", u.className = "beacon-monitor-input", u.placeholder = "http://localhost:9876/m/…", u.value = o, u.autocomplete = "off", u.spellcheck = !1, m.appendChild(u);
|
|
2830
2840
|
const g = document.createElement("button");
|
|
2831
2841
|
g.type = "button", g.className = "beacon-monitor-btn", g.textContent = "Start", g.disabled = !o.trim(), m.appendChild(g), t.appendChild(m);
|
|
2832
|
-
const
|
|
2833
|
-
|
|
2834
|
-
const
|
|
2835
|
-
|
|
2842
|
+
const f = document.createElement("label");
|
|
2843
|
+
f.className = "beacon-monitor-verbose";
|
|
2844
|
+
const y = document.createElement("input");
|
|
2845
|
+
y.type = "checkbox", y.dataset.role = "verbose", f.appendChild(y), f.appendChild(document.createTextNode(" verbose (capture successful network too)")), t.appendChild(f);
|
|
2836
2846
|
const S = document.createElement("div");
|
|
2837
|
-
S.className = "beacon-monitor-help", S.textContent = "Streams clicks, failed network, errors, route + dialog changes.", t.appendChild(S),
|
|
2838
|
-
o =
|
|
2847
|
+
S.className = "beacon-monitor-help", S.textContent = "Streams clicks, failed network, errors, route + dialog changes.", t.appendChild(S), u.addEventListener("input", () => {
|
|
2848
|
+
o = u.value, g.disabled = !u.value.trim();
|
|
2839
2849
|
}), g.addEventListener("click", () => {
|
|
2840
|
-
const h =
|
|
2850
|
+
const h = u.value.trim();
|
|
2841
2851
|
if (h) {
|
|
2842
2852
|
try {
|
|
2843
2853
|
new URL(h);
|
|
2844
2854
|
} catch {
|
|
2845
|
-
|
|
2855
|
+
u.setCustomValidity("Enter a valid URL (e.g. http://localhost:9876/m/abc)"), u.reportValidity();
|
|
2846
2856
|
return;
|
|
2847
2857
|
}
|
|
2848
|
-
|
|
2858
|
+
u.setCustomValidity(""), qe({
|
|
2849
2859
|
url: h,
|
|
2850
|
-
verbose:
|
|
2860
|
+
verbose: y.checked,
|
|
2851
2861
|
...e.maxSessionMs !== void 0 ? { maxSessionMs: e.maxSessionMs } : {}
|
|
2852
2862
|
});
|
|
2853
2863
|
}
|
|
@@ -2858,14 +2868,14 @@ function ro(e = {}) {
|
|
|
2858
2868
|
t.innerHTML = "";
|
|
2859
2869
|
const l = Ne() ?? "", m = document.createElement("div");
|
|
2860
2870
|
m.className = "beacon-monitor-title";
|
|
2861
|
-
const
|
|
2862
|
-
|
|
2871
|
+
const u = document.createElement("span");
|
|
2872
|
+
u.className = "beacon-monitor-rec", u.setAttribute("aria-hidden", "true"), m.appendChild(u), m.appendChild(document.createTextNode(" Monitor — recording")), t.appendChild(m);
|
|
2863
2873
|
const g = document.createElement("div");
|
|
2864
2874
|
g.className = "beacon-monitor-active-url", g.title = l, g.textContent = l, t.appendChild(g);
|
|
2865
|
-
const
|
|
2866
|
-
|
|
2867
|
-
const
|
|
2868
|
-
|
|
2875
|
+
const f = document.createElement("div");
|
|
2876
|
+
f.className = "beacon-monitor-row";
|
|
2877
|
+
const y = document.createElement("button");
|
|
2878
|
+
y.type = "button", y.className = "beacon-monitor-btn stop", y.textContent = "Stop monitoring", y.addEventListener("click", () => j()), f.appendChild(y), t.appendChild(f);
|
|
2869
2879
|
const S = document.createElement("div");
|
|
2870
2880
|
S.className = "beacon-monitor-help", S.textContent = "Events stream to the URL above. Auto-stops after 30 min.", t.appendChild(S);
|
|
2871
2881
|
}
|
|
@@ -2875,17 +2885,17 @@ function ro(e = {}) {
|
|
|
2875
2885
|
return {
|
|
2876
2886
|
name: "liveMonitor",
|
|
2877
2887
|
setupOnce(l) {
|
|
2878
|
-
|
|
2879
|
-
const m = Me((g,
|
|
2880
|
-
g ? (r(), a == null || a.updateUrl(
|
|
2881
|
-
}),
|
|
2888
|
+
Yn(), Te() && r();
|
|
2889
|
+
const m = Me((g, f) => {
|
|
2890
|
+
g ? (r(), a == null || a.updateUrl(f)) : i();
|
|
2891
|
+
}), u = () => {
|
|
2882
2892
|
i(), m();
|
|
2883
2893
|
try {
|
|
2884
|
-
|
|
2894
|
+
Wn();
|
|
2885
2895
|
} catch {
|
|
2886
2896
|
}
|
|
2887
2897
|
};
|
|
2888
|
-
l.signal.addEventListener("abort",
|
|
2898
|
+
l.signal.addEventListener("abort", u, { once: !0 });
|
|
2889
2899
|
},
|
|
2890
2900
|
form() {
|
|
2891
2901
|
return {
|
|
@@ -2904,12 +2914,12 @@ const ie = {
|
|
|
2904
2914
|
"submit:error": /* @__PURE__ */ new Set(),
|
|
2905
2915
|
ready: /* @__PURE__ */ new Set()
|
|
2906
2916
|
};
|
|
2907
|
-
function
|
|
2917
|
+
function io(e) {
|
|
2908
2918
|
if (typeof window > "u") return;
|
|
2909
2919
|
if (!e.endpoint) throw new Error("init: endpoint is required");
|
|
2910
|
-
Re(),
|
|
2911
|
-
const t = { ...lt(), ...e.labels ?? {} }, n = new AbortController(), o =
|
|
2912
|
-
Xe(),
|
|
2920
|
+
Re(), Kn();
|
|
2921
|
+
const t = { ...lt(), ...e.labels ?? {} }, n = new AbortController(), o = Zn(e), a = e.position ?? "bottom-right", r = e.theme ?? "auto";
|
|
2922
|
+
Xe(), Jn(e, a, r);
|
|
2913
2923
|
const i = document.querySelector(z);
|
|
2914
2924
|
if (!i)
|
|
2915
2925
|
throw new Error("init: failed to acquire <launch-kit-beacon> host");
|
|
@@ -2920,7 +2930,7 @@ function ao(e) {
|
|
|
2920
2930
|
["bug", "idea", "ux", "a11y"],
|
|
2921
2931
|
{
|
|
2922
2932
|
onSubmit: () => {
|
|
2923
|
-
|
|
2933
|
+
to();
|
|
2924
2934
|
},
|
|
2925
2935
|
onClose: (m) => {
|
|
2926
2936
|
V("close", {}), m === "user" && Ve();
|
|
@@ -2940,7 +2950,7 @@ function ao(e) {
|
|
|
2940
2950
|
hostElement: i,
|
|
2941
2951
|
initAbort: n,
|
|
2942
2952
|
labels: t,
|
|
2943
|
-
debug: !!e.debug ||
|
|
2953
|
+
debug: !!e.debug || eo(),
|
|
2944
2954
|
healthIndicator: e.healthIndicator ?? "never",
|
|
2945
2955
|
position: a,
|
|
2946
2956
|
theme: r,
|
|
@@ -2955,12 +2965,12 @@ function ao(e) {
|
|
|
2955
2965
|
},
|
|
2956
2966
|
panelSources: []
|
|
2957
2967
|
};
|
|
2958
|
-
N = l, i.onTriggerClick = () =>
|
|
2968
|
+
N = l, i.onTriggerClick = () => Xn(), d.install(
|
|
2959
2969
|
(m) => je(m),
|
|
2960
2970
|
(m) => se(m)
|
|
2961
2971
|
), B("ready", { ready: !0 }), l.debug && console.info("[beacon] ready", l.endpoint);
|
|
2962
2972
|
}
|
|
2963
|
-
function
|
|
2973
|
+
function Xn() {
|
|
2964
2974
|
const e = N;
|
|
2965
2975
|
e && (e.currentSubmit || (e.panelSources = e.plugins.map((t) => {
|
|
2966
2976
|
if (!t.form) return null;
|
|
@@ -2988,11 +2998,11 @@ function Yn() {
|
|
|
2988
2998
|
}
|
|
2989
2999
|
}), e.dialog.open(), V("open", {})));
|
|
2990
3000
|
}
|
|
2991
|
-
function
|
|
3001
|
+
function so() {
|
|
2992
3002
|
const e = N;
|
|
2993
3003
|
e && e.dialog.close("user");
|
|
2994
3004
|
}
|
|
2995
|
-
function
|
|
3005
|
+
function Kn() {
|
|
2996
3006
|
var t;
|
|
2997
3007
|
const e = N;
|
|
2998
3008
|
if (e) {
|
|
@@ -3004,7 +3014,7 @@ function Xn() {
|
|
|
3004
3014
|
e.hostElement.onTriggerClick = null, N = null;
|
|
3005
3015
|
}
|
|
3006
3016
|
}
|
|
3007
|
-
function
|
|
3017
|
+
function co() {
|
|
3008
3018
|
const e = N;
|
|
3009
3019
|
return e ? {
|
|
3010
3020
|
ready: !0,
|
|
@@ -3012,13 +3022,13 @@ function so() {
|
|
|
3012
3022
|
plugins: e.registry.status()
|
|
3013
3023
|
} : { ready: !1, transport: "idle", plugins: {} };
|
|
3014
3024
|
}
|
|
3015
|
-
function
|
|
3016
|
-
return ie[e].add(t), () =>
|
|
3025
|
+
function lo(e, t) {
|
|
3026
|
+
return ie[e].add(t), () => Gn(e, t);
|
|
3017
3027
|
}
|
|
3018
|
-
function
|
|
3028
|
+
function Gn(e, t) {
|
|
3019
3029
|
ie[e].delete(t);
|
|
3020
3030
|
}
|
|
3021
|
-
function
|
|
3031
|
+
function Jn(e, t, n) {
|
|
3022
3032
|
let o = document.querySelector(z);
|
|
3023
3033
|
if (!o) {
|
|
3024
3034
|
o = document.createElement(z), o.setAttribute("position", t), o.setAttribute("theme", n), t === "hidden" && (o.style.position = "absolute", o.style.left = "-9999px"), (document.body ?? document.documentElement).appendChild(o);
|
|
@@ -3026,13 +3036,13 @@ function Gn(e, t, n) {
|
|
|
3026
3036
|
}
|
|
3027
3037
|
e.position !== void 0 && o.setAttribute("position", t), e.theme !== void 0 && o.setAttribute("theme", n);
|
|
3028
3038
|
}
|
|
3029
|
-
function
|
|
3030
|
-
return e.plugins ? e.plugins : e.defaultPlugins === !1 ? [] :
|
|
3031
|
-
}
|
|
3032
|
-
function Zn() {
|
|
3033
|
-
return [ft(), wt(), ln(), un()];
|
|
3039
|
+
function Zn(e) {
|
|
3040
|
+
return e.plugins ? e.plugins : e.defaultPlugins === !1 ? [] : Qn();
|
|
3034
3041
|
}
|
|
3035
3042
|
function Qn() {
|
|
3043
|
+
return [ft(), wt(), dn(), pn()];
|
|
3044
|
+
}
|
|
3045
|
+
function eo() {
|
|
3036
3046
|
if (typeof window > "u") return !1;
|
|
3037
3047
|
try {
|
|
3038
3048
|
return new URLSearchParams(window.location.search).has("lsbeacon-debug");
|
|
@@ -3092,7 +3102,7 @@ function Ve() {
|
|
|
3092
3102
|
const e = N;
|
|
3093
3103
|
e && (e.dialog.resetState(), e.dialog.clearPluginPanels(), e.formValues = {});
|
|
3094
3104
|
}
|
|
3095
|
-
async function
|
|
3105
|
+
async function to() {
|
|
3096
3106
|
const e = N;
|
|
3097
3107
|
if (!e || e.currentSubmit) return;
|
|
3098
3108
|
const t = e.dialog.getDescription().trim();
|
|
@@ -3107,7 +3117,7 @@ async function eo() {
|
|
|
3107
3117
|
(s) => e.capturedEntries[s],
|
|
3108
3118
|
(s) => se(s)
|
|
3109
3119
|
);
|
|
3110
|
-
e.capturedEntries = o, n =
|
|
3120
|
+
e.capturedEntries = o, n = no(e, t, o);
|
|
3111
3121
|
let a = null;
|
|
3112
3122
|
if (V("beforeSubmit", { payload: n, cancel: (s) => {
|
|
3113
3123
|
a === null && (a = s);
|
|
@@ -3134,9 +3144,9 @@ async function eo() {
|
|
|
3134
3144
|
e.currentSubmit = null;
|
|
3135
3145
|
}
|
|
3136
3146
|
}
|
|
3137
|
-
function
|
|
3147
|
+
function no(e, t, n) {
|
|
3138
3148
|
var r;
|
|
3139
|
-
const o =
|
|
3149
|
+
const o = oo(), a = (r = e.context) == null ? void 0 : r.call(e);
|
|
3140
3150
|
return {
|
|
3141
3151
|
description: t,
|
|
3142
3152
|
severity: e.dialog.getSeverity(),
|
|
@@ -3145,7 +3155,7 @@ function to(e, t, n) {
|
|
|
3145
3155
|
plugins: n
|
|
3146
3156
|
};
|
|
3147
3157
|
}
|
|
3148
|
-
function
|
|
3158
|
+
function oo() {
|
|
3149
3159
|
const e = window.location.href, t = document.referrer, n = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
3150
3160
|
return {
|
|
3151
3161
|
url: e,
|
|
@@ -3169,22 +3179,22 @@ function no() {
|
|
|
3169
3179
|
Re();
|
|
3170
3180
|
export {
|
|
3171
3181
|
Ne as currentMonitorUrl,
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3182
|
+
Kn as destroy,
|
|
3183
|
+
dn as domEle,
|
|
3184
|
+
pn as domSS,
|
|
3175
3185
|
wt as errors,
|
|
3176
|
-
|
|
3177
|
-
|
|
3186
|
+
so as hide,
|
|
3187
|
+
io as init,
|
|
3178
3188
|
Te as isMonitorActive,
|
|
3179
|
-
|
|
3180
|
-
|
|
3189
|
+
un as isPluginFailure,
|
|
3190
|
+
ao as liveMonitor,
|
|
3181
3191
|
ft as metadata,
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3192
|
+
Gn as off,
|
|
3193
|
+
lo as on,
|
|
3194
|
+
ro as probe,
|
|
3195
|
+
Xn as show,
|
|
3186
3196
|
qe as startMonitor,
|
|
3187
|
-
|
|
3197
|
+
co as status,
|
|
3188
3198
|
j as stopMonitor
|
|
3189
3199
|
};
|
|
3190
3200
|
//# sourceMappingURL=beacon.mjs.map
|