clearcote 0.32.0 → 0.34.0

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.
Files changed (53) hide show
  1. package/README.md +116 -5
  2. package/dist/cli-commands.d.ts +13 -0
  3. package/dist/cli-commands.d.ts.map +1 -1
  4. package/dist/cli-commands.js +343 -2
  5. package/dist/cli-commands.js.map +1 -1
  6. package/dist/cloud.d.ts +355 -0
  7. package/dist/cloud.d.ts.map +1 -0
  8. package/dist/cloud.js +942 -0
  9. package/dist/cloud.js.map +1 -0
  10. package/dist/fingerprint.d.ts.map +1 -1
  11. package/dist/fingerprint.js +37 -15
  12. package/dist/fingerprint.js.map +1 -1
  13. package/dist/fonts.d.ts +15 -3
  14. package/dist/fonts.d.ts.map +1 -1
  15. package/dist/fonts.js +25 -4
  16. package/dist/fonts.js.map +1 -1
  17. package/dist/geoip.d.ts +28 -0
  18. package/dist/geoip.d.ts.map +1 -1
  19. package/dist/geoip.js +59 -20
  20. package/dist/geoip.js.map +1 -1
  21. package/dist/humanize.d.ts +2 -0
  22. package/dist/humanize.d.ts.map +1 -1
  23. package/dist/humanize.js +78 -65
  24. package/dist/humanize.js.map +1 -1
  25. package/dist/index.d.ts +50 -4
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +125 -46
  28. package/dist/index.js.map +1 -1
  29. package/dist/isolated.d.ts +34 -0
  30. package/dist/isolated.d.ts.map +1 -0
  31. package/dist/isolated.js +76 -0
  32. package/dist/isolated.js.map +1 -0
  33. package/dist/languages.d.ts +32 -0
  34. package/dist/languages.d.ts.map +1 -0
  35. package/dist/languages.js +105 -0
  36. package/dist/languages.js.map +1 -0
  37. package/dist/launchopts.d.ts +3 -0
  38. package/dist/launchopts.d.ts.map +1 -1
  39. package/dist/launchopts.js +4 -1
  40. package/dist/launchopts.js.map +1 -1
  41. package/dist/license.d.ts +19 -0
  42. package/dist/license.d.ts.map +1 -1
  43. package/dist/license.js +135 -2
  44. package/dist/license.js.map +1 -1
  45. package/dist/render.d.ts +9 -0
  46. package/dist/render.d.ts.map +1 -1
  47. package/dist/render.js +69 -2
  48. package/dist/render.js.map +1 -1
  49. package/dist/warnings.d.ts +4 -0
  50. package/dist/warnings.d.ts.map +1 -1
  51. package/dist/warnings.js +47 -0
  52. package/dist/warnings.js.map +1 -1
  53. package/package.json +1 -1
package/dist/render.d.ts CHANGED
@@ -9,6 +9,11 @@ export interface RenderInfo {
9
9
  unmaskedVendor?: string;
10
10
  unmaskedRenderer?: string;
11
11
  maxTextureSize?: number;
12
+ maxRenderbufferSize?: number;
13
+ maxViewportDims?: number[];
14
+ maxVertexUniformVectors?: number;
15
+ maxFragmentUniformVectors?: number;
16
+ canAllocate16k?: boolean | null;
12
17
  }
13
18
  export interface RenderVerdict {
14
19
  vendor: string;
@@ -16,6 +21,10 @@ export interface RenderVerdict {
16
21
  webgl: boolean;
17
22
  webgl2: boolean;
18
23
  maxTextureSize: number;
24
+ maxRenderbufferSize: number;
25
+ maxVertexUniformVectors: number;
26
+ maxFragmentUniformVectors: number;
27
+ canAllocate16kTexture?: boolean | null;
19
28
  softwareSuspected: boolean;
20
29
  coherent: boolean;
21
30
  warnings: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAsC5C,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIvD;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAmDvF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAGlG"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAmE5C,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIvD;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAkGvF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAGlG"}
package/dist/render.js CHANGED
@@ -24,6 +24,24 @@ const PROBE_JS = `() => {
24
24
  out.unmaskedRenderer = gl.getParameter(dbg.UNMASKED_RENDERER_WEBGL) || "";
25
25
  }
26
26
  out.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE) || 0;
27
+ out.maxRenderbufferSize = gl.getParameter(gl.MAX_RENDERBUFFER_SIZE) || 0;
28
+ const vp = gl.getParameter(gl.MAX_VIEWPORT_DIMS);
29
+ out.maxViewportDims = vp ? Array.from(vp) : [];
30
+ out.maxVertexUniformVectors = gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS) || 0;
31
+ out.maxFragmentUniformVectors = gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS) || 0;
32
+ // Capability probe, not a declared value: a spoofed renderer string is free, an actual
33
+ // 16384-wide texture allocation is not. A software-rasterizer backend refuses it.
34
+ // The error queue is drained first: getError() is sticky, so a flag left behind by anything
35
+ // above would otherwise be read back as "the allocation failed".
36
+ try {
37
+ let drain = 0;
38
+ while (gl.getError() !== gl.NO_ERROR && drain++ < 32) {}
39
+ const t = gl.createTexture();
40
+ gl.bindTexture(gl.TEXTURE_2D, t);
41
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 16384, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
42
+ out.canAllocate16k = gl.getError() === gl.NO_ERROR;
43
+ gl.deleteTexture(t);
44
+ } catch (e) { out.canAllocate16k = null; }
27
45
  } catch (e) { out.error = String(e); }
28
46
  return out;
29
47
  }`;
@@ -38,6 +56,15 @@ const FAMILY_KEYS = [
38
56
  ["apple", "apple"], ["m1", "apple"], ["m2", "apple"], ["m3", "apple"], ["m4", "apple"],
39
57
  ["mali", "mali"], ["adreno", "adreno"], ["powervr", "powervr"],
40
58
  ];
59
+ // Desktop/laptop GPU families. A persona naming one of these claims a machine whose driver backs a
60
+ // 16384 texture; the mobile families legitimately sit below that, so the floor skips them.
61
+ const DESKTOP_FAMILIES = ["nvidia", "amd", "intel", "apple"];
62
+ // Capability floor for a desktop-class GPU claim, measured rather than assumed:
63
+ // SwiftShader (ANGLE/Vulkan, genuine Chrome 153 headless Linux) ....... 8192
64
+ // Mesa llvmpipe (LLVM 15, genuine Chrome 153 headed Linux) ........... 16384
65
+ // ANGLE/D3D11 on a GeForce RTX 3070 (genuine Chrome 153 Windows) ..... 16384
66
+ // 16384 is also the D3D11 feature-level-11 2D texture cap and the Mesa GL limit for Intel Gen7+.
67
+ const HW_MIN_MAX_TEXTURE_SIZE = 16384;
41
68
  /** Best-effort GPU family from a vendor/renderer string ('' if unknown). */
42
69
  export function gpuFamily(s) {
43
70
  const l = (s || "").toLowerCase();
@@ -57,29 +84,69 @@ export function evaluateRenderInfo(info, claimedGpu) {
57
84
  if (!hasWebgl) {
58
85
  warnings.push("WebGL is unavailable - a hard tell for a real desktop browser (only headless or locked-down setups disable it).");
59
86
  }
60
- const software = SOFTWARE_MARKERS.some((m) => rl.includes(m) || vl.includes(m));
87
+ let software = SOFTWARE_MARKERS.some((m) => rl.includes(m) || vl.includes(m));
61
88
  if (software) {
62
89
  warnings.push(`software rasterizer detected in the WebGL renderer (${JSON.stringify(renderer)}) - a definitive ` +
63
90
  "headless/no-GPU tell. Enable the canvas bridge (canvasBridge: ...) or run headed on a machine with a real GPU.");
64
91
  }
65
92
  const rfam = gpuFamily(rl);
66
93
  const vfam = gpuFamily(vl);
94
+ // Capability floor. The string check above is defeated the moment the persona renames the
95
+ // backend, so verify the claim against a limit the renderer string cannot move: a software
96
+ // rasterizer reports (and allocates) 8192 where every desktop GPU does 16384.
97
+ const maxTex = info.maxTextureSize || 0;
98
+ const can16k = info.canAllocate16k;
99
+ const vuv = info.maxVertexUniformVectors || 0;
100
+ const fuv = info.maxFragmentUniformVectors || 0;
101
+ if (DESKTOP_FAMILIES.includes(rfam) && maxTex && maxTex < HW_MIN_MAX_TEXTURE_SIZE) {
102
+ software = true;
103
+ warnings.push(`the WebGL renderer names a desktop GPU (${JSON.stringify(renderer)}) but MAX_TEXTURE_SIZE is ` +
104
+ `${maxTex}, below the ${HW_MIN_MAX_TEXTURE_SIZE} current desktop drivers report (only ` +
105
+ "pre-feature-level-11 D3D parts cap at 8192) - on a stealth build this means the renderer " +
106
+ "string was spoofed over a software rasterizer (headless Linux falls back to SwiftShader). " +
107
+ "Run headed, or use the canvas bridge.");
108
+ }
109
+ else if (DESKTOP_FAMILIES.includes(rfam) && can16k === false) {
110
+ software = true;
111
+ warnings.push(`the WebGL renderer names a desktop GPU (${JSON.stringify(renderer)}) and reports ` +
112
+ `MAX_TEXTURE_SIZE ${maxTex}, but a ${HW_MIN_MAX_TEXTURE_SIZE}-wide texture fails to ` +
113
+ "allocate - the reported limit is not backed by the real rendering backend.");
114
+ }
115
+ // Uniform-vector split: an ANGLE-over-GL/Mesa renderer reports vertex == fragment on every real
116
+ // driver (measured: SwiftShader 4096/4096, llvmpipe 1024/1024). ANGLE/D3D11 legitimately differs
117
+ // (4095/1024), so the check is limited to the non-D3D backends.
118
+ let incoherent = false;
119
+ if (vuv && fuv && vuv !== fuv && !rl.includes("d3d") && !rl.includes("direct3d")) {
120
+ incoherent = true;
121
+ warnings.push(`MAX_VERTEX_UNIFORM_VECTORS (${vuv}) and MAX_FRAGMENT_UNIFORM_VECTORS (${fuv}) disagree under ` +
122
+ `a non-D3D renderer (${JSON.stringify(renderer)}); every GL backend measured here reports ` +
123
+ "them equal (SwiftShader 4096/4096, llvmpipe 1024/1024), so the persona applied to one and " +
124
+ "not the other.");
125
+ }
67
126
  if (rfam && vfam && rfam !== vfam) {
127
+ incoherent = true;
68
128
  warnings.push(`WebGL vendor and renderer disagree on GPU family (vendor~${vfam}, renderer~${rfam}) - an incoherent persona.`);
69
129
  }
70
130
  if (claimedGpu) {
71
131
  const cfam = gpuFamily(claimedGpu);
72
132
  if (cfam && rfam && cfam !== rfam) {
133
+ incoherent = true;
73
134
  warnings.push(`the claimed GPU (${JSON.stringify(claimedGpu)}, family ~${cfam}) does not match the WebGL renderer family (~${rfam}).`);
74
135
  }
75
136
  }
76
- const coherent = hasWebgl && !software && !warnings.some((w) => w.includes("disagree") || w.includes("does not match"));
137
+ // Set by the branches above rather than by matching warning text: the verdict must not depend on
138
+ // the wording of a message.
139
+ const coherent = hasWebgl && !software && !incoherent;
77
140
  return {
78
141
  vendor,
79
142
  renderer,
80
143
  webgl: hasWebgl,
81
144
  webgl2: !!info.webgl2,
82
145
  maxTextureSize: info.maxTextureSize || 0,
146
+ maxRenderbufferSize: info.maxRenderbufferSize || 0,
147
+ maxVertexUniformVectors: vuv,
148
+ maxFragmentUniformVectors: fuv,
149
+ canAllocate16kTexture: can16k,
83
150
  softwareSuspected: software,
84
151
  coherent,
85
152
  warnings,
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,sGAAsG;AACtG,qGAAqG;AACrG,sGAAsG;AACtG,qGAAqG;AACrG,iGAAiG;AACjG,oGAAoG;AAIpG,0FAA0F;AAC1F,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCf,CAAC;AAEH,MAAM,gBAAgB,GAAG;IACvB,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU;IAC3D,gBAAgB,EAAE,wBAAwB,EAAE,kBAAkB;CAC/D,CAAC;AAEF,MAAM,WAAW,GAAuB;IACtC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACvG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IAClD,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;IAC1F,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;IACtF,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/D,CAAC;AAEF,mGAAmG;AACnG,2FAA2F;AAC3F,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE7D,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,iGAAiG;AACjG,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,CAAqB;IAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,WAAW;QAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IACtE,OAAO,EAAE,CAAC;AACZ,CAAC;AAgCD,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB,CAAC,IAAgB,EAAE,UAAmB;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CACX,iHAAiH,CAClH,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CACX,uDAAuD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB;YAChG,gHAAgH,CACnH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAE3B,0FAA0F;IAC1F,2FAA2F;IAC3F,8EAA8E;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,IAAI,CAAC,CAAC;IAChD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,uBAAuB,EAAE,CAAC;QAClF,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,IAAI,CACX,2CAA2C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B;YAC7F,GAAG,MAAM,eAAe,uBAAuB,wCAAwC;YACvF,2FAA2F;YAC3F,4FAA4F;YAC5F,uCAAuC,CAC1C,CAAC;IACJ,CAAC;SAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC/D,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,IAAI,CACX,2CAA2C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB;YACjF,oBAAoB,MAAM,WAAW,uBAAuB,yBAAyB;YACrF,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IAED,gGAAgG;IAChG,iGAAiG;IACjG,gEAAgE;IAChE,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,IAAI,CACX,+BAA+B,GAAG,uCAAuC,GAAG,mBAAmB;YAC7F,uBAAuB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4CAA4C;YAC3F,4FAA4F;YAC5F,gBAAgB,CACnB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClC,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,IAAI,CACX,4DAA4D,IAAI,cAAc,IAAI,4BAA4B,CAC/G,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClC,UAAU,GAAG,IAAI,CAAC;YAClB,QAAQ,CAAC,IAAI,CACX,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,IAAI,gDAAgD,IAAI,IAAI,CACxH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC;IACtD,OAAO;QACL,MAAM;QACN,QAAQ;QACR,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;QACxC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC;QAClD,uBAAuB,EAAE,GAAG;QAC5B,yBAAyB,EAAE,GAAG;QAC9B,qBAAqB,EAAE,MAAM;QAC7B,iBAAiB,EAAE,QAAQ;QAC3B,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAU,EAAE,UAAmB;IACxE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAe,CAAC;IAC3D,OAAO,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC"}
@@ -5,6 +5,10 @@ export interface CoherenceWarning {
5
5
  }
6
6
  /** Inspect resolved options for incoherent / missing-recommended combinations. Pure. */
7
7
  export declare function coherenceWarnings(opts: Record<string, unknown>, hostPlatform?: string, buildMajor?: string): CoherenceWarning[];
8
+ /** The cdp-public-bind / cdp-any-origin warnings for `serve({ host, allowOrigins })`. */
9
+ export declare function serveExposureWarnings(host: string, allowOrigins: string): CoherenceWarning[];
10
+ /** Print a list of warnings to stderr unless quiet or CLEARCOTE_NO_WARN. */
11
+ export declare function emitWarnings(warnings: readonly CoherenceWarning[], quiet?: boolean): void;
8
12
  /** Print coherence warnings to stderr unless quiet or CLEARCOTE_NO_WARN. NOTE lines fire once/process. */
9
13
  export declare function emitCoherenceWarnings(opts: Record<string, unknown>, quiet?: boolean, hostPlatform?: string, buildMajor?: string): void;
10
14
  //# sourceMappingURL=warnings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,EAAE,CAsEpB;AAaD,0GAA0G;AAC1G,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAcN"}
1
+ {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,EAAE,CAkFpB;AAgCD,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAE5F;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAGzF;AAaD,0GAA0G;AAC1G,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAcN"}
package/dist/warnings.js CHANGED
@@ -90,8 +90,55 @@ export function coherenceWarnings(opts, hostPlatform, buildMajor) {
90
90
  if (userArgs.some((a) => String(a).includes("--enable-automation") || String(a).startsWith("--remote-debugging-port")))
91
91
  warn("automation-arg", "your args re-introduce an automation flag (--enable-automation / --remote-debugging-port) the SDK " +
92
92
  "strips by default - a strong webdriver/CDP tell.");
93
+ if (opts.devtools || userArgs.some((a) => String(a).startsWith("--auto-open-devtools-for-tabs")))
94
+ warn("devtools-open", "DevTools is set to open (devtools:true / --auto-open-devtools-for-tabs). Pages can detect an open " +
95
+ "DevTools (debugger and console timing probes; a docked panel also makes innerWidth/innerHeight " +
96
+ "disagree with outerWidth/outerHeight). Leave it closed for real runs.");
97
+ if (opts.userAgent || userArgs.some((a) => String(a).startsWith("--user-agent=")))
98
+ warn("custom-user-agent", "a custom user agent (userAgent / --user-agent) replaces only the User-Agent string: " +
99
+ "navigator.userAgentData, the Sec-CH-UA headers, navigator.platform and the rest of the persona " +
100
+ "keep describing the persona, so a different OS or version in the string is a one-line mismatch. " +
101
+ "Use platform, brand and brandVersion to change what the browser claims.");
102
+ out.push(...cdpExposure(switchValue(userArgs, "--remote-debugging-address"), switchValue(userArgs, "--remote-allow-origins")));
93
103
  return out;
94
104
  }
105
+ /** The value of the LAST `name=value` in `args` (Chromium keeps the last), else undefined. */
106
+ function switchValue(args, name) {
107
+ let value;
108
+ for (const a of args) {
109
+ const s = String(a);
110
+ if (s.startsWith(`${name}=`))
111
+ value = s.slice(name.length + 1);
112
+ }
113
+ return value;
114
+ }
115
+ function isLoopback(host) {
116
+ const h = host.trim().replace(/^\[|\]$/g, "").toLowerCase();
117
+ return h === "localhost" || h === "::1" || h.startsWith("127.");
118
+ }
119
+ /** Warnings for a DevTools endpoint reachable beyond this machine or from any web page. */
120
+ function cdpExposure(bindAddress, allowOrigins) {
121
+ const out = [];
122
+ if (bindAddress !== undefined && !isLoopback(bindAddress))
123
+ out.push({ severity: "warn", code: "cdp-public-bind", message: `the DevTools endpoint is bound to ${bindAddress}, not loopback: anyone who can reach that port can ` +
124
+ "drive the browser, read its cookies and run code in its pages. Keep it on 127.0.0.1 and tunnel to it " +
125
+ "if you need remote access." });
126
+ if (allowOrigins !== undefined && allowOrigins.split(",").some((o) => o.trim() === "*"))
127
+ out.push({ severity: "warn", code: "cdp-any-origin", message: "--remote-allow-origins=* lets any web page this browser (or any browser on this machine) opens " +
128
+ "connect to the DevTools endpoint and take it over. List the origins you need instead." });
129
+ return out;
130
+ }
131
+ /** The cdp-public-bind / cdp-any-origin warnings for `serve({ host, allowOrigins })`. */
132
+ export function serveExposureWarnings(host, allowOrigins) {
133
+ return cdpExposure(host, allowOrigins);
134
+ }
135
+ /** Print a list of warnings to stderr unless quiet or CLEARCOTE_NO_WARN. */
136
+ export function emitWarnings(warnings, quiet) {
137
+ if (quiet || process.env.CLEARCOTE_NO_WARN)
138
+ return;
139
+ for (const w of warnings)
140
+ process.stderr.write(`clearcote: ${w.severity === "warn" ? "warning" : "note"}: ${w.message}\n`);
141
+ }
95
142
  /** Engine-behaviour advisories: true for every launch, so they live here rather than in
96
143
  * coherenceWarnings() (whose contract is "a coherent default is silent"). Fire once per process. */
97
144
  const ENGINE_NOTES = [
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clearcote",
3
- "version": "0.32.0",
3
+ "version": "0.34.0",
4
4
  "description": "Playwright drop-in for the Clearcote anti-fingerprint Chromium build. launch() returns a standard Playwright Browser backed by the verified Clearcote binary, which is auto-downloaded and SHA-256 checked.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",