dsh-zen-remote 2.3.10 → 2.4.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 (244) hide show
  1. package/CHANGELOG.md +44 -72
  2. package/README.md +94 -84
  3. package/README.zh-CN.md +90 -81
  4. package/bin/zen-remote.mjs +5 -0
  5. package/docs/interface.md +6 -6
  6. package/docs/remote-access.en.md +6 -4
  7. package/docs/remote-access.md +6 -4
  8. package/dsh-push.mjs +96 -10
  9. package/lib/adapters/dsh-better-sidebar/index.js +7 -3
  10. package/lib/adapters/dsh-better-sidebar/index.js.map +1 -1
  11. package/lib/admin-routes.js +10 -2
  12. package/lib/admin-routes.js.map +1 -1
  13. package/lib/cli/args.js +251 -0
  14. package/lib/cli/args.js.map +1 -0
  15. package/lib/cli/bootstrap.js +449 -0
  16. package/lib/cli/bootstrap.js.map +1 -0
  17. package/lib/cli/command-setup.js +484 -0
  18. package/lib/cli/command-setup.js.map +1 -0
  19. package/lib/cli/commands-client.js +359 -0
  20. package/lib/cli/commands-client.js.map +1 -0
  21. package/lib/cli/commands-host.js +1108 -0
  22. package/lib/cli/commands-host.js.map +1 -0
  23. package/lib/cli/commands-status.js +279 -0
  24. package/lib/cli/commands-status.js.map +1 -0
  25. package/lib/cli/config-writer.js +334 -0
  26. package/lib/cli/config-writer.js.map +1 -0
  27. package/lib/cli/context.js +10 -0
  28. package/lib/cli/context.js.map +1 -0
  29. package/lib/cli/i18n.js +620 -0
  30. package/lib/cli/i18n.js.map +1 -0
  31. package/lib/cli/ipc-client.js +160 -0
  32. package/lib/cli/ipc-client.js.map +1 -0
  33. package/lib/cli/ipc-server.js +464 -0
  34. package/lib/cli/ipc-server.js.map +1 -0
  35. package/lib/cli/main.js +245 -0
  36. package/lib/cli/main.js.map +1 -0
  37. package/lib/cli/qr-terminal.js +48 -0
  38. package/lib/cli/qr-terminal.js.map +1 -0
  39. package/lib/client-data/qr.js +286 -0
  40. package/lib/client-data/qr.js.map +1 -0
  41. package/lib/client-routes.js +308 -25
  42. package/lib/client-routes.js.map +1 -1
  43. package/lib/client.js +1013 -229
  44. package/lib/config.js +50 -12
  45. package/lib/config.js.map +1 -1
  46. package/lib/debug-report.js +28 -1
  47. package/lib/debug-report.js.map +1 -1
  48. package/lib/fetch-route-intercept.js +334 -26
  49. package/lib/fetch-route-intercept.js.map +1 -1
  50. package/lib/index.js +573 -366
  51. package/lib/index.js.map +1 -1
  52. package/lib/intercept.js +1833 -280
  53. package/lib/intercept.js.map +1 -1
  54. package/lib/lan-gate-server.cjs +36 -10
  55. package/lib/merge-streams.js +103 -11
  56. package/lib/merge-streams.js.map +1 -1
  57. package/lib/plugin-route-intercept.js +93 -63
  58. package/lib/plugin-route-intercept.js.map +1 -1
  59. package/lib/relay-access.js +8 -1
  60. package/lib/relay-access.js.map +1 -1
  61. package/lib/relay-client.js +133 -4
  62. package/lib/relay-client.js.map +1 -1
  63. package/lib/relay-pool.js +275 -0
  64. package/lib/relay-pool.js.map +1 -0
  65. package/lib/relay-server.js +269 -17
  66. package/lib/relay-server.js.map +1 -1
  67. package/lib/restart-fields.js +6 -4
  68. package/lib/restart-fields.js.map +1 -1
  69. package/lib/share-store.js +65 -27
  70. package/lib/share-store.js.map +1 -1
  71. package/lib/state-store.js +400 -0
  72. package/lib/state-store.js.map +1 -0
  73. package/lib/types/adapters/dsh-better-sidebar/index.d.ts +3 -2
  74. package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -1
  75. package/lib/types/admin-routes.d.ts.map +1 -1
  76. package/lib/types/cli/args.d.ts +78 -0
  77. package/lib/types/cli/args.d.ts.map +1 -0
  78. package/lib/types/cli/bootstrap.d.ts +170 -0
  79. package/lib/types/cli/bootstrap.d.ts.map +1 -0
  80. package/lib/types/cli/command-setup.d.ts +72 -0
  81. package/lib/types/cli/command-setup.d.ts.map +1 -0
  82. package/lib/types/cli/commands-client.d.ts +36 -0
  83. package/lib/types/cli/commands-client.d.ts.map +1 -0
  84. package/lib/types/cli/commands-host.d.ts +82 -0
  85. package/lib/types/cli/commands-host.d.ts.map +1 -0
  86. package/lib/types/cli/commands-status.d.ts +46 -0
  87. package/lib/types/cli/commands-status.d.ts.map +1 -0
  88. package/lib/types/cli/config-writer.d.ts +92 -0
  89. package/lib/types/cli/config-writer.d.ts.map +1 -0
  90. package/lib/types/cli/context.d.ts +39 -0
  91. package/lib/types/cli/context.d.ts.map +1 -0
  92. package/lib/types/cli/i18n.d.ts +32 -0
  93. package/lib/types/cli/i18n.d.ts.map +1 -0
  94. package/lib/types/cli/ipc-client.d.ts +83 -0
  95. package/lib/types/cli/ipc-client.d.ts.map +1 -0
  96. package/lib/types/cli/ipc-server.d.ts +113 -0
  97. package/lib/types/cli/ipc-server.d.ts.map +1 -0
  98. package/lib/types/cli/main.d.ts +57 -0
  99. package/lib/types/cli/main.d.ts.map +1 -0
  100. package/lib/types/cli/qr-terminal.d.ts +17 -0
  101. package/lib/types/cli/qr-terminal.d.ts.map +1 -0
  102. package/lib/types/client/RemoteStatusIcon.d.ts.map +1 -1
  103. package/lib/types/client/current-session-report.d.ts +4 -0
  104. package/lib/types/client/current-session-report.d.ts.map +1 -1
  105. package/lib/types/client/effects/model-group-side.d.ts.map +1 -1
  106. package/lib/types/client/effects/remote-session.d.ts.map +1 -1
  107. package/lib/types/client/locales.d.ts +47 -3
  108. package/lib/types/client/locales.d.ts.map +1 -1
  109. package/lib/types/client/settings/SettingsSection.d.ts.map +1 -1
  110. package/lib/types/client/settings/settings-css.d.ts +1 -1
  111. package/lib/types/client/settings/settings-css.d.ts.map +1 -1
  112. package/lib/types/client/styles/remote-session.css.d.ts +1 -1
  113. package/lib/types/client/styles/remote-session.css.d.ts.map +1 -1
  114. package/lib/types/client/wizard/GatewayWizard.d.ts.map +1 -1
  115. package/lib/types/client/wizard/cards/ProxyCard.d.ts.map +1 -1
  116. package/lib/types/client/wizard/wizard-css.d.ts +1 -1
  117. package/lib/types/client/wizard/wizard-css.d.ts.map +1 -1
  118. package/lib/types/client-data/model-group-side.d.ts +23 -2
  119. package/lib/types/client-data/model-group-side.d.ts.map +1 -1
  120. package/lib/types/client-data/remote-status.d.ts +47 -1
  121. package/lib/types/client-data/remote-status.d.ts.map +1 -1
  122. package/lib/types/client-data/settings-form.d.ts +85 -1
  123. package/lib/types/client-data/settings-form.d.ts.map +1 -1
  124. package/lib/types/client-data/wizard.d.ts +56 -1
  125. package/lib/types/client-data/wizard.d.ts.map +1 -1
  126. package/lib/types/client-routes.d.ts +25 -1
  127. package/lib/types/client-routes.d.ts.map +1 -1
  128. package/lib/types/config.d.ts +40 -14
  129. package/lib/types/config.d.ts.map +1 -1
  130. package/lib/types/debug-report.d.ts.map +1 -1
  131. package/lib/types/fetch-route-intercept.d.ts +66 -8
  132. package/lib/types/fetch-route-intercept.d.ts.map +1 -1
  133. package/lib/types/index.d.ts +9 -2
  134. package/lib/types/index.d.ts.map +1 -1
  135. package/lib/types/intercept.d.ts +72 -10
  136. package/lib/types/intercept.d.ts.map +1 -1
  137. package/lib/types/merge-streams.d.ts +79 -1
  138. package/lib/types/merge-streams.d.ts.map +1 -1
  139. package/lib/types/plugin-route-intercept.d.ts +25 -9
  140. package/lib/types/plugin-route-intercept.d.ts.map +1 -1
  141. package/lib/types/relay-access.d.ts +3 -1
  142. package/lib/types/relay-access.d.ts.map +1 -1
  143. package/lib/types/relay-client.d.ts +23 -2
  144. package/lib/types/relay-client.d.ts.map +1 -1
  145. package/lib/types/relay-pool.d.ts +148 -0
  146. package/lib/types/relay-pool.d.ts.map +1 -0
  147. package/lib/types/relay-server.d.ts +30 -3
  148. package/lib/types/relay-server.d.ts.map +1 -1
  149. package/lib/types/restart-fields.d.ts +5 -5
  150. package/lib/types/restart-fields.d.ts.map +1 -1
  151. package/lib/types/share-store.d.ts.map +1 -1
  152. package/lib/types/state-store.d.ts +179 -0
  153. package/lib/types/state-store.d.ts.map +1 -0
  154. package/lib/types/upload-limits.d.ts +15 -0
  155. package/lib/types/upload-limits.d.ts.map +1 -1
  156. package/lib/types/virtual-id.d.ts +21 -0
  157. package/lib/types/virtual-id.d.ts.map +1 -1
  158. package/lib/types/wizard/probe.d.ts.map +1 -1
  159. package/lib/types/wizard/proxy-snippets.d.ts +3 -0
  160. package/lib/types/wizard/proxy-snippets.d.ts.map +1 -1
  161. package/lib/types/wizard/routes.d.ts +1 -0
  162. package/lib/types/wizard/routes.d.ts.map +1 -1
  163. package/lib/types/wizard/status.d.ts +9 -0
  164. package/lib/types/wizard/status.d.ts.map +1 -1
  165. package/lib/types/wizard/verify.d.ts +3 -0
  166. package/lib/types/wizard/verify.d.ts.map +1 -1
  167. package/lib/upload-limits.js +15 -0
  168. package/lib/upload-limits.js.map +1 -1
  169. package/lib/virtual-id.js +60 -0
  170. package/lib/virtual-id.js.map +1 -1
  171. package/lib/wizard/probe.js +46 -1
  172. package/lib/wizard/probe.js.map +1 -1
  173. package/lib/wizard/proxy-snippets.js +14 -1
  174. package/lib/wizard/proxy-snippets.js.map +1 -1
  175. package/lib/wizard/routes.js +23 -4
  176. package/lib/wizard/routes.js.map +1 -1
  177. package/lib/wizard/status.js +21 -0
  178. package/lib/wizard/status.js.map +1 -1
  179. package/lib/wizard/verify.js +31 -8
  180. package/lib/wizard/verify.js.map +1 -1
  181. package/package.json +8 -4
  182. package/pwa/icons/badge-96.png +0 -0
  183. package/pwa/icons/badge.svg +1 -0
  184. package/pwa/manifest.json +2 -1
  185. package/pwa/sw.js +3 -1
  186. package/scripts/check-debug-report.mjs +41 -1
  187. package/scripts/check-settings-form.mjs +14 -3
  188. package/scripts/check-settings-view.mjs +247 -0
  189. package/scripts/check-wizard-ui.mjs +37 -0
  190. package/src/adapters/dsh-better-sidebar/index.ts +7 -3
  191. package/src/admin-routes.ts +10 -2
  192. package/src/cli/args.ts +289 -0
  193. package/src/cli/bootstrap.ts +569 -0
  194. package/src/cli/command-setup.ts +540 -0
  195. package/src/cli/commands-client.ts +369 -0
  196. package/src/cli/commands-host.ts +1127 -0
  197. package/src/cli/commands-status.ts +296 -0
  198. package/src/cli/config-writer.ts +354 -0
  199. package/src/cli/context.ts +38 -0
  200. package/src/cli/i18n.ts +645 -0
  201. package/src/cli/ipc-client.ts +216 -0
  202. package/src/cli/ipc-server.ts +531 -0
  203. package/src/cli/main.ts +285 -0
  204. package/src/cli/qr-terminal.ts +49 -0
  205. package/src/client/RemoteStatusIcon.tsx +4 -1
  206. package/src/client/current-session-report.ts +28 -4
  207. package/src/client/effects/model-group-side.ts +19 -5
  208. package/src/client/effects/remote-session.ts +26 -6
  209. package/src/client/locales.ts +96 -6
  210. package/src/client/settings/SettingsSection.tsx +287 -92
  211. package/src/client/settings/settings-css.ts +18 -0
  212. package/src/client/styles/remote-session.css.ts +15 -1
  213. package/src/client/wizard/GatewayWizard.tsx +470 -109
  214. package/src/client/wizard/cards/ProxyCard.tsx +2 -1
  215. package/src/client/wizard/wizard-css.ts +23 -0
  216. package/src/client-data/model-group-side.ts +37 -10
  217. package/src/client-data/remote-status.ts +112 -17
  218. package/src/client-data/settings-form.ts +164 -8
  219. package/src/client-data/wizard.ts +112 -2
  220. package/src/client-routes.ts +334 -26
  221. package/src/config.ts +62 -16
  222. package/src/debug-report.ts +27 -1
  223. package/src/fetch-route-intercept.ts +381 -32
  224. package/src/index.ts +575 -370
  225. package/src/intercept.ts +1866 -286
  226. package/src/merge-streams.ts +155 -10
  227. package/src/plugin-route-intercept.ts +120 -71
  228. package/src/relay-access.ts +14 -3
  229. package/src/relay-client.ts +163 -5
  230. package/src/relay-pool.ts +387 -0
  231. package/src/relay-server.ts +312 -16
  232. package/src/restart-fields.ts +6 -4
  233. package/src/share-store.ts +59 -26
  234. package/src/state-store.ts +428 -0
  235. package/src/upload-limits.ts +16 -0
  236. package/src/virtual-id.ts +57 -0
  237. package/src/wizard/probe.ts +54 -2
  238. package/src/wizard/proxy-snippets.ts +17 -2
  239. package/src/wizard/routes.ts +24 -5
  240. package/src/wizard/status.ts +28 -0
  241. package/src/wizard/verify.ts +33 -11
  242. package/AGENTS.md +0 -185
  243. package/docs/adr/0001-plugin-bridge-forwards-plugin-routes.md +0 -15
  244. package/docs/adr/0002-relay-emulates-websocket.md +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ /**
2
+ * The multi-server relay connection pool (MS-2): up to {@link MAX_PAIRED_SERVERS}
3
+ * `RelayClient` instances, one per paired server in the state file, replacing
4
+ * the single row-driven client the client role used to keep. The paired
5
+ * list itself lives in `zen-remote-state.json` (src/state-store.ts — MS-1's
6
+ * three-in-one file); this module owns the LIVE half: start, handshake
7
+ * bookkeeping, re-pair, unpair, and the second dedupe layer's teardown.
8
+ *
9
+ * Two bookkeeping paths meet here. When one client's handshake lands, the
10
+ * handshake facts (serverId/serverName/deviceName) are persisted onto its
11
+ * state-file record — `recordServerHandshake` also REMOVES any other record
12
+ * that carries the same serverId (the same server re-paired under a new
13
+ * address), and this module stops that stale entry's client and announces it
14
+ * with `reason: 'dedupe'`. Removals the USER makes go out with
15
+ * `reason: 'unpair'`.
16
+ *
17
+ * Display names: several servers report the same `serverName` (the default is
18
+ * just the hostname), so the merged sidebar would show N identical rows.
19
+ * {@link deriveDisplayServerNames} numbers duplicates in pairing order
20
+ * (`home-1`, `home-2`, …) and leaves unique names bare; a rename that removes
21
+ * the collision removes the suffixes with it, because the derivation is
22
+ * recomputed on every `entries()` read.
23
+ *
24
+ * The clients themselves are the plain T23a relay clients — their getters
25
+ * read the pool's in-memory record per request, so a re-pair only updates
26
+ * that record and calls `credentialsChanged()`. `createClient` is injectable:
27
+ * the tests drive the whole lifecycle without a socket.
28
+ */
29
+ import { createRelayClient } from './relay-client.js';
30
+ import { clearPairedServers, listPairedServers, MAX_PAIRED_SERVERS, migrateLegacyClientIntoServers, recordServerHandshake, removePairedServer, upsertPairedServer, } from './state-store.js';
31
+ /**
32
+ * The display name of every entry: a trimmed non-empty `serverName` is the
33
+ * base, otherwise the server URL. Bases appearing once keep their name; bases
34
+ * appearing twice or more are numbered `-1`, `-2`, `-3`… in `entries` order
35
+ * (pairing order). Pure — recomputed whenever the pool is asked for entries,
36
+ * so a rename that removes a collision removes the suffixes too.
37
+ */
38
+ export function deriveDisplayServerNames(entries) {
39
+ const baseOf = (entry) => typeof entry.serverName === 'string' && entry.serverName.trim() !== '' ? entry.serverName.trim() : entry.serverUrl;
40
+ const counts = new Map();
41
+ for (const entry of entries) {
42
+ const base = baseOf(entry);
43
+ counts.set(base, (counts.get(base) ?? 0) + 1);
44
+ }
45
+ const seen = new Map();
46
+ const out = new Map();
47
+ for (const entry of entries) {
48
+ const base = baseOf(entry);
49
+ if ((counts.get(base) ?? 0) >= 2) {
50
+ const n = (seen.get(base) ?? 0) + 1;
51
+ seen.set(base, n);
52
+ out.set(entry.entryId, `${base}-${n}`);
53
+ }
54
+ else {
55
+ out.set(entry.entryId, base);
56
+ }
57
+ }
58
+ return out;
59
+ }
60
+ /**
61
+ * Build the pool: one legacy migration pass, then one client per persisted
62
+ * record, each with a fire-and-forget startup connect — a failed first dial
63
+ * is the backoff ladder's business, exactly like the single-client wiring
64
+ * before it.
65
+ */
66
+ export function createRelayPool(options) {
67
+ const stateFile = options.stateFile;
68
+ const createClientImpl = options.createClient ?? createRelayClient;
69
+ /** Insertion order = pairing order = `listPairedServers` order. */
70
+ const pool = new Map();
71
+ /** The handshake id a view should report: live handshake first, then the
72
+ * persisted record (a fresh entry that never reached the server yet). */
73
+ const effectiveServerId = (entry) => entry.client.handshakeInfo?.serverId ?? entry.record.serverId;
74
+ const effectiveServerName = (entry) => entry.client.handshakeInfo?.serverName ?? entry.record.serverName;
75
+ const buildView = (entry, displayName) => ({
76
+ entryId: entry.record.id,
77
+ serverUrl: entry.record.serverUrl,
78
+ serverId: effectiveServerId(entry),
79
+ serverName: effectiveServerName(entry),
80
+ displayName,
81
+ client: entry.client,
82
+ createdAt: entry.record.createdAt,
83
+ });
84
+ const entries = () => {
85
+ const list = [...pool.values()];
86
+ const names = deriveDisplayServerNames(list.map((entry) => ({ entryId: entry.record.id, serverName: effectiveServerName(entry) ?? '', serverUrl: entry.record.serverUrl })));
87
+ return list.map((entry) => buildView(entry, names.get(entry.record.id) ?? entry.record.serverUrl));
88
+ };
89
+ /** The client's credential getters read the CURRENT record per request, so
90
+ * a re-pair (an in-place record swap) reaches the next attempt directly. */
91
+ const createClientFor = (record) => {
92
+ const liveRecord = () => pool.get(record.id)?.record ?? record;
93
+ const clientOptions = {
94
+ getServerUrl: () => liveRecord().serverUrl,
95
+ getToken: () => liveRecord().token,
96
+ computeOwnFingerprints: options.computeOwnFingerprints,
97
+ ...(options.fetchImpl !== undefined ? { fetchImpl: options.fetchImpl } : {}),
98
+ ...(options.clock !== undefined ? { clock: options.clock } : {}),
99
+ };
100
+ return createClientImpl(clientOptions);
101
+ };
102
+ /** Fold one completed handshake into the record — on disk (whose dedupe
103
+ * may retire stale same-server entries) and in memory — then stop and
104
+ * announce the retired ones. A non-8-hex server id is not handshake
105
+ * material; skip the whole bookkeeping for it. */
106
+ const handleHandshake = (entry) => {
107
+ const info = entry.client.handshakeInfo;
108
+ if (info === undefined)
109
+ return;
110
+ const result = recordServerHandshake(stateFile, entry.record.id, {
111
+ serverId: info.serverId,
112
+ serverName: info.serverName,
113
+ ...(info.deviceName !== undefined ? { deviceName: info.deviceName } : {}),
114
+ });
115
+ entry.record = {
116
+ ...entry.record,
117
+ serverId: info.serverId,
118
+ ...(info.serverName !== '' ? { serverName: info.serverName } : {}),
119
+ ...(info.deviceName !== undefined ? { deviceName: info.deviceName } : {}),
120
+ };
121
+ for (const removedId of result.removedEntryIds) {
122
+ const stale = pool.get(removedId);
123
+ if (stale !== undefined) {
124
+ stale.unsubscribe();
125
+ stale.client.stop();
126
+ pool.delete(removedId);
127
+ }
128
+ options.onServerRemoved?.({ entryId: removedId, serverId: info.serverId, reason: 'dedupe' });
129
+ }
130
+ };
131
+ const attach = (entry) => {
132
+ entry.unsubscribe = entry.client.subscribe((state) => {
133
+ if (state === 'online')
134
+ handleHandshake(entry);
135
+ options.onStateChange?.({
136
+ entryId: entry.record.id,
137
+ serverId: effectiveServerId(entry),
138
+ state,
139
+ ...(entry.client.lastError !== undefined ? { lastError: entry.client.lastError } : {}),
140
+ });
141
+ });
142
+ };
143
+ const addEntry = (record) => {
144
+ const entry = { record, client: createClientFor(record), unsubscribe: () => { } };
145
+ attach(entry);
146
+ pool.set(record.id, entry);
147
+ // Startup dials are fire-and-forget: the failure is the client's own
148
+ // backoff ladder's business, never the wiring's (same as index.ts).
149
+ void entry.client.connect().catch(() => { });
150
+ };
151
+ // Startup: fold the legacy row credentials in (only when the list is still
152
+ // empty), then one client per record.
153
+ const legacy = options.legacySource?.();
154
+ if (legacy !== undefined) {
155
+ try {
156
+ migrateLegacyClientIntoServers(stateFile, legacy);
157
+ }
158
+ catch {
159
+ // Best effort — the row keeps its credentials for the next start.
160
+ }
161
+ }
162
+ for (const record of listPairedServers(stateFile))
163
+ addEntry(record);
164
+ const detach = (entry) => {
165
+ entry.unsubscribe();
166
+ entry.client.stop();
167
+ pool.delete(entry.record.id);
168
+ };
169
+ return {
170
+ entries,
171
+ getByEntryId(entryId) {
172
+ return entries().find((view) => view.entryId === entryId);
173
+ },
174
+ getByServerId(serverId) {
175
+ return entries().find((view) => view.serverId === serverId);
176
+ },
177
+ async pair(input) {
178
+ const result = upsertPairedServer(stateFile, input);
179
+ if (!result.ok)
180
+ return result;
181
+ const existing = pool.get(result.record.id);
182
+ if (existing !== undefined) {
183
+ existing.record = result.record;
184
+ // The getters read the swapped record per request; this both cancels
185
+ // a pending retry wait and dials the new credentials immediately.
186
+ existing.client.credentialsChanged();
187
+ }
188
+ else {
189
+ addEntry(result.record);
190
+ }
191
+ // The entry is in the pool by now by construction; entries() also gives
192
+ // it the dedupe-numbered display name the other views would show.
193
+ const view = entries().find((candidate) => candidate.entryId === result.record.id);
194
+ return { ok: true, entry: view, replaced: result.replaced };
195
+ },
196
+ unpair(entryId) {
197
+ const entry = pool.get(entryId);
198
+ const removed = removePairedServer(stateFile, entryId);
199
+ if (entry !== undefined)
200
+ detach(entry);
201
+ if (removed) {
202
+ options.onServerRemoved?.({
203
+ entryId,
204
+ serverId: entry !== undefined ? effectiveServerId(entry) : undefined,
205
+ reason: 'unpair',
206
+ });
207
+ }
208
+ return removed;
209
+ },
210
+ unpairAll() {
211
+ const records = listPairedServers(stateFile);
212
+ const count = clearPairedServers(stateFile);
213
+ const onDisk = new Set(records.map((record) => record.id));
214
+ for (const record of records) {
215
+ const entry = pool.get(record.id);
216
+ if (entry !== undefined)
217
+ detach(entry);
218
+ options.onServerRemoved?.({
219
+ entryId: record.id,
220
+ serverId: entry !== undefined ? effectiveServerId(entry) : record.serverId,
221
+ reason: 'unpair',
222
+ });
223
+ }
224
+ // Memory-only stragglers (a record removed underneath us mid-flight):
225
+ // stop them too — unpairAll means ALL — without a second announcement
226
+ // for the ones the disk pass already reported.
227
+ for (const entry of [...pool.values()]) {
228
+ detach(entry);
229
+ if (!onDisk.has(entry.record.id)) {
230
+ options.onServerRemoved?.({ entryId: entry.record.id, serverId: effectiveServerId(entry), reason: 'unpair' });
231
+ }
232
+ }
233
+ return count;
234
+ },
235
+ async reconnect(entryId) {
236
+ if (entryId !== undefined) {
237
+ const entry = pool.get(entryId);
238
+ return entry !== undefined ? entry.client.reconnect() : false;
239
+ }
240
+ let any = false;
241
+ for (const entry of pool.values()) {
242
+ if (entry.client.state === 'offline')
243
+ any = entry.client.reconnect() || any;
244
+ }
245
+ return any;
246
+ },
247
+ async probeAndRestoreAll() {
248
+ let reachable = false;
249
+ let reconnected = false;
250
+ for (const entry of pool.values()) {
251
+ if (entry.client.state !== 'offline')
252
+ continue;
253
+ if (!(await entry.client.probeHealth()))
254
+ continue;
255
+ reachable = true;
256
+ reconnected = entry.client.networkRestored() || reconnected;
257
+ }
258
+ return { reachable, reconnected };
259
+ },
260
+ queueDeviceNameAll(name) {
261
+ for (const entry of pool.values())
262
+ entry.client.queueDeviceName(name);
263
+ },
264
+ stop() {
265
+ for (const entry of [...pool.values()]) {
266
+ entry.unsubscribe();
267
+ entry.client.stop();
268
+ }
269
+ pool.clear();
270
+ },
271
+ };
272
+ }
273
+ /** Re-exported so the pool's consumers never import state-store for the cap. */
274
+ export { MAX_PAIRED_SERVERS };
275
+ //# sourceMappingURL=relay-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-pool.js","sourceRoot":"","sources":["../src/relay-pool.ts"],"names":[],"mappings":"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"}