@cross-deck/node 1.7.0 → 1.8.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 +25 -0
- package/README.md +11 -3
- package/dist/auto-events/index.d.mts +1 -1
- package/dist/auto-events/index.d.ts +1 -1
- package/dist/{crossdeck-server-DYawt4eT.d.mts → crossdeck-server-D9RvKxgA.d.mts} +10 -2
- package/dist/{crossdeck-server-DYawt4eT.d.ts → crossdeck-server-D9RvKxgA.d.ts} +10 -2
- package/dist/index.cjs +92 -13
- 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 +92 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as AliasIdentityInput, a as AliasResult, b as AuditDecision, c as AuditEntry, B as Breadcrumb, d as BreadcrumbCategory, e as BreadcrumbLevel, C as CROSSDECK_API_VERSION, f as CapturedError, g as Contract, h as ContractAppliesTo, i as ContractFailureInput, j as ContractPillar, k as ContractStatus, l as ContractTestRef, m as CrossdeckAuthenticationError, n as CrossdeckConfigurationError, o as CrossdeckContracts, p as CrossdeckError, q as CrossdeckErrorPayload, r as CrossdeckErrorType, s as CrossdeckInternalError, t as CrossdeckNetworkError, u as CrossdeckPermissionError, v as CrossdeckRateLimitError, w as CrossdeckServer, x as CrossdeckServerOptions, y as CrossdeckValidationError, D as DEFAULT_BASE_URL, z as DEFAULT_TIMEOUT_MS, E as Diagnostics, F as EntitlementCacheOptions, G as EntitlementMutationResult, H as EntitlementStore, I as EntitlementsListResponse, J as EntitlementsListener, K as Environment, L as ErrorCaptureConfig, M as ErrorLevel, N as EventProperties, O as ForgetResult, P as GrantDuration, Q as GrantEntitlementInput, R as GroupMembership, S as HeartbeatResponse, T as HttpRequestInfo, U as HttpResponseInfo, V as HttpRetriesConfig, W as IdentifyOptions, X as IdentityHints, Y as IngestOptions, Z as IngestResponse, _ as PublicEntitlement, $ as PurchaseResult, a0 as RequestOptions, a1 as RevokeEntitlementInput, a2 as RuntimeHost, a3 as RuntimeInfo, a4 as ServerEvent, a5 as StackFrame, a6 as StoredEntitlements, a7 as SyncPurchaseInput, a8 as makeCrossdeckError } from './crossdeck-server-
|
|
1
|
+
export { A as AliasIdentityInput, a as AliasResult, b as AuditDecision, c as AuditEntry, B as Breadcrumb, d as BreadcrumbCategory, e as BreadcrumbLevel, C as CROSSDECK_API_VERSION, f as CapturedError, g as Contract, h as ContractAppliesTo, i as ContractFailureInput, j as ContractPillar, k as ContractStatus, l as ContractTestRef, m as CrossdeckAuthenticationError, n as CrossdeckConfigurationError, o as CrossdeckContracts, p as CrossdeckError, q as CrossdeckErrorPayload, r as CrossdeckErrorType, s as CrossdeckInternalError, t as CrossdeckNetworkError, u as CrossdeckPermissionError, v as CrossdeckRateLimitError, w as CrossdeckServer, x as CrossdeckServerOptions, y as CrossdeckValidationError, D as DEFAULT_BASE_URL, z as DEFAULT_TIMEOUT_MS, E as Diagnostics, F as EntitlementCacheOptions, G as EntitlementMutationResult, H as EntitlementStore, I as EntitlementsListResponse, J as EntitlementsListener, K as Environment, L as ErrorCaptureConfig, M as ErrorLevel, N as EventProperties, O as ForgetResult, P as GrantDuration, Q as GrantEntitlementInput, R as GroupMembership, S as HeartbeatResponse, T as HttpRequestInfo, U as HttpResponseInfo, V as HttpRetriesConfig, W as IdentifyOptions, X as IdentityHints, Y as IngestOptions, Z as IngestResponse, _ as PublicEntitlement, $ as PurchaseResult, a0 as RequestOptions, a1 as RevokeEntitlementInput, a2 as RuntimeHost, a3 as RuntimeInfo, a4 as ServerEvent, a5 as StackFrame, a6 as StoredEntitlements, a7 as SyncPurchaseInput, a8 as makeCrossdeckError } from './crossdeck-server-D9RvKxgA.mjs';
|
|
2
2
|
import 'node:events';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -17,7 +17,7 @@ import 'node:events';
|
|
|
17
17
|
*
|
|
18
18
|
* Do NOT edit by hand — `node scripts/sync-sdk-versions.mjs`.
|
|
19
19
|
*/
|
|
20
|
-
declare const SDK_VERSION = "1.
|
|
20
|
+
declare const SDK_VERSION = "1.8.0";
|
|
21
21
|
declare const SDK_NAME = "@cross-deck/node";
|
|
22
22
|
|
|
23
23
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as AliasIdentityInput, a as AliasResult, b as AuditDecision, c as AuditEntry, B as Breadcrumb, d as BreadcrumbCategory, e as BreadcrumbLevel, C as CROSSDECK_API_VERSION, f as CapturedError, g as Contract, h as ContractAppliesTo, i as ContractFailureInput, j as ContractPillar, k as ContractStatus, l as ContractTestRef, m as CrossdeckAuthenticationError, n as CrossdeckConfigurationError, o as CrossdeckContracts, p as CrossdeckError, q as CrossdeckErrorPayload, r as CrossdeckErrorType, s as CrossdeckInternalError, t as CrossdeckNetworkError, u as CrossdeckPermissionError, v as CrossdeckRateLimitError, w as CrossdeckServer, x as CrossdeckServerOptions, y as CrossdeckValidationError, D as DEFAULT_BASE_URL, z as DEFAULT_TIMEOUT_MS, E as Diagnostics, F as EntitlementCacheOptions, G as EntitlementMutationResult, H as EntitlementStore, I as EntitlementsListResponse, J as EntitlementsListener, K as Environment, L as ErrorCaptureConfig, M as ErrorLevel, N as EventProperties, O as ForgetResult, P as GrantDuration, Q as GrantEntitlementInput, R as GroupMembership, S as HeartbeatResponse, T as HttpRequestInfo, U as HttpResponseInfo, V as HttpRetriesConfig, W as IdentifyOptions, X as IdentityHints, Y as IngestOptions, Z as IngestResponse, _ as PublicEntitlement, $ as PurchaseResult, a0 as RequestOptions, a1 as RevokeEntitlementInput, a2 as RuntimeHost, a3 as RuntimeInfo, a4 as ServerEvent, a5 as StackFrame, a6 as StoredEntitlements, a7 as SyncPurchaseInput, a8 as makeCrossdeckError } from './crossdeck-server-
|
|
1
|
+
export { A as AliasIdentityInput, a as AliasResult, b as AuditDecision, c as AuditEntry, B as Breadcrumb, d as BreadcrumbCategory, e as BreadcrumbLevel, C as CROSSDECK_API_VERSION, f as CapturedError, g as Contract, h as ContractAppliesTo, i as ContractFailureInput, j as ContractPillar, k as ContractStatus, l as ContractTestRef, m as CrossdeckAuthenticationError, n as CrossdeckConfigurationError, o as CrossdeckContracts, p as CrossdeckError, q as CrossdeckErrorPayload, r as CrossdeckErrorType, s as CrossdeckInternalError, t as CrossdeckNetworkError, u as CrossdeckPermissionError, v as CrossdeckRateLimitError, w as CrossdeckServer, x as CrossdeckServerOptions, y as CrossdeckValidationError, D as DEFAULT_BASE_URL, z as DEFAULT_TIMEOUT_MS, E as Diagnostics, F as EntitlementCacheOptions, G as EntitlementMutationResult, H as EntitlementStore, I as EntitlementsListResponse, J as EntitlementsListener, K as Environment, L as ErrorCaptureConfig, M as ErrorLevel, N as EventProperties, O as ForgetResult, P as GrantDuration, Q as GrantEntitlementInput, R as GroupMembership, S as HeartbeatResponse, T as HttpRequestInfo, U as HttpResponseInfo, V as HttpRetriesConfig, W as IdentifyOptions, X as IdentityHints, Y as IngestOptions, Z as IngestResponse, _ as PublicEntitlement, $ as PurchaseResult, a0 as RequestOptions, a1 as RevokeEntitlementInput, a2 as RuntimeHost, a3 as RuntimeInfo, a4 as ServerEvent, a5 as StackFrame, a6 as StoredEntitlements, a7 as SyncPurchaseInput, a8 as makeCrossdeckError } from './crossdeck-server-D9RvKxgA.js';
|
|
2
2
|
import 'node:events';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -17,7 +17,7 @@ import 'node:events';
|
|
|
17
17
|
*
|
|
18
18
|
* Do NOT edit by hand — `node scripts/sync-sdk-versions.mjs`.
|
|
19
19
|
*/
|
|
20
|
-
declare const SDK_VERSION = "1.
|
|
20
|
+
declare const SDK_VERSION = "1.8.0";
|
|
21
21
|
declare const SDK_NAME = "@cross-deck/node";
|
|
22
22
|
|
|
23
23
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -329,7 +329,7 @@ function byteLength(s) {
|
|
|
329
329
|
import * as https from "https";
|
|
330
330
|
|
|
331
331
|
// src/_version.ts
|
|
332
|
-
var SDK_VERSION = "1.
|
|
332
|
+
var SDK_VERSION = "1.8.0";
|
|
333
333
|
var SDK_NAME = "@cross-deck/node";
|
|
334
334
|
|
|
335
335
|
// src/_diagnostic-telemetry.ts
|
|
@@ -1375,6 +1375,7 @@ var ErrorTracker = class {
|
|
|
1375
1375
|
installFetchWrap() {
|
|
1376
1376
|
const origFetch = globalThis.fetch;
|
|
1377
1377
|
if (typeof origFetch !== "function") return;
|
|
1378
|
+
if (origFetch.__crossdeckWrapped__) return;
|
|
1378
1379
|
const tracker = this;
|
|
1379
1380
|
const wrapped = async (...args) => {
|
|
1380
1381
|
const input = args[0];
|
|
@@ -1415,6 +1416,7 @@ var ErrorTracker = class {
|
|
|
1415
1416
|
throw err;
|
|
1416
1417
|
}
|
|
1417
1418
|
};
|
|
1419
|
+
wrapped.__crossdeckWrapped__ = true;
|
|
1418
1420
|
globalThis.fetch = wrapped;
|
|
1419
1421
|
this.cleanups.push(() => {
|
|
1420
1422
|
if (globalThis.fetch === wrapped) globalThis.fetch = origFetch;
|
|
@@ -2620,6 +2622,9 @@ function safeJson(obj) {
|
|
|
2620
2622
|
|
|
2621
2623
|
// src/crossdeck-server.ts
|
|
2622
2624
|
var CrossdeckServer = class extends EventEmitter {
|
|
2625
|
+
// `!` (definite assignment): these are assigned on the real construction path,
|
|
2626
|
+
// but the singleton guard in the constructor can `return` an existing instance
|
|
2627
|
+
// before reaching them — that early return is the only path that skips them.
|
|
2623
2628
|
http;
|
|
2624
2629
|
sdkVersion;
|
|
2625
2630
|
baseUrl;
|
|
@@ -2715,6 +2720,13 @@ var CrossdeckServer = class extends EventEmitter {
|
|
|
2715
2720
|
this.appId = options.appId;
|
|
2716
2721
|
this.baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;
|
|
2717
2722
|
this.env = inferEnvFromKey(options.secretKey);
|
|
2723
|
+
const _store = globalThis;
|
|
2724
|
+
const _singletonKey = `${options.secretKey}|${this.appId ?? ""}|${this.baseUrl}`;
|
|
2725
|
+
_store.__crossdeckServers__ ??= /* @__PURE__ */ new Map();
|
|
2726
|
+
const _existing = _store.__crossdeckServers__.get(_singletonKey);
|
|
2727
|
+
if (_existing) {
|
|
2728
|
+
return _existing;
|
|
2729
|
+
}
|
|
2718
2730
|
this.secretKeyPrefix = maskSecretKey(options.secretKey);
|
|
2719
2731
|
this.scrubPii = options.scrubPii !== false;
|
|
2720
2732
|
this.http = new HttpClient({
|
|
@@ -2856,6 +2868,17 @@ var CrossdeckServer = class extends EventEmitter {
|
|
|
2856
2868
|
this.emitBootTelemetryEvent();
|
|
2857
2869
|
});
|
|
2858
2870
|
}
|
|
2871
|
+
_store.__crossdeckServers__.set(_singletonKey, this);
|
|
2872
|
+
}
|
|
2873
|
+
/**
|
|
2874
|
+
* Clear the process-wide singleton cache. The SDK hands back the SAME instance
|
|
2875
|
+
* for the same credentials (the Next.js / serverless re-instantiation guard in
|
|
2876
|
+
* the constructor); this resets that so the next `new CrossdeckServer()` builds a
|
|
2877
|
+
* fresh instance. For TESTS (per-test isolation) and bespoke hot-reload teardown
|
|
2878
|
+
* only — production code never needs it.
|
|
2879
|
+
*/
|
|
2880
|
+
static clearSingletonCache() {
|
|
2881
|
+
globalThis.__crossdeckServers__?.clear();
|
|
2859
2882
|
}
|
|
2860
2883
|
/**
|
|
2861
2884
|
* Emit the honest "no cold-start durability" warning when the runtime
|
|
@@ -4515,8 +4538,8 @@ function normaliseSecrets(input) {
|
|
|
4515
4538
|
}
|
|
4516
4539
|
|
|
4517
4540
|
// src/_contracts-bundled.ts
|
|
4518
|
-
var BUNDLED_IN = "@cross-deck/node@1.
|
|
4519
|
-
var SDK_VERSION2 = "1.
|
|
4541
|
+
var BUNDLED_IN = "@cross-deck/node@1.8.0";
|
|
4542
|
+
var SDK_VERSION2 = "1.8.0";
|
|
4520
4543
|
var BUNDLED_CONTRACTS = Object.freeze([
|
|
4521
4544
|
{
|
|
4522
4545
|
"id": "contract-failed-payload-schema-lock",
|
|
@@ -4638,7 +4661,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4638
4661
|
"legal/security/index.html#diagnostic",
|
|
4639
4662
|
"legal/sdk-data/index.html#b-diagnostic"
|
|
4640
4663
|
],
|
|
4641
|
-
"bundledIn": "@cross-deck/node@1.
|
|
4664
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4642
4665
|
},
|
|
4643
4666
|
{
|
|
4644
4667
|
"id": "documentation-honesty",
|
|
@@ -4670,7 +4693,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4670
4693
|
],
|
|
4671
4694
|
"registeredAt": "2026-05-26",
|
|
4672
4695
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 7.1",
|
|
4673
|
-
"bundledIn": "@cross-deck/node@1.
|
|
4696
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4674
4697
|
},
|
|
4675
4698
|
{
|
|
4676
4699
|
"id": "error-envelope-shape",
|
|
@@ -4709,7 +4732,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4709
4732
|
],
|
|
4710
4733
|
"registeredAt": "2026-05-26",
|
|
4711
4734
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 8 (codifies existing contract)",
|
|
4712
|
-
"bundledIn": "@cross-deck/node@1.
|
|
4735
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4713
4736
|
},
|
|
4714
4737
|
{
|
|
4715
4738
|
"id": "flush-interval-parity",
|
|
@@ -4754,7 +4777,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4754
4777
|
],
|
|
4755
4778
|
"registeredAt": "2026-05-26",
|
|
4756
4779
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 3.3",
|
|
4757
|
-
"bundledIn": "@cross-deck/node@1.
|
|
4780
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4758
4781
|
},
|
|
4759
4782
|
{
|
|
4760
4783
|
"id": "idempotency-key-deterministic",
|
|
@@ -4859,7 +4882,63 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4859
4882
|
],
|
|
4860
4883
|
"registeredAt": "2026-05-26",
|
|
4861
4884
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 2.2.a + 2.2.b + 2.2.c",
|
|
4862
|
-
"bundledIn": "@cross-deck/node@1.
|
|
4885
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4886
|
+
},
|
|
4887
|
+
{
|
|
4888
|
+
"id": "invalid-input-rejected-natively",
|
|
4889
|
+
"pillar": "errors",
|
|
4890
|
+
"status": "enforced",
|
|
4891
|
+
"claim": "No public SDK API ever crashes the host app, and invalid input never reaches the wire. Invalid input (empty event name, empty userId, out-of-range config such as a non-positive breadcrumb capacity, NaN/Infinity/oversize/cyclic property values) is rejected at the call site WITHOUT a fatal trap. The signalling IDIOM is per-language and intentionally NOT uniform: Web, Node, and React Native THROW a typed CrossdeckError synchronously (code missing_event_name / missing_user_id / invalid_request_error) \u2014 a normal, catchable JavaScript convention where an uncaught throw logs and the app continues; Swift DROPS with a debug-log signal (track_dropped / identify_dropped) to match its non-throwing fire-and-forget surface, and exposes the throwing equivalent only via identifyAndWait(userId:). What is UNIFORM is the invariant, not the mechanism: every SDK rejects the same inputs, no public fire-and-forget API contains a fatalError / assertionFailure / precondition reachable from customer input, and no rejected input is enqueued or transmitted. Swift additionally proves this in BOTH debug and release configuration, because precondition fires under -O while assertionFailure does not. The bug class this contract closes was never the per-language difference \u2014 it was the UNDECLARED difference: each SDK's public API documentation must state its own semantics explicitly (TS docs: 'throws on empty name'; Swift docs: 'drops and logs').",
|
|
4892
|
+
"appliesTo": [
|
|
4893
|
+
"web",
|
|
4894
|
+
"node",
|
|
4895
|
+
"react-native",
|
|
4896
|
+
"swift"
|
|
4897
|
+
],
|
|
4898
|
+
"codeRef": [
|
|
4899
|
+
"sdks/web/src/crossdeck.ts",
|
|
4900
|
+
"sdks/node/src/crossdeck-server.ts",
|
|
4901
|
+
"sdks/react-native/src/crossdeck.ts",
|
|
4902
|
+
"sdks/swift/Sources/Crossdeck/Crossdeck.swift",
|
|
4903
|
+
"sdks/swift/Sources/Crossdeck/Breadcrumbs.swift"
|
|
4904
|
+
],
|
|
4905
|
+
"testRef": [
|
|
4906
|
+
{
|
|
4907
|
+
"file": "sdks/web/tests/crossdeck.test.ts",
|
|
4908
|
+
"name": "track with empty name throws synchronously"
|
|
4909
|
+
},
|
|
4910
|
+
{
|
|
4911
|
+
"file": "sdks/web/tests/crossdeck.test.ts",
|
|
4912
|
+
"name": "rejects empty userId"
|
|
4913
|
+
},
|
|
4914
|
+
{
|
|
4915
|
+
"file": "sdks/node/tests/crossdeck-server.test.ts",
|
|
4916
|
+
"name": "track() throws CrossdeckError with code 'missing_event_name' when event name is empty"
|
|
4917
|
+
},
|
|
4918
|
+
{
|
|
4919
|
+
"file": "sdks/react-native/tests/crossdeck.test.ts",
|
|
4920
|
+
"name": "track('') throws CrossdeckError(missing_event_name) synchronously"
|
|
4921
|
+
},
|
|
4922
|
+
{
|
|
4923
|
+
"file": "sdks/react-native/tests/crossdeck.test.ts",
|
|
4924
|
+
"name": "identify('') rejects with CrossdeckError(missing_user_id)"
|
|
4925
|
+
},
|
|
4926
|
+
{
|
|
4927
|
+
"file": "sdks/swift/Tests/CrossdeckTests/CrossdeckPublicAPITests.swift",
|
|
4928
|
+
"name": "test_track_dropsEmptyName"
|
|
4929
|
+
},
|
|
4930
|
+
{
|
|
4931
|
+
"file": "sdks/swift/Tests/CrossdeckTests/CrossdeckPublicAPITests.swift",
|
|
4932
|
+
"name": "test_identifyAndWait_rejectsEmptyId"
|
|
4933
|
+
},
|
|
4934
|
+
{
|
|
4935
|
+
"file": "sdks/swift/Tests/CrossdeckTests/PublicAPIInputSafetyTests.swift",
|
|
4936
|
+
"name": "test_start_withZeroBreadcrumbCapacity_doesNotTrap"
|
|
4937
|
+
}
|
|
4938
|
+
],
|
|
4939
|
+
"registeredAt": "2026-06-11",
|
|
4940
|
+
"firstRegisteredIn": "swift trap-on-input class fix \u2014 first machine-tested Swift release",
|
|
4941
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4863
4942
|
},
|
|
4864
4943
|
{
|
|
4865
4944
|
"id": "node-pii-scrubber",
|
|
@@ -4898,7 +4977,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4898
4977
|
],
|
|
4899
4978
|
"registeredAt": "2026-05-26",
|
|
4900
4979
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 3.1",
|
|
4901
|
-
"bundledIn": "@cross-deck/node@1.
|
|
4980
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4902
4981
|
},
|
|
4903
4982
|
{
|
|
4904
4983
|
"id": "node-shutdown-awaits-flush",
|
|
@@ -4931,7 +5010,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4931
5010
|
],
|
|
4932
5011
|
"registeredAt": "2026-05-26",
|
|
4933
5012
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 5.4",
|
|
4934
|
-
"bundledIn": "@cross-deck/node@1.
|
|
5013
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4935
5014
|
},
|
|
4936
5015
|
{
|
|
4937
5016
|
"id": "sdk-error-codes-catalogue",
|
|
@@ -4976,7 +5055,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
4976
5055
|
],
|
|
4977
5056
|
"registeredAt": "2026-05-26",
|
|
4978
5057
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 6.2",
|
|
4979
|
-
"bundledIn": "@cross-deck/node@1.
|
|
5058
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
4980
5059
|
},
|
|
4981
5060
|
{
|
|
4982
5061
|
"id": "sync-purchases-funnel-parity",
|
|
@@ -5009,7 +5088,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
5009
5088
|
],
|
|
5010
5089
|
"registeredAt": "2026-05-26",
|
|
5011
5090
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 3.5",
|
|
5012
|
-
"bundledIn": "@cross-deck/node@1.
|
|
5091
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
5013
5092
|
},
|
|
5014
5093
|
{
|
|
5015
5094
|
"id": "verifier-timestamp-mandatory",
|
|
@@ -5063,7 +5142,7 @@ var BUNDLED_CONTRACTS = Object.freeze([
|
|
|
5063
5142
|
],
|
|
5064
5143
|
"registeredAt": "2026-05-26",
|
|
5065
5144
|
"firstRegisteredIn": "bank-grade reconciliation v1.4.0 \u2014 phase 7.2",
|
|
5066
|
-
"bundledIn": "@cross-deck/node@1.
|
|
5145
|
+
"bundledIn": "@cross-deck/node@1.8.0"
|
|
5067
5146
|
}
|
|
5068
5147
|
]);
|
|
5069
5148
|
|