@amalgm/browser 0.1.0 → 0.1.1

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/PURPOSE.md CHANGED
@@ -50,6 +50,9 @@ public Browser ports. It does not own a second browser implementation.
50
50
 
51
51
  ## Axioms
52
52
 
53
+ Managed releases bind to one exact published Core version and build from the
54
+ locked dependency graph on the supported Node toolchain.
55
+
53
56
  1. Browser owns browser state and never depends on Chat, Agents, Engine,
54
57
  Realtime, or an application renderer to define it.
55
58
  2. Every state change passes through `BrowserService`; drivers execute actions
@@ -115,3 +118,8 @@ they cannot inspect one another. Named auth bundles are separate, explicit
115
118
  snapshots. Captures, input coordinates, and recordings all address the same
116
119
  verified page, while large artifacts leave the API through the injected store.
117
120
  Engine and Realtime can compose and relay Browser without becoming Browser.
121
+
122
+ The Browser build supplies its Electron CommonJS adapter and companion preload as
123
+ SDK-owned artifacts; a UI copies those bytes without rebuilding Browser behavior.
124
+ Desktop bridge discovery uses one host-selected machine namespace and a validated
125
+ Core binding; neither a shared user root nor an unknown lane selects another host.
@@ -24,7 +24,12 @@ export class NativeAdBlocker {
24
24
  this.allowlist = new AdBlockAllowlist(options.settingsPath);
25
25
  }
26
26
  cosmeticPreloadPath() {
27
- return this.disabled ? null : this.options.preloadPath || path.join(import.meta.dirname, 'preload.js');
27
+ const generatedName = typeof __AMALGM_BROWSER_ADBLOCK_PRELOAD__ === 'string'
28
+ ? __AMALGM_BROWSER_ADBLOCK_PRELOAD__
29
+ : 'preload.js';
30
+ return this.disabled
31
+ ? null
32
+ : this.options.preloadPath || path.join(import.meta.dirname, generatedName);
28
33
  }
29
34
  install(session) {
30
35
  if (this.installed === session)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/drivers/electron/native/adblock/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/drivers/electron/native/adblock/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ // src/drivers/electron/native/adblock/preload.ts
4
+ var import_electron = require("electron");
5
+ var COSMETIC_INJECTION_CHANNEL = "@ghostery/adblocker/inject-cosmetic-filters";
6
+ var MUTATION_OBSERVER_CHANNEL = "@ghostery/adblocker/is-mutation-observer-enabled";
7
+ var IGNORED_TAGS = /* @__PURE__ */ new Set(["br", "head", "link", "meta", "script", "style", "s"]);
8
+ var MUTATION_DEBOUNCE_MS = 25;
9
+ var MUTATION_MAX_WAIT_MS = 1e3;
10
+ var MUTATION_ELEMENT_LIMIT = 512;
11
+ if (window === window.top && !window.location.href.startsWith("devtools://")) {
12
+ const knownClasses = /* @__PURE__ */ new Set();
13
+ const knownHrefs = /* @__PURE__ */ new Set();
14
+ const knownIds = /* @__PURE__ */ new Set();
15
+ const pendingElements = /* @__PURE__ */ new Set();
16
+ let observer = null;
17
+ let debounceTimer = null;
18
+ let maxWaitTimer = null;
19
+ const inject = (features) => {
20
+ void import_electron.ipcRenderer.invoke(COSMETIC_INJECTION_CHANNEL, window.location.href, features).catch(() => void 0);
21
+ };
22
+ const clearTimers = () => {
23
+ if (debounceTimer) clearTimeout(debounceTimer);
24
+ if (maxWaitTimer) clearTimeout(maxWaitTimer);
25
+ debounceTimer = null;
26
+ maxWaitTimer = null;
27
+ };
28
+ const addNewValue = (value, known, additions) => {
29
+ if (!value || known.has(value)) return;
30
+ known.add(value);
31
+ additions.push(value);
32
+ };
33
+ const collectFeatures = (roots) => {
34
+ const classes = [];
35
+ const hrefs = [];
36
+ const ids = [];
37
+ const visited = /* @__PURE__ */ new Set();
38
+ for (const root of roots) {
39
+ const elements = [
40
+ root,
41
+ ...Array.from(root.querySelectorAll("[id], [class], [href]"))
42
+ ];
43
+ for (const element of elements) {
44
+ if (visited.has(element)) continue;
45
+ visited.add(element);
46
+ if (IGNORED_TAGS.has(element.tagName.toLowerCase())) continue;
47
+ addNewValue(element.getAttribute("id"), knownIds, ids);
48
+ addNewValue(element.getAttribute("href"), knownHrefs, hrefs);
49
+ for (const className of Array.from(element.classList)) {
50
+ addNewValue(className, knownClasses, classes);
51
+ }
52
+ }
53
+ }
54
+ if (classes.length || hrefs.length || ids.length) {
55
+ inject({ classes, hrefs, ids, lifecycle: "dom-update" });
56
+ }
57
+ };
58
+ const flushPendingElements = () => {
59
+ clearTimers();
60
+ if (!pendingElements.size) return;
61
+ const elements = [...pendingElements];
62
+ pendingElements.clear();
63
+ collectFeatures(elements);
64
+ };
65
+ const scheduleFlush = () => {
66
+ if (!maxWaitTimer) {
67
+ maxWaitTimer = setTimeout(flushPendingElements, MUTATION_MAX_WAIT_MS);
68
+ }
69
+ if (debounceTimer) clearTimeout(debounceTimer);
70
+ debounceTimer = setTimeout(flushPendingElements, MUTATION_DEBOUNCE_MS);
71
+ };
72
+ const queueElement = (node) => {
73
+ if (node.nodeType === Node.ELEMENT_NODE) {
74
+ pendingElements.add(node);
75
+ }
76
+ };
77
+ const startMonitoring = () => {
78
+ if (observer || !document.documentElement) return;
79
+ observer = new MutationObserver((mutations) => {
80
+ for (const mutation of mutations) {
81
+ if (mutation.type === "attributes") {
82
+ queueElement(mutation.target);
83
+ } else {
84
+ mutation.addedNodes.forEach(queueElement);
85
+ }
86
+ }
87
+ if (pendingElements.size > MUTATION_ELEMENT_LIMIT) {
88
+ flushPendingElements();
89
+ } else if (pendingElements.size) {
90
+ scheduleFlush();
91
+ }
92
+ });
93
+ observer.observe(document.documentElement, {
94
+ attributes: true,
95
+ attributeFilter: ["class", "id", "href"],
96
+ childList: true,
97
+ subtree: true
98
+ });
99
+ };
100
+ inject();
101
+ window.addEventListener("DOMContentLoaded", () => {
102
+ if (document.documentElement) collectFeatures([document.documentElement]);
103
+ void import_electron.ipcRenderer.invoke(MUTATION_OBSERVER_CHANNEL).then((enabled) => {
104
+ if (enabled) startMonitoring();
105
+ }).catch(() => void 0);
106
+ }, { once: true, passive: true });
107
+ window.addEventListener("unload", () => {
108
+ observer?.disconnect();
109
+ observer = null;
110
+ pendingElements.clear();
111
+ clearTimers();
112
+ }, { once: true, passive: true });
113
+ }