zan-browser 1.3.29 → 1.3.30

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/observer.js CHANGED
@@ -12,16 +12,48 @@ const PREFIX = {
12
12
  radio: "R",
13
13
  other: "O",
14
14
  };
15
+ // Notte whitelist: only these attributes are included in the rendered output
16
+ const ATTR_WHITELIST = [
17
+ "title", "type", "name", "role", "tabindex", "aria_label",
18
+ "placeholder", "value", "alt", "src", "href", "aria_expanded",
19
+ ];
20
+ // Map from HTML attribute names to our whitelist keys
21
+ const HTML_ATTR_MAP = {
22
+ "title": "title",
23
+ "type": "type",
24
+ "name": "name",
25
+ "role": "role",
26
+ "tabindex": "tabindex",
27
+ "aria-label": "aria_label",
28
+ "placeholder": "placeholder",
29
+ "value": "value",
30
+ "alt": "alt",
31
+ "src": "src",
32
+ "href": "href",
33
+ "aria-expanded": "aria_expanded",
34
+ };
35
+ // Interactive element selectors
36
+ const INTERACTIVE_SELECTOR = [
37
+ "button", "[role='button']", "input[type='submit']", "input[type='button']",
38
+ "input:not([type='submit']):not([type='button']):not([type='hidden'])",
39
+ "a[href]", "select", "textarea",
40
+ "[role='link']", "[role='menuitem']", "[role='tab']", "[role='option']",
41
+ "[onclick]", "[tabindex]",
42
+ ].join(", ");
43
+ // Dialog/modal selectors
44
+ const DIALOG_SELECTORS = [
45
+ "[role='dialog']", "[role='alertdialog']", "[aria-modal='true']",
46
+ "dialog", ".modal",
47
+ ];
15
48
  class Observer {
16
49
  page;
17
50
  constructor(page) {
18
51
  this.page = page;
19
52
  }
20
- // Returns the full DOM state as structured data + human-readable text
21
- // This is always called FIRST before any screenshot
22
53
  async observe() {
23
- const result = await this.page.evaluate(() => {
24
- const elements = [];
54
+ const result = await this.page.evaluate((args) => {
55
+ const { INTERACTIVE_SEL, DIALOG_SELS, HTML_ATTR_KEYS } = args;
56
+ const baseUrl = window.location.href;
25
57
  const isVisible = (el) => {
26
58
  const rect = el.getBoundingClientRect();
27
59
  const style = window.getComputedStyle(el);
@@ -31,135 +63,233 @@ class Observer {
31
63
  style.visibility !== "hidden" &&
32
64
  style.opacity !== "0");
33
65
  };
34
- const getText = (el) => {
35
- const aria = el.getAttribute("aria-label");
36
- if (aria)
37
- return aria.trim();
38
- const title = el.getAttribute("title");
39
- if (title)
40
- return title.trim();
66
+ const resolveUrl = (url) => {
67
+ if (!url)
68
+ return url;
69
+ try {
70
+ return new URL(url, baseUrl).href;
71
+ }
72
+ catch {
73
+ return url;
74
+ }
75
+ };
76
+ const truncate = (val, max) => val.length > max ? val.slice(0, max) : val;
77
+ const getWhitelistedAttrs = (el) => {
78
+ const out = {};
79
+ for (const htmlAttr of HTML_ATTR_KEYS) {
80
+ const val = el.getAttribute(htmlAttr);
81
+ if (val == null || val === "")
82
+ continue;
83
+ // Map HTML attr name to our key
84
+ const key = htmlAttr.replace(/-/g, "_");
85
+ let resolved = val;
86
+ if (htmlAttr === "href" || htmlAttr === "src") {
87
+ resolved = resolveUrl(val);
88
+ }
89
+ out[key] = truncate(resolved, 60);
90
+ }
91
+ // For inputs, also grab the live .value if different from attr
92
+ if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
93
+ if (el.value && el.value !== out["value"]) {
94
+ out["value"] = truncate(el.value, 60);
95
+ }
96
+ }
97
+ return out;
98
+ };
99
+ const getInnerText = (el) => {
41
100
  return (el.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 100);
42
101
  };
43
- // Buttons
44
- document.querySelectorAll("button, [role='button'], input[type='submit'], input[type='button']").forEach((el) => {
45
- elements.push({
46
- tag: "button",
47
- text: getText(el),
48
- disabled: el.disabled ?? false,
49
- visible: isVisible(el),
50
- ariaLabel: el.getAttribute("aria-label") ?? undefined,
51
- });
52
- });
53
- // Inputs
54
- document.querySelectorAll("input:not([type='submit']):not([type='button']):not([type='hidden']):not([type='checkbox']):not([type='radio'])").forEach((el) => {
55
- const input = el;
56
- elements.push({
57
- tag: "input",
58
- type: input.type,
59
- text: getText(el),
60
- placeholder: input.placeholder || undefined,
61
- value: input.value || undefined,
62
- disabled: input.disabled,
63
- visible: isVisible(el),
64
- });
65
- });
66
- // Links
67
- document.querySelectorAll("a[href]").forEach((el) => {
68
- const anchor = el;
69
- const text = getText(el);
70
- if (!text)
71
- return; // skip empty links
72
- elements.push({
73
- tag: "link",
74
- text,
75
- href: anchor.href,
76
- disabled: false,
77
- visible: isVisible(el),
78
- });
79
- });
80
- // Selects
81
- document.querySelectorAll("select").forEach((el) => {
82
- const select = el;
83
- elements.push({
84
- tag: "select",
85
- text: getText(el),
86
- value: select.value || undefined,
87
- disabled: select.disabled,
88
- visible: isVisible(el),
89
- });
90
- });
91
- // Textareas
92
- document.querySelectorAll("textarea").forEach((el) => {
93
- const textarea = el;
94
- elements.push({
95
- tag: "textarea",
96
- text: getText(el),
97
- placeholder: textarea.placeholder || undefined,
98
- value: textarea.value || undefined,
99
- disabled: textarea.disabled,
100
- visible: isVisible(el),
101
- });
102
- });
103
- // Checkboxes & radios
104
- document.querySelectorAll("input[type='checkbox'], input[type='radio']").forEach((el) => {
105
- const input = el;
106
- elements.push({
107
- tag: input.type,
108
- text: getText(el),
109
- value: input.checked ? "checked" : "unchecked",
110
- disabled: input.disabled,
111
- visible: isVisible(el),
112
- });
113
- });
102
+ // Find which dialog (if any) an element is inside
103
+ const findParentDialog = (el) => {
104
+ for (const sel of DIALOG_SELS) {
105
+ const dialog = el.closest(sel);
106
+ if (dialog) {
107
+ const label = dialog.getAttribute("aria-label")
108
+ ?? dialog.getAttribute("title")
109
+ ?? (dialog.textContent ?? "").trim().slice(0, 40);
110
+ return { inDialog: true, dialogLabel: label };
111
+ }
112
+ }
113
+ return { inDialog: false };
114
+ };
115
+ // Scroll info
116
+ const scrollTop = window.scrollY;
117
+ const scrollHeight = document.documentElement.scrollHeight;
118
+ const viewportHeight = window.innerHeight;
119
+ const pixelsAbove = Math.round(scrollTop);
120
+ const pixelsBelow = Math.max(0, Math.round(scrollHeight - scrollTop - viewportHeight));
121
+ // Gather all interactive elements
122
+ const interactiveSet = new Set();
123
+ document.querySelectorAll(INTERACTIVE_SEL).forEach((el) => interactiveSet.add(el));
124
+ // Build the node list — walk the DOM in order to get interleaved text context
125
+ const nodes = [];
126
+ let order = 0;
127
+ const walk = (node) => {
128
+ if (node.nodeType === Node.TEXT_NODE) {
129
+ const text = (node.textContent ?? "").replace(/\s+/g, " ").trim();
130
+ if (text.length < 2)
131
+ return;
132
+ // Skip if parent is an interactive element (text goes inside the tag)
133
+ const parent = node.parentElement;
134
+ if (parent && interactiveSet.has(parent))
135
+ return;
136
+ // Also skip script/style
137
+ if (parent && (parent.tagName === "SCRIPT" || parent.tagName === "STYLE"))
138
+ return;
139
+ // Check visibility of parent
140
+ if (parent && !isVisible(parent))
141
+ return;
142
+ const dialog = parent ? findParentDialog(parent) : { inDialog: false };
143
+ nodes.push({
144
+ tag: "_text",
145
+ text: text.slice(0, 150),
146
+ attrs: {},
147
+ isInteractive: false,
148
+ visible: true,
149
+ inDialog: dialog.inDialog,
150
+ dialogLabel: dialog.dialogLabel,
151
+ order: order++,
152
+ });
153
+ return;
154
+ }
155
+ if (node.nodeType !== Node.ELEMENT_NODE)
156
+ return;
157
+ const el = node;
158
+ // Skip script/style/noscript
159
+ const tagName = el.tagName.toLowerCase();
160
+ if (tagName === "script" || tagName === "style" || tagName === "noscript")
161
+ return;
162
+ if (interactiveSet.has(el)) {
163
+ const visible = isVisible(el);
164
+ const dialog = findParentDialog(el);
165
+ const attrs = getWhitelistedAttrs(el);
166
+ const text = getInnerText(el);
167
+ let resolvedTag = tagName;
168
+ // Normalize tag for our type system
169
+ if (tagName === "a")
170
+ resolvedTag = "link";
171
+ if (el.getAttribute("role") === "button" && tagName !== "button")
172
+ resolvedTag = "button";
173
+ nodes.push({
174
+ tag: resolvedTag,
175
+ inputType: el.type || undefined,
176
+ text,
177
+ attrs,
178
+ isInteractive: true,
179
+ visible,
180
+ inDialog: dialog.inDialog,
181
+ dialogLabel: dialog.dialogLabel,
182
+ order: order++,
183
+ });
184
+ // Don't recurse into interactive elements — text is already captured
185
+ return;
186
+ }
187
+ // Recurse children for non-interactive elements
188
+ for (const child of Array.from(el.childNodes)) {
189
+ walk(child);
190
+ }
191
+ };
192
+ walk(document.body);
114
193
  // Modal detection
115
- const modalSelectors = [
116
- "[role='dialog']",
117
- "[role='alertdialog']",
118
- ".modal",
119
- ".overlay",
120
- "[aria-modal='true']",
121
- ];
122
- const hasModal = modalSelectors.some((s) => document.querySelector(s) !== null);
194
+ const hasModal = DIALOG_SELS.some((s) => document.querySelector(s) !== null);
123
195
  // Cookie banner detection
124
196
  const cookieKeywords = ["cookie", "gdpr", "consent", "accept all"];
125
- const bodyText = document.body.innerText.toLowerCase();
197
+ const bodyText = document.body.innerText.toLowerCase().slice(0, 5000);
126
198
  const hasCookieBanner = cookieKeywords.some((k) => bodyText.includes(k));
127
199
  // Loading detection
128
200
  const loadingSelectors = [
129
- "[aria-busy='true']",
130
- ".loading",
131
- ".spinner",
132
- "[role='progressbar']",
201
+ "[aria-busy='true']", ".loading", ".spinner", "[role='progressbar']",
133
202
  ];
134
203
  const isLoading = loadingSelectors.some((s) => document.querySelector(s) !== null);
135
204
  return {
136
- url: window.location.href,
205
+ url: baseUrl,
137
206
  title: document.title,
138
- elements,
207
+ nodes,
139
208
  hasModal,
140
209
  hasCookieBanner,
141
210
  isLoading,
211
+ pixelsAbove,
212
+ pixelsBelow,
142
213
  };
214
+ }, {
215
+ INTERACTIVE_SEL: INTERACTIVE_SELECTOR,
216
+ DIALOG_SELS: DIALOG_SELECTORS,
217
+ HTML_ATTR_KEYS: Object.keys(HTML_ATTR_MAP),
143
218
  });
144
- // Assign IDs and build structured list
219
+ // Assign IDs to interactive elements and build structured list
145
220
  const counters = {};
146
221
  const typedElements = [];
147
- for (const raw of result.elements) {
148
- const type = this.resolveType(raw.tag, raw.type);
222
+ const textLines = [];
223
+ // Separate dialog vs non-dialog nodes
224
+ const dialogNodes = result.nodes.filter((n) => n.inDialog);
225
+ const mainNodes = result.nodes.filter((n) => !n.inDialog);
226
+ // Render main content
227
+ if (result.pixelsAbove > 0) {
228
+ textLines.push(`... ${result.pixelsAbove} pixels above - scroll to see more ...`);
229
+ }
230
+ for (const node of mainNodes) {
231
+ if (!node.isInteractive) {
232
+ // Context text node
233
+ textLines.push(`_[:]${node.text}`);
234
+ continue;
235
+ }
236
+ if (!node.visible)
237
+ continue;
238
+ const type = this.resolveType(node.tag, node.inputType);
149
239
  counters[type] = (counters[type] ?? 0) + 1;
150
- const id = `@${PREFIX[type]}${counters[type]}`;
240
+ const id = `${PREFIX[type]}${counters[type]}`;
151
241
  typedElements.push({
152
242
  id,
153
243
  type,
154
- text: raw.text || undefined,
155
- placeholder: raw.placeholder,
156
- href: raw.href,
157
- value: raw.value,
158
- disabled: raw.disabled,
159
- visible: raw.visible,
244
+ text: node.text || undefined,
245
+ placeholder: node.attrs.placeholder,
246
+ href: node.attrs.href,
247
+ value: node.attrs.value,
248
+ disabled: false,
249
+ visible: node.visible,
160
250
  });
251
+ textLines.push(this.renderElementLine(id, node.tag, node.text, node.attrs));
161
252
  }
162
- const text = this.buildTextRepresentation(typedElements, result);
253
+ if (result.pixelsBelow > 0) {
254
+ textLines.push(`... ${result.pixelsBelow} pixels below - scroll to see more ...`);
255
+ }
256
+ // Render dialog content separately
257
+ if (dialogNodes.length > 0) {
258
+ const dialogGroups = new Map();
259
+ for (const node of dialogNodes) {
260
+ const key = node.dialogLabel ?? "dialog";
261
+ if (!dialogGroups.has(key))
262
+ dialogGroups.set(key, []);
263
+ dialogGroups.get(key).push(node);
264
+ }
265
+ for (const [label, nodes] of dialogGroups) {
266
+ textLines.push("");
267
+ textLines.push(`### Content of 'dialog' component with text '${label.slice(0, 50)}'`);
268
+ for (const node of nodes) {
269
+ if (!node.isInteractive) {
270
+ textLines.push(`_[:]${node.text}`);
271
+ continue;
272
+ }
273
+ if (!node.visible)
274
+ continue;
275
+ const type = this.resolveType(node.tag, node.inputType);
276
+ counters[type] = (counters[type] ?? 0) + 1;
277
+ const id = `${PREFIX[type]}${counters[type]}`;
278
+ typedElements.push({
279
+ id,
280
+ type,
281
+ text: node.text || undefined,
282
+ placeholder: node.attrs.placeholder,
283
+ href: node.attrs.href,
284
+ value: node.attrs.value,
285
+ disabled: false,
286
+ visible: node.visible,
287
+ });
288
+ textLines.push(this.renderElementLine(id, node.tag, node.text, node.attrs));
289
+ }
290
+ }
291
+ }
292
+ const text = textLines.join("\n");
163
293
  return {
164
294
  url: result.url,
165
295
  title: result.title,
@@ -168,17 +298,20 @@ class Observer {
168
298
  hasCookieBanner: result.hasCookieBanner,
169
299
  isLoading: result.isLoading,
170
300
  text,
301
+ currentUrl: result.url,
302
+ pageTitle: result.title,
303
+ scrollPixelsAbove: result.pixelsAbove,
304
+ scrollPixelsBelow: result.pixelsBelow,
171
305
  };
172
306
  }
173
- // Find an element by ID (@B3, @I1, etc.) and return its locator
307
+ // Find an element by ID (B3, I1, etc.) and return its locator
174
308
  async resolveElementId(id) {
175
309
  const elements = await this.observe();
176
310
  const el = elements.elements.find((e) => e.id === id);
177
311
  if (!el)
178
312
  return null;
179
- // Get coordinates by re-querying the DOM
180
313
  return await this.page.evaluate((targetText) => {
181
- const all = document.querySelectorAll("button, input, a, select, textarea, [role='button']");
314
+ const all = document.querySelectorAll("button, input, a, select, textarea, [role='button'], [role='link'], [role='menuitem'], [role='tab'], [onclick], [tabindex]");
182
315
  for (const el of Array.from(all)) {
183
316
  const text = (el.textContent ?? "").replace(/\s+/g, " ").trim();
184
317
  const aria = el.getAttribute("aria-label") ?? "";
@@ -204,7 +337,7 @@ class Observer {
204
337
  return "radio";
205
338
  return "input";
206
339
  }
207
- if (tag === "link")
340
+ if (tag === "link" || tag === "a")
208
341
  return "link";
209
342
  if (tag === "select")
210
343
  return "select";
@@ -216,38 +349,19 @@ class Observer {
216
349
  return "radio";
217
350
  return "other";
218
351
  }
219
- buildTextRepresentation(elements, meta) {
220
- const lines = [
221
- `PAGE: ${meta.title}`,
222
- `URL: ${meta.url}`,
223
- ];
224
- if (meta.isLoading)
225
- lines.push("[⏳ PAGE IS LOADING]");
226
- if (meta.hasModal)
227
- lines.push("[⚠️ MODAL IS OPEN — may block interactions]");
228
- if (meta.hasCookieBanner)
229
- lines.push("[🍪 COOKIE BANNER DETECTED — dismiss first]");
230
- lines.push("", "INTERACTIVE ELEMENTS:");
231
- const visible = elements.filter((e) => e.visible !== false);
232
- const hidden = elements.filter((e) => e.visible === false);
233
- for (const el of visible) {
234
- let desc = ` ${el.id} [${el.type}]`;
235
- if (el.text)
236
- desc += ` "${el.text}"`;
237
- if (el.placeholder)
238
- desc += ` placeholder="${el.placeholder}"`;
239
- if (el.value)
240
- desc += ` value="${el.value}"`;
241
- if (el.href)
242
- desc += ` → ${el.href.slice(0, 80)}`;
243
- if (el.disabled)
244
- desc += " (disabled)";
245
- lines.push(desc);
246
- }
247
- if (hidden.length > 0) {
248
- lines.push(` ... and ${hidden.length} hidden elements`);
352
+ // Renders: B1[:]<button type="submit" aria_label="Search">Google Search</button>
353
+ renderElementLine(id, tag, text, attrs) {
354
+ // Map our tag names to HTML tag names for rendering
355
+ const htmlTag = tag === "link" ? "a" : tag;
356
+ const attrParts = [];
357
+ for (const key of ATTR_WHITELIST) {
358
+ const val = attrs[key];
359
+ if (val != null && val !== "") {
360
+ attrParts.push(`${key}="${val}"`);
361
+ }
249
362
  }
250
- return lines.join("\n");
363
+ const attrStr = attrParts.length > 0 ? " " + attrParts.join(" ") : "";
364
+ return `${id}[:]<${htmlTag}${attrStr}>${text}</${htmlTag}>`;
251
365
  }
252
366
  }
253
367
  exports.Observer = Observer;
@@ -1 +1 @@
1
- {"version":3,"file":"observer.js","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":";;;AAGA,6BAA6B;AAC7B,MAAM,MAAM,GAAgC;IAC1C,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAa,QAAQ;IACX,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,oDAAoD;IACpD,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3C,MAAM,QAAQ,GAWT,EAAE,CAAC;YAER,MAAM,SAAS,GAAG,CAAC,EAAW,EAAW,EAAE;gBACzC,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO,CACL,IAAI,CAAC,KAAK,GAAG,CAAC;oBACd,IAAI,CAAC,MAAM,GAAG,CAAC;oBACf,KAAK,CAAC,OAAO,KAAK,MAAM;oBACxB,KAAK,CAAC,UAAU,KAAK,QAAQ;oBAC7B,KAAK,CAAC,OAAO,KAAK,GAAG,CACtB,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,EAAW,EAAU,EAAE;gBACtC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3C,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC/B,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC,CAAC;YAEF,UAAU;YACV,QAAQ,CAAC,gBAAgB,CAAC,qEAAqE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9G,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACjB,QAAQ,EAAG,EAAwB,CAAC,QAAQ,IAAI,KAAK;oBACrD,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBACtB,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,SAAS;iBACtD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,SAAS;YACT,QAAQ,CAAC,gBAAgB,CAAC,iHAAiH,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1J,MAAM,KAAK,GAAG,EAAsB,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,OAAO;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACjB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;oBAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;oBAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ;YACR,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAG,EAAuB,CAAC;gBACvC,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,mBAAmB;gBACtC,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,MAAM;oBACX,IAAI;oBACJ,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU;YACV,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACjD,MAAM,MAAM,GAAG,EAAuB,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;oBAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,YAAY;YACZ,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnD,MAAM,QAAQ,GAAG,EAAyB,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,UAAU;oBACf,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACjB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;oBAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;oBAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,QAAQ,CAAC,gBAAgB,CAAC,6CAA6C,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACtF,MAAM,KAAK,GAAG,EAAsB,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,KAAK,CAAC,IAAI;oBACf,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACjB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;oBAC9C,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,kBAAkB;YAClB,MAAM,cAAc,GAAG;gBACrB,iBAAiB;gBACjB,sBAAsB;gBACtB,QAAQ;gBACR,UAAU;gBACV,qBAAqB;aACtB,CAAC;YACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAC1C,CAAC;YAEF,0BAA0B;YAC1B,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzE,oBAAoB;YACpB,MAAM,gBAAgB,GAAG;gBACvB,oBAAoB;gBACpB,UAAU;gBACV,UAAU;gBACV,sBAAsB;aACvB,CAAC;YACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAC1C,CAAC;YAEF,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;gBACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ;gBACR,QAAQ;gBACR,eAAe;gBACf,SAAS;aACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,QAAQ,GAAyC,EAAE,CAAC;QAC1D,MAAM,aAAa,GAAsB,EAAE,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAE/C,aAAa,CAAC,IAAI,CAAC;gBACjB,EAAE;gBACF,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;gBAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjE,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI;SACL,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAErB,yCAAyC;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAkB,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CACnC,qDAAqD,CACtD,CAAC;YACF,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;oBACxC,OAAO;wBACL,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;wBAC7B,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;qBAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,gFAAgF;IAExE,WAAW,CAAC,GAAW,EAAE,SAAkB;QACjD,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QACtC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,IAAI,SAAS,KAAK,UAAU;gBAAE,OAAO,UAAU,CAAC;YAChD,IAAI,SAAS,KAAK,OAAO;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QACtC,IAAI,GAAG,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QAC1C,IAAI,GAAG,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QAC1C,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAC7B,QAA2B,EAC3B,IAAqG;QAErG,MAAM,KAAK,GAAa;YACtB,SAAS,IAAI,CAAC,KAAK,EAAE;YACrB,QAAQ,IAAI,CAAC,GAAG,EAAE;SACnB,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,eAAe;YAAE,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAEpF,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QAE3D,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC;YACrC,IAAI,EAAE,CAAC,IAAI;gBAAE,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC;YACrC,IAAI,EAAE,CAAC,WAAW;gBAAE,IAAI,IAAI,iBAAiB,EAAE,CAAC,WAAW,GAAG,CAAC;YAC/D,IAAI,EAAE,CAAC,KAAK;gBAAE,IAAI,IAAI,WAAW,EAAE,CAAC,KAAK,GAAG,CAAC;YAC7C,IAAI,EAAE,CAAC,IAAI;gBAAE,IAAI,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAClD,IAAI,EAAE,CAAC,QAAQ;gBAAE,IAAI,IAAI,aAAa,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AA7QD,4BA6QC"}
1
+ {"version":3,"file":"observer.js","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,cAAc,EAEd,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,qBAAa,OAAO;IAClB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,cAAc,CAAS;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGrC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,QAAQ,EACZ,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM;IAkBd,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAIK,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMjC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAajC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBrC,oBAAoB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAgCvE,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,SAAS,EAAE,EACxB,OAAO,SAAI,EACX,YAAY,CAAC,EAAE,QAAQ,EAAE,GACxB,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BzG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,mBAAmB,IAAI,eAAe,EAAE;IAKxC,iBAAiB,CAAC,QAAQ,SAAI,GAAG,eAAe,EAAE;IAKlD,0BAA0B,IAAI,eAAe,EAAE;IAK/C,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAMlD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAiD9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAexF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,aAAa;CA8C5B"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,cAAc,EAGd,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,qBAAa,OAAO;IAClB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,cAAc,CAAS;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGrC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,QAAQ,EACZ,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM;IAkBd,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAIK,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMjC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAajC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBrC,oBAAoB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAgCvE,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,SAAS,EAAE,EACxB,OAAO,SAAI,EACX,YAAY,CAAC,EAAE,QAAQ,EAAE,GACxB,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BzG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,mBAAmB,IAAI,eAAe,EAAE;IAKxC,iBAAiB,CAAC,QAAQ,SAAI,GAAG,eAAe,EAAE;IAKlD,0BAA0B,IAAI,eAAe,EAAE;IAK/C,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAMlD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAmF9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAexF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,aAAa;CA0D5B"}