@econ-v1/domain 6.5.0 → 6.6.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 (38) hide show
  1. package/dist/index.d.ts +12 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/models/owner-views.d.ts +1 -1
  6. package/dist/models/owner-views.d.ts.map +1 -1
  7. package/dist/models/release-manifest.d.ts +64 -0
  8. package/dist/models/release-manifest.d.ts.map +1 -0
  9. package/dist/models/release-manifest.js +147 -0
  10. package/dist/models/release-manifest.js.map +1 -0
  11. package/dist/queries/discovery.d.ts +13 -0
  12. package/dist/queries/discovery.d.ts.map +1 -0
  13. package/dist/queries/discovery.js +27 -0
  14. package/dist/queries/discovery.js.map +1 -0
  15. package/dist/queries/onboarding-status.d.ts +13 -0
  16. package/dist/queries/onboarding-status.d.ts.map +1 -0
  17. package/dist/queries/onboarding-status.js +27 -0
  18. package/dist/queries/onboarding-status.js.map +1 -0
  19. package/dist/services/discovery-probe-service.d.ts +60 -0
  20. package/dist/services/discovery-probe-service.d.ts.map +1 -0
  21. package/dist/services/discovery-probe-service.js +129 -0
  22. package/dist/services/discovery-probe-service.js.map +1 -0
  23. package/dist/services/lan-candidate-refresh-service.d.ts.map +1 -1
  24. package/dist/services/lan-candidate-refresh-service.js +61 -14
  25. package/dist/services/lan-candidate-refresh-service.js.map +1 -1
  26. package/dist/services/onboarding-status-service.d.ts +46 -0
  27. package/dist/services/onboarding-status-service.d.ts.map +1 -0
  28. package/dist/services/onboarding-status-service.js +32 -0
  29. package/dist/services/onboarding-status-service.js.map +1 -0
  30. package/dist/services/release-manifest-verifier.d.ts +37 -0
  31. package/dist/services/release-manifest-verifier.d.ts.map +1 -0
  32. package/dist/services/release-manifest-verifier.js +84 -0
  33. package/dist/services/release-manifest-verifier.js.map +1 -0
  34. package/dist/services/transport-manager.d.ts +25 -6
  35. package/dist/services/transport-manager.d.ts.map +1 -1
  36. package/dist/services/transport-manager.js +185 -84
  37. package/dist/services/transport-manager.js.map +1 -1
  38. package/package.json +2 -2
@@ -1,122 +1,151 @@
1
- /** Fixed-priority home-node transport policy. Adapters own I/O; this class owns selection. */
1
+ /** Fixed dial priority order ticket #1823's full ladder before WAN fallback. */
2
+ const DIRECT_TIER_ORDER = ["lan-direct", "lan-webtransport", "wan-direct"];
3
+ /**
4
+ * Direct (non-relayed) home-node transport policy: browser-trusted LAN
5
+ * HTTPS, then hash-pinned LAN WebTransport, then WAN HTTPS/WSS (ticket
6
+ * #1823). Adapters own I/O; this class owns selection only.
7
+ */
2
8
  export class TransportManager {
3
9
  #candidates;
4
10
  #dial;
5
11
  #delay;
6
- #priorityGraceMs;
7
12
  #candidateTimeoutMs;
8
13
  #now;
9
14
  #onState;
10
15
  #run;
16
+ #runAbort;
17
+ #selectedCandidate;
18
+ #controllers = new Set();
19
+ #closedClients = new WeakSet();
11
20
  #listeners = new Set();
12
21
  #state = { changedAt: "1970-01-01T00:00:00.000Z", path: "offline", status: "offline" };
13
22
  constructor(options) {
14
- this.#candidates = [...options.candidates].sort((left, right) => priority(left.path) - priority(right.path));
23
+ this.#candidates = normalizeDirectCandidates(options.candidates);
15
24
  this.#dial = options.dial;
16
25
  this.#delay = options.delay;
17
- this.#priorityGraceMs = Math.max(0, options.priorityGraceMs ?? 0);
18
26
  this.#candidateTimeoutMs = Math.max(1, options.candidateTimeoutMs ?? 15_000);
19
27
  this.#now = options.now ?? (() => new Date().toISOString());
20
28
  this.#onState = options.onState ?? (() => undefined);
21
29
  }
22
30
  get state() { return this.#state; }
31
+ get selectedCandidate() {
32
+ return this.#selectedCandidate === undefined ? undefined : { ...this.#selectedCandidate };
33
+ }
23
34
  subscribe(listener) {
24
35
  this.#listeners.add(listener);
25
36
  return () => this.#listeners.delete(listener);
26
37
  }
27
- async connect() {
28
- if (this.#run !== undefined)
29
- return await this.#run;
30
- const run = this.#connect();
31
- this.#run = run;
32
- try {
33
- return await run;
34
- }
35
- finally {
36
- if (this.#run === run)
37
- this.#run = undefined;
38
+ replaceCandidates(candidates) {
39
+ this.#candidates = normalizeDirectCandidates(candidates);
40
+ }
41
+ connect(options = {}) {
42
+ if (options.higherPriorityThan !== undefined && options.path !== undefined) {
43
+ throw new TypeError("Transport selection accepts either a path or a priority bound");
38
44
  }
45
+ const candidates = options.path === undefined
46
+ ? options.higherPriorityThan === undefined
47
+ ? this.#candidates
48
+ : this.#candidates.filter((candidate) => priority(candidate.path) < priority(options.higherPriorityThan))
49
+ : this.#candidates.filter((candidate) => candidate.path === options.path);
50
+ return this.#shareRun(candidates, options.higherPriorityThan === undefined);
51
+ }
52
+ markConnected(path) {
53
+ this.#setState({ changedAt: this.#now(), path, status: "connected" });
39
54
  }
40
55
  markOffline() {
41
56
  this.#setState({ changedAt: this.#now(), path: "offline", status: "offline" });
42
57
  }
43
- #connect() {
44
- return (async () => {
45
- const failures = [];
46
- if (this.#priorityGraceMs === 0) {
47
- for (const candidate of this.#candidates) {
48
- const controller = new AbortController();
49
- try {
50
- const client = await this.#dialWithTimeout(candidate, controller);
51
- this.#setState({ changedAt: this.#now(), path: candidate.path, status: "connected" });
52
- return client;
53
- }
54
- catch (error) {
55
- controller.abort();
56
- failures.push(`${candidate.path}:${error instanceof Error ? error.message : "unavailable"}`);
57
- }
58
+ abort() {
59
+ this.#runAbort?.abort();
60
+ for (const controller of this.#controllers)
61
+ controller.abort();
62
+ this.markOffline();
63
+ }
64
+ #shareRun(candidates, publishState) {
65
+ if (this.#run !== undefined)
66
+ return this.#run;
67
+ const abort = new AbortController();
68
+ const connection = this.#connect(candidates, publishState, abort.signal);
69
+ const run = connection.finally(() => {
70
+ if (this.#run === run)
71
+ this.#run = undefined;
72
+ if (this.#runAbort === abort)
73
+ this.#runAbort = undefined;
74
+ });
75
+ this.#run = run;
76
+ this.#runAbort = abort;
77
+ return run;
78
+ }
79
+ async #connect(candidates, publishState, signal) {
80
+ const failures = [];
81
+ for (const path of DIRECT_TIER_ORDER) {
82
+ throwIfAborted(signal);
83
+ const tier = candidates.filter((candidate) => candidate.path === path);
84
+ if (tier.length === 0)
85
+ continue;
86
+ const attempts = tier.map((candidate) => this.#startAttempt(candidate, signal));
87
+ const outcomes = await Promise.all(attempts.map(async (attempt) => {
88
+ try {
89
+ return { attempt, client: await attempt.promise, success: true };
58
90
  }
59
- this.markOffline();
60
- throw new Error(`No home-node transport available (${failures.join(", ") || "no candidates"})`);
61
- }
62
- const active = [];
63
- let nextCandidate = 0;
64
- const start = (candidate) => {
65
- const controller = new AbortController();
66
- const promise = this.#dialWithTimeout(candidate, controller).catch((error) => {
67
- failures.push(`${candidate.path}:${error instanceof Error ? error.message : "unavailable"}`);
68
- throw error;
69
- });
70
- active.push({ candidate, controller, promise });
71
- };
72
- const firstCandidate = this.#candidates[0];
73
- if (firstCandidate !== undefined) {
74
- start(firstCandidate);
75
- nextCandidate += 1;
76
- }
77
- while (active.length > 0) {
78
- const lowerPriorityGate = nextCandidate < this.#candidates.length
79
- ? this.#wait(this.#priorityGraceMs).then(() => ({ kind: "gate" }))
80
- : undefined;
81
- const result = await Promise.race([
82
- ...active.map((attempt) => attempt.promise.then((client) => ({ kind: "success", attempt, client }), () => ({ kind: "failed", attempt }))),
83
- ...(lowerPriorityGate === undefined ? [] : [lowerPriorityGate]),
84
- ]);
85
- if (result.kind === "gate") {
86
- const candidate = this.#candidates[nextCandidate];
87
- if (candidate !== undefined) {
88
- start(candidate);
89
- nextCandidate += 1;
90
- }
91
- continue;
91
+ catch (error) {
92
+ failures.push(`${attempt.candidate.path}:${messageFor(error)}`);
93
+ return { attempt, success: false };
92
94
  }
93
- const index = active.indexOf(result.attempt);
94
- if (index >= 0)
95
- active.splice(index, 1);
96
- if (result.kind === "success") {
97
- for (const attempt of active)
98
- attempt.controller.abort();
99
- this.#setState({ changedAt: this.#now(), path: result.attempt.candidate.path, status: "connected" });
100
- return result.client;
95
+ finally {
96
+ this.#controllers.delete(attempt.controller);
101
97
  }
98
+ }));
99
+ throwIfAborted(signal);
100
+ const successes = outcomes.filter((outcome) => outcome.success);
101
+ const winner = successes[0];
102
+ if (winner === undefined) {
103
+ for (const attempt of attempts)
104
+ attempt.controller.abort();
105
+ continue;
102
106
  }
107
+ await Promise.all(successes.slice(1).map(async (outcome) => {
108
+ outcome.attempt.controller.abort();
109
+ await this.#closeClient(outcome.client);
110
+ }));
111
+ this.#selectedCandidate = { ...winner.attempt.candidate };
112
+ if (publishState)
113
+ this.markConnected(winner.attempt.candidate.path);
114
+ return winner.client;
115
+ }
116
+ if (publishState)
103
117
  this.markOffline();
104
- throw new Error(`No home-node transport available (${failures.join(", ") || "no candidates"})`);
105
- })();
118
+ throw new Error(`No home-node transport available (${failures.join(", ") || "no candidates"})`);
119
+ }
120
+ #startAttempt(candidate, runSignal) {
121
+ const controller = new AbortController();
122
+ this.#controllers.add(controller);
123
+ return {
124
+ candidate,
125
+ controller,
126
+ promise: this.#dialWithTimeout(candidate, controller, runSignal),
127
+ };
106
128
  }
107
- async #dialWithTimeout(candidate, controller) {
129
+ async #dialWithTimeout(candidate, controller, runSignal) {
130
+ const dial = this.#dial(candidate, controller.signal);
131
+ void dial.then(async (client) => {
132
+ if (controller.signal.aborted || runSignal.aborted)
133
+ await this.#closeClient(client);
134
+ }).catch(() => undefined);
135
+ const cancellation = Promise.race([rejectedOnAbort(controller.signal), rejectedOnAbort(runSignal)]);
108
136
  if (this.#delay === undefined)
109
- return await this.#dial(candidate, controller.signal);
110
- const timeout = new Promise((_, reject) => {
111
- void this.#delay.wait(this.#candidateTimeoutMs).then(() => {
112
- controller.abort();
113
- reject(new Error("candidate dial timed out"));
114
- });
137
+ return await Promise.race([dial, cancellation]);
138
+ const timeout = this.#delay.wait(this.#candidateTimeoutMs).then(() => {
139
+ controller.abort();
140
+ throw new Error("candidate dial timed out");
115
141
  });
116
- return await Promise.race([this.#dial(candidate, controller.signal), timeout]);
142
+ return await Promise.race([dial, timeout, cancellation]);
117
143
  }
118
- #wait(milliseconds) {
119
- return this.#delay?.wait(milliseconds) ?? Promise.resolve();
144
+ async #closeClient(client) {
145
+ if (this.#closedClients.has(client))
146
+ return;
147
+ this.#closedClients.add(client);
148
+ await closeClient(client);
120
149
  }
121
150
  #setState(next) {
122
151
  if (this.#state.status === next.status && this.#state.path === next.path)
@@ -127,7 +156,79 @@ export class TransportManager {
127
156
  listener(next);
128
157
  }
129
158
  }
159
+ function normalizeDirectCandidates(candidates) {
160
+ const tiers = {
161
+ "lan-direct": [],
162
+ "lan-webtransport": [],
163
+ "wan-direct": [],
164
+ };
165
+ const seen = new Set();
166
+ const trustedNodeIds = new Set();
167
+ for (const candidate of candidates) {
168
+ if (!isDirectCandidate(candidate) || candidate.address.trim() === "" || candidate.id.trim() === "") {
169
+ throw new TypeError("Direct transport candidates must have a path, address, and id");
170
+ }
171
+ const address = canonicalHttpCandidateOrigin(candidate.address);
172
+ const identityBinding = candidate.path === "lan-webtransport" ? undefined : candidate.identityBinding;
173
+ if (identityBinding !== "bootstrap")
174
+ trustedNodeIds.add(candidate.id);
175
+ const key = JSON.stringify([candidate.path, address, candidate.id]);
176
+ if (seen.has(key))
177
+ continue;
178
+ seen.add(key);
179
+ tiers[candidate.path].push({ ...candidate, address });
180
+ }
181
+ if (trustedNodeIds.size > 1) {
182
+ throw new TypeError("Direct transport candidates must share one trusted home-node identity");
183
+ }
184
+ return DIRECT_TIER_ORDER.flatMap((path) => tiers[path]);
185
+ }
186
+ /**
187
+ * Canonicalize a bare HTTPS origin. Named for its HTTP origin, but this rule
188
+ * — exact `https://` scheme, no credentials, no path/query/fragment — is the
189
+ * same origin shape a WebTransport candidate's `address` uses too (ticket
190
+ * #1823): the client-RPC path is appended when dialing, not advertised.
191
+ */
192
+ export function canonicalHttpCandidateOrigin(value) {
193
+ let url;
194
+ try {
195
+ url = new URL(value);
196
+ }
197
+ catch {
198
+ throw new TypeError("Direct transport candidates must use an exact HTTPS origin");
199
+ }
200
+ if (url.protocol !== "https:" ||
201
+ url.username !== "" ||
202
+ url.password !== "" ||
203
+ url.hostname === "" ||
204
+ url.origin !== value) {
205
+ throw new TypeError("Direct transport candidates must use an exact HTTPS origin");
206
+ }
207
+ return url.origin;
208
+ }
209
+ function isDirectCandidate(candidate) {
210
+ return candidate.path === "lan-direct" || candidate.path === "lan-webtransport" || candidate.path === "wan-direct";
211
+ }
130
212
  function priority(path) {
131
- return path === "lan-direct" ? 0 : path === "wan-direct" ? 1 : 2;
213
+ return DIRECT_TIER_ORDER.indexOf(path);
214
+ }
215
+ function messageFor(error) {
216
+ return error instanceof Error ? error.message : "unavailable";
217
+ }
218
+ async function closeClient(client) {
219
+ if (client.close === undefined)
220
+ return;
221
+ await Promise.resolve(client.close()).catch(() => undefined);
222
+ }
223
+ function rejectedOnAbort(signal) {
224
+ if (signal.aborted)
225
+ return Promise.reject(new Error("transport selection aborted"));
226
+ return new Promise((_resolve, reject) => {
227
+ signal.addEventListener("abort", () => reject(new Error("transport selection aborted")), { once: true });
228
+ });
229
+ }
230
+ function throwIfAborted(signal) {
231
+ if (signal.aborted)
232
+ throw new Error("transport selection aborted");
132
233
  }
133
234
  //# sourceMappingURL=transport-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../../src/services/transport-manager.ts"],"names":[],"mappings":"AAcA,8FAA8F;AAC9F,MAAM,OAAO,gBAAgB;IAClB,WAAW,CAA+B;IAC1C,KAAK,CAAkC;IACvC,MAAM,CAAwB;IAC9B,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAC5B,IAAI,CAAe;IACnB,QAAQ,CAAkC;IACnD,IAAI,CAAsC;IACjC,UAAU,GAAG,IAAI,GAAG,EAAmC,CAAC;IACjE,MAAM,GAAmB,EAAE,SAAS,EAAE,0BAA0B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAEvG,YAAY,OAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,KAAK,KAAqB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnD,SAAS,CAAC,QAAyC;QACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;gBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;oBACzC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBAClE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;wBACtF,OAAO,MAAM,CAAC;oBAChB,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,UAAU,CAAC,KAAK,EAAE,CAAC;wBACnB,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,MAAM,GAIP,EAAE,CAAC;YACR,IAAI,aAAa,GAAG,CAAC,CAAC;YAEtB,MAAM,KAAK,GAAG,CAAC,SAA4B,EAAQ,EAAE;gBACnD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBACpF,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;oBAC7F,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACtB,aAAa,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,iBAAiB,GAAG,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;oBAC/D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,CAAC,CAAC;oBAC3E,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAChC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAC7C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAC3D,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,CAAC,CAC7C,CAAC;oBACF,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBAChE,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAClD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC;wBACjB,aAAa,IAAI,CAAC,CAAC;oBACrB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,KAAK,IAAI,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACxC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9B,KAAK,MAAM,OAAO,IAAI,MAAM;wBAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzD,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBACrG,OAAO,MAAM,CAAC,MAAM,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC;QAClG,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAA4B,EAAE,UAA2B;QAC9E,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,KAAK,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,IAAoB;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO;QACjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,IAAmB;IACnC,OAAO,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../../src/services/transport-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econ-v1/domain",
3
- "version": "6.5.0",
3
+ "version": "6.6.0",
4
4
  "description": "Platform-neutral domain contracts and errors for Node clients",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "author": "Node contributors",
@@ -51,6 +51,6 @@
51
51
  "access": "public"
52
52
  },
53
53
  "dependencies": {
54
- "@econ-v1/ports": "6.5.0"
54
+ "@econ-v1/ports": "6.6.0"
55
55
  }
56
56
  }