zan-browser 1.3.29 → 1.3.31

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,154 +12,292 @@ 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
- const rect = el.getBoundingClientRect();
58
+ const htmlEl = el;
59
+ // offsetParent is null when the element or any ancestor has display:none.
60
+ // Exception: <body>, <html>, and position:fixed/sticky elements legitimately have offsetParent === null.
61
+ if (htmlEl.offsetParent === null) {
62
+ const style = window.getComputedStyle(el);
63
+ const pos = style.position;
64
+ if (pos !== "fixed" && pos !== "sticky" && el.tagName !== "BODY" && el.tagName !== "HTML") {
65
+ return false;
66
+ }
67
+ }
27
68
  const style = window.getComputedStyle(el);
28
- return (rect.width > 0 &&
29
- rect.height > 0 &&
30
- style.display !== "none" &&
31
- style.visibility !== "hidden" &&
32
- style.opacity !== "0");
69
+ if (style.visibility === "hidden" || style.opacity === "0")
70
+ return false;
71
+ const rect = el.getBoundingClientRect();
72
+ return rect.width > 0 && rect.height > 0;
73
+ };
74
+ const resolveUrl = (url) => {
75
+ if (!url)
76
+ return url;
77
+ try {
78
+ return new URL(url, baseUrl).href;
79
+ }
80
+ catch {
81
+ return url;
82
+ }
83
+ };
84
+ const truncate = (val, max) => val.length > max ? val.slice(0, max) : val;
85
+ const getWhitelistedAttrs = (el) => {
86
+ const out = {};
87
+ for (const htmlAttr of HTML_ATTR_KEYS) {
88
+ const val = el.getAttribute(htmlAttr);
89
+ if (val == null || val === "")
90
+ continue;
91
+ // Map HTML attr name to our key
92
+ const key = htmlAttr.replace(/-/g, "_");
93
+ let resolved = val;
94
+ if (htmlAttr === "href" || htmlAttr === "src") {
95
+ resolved = resolveUrl(val);
96
+ }
97
+ out[key] = truncate(resolved, 60);
98
+ }
99
+ // For inputs, also grab the live .value if different from attr
100
+ if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
101
+ if (el.value && el.value !== out["value"]) {
102
+ out["value"] = truncate(el.value, 60);
103
+ }
104
+ }
105
+ return out;
33
106
  };
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();
107
+ const getInnerText = (el) => {
41
108
  return (el.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 100);
42
109
  };
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
- });
110
+ // Find which dialog (if any) an element is inside
111
+ const findParentDialog = (el) => {
112
+ for (const sel of DIALOG_SELS) {
113
+ const dialog = el.closest(sel);
114
+ if (dialog) {
115
+ const label = dialog.getAttribute("aria-label")
116
+ ?? dialog.getAttribute("title")
117
+ ?? (dialog.textContent ?? "").trim().slice(0, 40);
118
+ return { inDialog: true, dialogLabel: label };
119
+ }
120
+ }
121
+ return { inDialog: false };
122
+ };
123
+ // Scroll info
124
+ const scrollTop = window.scrollY;
125
+ const scrollHeight = document.documentElement.scrollHeight;
126
+ const viewportHeight = window.innerHeight;
127
+ const pixelsAbove = Math.round(scrollTop);
128
+ const pixelsBelow = Math.max(0, Math.round(scrollHeight - scrollTop - viewportHeight));
129
+ // Gather all interactive elements
130
+ const interactiveSet = new Set();
131
+ document.querySelectorAll(INTERACTIVE_SEL).forEach((el) => interactiveSet.add(el));
132
+ // Build the node list — walk the DOM in order to get interleaved text context
133
+ const nodes = [];
134
+ let order = 0;
135
+ const walk = (node) => {
136
+ if (node.nodeType === Node.TEXT_NODE) {
137
+ const text = (node.textContent ?? "").replace(/\s+/g, " ").trim();
138
+ if (text.length < 2)
139
+ return;
140
+ // Skip if parent is an interactive element (text goes inside the tag)
141
+ const parent = node.parentElement;
142
+ if (parent && interactiveSet.has(parent))
143
+ return;
144
+ // Also skip script/style
145
+ if (parent && (parent.tagName === "SCRIPT" || parent.tagName === "STYLE"))
146
+ return;
147
+ // Check visibility of parent
148
+ if (parent && !isVisible(parent))
149
+ return;
150
+ const dialog = parent ? findParentDialog(parent) : { inDialog: false };
151
+ nodes.push({
152
+ tag: "_text",
153
+ text: text.slice(0, 150),
154
+ attrs: {},
155
+ isInteractive: false,
156
+ visible: true,
157
+ inDialog: dialog.inDialog,
158
+ dialogLabel: dialog.dialogLabel,
159
+ order: order++,
160
+ });
161
+ return;
162
+ }
163
+ if (node.nodeType !== Node.ELEMENT_NODE)
164
+ return;
165
+ const el = node;
166
+ // Skip script/style/noscript
167
+ const tagName = el.tagName.toLowerCase();
168
+ if (tagName === "script" || tagName === "style" || tagName === "noscript")
169
+ return;
170
+ if (interactiveSet.has(el)) {
171
+ const visible = isVisible(el);
172
+ const dialog = findParentDialog(el);
173
+ const attrs = getWhitelistedAttrs(el);
174
+ const text = getInnerText(el);
175
+ let resolvedTag = tagName;
176
+ // Normalize tag for our type system
177
+ if (tagName === "a")
178
+ resolvedTag = "link";
179
+ if (el.getAttribute("role") === "button" && tagName !== "button")
180
+ resolvedTag = "button";
181
+ nodes.push({
182
+ tag: resolvedTag,
183
+ inputType: el.type || undefined,
184
+ text,
185
+ attrs,
186
+ isInteractive: true,
187
+ visible,
188
+ inDialog: dialog.inDialog,
189
+ dialogLabel: dialog.dialogLabel,
190
+ order: order++,
191
+ });
192
+ // Don't recurse into interactive elements — text is already captured
193
+ return;
194
+ }
195
+ // Recurse children for non-interactive elements
196
+ for (const child of Array.from(el.childNodes)) {
197
+ walk(child);
198
+ }
199
+ };
200
+ walk(document.body);
114
201
  // 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);
202
+ const hasModal = DIALOG_SELS.some((s) => document.querySelector(s) !== null);
123
203
  // Cookie banner detection
124
204
  const cookieKeywords = ["cookie", "gdpr", "consent", "accept all"];
125
- const bodyText = document.body.innerText.toLowerCase();
205
+ const bodyText = document.body.innerText.toLowerCase().slice(0, 5000);
126
206
  const hasCookieBanner = cookieKeywords.some((k) => bodyText.includes(k));
127
207
  // Loading detection
128
208
  const loadingSelectors = [
129
- "[aria-busy='true']",
130
- ".loading",
131
- ".spinner",
132
- "[role='progressbar']",
209
+ "[aria-busy='true']", ".loading", ".spinner", "[role='progressbar']",
133
210
  ];
134
211
  const isLoading = loadingSelectors.some((s) => document.querySelector(s) !== null);
135
212
  return {
136
- url: window.location.href,
213
+ url: baseUrl,
137
214
  title: document.title,
138
- elements,
215
+ nodes,
139
216
  hasModal,
140
217
  hasCookieBanner,
141
218
  isLoading,
219
+ pixelsAbove,
220
+ pixelsBelow,
142
221
  };
222
+ }, {
223
+ INTERACTIVE_SEL: INTERACTIVE_SELECTOR,
224
+ DIALOG_SELS: DIALOG_SELECTORS,
225
+ HTML_ATTR_KEYS: Object.keys(HTML_ATTR_MAP),
143
226
  });
144
- // Assign IDs and build structured list
227
+ // Assign IDs to interactive elements and build structured list
145
228
  const counters = {};
146
229
  const typedElements = [];
147
- for (const raw of result.elements) {
148
- const type = this.resolveType(raw.tag, raw.type);
230
+ const textLines = [];
231
+ // Separate dialog vs non-dialog nodes
232
+ const dialogNodes = result.nodes.filter((n) => n.inDialog);
233
+ const mainNodes = result.nodes.filter((n) => !n.inDialog);
234
+ // Render main content
235
+ if (result.pixelsAbove > 0) {
236
+ textLines.push(`... ${result.pixelsAbove} pixels above - scroll to see more ...`);
237
+ }
238
+ for (const node of mainNodes) {
239
+ if (!node.isInteractive) {
240
+ // Context text node
241
+ textLines.push(`_[:]${node.text}`);
242
+ continue;
243
+ }
244
+ if (!node.visible)
245
+ continue;
246
+ const type = this.resolveType(node.tag, node.inputType);
149
247
  counters[type] = (counters[type] ?? 0) + 1;
150
- const id = `@${PREFIX[type]}${counters[type]}`;
248
+ const id = `${PREFIX[type]}${counters[type]}`;
151
249
  typedElements.push({
152
250
  id,
153
251
  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,
252
+ text: node.text || undefined,
253
+ placeholder: node.attrs.placeholder,
254
+ href: node.attrs.href,
255
+ value: node.attrs.value,
256
+ disabled: false,
257
+ visible: node.visible,
160
258
  });
259
+ textLines.push(this.renderElementLine(id, node.tag, node.text, node.attrs));
260
+ }
261
+ if (result.pixelsBelow > 0) {
262
+ textLines.push(`... ${result.pixelsBelow} pixels below - scroll to see more ...`);
263
+ }
264
+ // Render dialog content separately
265
+ if (dialogNodes.length > 0) {
266
+ const dialogGroups = new Map();
267
+ for (const node of dialogNodes) {
268
+ const key = node.dialogLabel ?? "dialog";
269
+ if (!dialogGroups.has(key))
270
+ dialogGroups.set(key, []);
271
+ dialogGroups.get(key).push(node);
272
+ }
273
+ for (const [label, nodes] of dialogGroups) {
274
+ textLines.push("");
275
+ textLines.push(`### Content of 'dialog' component with text '${label.slice(0, 50)}'`);
276
+ for (const node of nodes) {
277
+ if (!node.isInteractive) {
278
+ textLines.push(`_[:]${node.text}`);
279
+ continue;
280
+ }
281
+ if (!node.visible)
282
+ continue;
283
+ const type = this.resolveType(node.tag, node.inputType);
284
+ counters[type] = (counters[type] ?? 0) + 1;
285
+ const id = `${PREFIX[type]}${counters[type]}`;
286
+ typedElements.push({
287
+ id,
288
+ type,
289
+ text: node.text || undefined,
290
+ placeholder: node.attrs.placeholder,
291
+ href: node.attrs.href,
292
+ value: node.attrs.value,
293
+ disabled: false,
294
+ visible: node.visible,
295
+ });
296
+ textLines.push(this.renderElementLine(id, node.tag, node.text, node.attrs));
297
+ }
298
+ }
161
299
  }
162
- const text = this.buildTextRepresentation(typedElements, result);
300
+ const text = textLines.join("\n");
163
301
  return {
164
302
  url: result.url,
165
303
  title: result.title,
@@ -168,17 +306,20 @@ class Observer {
168
306
  hasCookieBanner: result.hasCookieBanner,
169
307
  isLoading: result.isLoading,
170
308
  text,
309
+ currentUrl: result.url,
310
+ pageTitle: result.title,
311
+ scrollPixelsAbove: result.pixelsAbove,
312
+ scrollPixelsBelow: result.pixelsBelow,
171
313
  };
172
314
  }
173
- // Find an element by ID (@B3, @I1, etc.) and return its locator
315
+ // Find an element by ID (B3, I1, etc.) and return its locator
174
316
  async resolveElementId(id) {
175
317
  const elements = await this.observe();
176
318
  const el = elements.elements.find((e) => e.id === id);
177
319
  if (!el)
178
320
  return null;
179
- // Get coordinates by re-querying the DOM
180
321
  return await this.page.evaluate((targetText) => {
181
- const all = document.querySelectorAll("button, input, a, select, textarea, [role='button']");
322
+ const all = document.querySelectorAll("button, input, a, select, textarea, [role='button'], [role='link'], [role='menuitem'], [role='tab'], [onclick], [tabindex]");
182
323
  for (const el of Array.from(all)) {
183
324
  const text = (el.textContent ?? "").replace(/\s+/g, " ").trim();
184
325
  const aria = el.getAttribute("aria-label") ?? "";
@@ -204,7 +345,7 @@ class Observer {
204
345
  return "radio";
205
346
  return "input";
206
347
  }
207
- if (tag === "link")
348
+ if (tag === "link" || tag === "a")
208
349
  return "link";
209
350
  if (tag === "select")
210
351
  return "select";
@@ -216,38 +357,19 @@ class Observer {
216
357
  return "radio";
217
358
  return "other";
218
359
  }
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`);
360
+ // Renders: B1[:]<button type="submit" aria_label="Search">Google Search</button>
361
+ renderElementLine(id, tag, text, attrs) {
362
+ // Map our tag names to HTML tag names for rendering
363
+ const htmlTag = tag === "link" ? "a" : tag;
364
+ const attrParts = [];
365
+ for (const key of ATTR_WHITELIST) {
366
+ const val = attrs[key];
367
+ if (val != null && val !== "") {
368
+ attrParts.push(`${key}="${val}"`);
369
+ }
249
370
  }
250
- return lines.join("\n");
371
+ const attrStr = attrParts.length > 0 ? " " + attrParts.join(" ") : "";
372
+ return `${id}[:]<${htmlTag}${attrStr}>${text}</${htmlTag}>`;
251
373
  }
252
374
  }
253
375
  exports.Observer = Observer;
@@ -1 +1 @@
1
- {"version":3,"file":"observer.js","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observer.js","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare class Session {
8
8
  private observer;
9
9
  private ai;
10
10
  private defaultTimeout;
11
+ private lastInteractiveElements;
11
12
  readonly viewerUrl: string | undefined;
12
13
  constructor(page: Page, browser: Browser, ai: AIClient, timeout?: number, viewerUrl?: string);
13
14
  goto(url: string, options?: {
@@ -22,6 +23,13 @@ export declare class Session {
22
23
  content: string;
23
24
  links: PageLink[];
24
25
  }>;
26
+ observeInteractiveDom(): Promise<{
27
+ dom: string;
28
+ elements: Array<{
29
+ id: string;
30
+ selector: string;
31
+ }>;
32
+ }>;
25
33
  scrapeWithGoal(goal: string, initialContent: string, seedValues?: SeedValue[], maxHops?: number, initialLinks?: PageLink[]): Promise<{
26
34
  found: boolean;
27
35
  data: Record<string, unknown> | null;
@@ -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,OAAO,CAAC,uBAAuB,CAAkC;IACjE,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;IAOjC,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,qBAAqB,IAAI,OAAO,CAAC;QACrC,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC;IAqLI,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;IA6BzG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C,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"}