cbrowser 20.2.0 → 20.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"journey-dialog.d.ts","sourceRoot":"","sources":["../../src/cognitive/journey-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoB1D,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC,GACrG,MAAM,CAIR"}
1
+ {"version":3,"file":"journey-dialog.d.ts","sourceRoot":"","sources":["../../src/cognitive/journey-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AA8B1D,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC,GACrG,MAAM,CAIR"}
@@ -22,12 +22,24 @@ function actionVerb(action) {
22
22
  * The page a step is on: the full URL alone at the end of its line, with
23
23
  * nothing touching it, so a terminal can open it (Alexa, 2026-10-23: "i want
24
24
  * the link clickable from cli"). The CLI's output guard also makes it an OSC 8
25
- * hyperlink on a terminal. Whitespace inside a URL is percent-encoded so the
26
- * link is not cut.
25
+ * hyperlink on a terminal. The query string is dropped and the anchor kept
26
+ * (Alexa, 2026-10-23: "make the url strip variables but not anchors"): a
27
+ * tracking parameter such as _gl made one line hundreds of characters long.
28
+ * Whitespace inside a URL is percent-encoded so the link is not cut; a string
29
+ * that does not parse as a URL prints as it is.
27
30
  */
28
31
  function pageLine(url) {
29
- const href = url?.trim().replace(/\s/g, (c) => encodeURIComponent(c));
30
- return href ? [` 🔗 ${href}`] : [];
32
+ const raw = url?.trim();
33
+ if (!raw)
34
+ return [];
35
+ let href = raw;
36
+ try {
37
+ const parsed = new URL(raw);
38
+ parsed.search = "";
39
+ href = parsed.href;
40
+ }
41
+ catch { /* not a URL: shown as given */ }
42
+ return [` 🔗 ${href.replace(/\s/g, (c) => encodeURIComponent(c))}`];
31
43
  }
32
44
  /** The lines that describe one journey step, without trailing newlines. */
33
45
  export function formatJourneyStep(step) {
@@ -1 +1 @@
1
- {"version":3,"file":"journey-dialog.js","sourceRoot":"","sources":["../../src/cognitive/journey-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,kGAAkG;AAClG,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1C,OAAO,IAAI,IAAI,MAAM,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,GAAuB;IACvC,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,IAAmB;IACnD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,wCAAwC,GAAG,+BAA+B,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1G,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,GAAG,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsG;IAEtG,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,sBAAsB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjH,IAAI,MAAM,CAAC,iBAAiB;QAAE,OAAO,gBAAgB,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAChF,OAAO,uDAAuD,MAAM,CAAC,SAAS,oCAAoC,CAAC;AACrH,CAAC"}
1
+ {"version":3,"file":"journey-dialog.js","sourceRoot":"","sources":["../../src/cognitive/journey-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,kGAAkG;AAClG,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1C,OAAO,IAAI,IAAI,MAAM,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,QAAQ,CAAC,GAAuB;IACvC,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC3C,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,IAAmB;IACnD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,wCAAwC,GAAG,+BAA+B,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1G,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,GAAG,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAsG;IAEtG,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,sBAAsB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjH,IAAI,MAAM,CAAC,iBAAiB;QAAE,OAAO,gBAAgB,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAChF,OAAO,uDAAuD,MAAM,CAAC,SAAS,oCAAoC,CAAC;AACrH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-safe.d.ts","sourceRoot":"","sources":["../src/terminal-safe.ts"],"names":[],"mappings":"AAkCA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,CAKhE;AASD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa7C;AAKD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAGpF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAKpE"}
1
+ {"version":3,"file":"terminal-safe.d.ts","sourceRoot":"","sources":["../src/terminal-safe.ts"],"names":[],"mappings":"AAkCA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,CAOhE;AAmDD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa7C;AAKD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAGpF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAKpE"}
@@ -29,15 +29,60 @@ const visible = (c) => c === "\u001b" ? "\\x1b"
29
29
  : c === "\r" ? "\\r"
30
30
  : `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`;
31
31
  export function terminalSafe(text, links = false) {
32
- const safe = text.startsWith("\r")
33
- ? "\r" + text.slice(1).replace(UNSAFE, visible)
34
- : text.replace(UNSAFE, visible);
35
- return links ? linkUrls(safe) : safe;
32
+ const lead = text.startsWith("\r") ? "\r" : "";
33
+ return lead + splitOwnLinks(lead ? text.slice(1) : text).map((part) => {
34
+ if (part.link !== undefined)
35
+ return links ? `${OSC8(part.link)}${part.link}${OSC8("")}` : part.link;
36
+ const safe = part.text.replace(UNSAFE, visible);
37
+ return links ? linkUrls(safe) : safe;
38
+ }).join("");
36
39
  }
37
40
  // A URL runs until whitespace, a quote, an angle or square bracket, a brace, a
38
41
  // backslash (which starts an escape written above) or an invisible format character.
39
42
  const URL_TOKEN = /https?:\/\/[^\s"'<>`{}|\\^[\]\u200b-\u200f\u2028\u2029\ufeff]+/g;
40
43
  const OSC8 = (target) => `\u001b]8;;${target}\u001b\\`;
44
+ const ESC = String.fromCharCode(27);
45
+ const ST = `${ESC}\\`;
46
+ const LINK_OPEN = `${ESC}]8;;`;
47
+ const LINK_TARGET = new RegExp(`^(?:${URL_TOKEN.source})$`);
48
+ /**
49
+ * Text split into plain runs and the links linkUrls writes: an OSC 8 link whose
50
+ * target is a URL with no control character or space and whose text is that
51
+ * same URL. Under Node, console.log reaches process.stdout.write, so one line
52
+ * passes guardConsole and then guardTerminalOutput, and in 20.2.0 the second
53
+ * pass escaped the first one's links: a journey printed "\x1b]8;;" before every
54
+ * URL (2026-10-23). Kept whole, a link passes any number of guards unchanged.
55
+ * Any other escape, a link that reads one way and goes another included, is
56
+ * still escaped.
57
+ */
58
+ function splitOwnLinks(text) {
59
+ const parts = [];
60
+ const close = OSC8("");
61
+ let plainFrom = 0;
62
+ let at = text.indexOf(LINK_OPEN);
63
+ while (at !== -1) {
64
+ const targetEnd = text.indexOf(ST, at + LINK_OPEN.length);
65
+ if (targetEnd === -1)
66
+ break;
67
+ const target = text.slice(at + LINK_OPEN.length, targetEnd);
68
+ const textEnd = targetEnd + ST.length + target.length;
69
+ const ours = LINK_TARGET.test(target) && target.search(UNSAFE) === -1
70
+ && text.slice(targetEnd + ST.length, textEnd) === target && text.startsWith(close, textEnd);
71
+ if (ours) {
72
+ if (at > plainFrom)
73
+ parts.push({ text: text.slice(plainFrom, at) });
74
+ parts.push({ link: target });
75
+ plainFrom = textEnd + close.length;
76
+ at = text.indexOf(LINK_OPEN, plainFrom);
77
+ }
78
+ else {
79
+ at = text.indexOf(LINK_OPEN, at + LINK_OPEN.length);
80
+ }
81
+ }
82
+ if (plainFrom < text.length || parts.length === 0)
83
+ parts.push({ text: text.slice(plainFrom) });
84
+ return parts;
85
+ }
41
86
  const count = (s, c) => s.split(c).length - 1;
42
87
  /**
43
88
  * Every http(s) URL in already-escaped text as an OSC 8 link to itself. Sentence
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-safe.js","sourceRoot":"","sources":["../src/terminal-safe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-safe.js","sourceRoot":"","sources":["../src/terminal-safe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,gFAAgF;AAChF,gFAAgF;AAChF,4CAA4C;AAC5C,MAAM,MAAM,GAAG,sEAAsE,CAAC;AAEtF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CACpC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO;IACtB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK;QAClB,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAE9D,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAK,GAAG,KAAK;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,qFAAqF;AACrF,MAAM,SAAS,GAAG,iEAAiE,CAAC;AACpF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,aAAa,MAAM,UAAU,CAAC;AAE/D,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;AACtB,MAAM,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC;AAC/B,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;AAI5D;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,MAAM;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;eAChE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9F,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,GAAG,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7B,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YACnC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACvC,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;gBAAE,MAAM;YAC9D,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YACnB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAErD,MAAM,UAAU,qBAAqB,CAAC,EAAwC;IAC5E,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IAC/B,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7E,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB,CAAC,MAA0B;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAoC,CAAC;IAC3E,MAAM,IAAI,GAAI,MAA0B,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAc,EAAE,GAAG,IAAe,EAAE,EAAE,CACrD,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAwB,CAAC;AACvH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cbrowser",
3
- "version": "20.2.0",
3
+ "version": "20.2.1",
4
4
  "type": "module",
5
5
  "description": "Cognitive browser automation that thinks like your users—and helps AI agents navigate too. Simulate real user cognition with abandonment detection, constitutional safety, chaos engineering, and UX friction discovery. Sites that pass CBrowser's cognitive tests are easier for both humans and AI agents to navigate.",
6
6
  "main": "dist/index.js",