🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@mochi.js/consistency

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mochi.js/consistency - npm Package Compare versions

Comparing version
0.1.3
to
0.1.4
+1
-1
package.json
{
"name": "@mochi.js/consistency",
"version": "0.1.3",
"version": "0.1.4",
"description": "The Matrix engine — relational fingerprint locking for mochi. Imported by @mochi.js/core.",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -11,3 +11,3 @@ # @mochi.js/consistency

**Status:** shipping in v0.2. The 40-rule DAG covers UA / UA-CH, navigator, plugins, screen, timing, fonts, MediaDevices, Permissions, WebGL, WebGPU, audio fingerprint (R-047), and canvas fingerprint (R-048 — both fed by precomputed per-profile blobs).
**Status:** shipping in v0.2. The 48-rule DAG covers UA / UA-CH, navigator, plugins, screen, timing, fonts, MediaDevices, Permissions, WebGL, WebGPU, audio fingerprint (R-047), and canvas fingerprint (R-048 — both fed by precomputed per-profile blobs).

@@ -14,0 +14,0 @@ See [PLAN.md §9](https://github.com/0xchasercat/mochi/blob/main/PLAN.md) for the full ruleset.

@@ -288,3 +288,3 @@ /**

// ---- task 0261 rules (R-042..R-046) — UA-CH metadata struct ------------
// ---- R-042..R-046 — UA-CH metadata struct ------------

@@ -328,3 +328,3 @@ it("R-042: sec-ch-ua-arch is quoted arm on apple-silicon, x86 on win-x64", () => {

// ---- task 0267 rules (R-047 / R-048) — audio + canvas fingerprint ------
// ---- R-047 / R-048 — audio + canvas fingerprint ------

@@ -331,0 +331,0 @@ it("R-047: audio-fingerprint slot carries sampleRate + audioHash + 10-sample window", () => {

// AUTO-GENERATED — do not edit. Run `bun run codegen` to regenerate.
// Source schema lives in schemas/. See scripts/codegen.ts and tasks/0003-schemas-and-codegen.md.
// Source schema lives in schemas/. See scripts/codegen.ts.
/**
* A ProfileV1 instantiated for a specific seed. Same shape as ProfileV1 (every property re-declared via $ref to profile.schema.json), with three additional required fields: seed, derivedAt, consistencyEngineVersion. Consumed by @mochi.js/inject. JSON-serializable; round-trips losslessly. See PLAN.md §6.2.
* A ProfileV1 instantiated for a specific seed. Same shape as ProfileV1 (every property re-declared via $ref to profile.schema.json), with three additional required fields: seed, derivedAt, consistencyEngineVersion. Consumed by @mochi.js/inject. JSON-serializable; round-trips losslessly. NOTE: `wreqPreset` is DEPRECATED in 0.7 (runtime no longer reads it; `Session.fetch` routes through Chromium directly) and removed in 0.8. See PLAN.md §6.2.
*/

@@ -159,3 +159,4 @@ export type MatrixV1 = ProfileV1 & {

/**
* Preset name accepted by the wreq Rust crate, e.g. 'chrome_131_macos'. Maps profile -> TLS/H2 fingerprint.
* @deprecated
* DEPRECATED in 0.7 — removed entirely in 0.8. The runtime no longer reads this field; `Session.fetch` routes through Chromium's network stack via CDP, so JA4 is real Chrome by definition. Kept in the schema for one release for migration. Historical: preset name accepted by the wreq Rust crate (e.g. 'chrome_131_macos').
*/

@@ -162,0 +163,0 @@ wreqPreset: string;

// AUTO-GENERATED — do not edit. Run `bun run codegen` to regenerate.
// Source schema lives in schemas/. See scripts/codegen.ts and tasks/0003-schemas-and-codegen.md.
// Source schema lives in schemas/. See scripts/codegen.ts.

@@ -141,3 +141,4 @@ /**

/**
* Preset name accepted by the wreq Rust crate, e.g. 'chrome_131_macos'. Maps profile -> TLS/H2 fingerprint.
* @deprecated
* DEPRECATED in 0.7 — removed entirely in 0.8. The runtime no longer reads this field; `Session.fetch` routes through Chromium's network stack via CDP, so JA4 is real Chrome by definition. Kept in the schema for one release for migration. Historical: preset name accepted by the wreq Rust crate (e.g. 'chrome_131_macos').
*/

@@ -144,0 +145,0 @@ wreqPreset: string;

@@ -35,3 +35,3 @@ /**

// Canonical types are generated from schemas/*.schema.json by `bun run codegen`.
// @mochi.js/consistency *owns* both ProfileV1 and MatrixV1 — see AGENTS.md §5.
// @mochi.js/consistency *owns* both ProfileV1 and MatrixV1 — see PLAN.md §5.6.
export type { ProfileV1 } from "./generated/profile";

@@ -38,0 +38,0 @@ // Public PRNG surface — promoted from internal at v0.2.1 so downstream packages

@@ -22,3 +22,2 @@ /**

* @see PLAN.md §9.3 (audio), §9.4 (canvas)
* @see tasks/0267-audio-canvas-fingerprint-blobs.md
*/

@@ -25,0 +24,0 @@

@@ -12,3 +12,2 @@ /**

* @see PLAN.md §9.2, §13.6
* @see tasks/0070-consistency-rules-full.md
*/

@@ -15,0 +14,0 @@

@@ -37,3 +37,3 @@ /**

* - USER_AGENT_RULES R-004..R-007, R-023, R-026, R-031,
* R-042..R-046 (UA-CH metadata struct; task 0261 —
* R-042..R-046 (UA-CH metadata struct;
* sec-ch-ua-arch / -bitness / -mobile / -model and

@@ -49,5 +49,5 @@ * single-string ua-full-version derived from R-031)

* - MOUSE_EVENT_RULES R-041 (MouseEvent.screenX/screenY relational lock —
* PLAN.md I-5 / CDP-dispatch leak; task 0250)
* PLAN.md I-5 / CDP-dispatch leak)
* - AUDIO_CANVAS_RULES R-047 + R-048 (audio + canvas fingerprint blobs;
* PLAN.md §9.3 / §9.4; task 0267)
* PLAN.md §9.3 / §9.4)
*/

@@ -54,0 +54,0 @@ export const RULES: readonly Rule[] = [

@@ -32,3 +32,2 @@ /**

* @see PLAN.md §9.3 / §9.4
* @see tasks/0267-audio-canvas-fingerprint-blobs.md
*/

@@ -35,0 +34,0 @@

@@ -164,2 +164,3 @@ /**

chrome: {
"148": "148.0.7778.97",
"147": "147.0.7727.138",

@@ -178,2 +179,3 @@ "146": "146.0.7390.122",

edge: {
"148": "148.0.7778.97",
"147": "147.0.3477.94",

@@ -184,2 +186,3 @@ "133": "133.0.3065.92",

brave: {
"148": "148.0.7778.97",
"147": "147.0.7727.138",

@@ -189,2 +192,3 @@ "131": "131.0.6778.110",

arc: {
"148": "148.0.7778.97",
"131": "131.0.6778.110",

@@ -191,0 +195,0 @@ },

@@ -9,3 +9,3 @@ /**

*
* @see PLAN.md §9.5 / tasks/0020 R-001..R-003, R-024, R-025
* @see PLAN.md §9.5 (R-001..R-003, R-024, R-025)
*/

@@ -12,0 +12,0 @@

@@ -15,3 +15,3 @@ /**

*
* @see PLAN.md §9.5 / tasks/0070-consistency-rules-full.md (media-devices)
* @see PLAN.md §9.5 (media-devices)
*/

@@ -18,0 +18,0 @@

@@ -12,3 +12,2 @@ /**

*
* @see tasks/0070-consistency-rules-full.md (permissions)
*/

@@ -15,0 +14,0 @@

@@ -26,3 +26,2 @@ /**

*
* @see tasks/0070-consistency-rules-full.md (screen-orientation)
*/

@@ -29,0 +28,0 @@

@@ -14,3 +14,2 @@ /**

* @see PLAN.md §9.5 (WebGPU adapter info — phase 0.7)
* @see tasks/0070-consistency-rules-full.md (webgpu)
*/

@@ -17,0 +16,0 @@

@@ -18,3 +18,2 @@ /**

*
* @see tasks/0250-mouseevent-screen-coords.md
* @see PLAN.md §5.2, §9.2 (R-041)

@@ -21,0 +20,0 @@ */

@@ -33,3 +33,3 @@ /**

* Pro/Max parts (e.g. M4 Max ships 14 cores; the table emitted 10 and
* clobbered the profile). See tasks/0051-consistency-stack-fixes.md
* clobbered the profile). See PLAN.md
* (Group A).

@@ -36,0 +36,0 @@ */

@@ -8,3 +8,3 @@ /**

*
* R-042..R-046 (task 0261) close the UA-CH cross-layer gap exposed by 0255:
* R-042..R-046 close the UA-CH cross-layer gap exposed by 0255:
* `Network.setUserAgentOverride` accepts a structured `userAgentMetadata`

@@ -18,3 +18,2 @@ * shape from which Chromium derives every `Sec-CH-UA*` request header. Core

* @see PLAN.md §9.2
* @see tasks/0261-uach-network-metadata.md
*/

@@ -159,3 +158,2 @@

* @see PLAN.md §9.2 / §13.6
* @see tasks/0070-consistency-rules-full.md (full-version-list)
*/

@@ -162,0 +160,0 @@ export const R031: Rule = defineRule<readonly [BrowserName, string], string>({

@@ -10,3 +10,2 @@ /**

* @see PLAN.md §9.5 (WebGPU adapter info)
* @see tasks/0070-consistency-rules-full.md
*/

@@ -13,0 +12,0 @@