@cross-deck/node 1.12.1 → 1.13.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.
- package/CHANGELOG.md +4 -0
- package/dist/auto-events/index.d.mts +1 -1
- package/dist/auto-events/index.d.ts +1 -1
- package/dist/{crossdeck-server-CuTGwrwx.d.mts → crossdeck-server-CjnIok-o.d.mts} +9 -0
- package/dist/{crossdeck-server-CuTGwrwx.d.ts → crossdeck-server-CjnIok-o.d.ts} +9 -0
- package/dist/index.cjs +6 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +6 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.13.0] — 2026-07-26
|
|
10
|
+
|
|
11
|
+
- **Crossdeck Trust — the gate now carries the browser's human-proof token.** `GateInput` gains an optional `token`: pass the attestation minted by the Crossdeck Trust panel in the browser (`Crossdeck.trust.panel(...)` / `<CrossdeckTrust>` in `@cross-deck/web`) and `gate()` forwards it as `challengeToken` to `/v1/trust/gate`, completing the SDK-native round trip. A real browser carries one; a server-to-server bot has none — that absence is scored, and in strict mode (`requireHumanProof`) a tokenless + suspicious attempt is the confident block. Optional and fail-open: omitting it never blocks on its own, and `gate()` remains fail-open by contract (a glitch returns `{ action: "allow", degraded: true }`, never a throw or a false block).
|
|
12
|
+
|
|
9
13
|
## [1.12.1] — 2026-07-23
|
|
10
14
|
|
|
11
15
|
- **Reliability telemetry re-pointed to the live project.** The internal `crossdeck.contract_failed` self-check channel used a retired reliability-workspace key that had begun returning `401 invalid_api_key`, silently dropping failures; it now targets the live "Crossdeck Health Check" project. Internal SDK-health only — never touches your dashboard or your app. (No API changes; the anonymous-`reset()` hardening in the other SDKs does not apply — the Node SDK has no persistent device identity to churn.)
|
|
@@ -549,6 +549,15 @@ interface GateInput {
|
|
|
549
549
|
domain?: string;
|
|
550
550
|
/** Optional device fingerprint — sharpens the composite signup score. */
|
|
551
551
|
fingerprint?: string;
|
|
552
|
+
/**
|
|
553
|
+
* The human-proof attestation minted by the Crossdeck Trust panel in the browser
|
|
554
|
+
* (`Crossdeck.trust.panel(...)` / `<CrossdeckTrust>` in @cross-deck/web). Forward
|
|
555
|
+
* whatever the client delivered. A real browser carries one; a server-to-server
|
|
556
|
+
* bot has none — that absence is scored, and in strict mode (`requireHumanProof`)
|
|
557
|
+
* a tokenless + suspicious attempt is the confident block. Optional and fail-open:
|
|
558
|
+
* omitting it never blocks on its own.
|
|
559
|
+
*/
|
|
560
|
+
token?: string;
|
|
552
561
|
}
|
|
553
562
|
/**
|
|
554
563
|
* The signup-gate verdict from {@link CrossdeckServer.gate}. Fail-open: on any error these
|
|
@@ -549,6 +549,15 @@ interface GateInput {
|
|
|
549
549
|
domain?: string;
|
|
550
550
|
/** Optional device fingerprint — sharpens the composite signup score. */
|
|
551
551
|
fingerprint?: string;
|
|
552
|
+
/**
|
|
553
|
+
* The human-proof attestation minted by the Crossdeck Trust panel in the browser
|
|
554
|
+
* (`Crossdeck.trust.panel(...)` / `<CrossdeckTrust>` in @cross-deck/web). Forward
|
|
555
|
+
* whatever the client delivered. A real browser carries one; a server-to-server
|
|
556
|
+
* bot has none — that absence is scored, and in strict mode (`requireHumanProof`)
|
|
557
|
+
* a tokenless + suspicious attempt is the confident block. Optional and fail-open:
|
|
558
|
+
* omitting it never blocks on its own.
|
|
559
|
+
*/
|
|
560
|
+
token?: string;
|
|
552
561
|
}
|
|
553
562
|
/**
|
|
554
563
|
* The signup-gate verdict from {@link CrossdeckServer.gate}. Fail-open: on any error these
|
package/dist/index.cjs
CHANGED
|
@@ -387,7 +387,7 @@ function byteLength(s) {
|
|
|
387
387
|
var https = __toESM(require("https"));
|
|
388
388
|
|
|
389
389
|
// src/_version.ts
|
|
390
|
-
var SDK_VERSION = "1.
|
|
390
|
+
var SDK_VERSION = "1.13.0";
|
|
391
391
|
var SDK_NAME = "@cross-deck/node";
|
|
392
392
|
|
|
393
393
|
// src/_diagnostic-telemetry.ts
|
|
@@ -3309,7 +3309,11 @@ var CrossdeckServer = class extends import_node_events.EventEmitter {
|
|
|
3309
3309
|
...input.email ? { email: input.email } : {},
|
|
3310
3310
|
...input.ip ? { ip: input.ip } : {},
|
|
3311
3311
|
...input.domain ? { domain: input.domain } : {},
|
|
3312
|
-
...input.fingerprint ? { fingerprint: input.fingerprint } : {}
|
|
3312
|
+
...input.fingerprint ? { fingerprint: input.fingerprint } : {},
|
|
3313
|
+
// The human-proof attestation from the Crossdeck Trust browser panel.
|
|
3314
|
+
// Verified server-side at the gate; its absence is scored, never a hard
|
|
3315
|
+
// block on its own (fail-open). Only sent when the client supplied one.
|
|
3316
|
+
...input.token ? { challengeToken: input.token } : {}
|
|
3313
3317
|
},
|
|
3314
3318
|
signal: options?.signal,
|
|
3315
3319
|
timeoutMs: options?.timeoutMs
|