@econ-v1/ports 7.6.42 → 7.6.45

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/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { DEFAULT_CLIENT_NODE_ORIGIN } from "./network/client-node-origin.js";
8
8
  export { OutboxIdempotencyConflictError } from "./repositories/outbox.js";
9
9
  export { REVISIONED_REPOSITORY_DOMAINS } from "./repositories/revisioned-repository.js";
10
10
  export { isSignedCard } from "./gossip-card-verifier.js";
11
+ export { parseTransportPunch } from "./network/punch.js";
11
12
  export type ClockPort = import("./clock.js").ClockPort;
12
13
  export type ClockWake = import("./clock.js").ClockWake;
13
14
  export type DelayPort = import("./clock.js").DelayPort;
@@ -263,6 +264,16 @@ export type SignedCard = import("./gossip-card-verifier.js").SignedCard;
263
264
  export type GossipCardVerifier = import("./gossip-card-verifier.js").GossipCardVerifier;
264
265
  export type GossipCardRepository = import("./repositories/gossip-card-repository.js").GossipCardRepository;
265
266
  export type TransportRelayMember = import("./network.js").TransportRelayMember;
267
+ export type IceCandidateCounts = import("./network.js").IceCandidateCounts;
268
+ export type PunchCandidates = import("./network.js").PunchCandidates;
269
+ export type PunchDiagnostics = import("./network.js").PunchDiagnostics;
270
+ export type PunchFailureReason = import("./network.js").PunchFailureReason;
271
+ export type PromotionResult = import("./network.js").PromotionResult;
272
+ export type TransportPunch = import("./network.js").TransportPunch;
273
+ export type NatProfile = import("./nat-profile.js").NatProfile;
274
+ export type NatType = import("./nat-profile.js").NatType;
275
+ export type NatProbePort = import("./nat-profile.js").NatProbePort;
276
+ export type NatNetworkChangesPort = import("./nat-profile.js").NatNetworkChangesPort;
266
277
  export { StorageOperationError, RESET_LOCAL_STORAGE_CONFIRMATION, STORAGE_RECOVERY_MESSAGES } from "./storage.js";
267
278
  export { MAX_CLOSE_REASON_BYTES, MAX_DTLS_FINGERPRINT_BYTES, MAX_ICE_CANDIDATE_BYTES, MAX_ICE_CANDIDATES_PER_OFFER, MAX_OFFER_NONCE_BYTES, MAX_SDP_BYTES, MAX_SDP_MID_BYTES, MAX_WEBRTC_SIGNAL_MESSAGE_BYTES, MIN_OFFER_NONCE_BYTES, WEBRTC_SIGNAL_VERSION } from "./network/webrtc-signaling.js";
268
279
  export { isWalletAuthoritativeSnapshot, isWalletCommandResult, isWalletSnapshotValue } from "./repositories/wallet-mirror-repository.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type NatType = "none" | "cone" | "symmetric" | "udp_blocked" | "unknown";
2
+ export type NatProfile = {
3
+ nat_type: NatType;
4
+ cgnat: boolean | null;
5
+ double_nat: boolean | null;
6
+ signals: readonly string[];
7
+ measured_at: number | null;
8
+ };
9
+ /**
10
+ * Session-cached, privacy-safe browser measurement. Invalidating cancels stale results.
11
+ */
12
+ export type NatProbePort = {
13
+ measure(): Promise<NatProfile>;
14
+ invalidate(): void;
15
+ close(): void;
16
+ };
17
+ /**
18
+ * Subscribe to network changes; the returned function removes the subscription.
19
+ */
20
+ export type NatNetworkChangesPort = (invalidate: () => void) => (() => void);
21
+ //# sourceMappingURL=nat-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nat-profile.d.ts","sourceRoot":"","sources":["../src/nat-profile.js"],"names":[],"mappings":"sBACc,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS;yBACzD;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC;;;;2BAE/H;IAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAAC,UAAU,IAAI,IAAI,CAAC;IAAC,KAAK,IAAI,IAAI,CAAA;CAAC;;;;oCAEnE,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Validate and project diagnostics; unknown fields (including network identifiers) never cross the seam.
2
+ * @param {unknown} value @returns {import("../network.js").TransportPunch} */
3
+ export function parseTransportPunch(value: unknown): import("../network.js").TransportPunch;
4
+ //# sourceMappingURL=punch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"punch.d.ts","sourceRoot":"","sources":["../../src/network/punch.js"],"names":[],"mappings":"AACA;8EAC8E;AAC9E,2CADW,OAAO,GAAkB,OAAO,eAAe,EAAE,cAAc,CAsBzE"}
package/dist/network.d.ts CHANGED
@@ -9,7 +9,12 @@
9
9
  /** @typedef {HttpHomeNodeCandidate | WebTransportHomeNodeCandidate} DirectHomeNodeCandidate */
10
10
  /** @typedef {"no-network" | "node-unreachable" | "session-required" | "transport-key-required"} TransportOfflineReason */
11
11
  /** @typedef {{ readonly nodeId: string, readonly name: string }} TransportRelayMember */
12
- /** @typedef {{ readonly status: "idle" | "trying" | "failed" | "direct", readonly reason?: string, readonly retryAt?: number }} TransportPunch */
12
+ /** @typedef {{host: number, srflx: number, prflx: number, relay: number}} IceCandidateCounts */
13
+ /** @typedef {{local: IceCandidateCounts, remote: IceCandidateCounts}} PunchCandidates */
14
+ /** @typedef {{readonly candidates?: PunchCandidates, readonly iceConnectionState?: string, readonly connectionState?: string, readonly elapsedMs?: number, readonly detail?: string}} PunchDiagnostics */
15
+ /** @typedef {"setup_failed" | "signaling_failed" | "stun_unreachable" | "ice_failed" | "connection_failed" | "timeout" | "unstable" | "replace_rejected"} PunchFailureReason */
16
+ /** @typedef {PunchDiagnostics & ({ok: true} | {ok: false, reason: PunchFailureReason | "superseded"})} PromotionResult */
17
+ /** @typedef {PunchDiagnostics & { readonly status: "idle" | "trying" | "failed" | "direct", readonly reason?: string, readonly retryAt?: number }} TransportPunch */
13
18
  /** `checking` is a live-link sub-state: the connected path remains usable during a probe or rediscovery. */
14
19
  /** @typedef {{ readonly changedAt: string, readonly path: "lan-direct" | "lan-webtransport" | "wan-direct" | "iroh-relay" | "webrtc-direct", readonly status: "connected", readonly checking?: boolean, readonly relayMember?: TransportRelayMember, readonly punch?: TransportPunch, readonly rttMs?: number } | { readonly attempt: number, readonly changedAt: string, readonly path: "offline", readonly status: "connecting" } | { readonly attempt: number, readonly changedAt: string, readonly nextRetryAt: string, readonly path: "offline", readonly status: "reconnecting" } | { readonly changedAt: string, readonly path: "offline", readonly reason?: TransportOfflineReason, readonly status: "offline" }} TransportState */
15
20
  /** @typedef {{ readonly headers?: Readonly<Record<string, string>>, readonly operation: string, readonly payload: unknown, readonly responseType?: "blob" | "json" }} HomeNodeRequest */
@@ -40,7 +45,31 @@ export type TransportRelayMember = {
40
45
  readonly nodeId: string;
41
46
  readonly name: string;
42
47
  };
43
- export type TransportPunch = {
48
+ export type IceCandidateCounts = {
49
+ host: number;
50
+ srflx: number;
51
+ prflx: number;
52
+ relay: number;
53
+ };
54
+ export type PunchCandidates = {
55
+ local: IceCandidateCounts;
56
+ remote: IceCandidateCounts;
57
+ };
58
+ export type PunchDiagnostics = {
59
+ readonly candidates?: PunchCandidates;
60
+ readonly iceConnectionState?: string;
61
+ readonly connectionState?: string;
62
+ readonly elapsedMs?: number;
63
+ readonly detail?: string;
64
+ };
65
+ export type PunchFailureReason = "setup_failed" | "signaling_failed" | "stun_unreachable" | "ice_failed" | "connection_failed" | "timeout" | "unstable" | "replace_rejected";
66
+ export type PromotionResult = PunchDiagnostics & ({
67
+ ok: true;
68
+ } | {
69
+ ok: false;
70
+ reason: PunchFailureReason | "superseded";
71
+ });
72
+ export type TransportPunch = PunchDiagnostics & {
44
73
  readonly status: "idle" | "trying" | "failed" | "direct";
45
74
  readonly reason?: string;
46
75
  readonly retryAt?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econ-v1/ports",
3
- "version": "7.6.42",
3
+ "version": "7.6.45",
4
4
  "description": "Platform-neutral ports for Node client applications",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "author": "Node contributors",
package/src/index.js CHANGED
@@ -290,3 +290,17 @@ export {
290
290
  export { isSignedCard } from './gossip-card-verifier.js';
291
291
 
292
292
  /** @typedef {import("./network.js").TransportRelayMember} TransportRelayMember */
293
+
294
+ /** @typedef {import("./network.js").IceCandidateCounts} IceCandidateCounts */
295
+ /** @typedef {import("./network.js").PunchCandidates} PunchCandidates */
296
+ /** @typedef {import("./network.js").PunchDiagnostics} PunchDiagnostics */
297
+ /** @typedef {import("./network.js").PunchFailureReason} PunchFailureReason */
298
+ /** @typedef {import("./network.js").PromotionResult} PromotionResult */
299
+ /** @typedef {import("./network.js").TransportPunch} TransportPunch */
300
+ export { parseTransportPunch } from "./network/punch.js";
301
+
302
+ /** @typedef {import("./nat-profile.js").NatProfile} NatProfile */
303
+ /** @typedef {import("./nat-profile.js").NatType} NatType */
304
+ /** @typedef {import("./nat-profile.js").NatProbePort} NatProbePort */
305
+
306
+ /** @typedef {import("./nat-profile.js").NatNetworkChangesPort} NatNetworkChangesPort */
@@ -0,0 +1,8 @@
1
+ // @ts-check
2
+ /** @typedef {"none" | "cone" | "symmetric" | "udp_blocked" | "unknown"} NatType */
3
+ /** @typedef {{nat_type: NatType, cgnat: boolean | null, double_nat: boolean | null, signals: readonly string[], measured_at: number | null}} NatProfile */
4
+ /** Session-cached, privacy-safe browser measurement. Invalidating cancels stale results.
5
+ * @typedef {{measure(): Promise<NatProfile>, invalidate(): void, close(): void}} NatProbePort */
6
+ /** Subscribe to network changes; the returned function removes the subscription.
7
+ * @typedef {(invalidate: () => void) => (() => void)} NatNetworkChangesPort */
8
+ export {};
@@ -0,0 +1,41 @@
1
+ // @ts-check
2
+ /** Validate and project diagnostics; unknown fields (including network identifiers) never cross the seam.
3
+ * @param {unknown} value @returns {import("../network.js").TransportPunch} */
4
+ export function parseTransportPunch(value) {
5
+ const punch = record(value);
6
+ const status = punch.status;
7
+ if (status !== "idle" && status !== "trying" && status !== "failed" && status !== "direct") throw new TypeError("Invalid punch status");
8
+ /** @type {import("../network.js").TransportPunch} */
9
+ const result = { status };
10
+ for (const key of ["reason", "detail", "iceConnectionState", "connectionState"]) {
11
+ if (punch[key] === undefined) continue;
12
+ if (typeof punch[key] !== "string") throw new TypeError(`Invalid punch ${key}`);
13
+ Object.assign(result, { [key]: punch[key] });
14
+ }
15
+ for (const key of ["retryAt", "elapsedMs"]) {
16
+ if (punch[key] === undefined) continue;
17
+ if (typeof punch[key] !== "number" || !Number.isFinite(punch[key]) || punch[key] < 0) throw new TypeError(`Invalid punch ${key}`);
18
+ Object.assign(result, { [key]: punch[key] });
19
+ }
20
+ if (punch.candidates !== undefined) {
21
+ const candidates = record(punch.candidates);
22
+ Object.assign(result, { candidates: { local: counts(candidates.local), remote: counts(candidates.remote) } });
23
+ }
24
+ return result;
25
+ }
26
+ /** @param {unknown} value @returns {Record<string, unknown>} */
27
+ function record(value) {
28
+ if (!value || typeof value !== "object" || Array.isArray(value)) throw new TypeError("Invalid punch diagnostics");
29
+ return /** @type {Record<string, unknown>} */ (value);
30
+ }
31
+ /** @param {unknown} value @returns {import("../network.js").IceCandidateCounts} */
32
+ function counts(value) {
33
+ const source = record(value);
34
+ const result = { host: 0, srflx: 0, prflx: 0, relay: 0 };
35
+ for (const key of /** @type {const} */ (["host", "srflx", "prflx", "relay"])) {
36
+ const count = source[key];
37
+ if (typeof count !== "number" || !Number.isSafeInteger(count) || count < 0) throw new TypeError("Invalid candidate count");
38
+ result[key] = count;
39
+ }
40
+ return result;
41
+ }
package/src/network.js CHANGED
@@ -12,7 +12,12 @@
12
12
  /** @typedef {HttpHomeNodeCandidate | WebTransportHomeNodeCandidate} DirectHomeNodeCandidate */
13
13
  /** @typedef {"no-network" | "node-unreachable" | "session-required" | "transport-key-required"} TransportOfflineReason */
14
14
  /** @typedef {{ readonly nodeId: string, readonly name: string }} TransportRelayMember */
15
- /** @typedef {{ readonly status: "idle" | "trying" | "failed" | "direct", readonly reason?: string, readonly retryAt?: number }} TransportPunch */
15
+ /** @typedef {{host: number, srflx: number, prflx: number, relay: number}} IceCandidateCounts */
16
+ /** @typedef {{local: IceCandidateCounts, remote: IceCandidateCounts}} PunchCandidates */
17
+ /** @typedef {{readonly candidates?: PunchCandidates, readonly iceConnectionState?: string, readonly connectionState?: string, readonly elapsedMs?: number, readonly detail?: string}} PunchDiagnostics */
18
+ /** @typedef {"setup_failed" | "signaling_failed" | "stun_unreachable" | "ice_failed" | "connection_failed" | "timeout" | "unstable" | "replace_rejected"} PunchFailureReason */
19
+ /** @typedef {PunchDiagnostics & ({ok: true} | {ok: false, reason: PunchFailureReason | "superseded"})} PromotionResult */
20
+ /** @typedef {PunchDiagnostics & { readonly status: "idle" | "trying" | "failed" | "direct", readonly reason?: string, readonly retryAt?: number }} TransportPunch */
16
21
  /** `checking` is a live-link sub-state: the connected path remains usable during a probe or rediscovery. */
17
22
  /** @typedef {{ readonly changedAt: string, readonly path: "lan-direct" | "lan-webtransport" | "wan-direct" | "iroh-relay" | "webrtc-direct", readonly status: "connected", readonly checking?: boolean, readonly relayMember?: TransportRelayMember, readonly punch?: TransportPunch, readonly rttMs?: number } | { readonly attempt: number, readonly changedAt: string, readonly path: "offline", readonly status: "connecting" } | { readonly attempt: number, readonly changedAt: string, readonly nextRetryAt: string, readonly path: "offline", readonly status: "reconnecting" } | { readonly changedAt: string, readonly path: "offline", readonly reason?: TransportOfflineReason, readonly status: "offline" }} TransportState */
18
23
  /** @typedef {{ readonly headers?: Readonly<Record<string, string>>, readonly operation: string, readonly payload: unknown, readonly responseType?: "blob" | "json" }} HomeNodeRequest */