waterplane 0.1.17 → 0.1.18

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 (235) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/NOTICES.md +18 -7
  3. package/README.md +43 -0
  4. package/SECURITY.md +196 -12
  5. package/node_modules/@waterplane/shared/dist/desktopfiles.d.ts +24 -2
  6. package/node_modules/@waterplane/shared/dist/desktopfiles.js +73 -3
  7. package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -1
  8. package/node_modules/@waterplane/shared/dist/hosts.d.ts +31 -0
  9. package/node_modules/@waterplane/shared/dist/hosts.js +46 -1
  10. package/node_modules/@waterplane/shared/dist/hosts.js.map +1 -1
  11. package/node_modules/@waterplane/shared/dist/hosturl.d.ts +55 -0
  12. package/node_modules/@waterplane/shared/dist/hosturl.js +85 -0
  13. package/node_modules/@waterplane/shared/dist/hosturl.js.map +1 -1
  14. package/node_modules/@waterplane/shared/dist/index.d.ts +4 -0
  15. package/node_modules/@waterplane/shared/dist/index.js +4 -0
  16. package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
  17. package/node_modules/@waterplane/shared/dist/installrow.d.ts +6 -1
  18. package/node_modules/@waterplane/shared/dist/installrow.js +20 -1
  19. package/node_modules/@waterplane/shared/dist/installrow.js.map +1 -1
  20. package/node_modules/@waterplane/shared/dist/lanroute.d.ts +5 -0
  21. package/node_modules/@waterplane/shared/dist/lanroute.js.map +1 -1
  22. package/node_modules/@waterplane/shared/dist/pairing.d.ts +96 -2
  23. package/node_modules/@waterplane/shared/dist/pairing.js +71 -3
  24. package/node_modules/@waterplane/shared/dist/pairing.js.map +1 -1
  25. package/node_modules/@waterplane/shared/dist/pake.d.ts +131 -0
  26. package/node_modules/@waterplane/shared/dist/pake.js +272 -0
  27. package/node_modules/@waterplane/shared/dist/pake.js.map +1 -0
  28. package/node_modules/@waterplane/shared/dist/peer.d.ts +63 -0
  29. package/node_modules/@waterplane/shared/dist/peer.js +41 -0
  30. package/node_modules/@waterplane/shared/dist/peer.js.map +1 -1
  31. package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +15 -0
  32. package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +5 -1
  33. package/node_modules/@waterplane/shared/dist/plugin/version.js +5 -1
  34. package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -1
  35. package/node_modules/@waterplane/shared/dist/sessioncost/costwords.d.ts +7 -2
  36. package/node_modules/@waterplane/shared/dist/sessioncost/costwords.js +6 -3
  37. package/node_modules/@waterplane/shared/dist/sessioncost/costwords.js.map +1 -1
  38. package/node_modules/@waterplane/shared/dist/waiting.d.ts +64 -0
  39. package/node_modules/@waterplane/shared/dist/waiting.js +86 -0
  40. package/node_modules/@waterplane/shared/dist/waiting.js.map +1 -0
  41. package/node_modules/@waterplane/shared/dist/wire/messages/hostcore.d.ts +3 -0
  42. package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +2 -0
  43. package/node_modules/@waterplane/shared/dist/wire/notify.js +2 -0
  44. package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
  45. package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +25 -1
  46. package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
  47. package/node_modules/@waterplane/shared/dist/wire/sysstat.d.ts +7 -0
  48. package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +3 -0
  49. package/node_modules/@waterplane/shared/package.json +3 -0
  50. package/npm-shrinkwrap.json +30 -2
  51. package/package.json +2 -1
  52. package/packages/extensions/desktop/helper/Capture.swift +245 -0
  53. package/packages/extensions/desktop/helper/H264.swift +226 -0
  54. package/packages/extensions/desktop/helper/Info.plist +20 -0
  55. package/packages/extensions/desktop/helper/Input.swift +195 -0
  56. package/packages/extensions/desktop/helper/Jpeg.swift +81 -0
  57. package/packages/extensions/desktop/helper/PROTOCOL.md +366 -0
  58. package/packages/extensions/desktop/helper/Params.swift +133 -0
  59. package/packages/extensions/desktop/helper/Probe.swift +119 -0
  60. package/packages/extensions/desktop/helper/Protocol.swift +224 -0
  61. package/packages/extensions/desktop/helper/Request.swift +51 -0
  62. package/packages/extensions/desktop/helper/Responsibility.swift +133 -0
  63. package/packages/extensions/desktop/helper/Server.swift +334 -0
  64. package/packages/extensions/desktop/helper/Synthetic.swift +281 -0
  65. package/packages/extensions/desktop/helper/build.sh +53 -0
  66. package/packages/extensions/desktop/helper/main.swift +79 -0
  67. package/packages/extensions/desktop/helper/selftest-driver +626 -0
  68. package/packages/extensions/desktop/helper/selftest.sh +16 -0
  69. package/packages/extensions/desktop/helper-win/Capture.cs +299 -0
  70. package/packages/extensions/desktop/helper-win/H264.cs +340 -0
  71. package/packages/extensions/desktop/helper-win/Input.cs +257 -0
  72. package/packages/extensions/desktop/helper-win/Jpeg.cs +75 -0
  73. package/packages/extensions/desktop/helper-win/Main.cs +118 -0
  74. package/packages/extensions/desktop/helper-win/Native.cs +276 -0
  75. package/packages/extensions/desktop/helper-win/Params.cs +138 -0
  76. package/packages/extensions/desktop/helper-win/Protocol.cs +206 -0
  77. package/packages/extensions/desktop/helper-win/Server.cs +304 -0
  78. package/packages/extensions/desktop/helper-win/Synthetic.cs +88 -0
  79. package/packages/extensions/desktop/helper-win/build.sh +57 -0
  80. package/packages/extensions/desktop/helper-win/selftest.sh +36 -0
  81. package/packages/extensions/desktop/waterplane-plugin.json +24 -0
  82. package/packages/host/dist/alwayson.js +1 -1
  83. package/packages/host/dist/alwayson.js.map +1 -1
  84. package/packages/host/dist/attentionstore.d.ts +4 -0
  85. package/packages/host/dist/attentionstore.js +17 -0
  86. package/packages/host/dist/attentionstore.js.map +1 -1
  87. package/packages/host/dist/auth.d.ts +28 -0
  88. package/packages/host/dist/auth.js +65 -2
  89. package/packages/host/dist/auth.js.map +1 -1
  90. package/packages/host/dist/cli/pair.d.ts +4 -0
  91. package/packages/host/dist/cli/pair.js +18 -5
  92. package/packages/host/dist/cli/pair.js.map +1 -1
  93. package/packages/host/dist/der.d.ts +19 -0
  94. package/packages/host/dist/der.js +51 -0
  95. package/packages/host/dist/der.js.map +1 -0
  96. package/packages/host/dist/doctor.d.ts +2 -0
  97. package/packages/host/dist/doctor.js +10 -2
  98. package/packages/host/dist/doctor.js.map +1 -1
  99. package/packages/host/dist/extensions/desktop/host/auto.d.mts +71 -0
  100. package/packages/host/dist/extensions/desktop/host/auto.mjs +114 -0
  101. package/packages/host/dist/extensions/desktop/host/auto.mjs.map +1 -0
  102. package/packages/host/dist/extensions/desktop/host/desktop.d.mts +51 -0
  103. package/packages/host/dist/extensions/desktop/host/desktop.mjs +113 -0
  104. package/packages/host/dist/extensions/desktop/host/desktop.mjs.map +1 -0
  105. package/packages/host/dist/extensions/desktop/host/helperbin.d.mts +71 -0
  106. package/packages/host/dist/extensions/desktop/host/helperbin.mjs +160 -0
  107. package/packages/host/dist/extensions/desktop/host/helperbin.mjs.map +1 -0
  108. package/packages/host/dist/extensions/desktop/host/index.d.mts +4 -0
  109. package/packages/host/dist/extensions/desktop/host/index.mjs +88 -0
  110. package/packages/host/dist/extensions/desktop/host/index.mjs.map +1 -0
  111. package/packages/host/dist/extensions/desktop/host/knobs.d.mts +52 -0
  112. package/packages/host/dist/extensions/desktop/host/knobs.mjs +81 -0
  113. package/packages/host/dist/extensions/desktop/host/knobs.mjs.map +1 -0
  114. package/packages/host/dist/extensions/desktop/host/probe.d.mts +57 -0
  115. package/packages/host/dist/extensions/desktop/host/probe.mjs +119 -0
  116. package/packages/host/dist/extensions/desktop/host/probe.mjs.map +1 -0
  117. package/packages/host/dist/extensions/desktop/host/records.d.mts +40 -0
  118. package/packages/host/dist/extensions/desktop/host/records.mjs +101 -0
  119. package/packages/host/dist/extensions/desktop/host/records.mjs.map +1 -0
  120. package/packages/host/dist/extensions/desktop/host/session.d.mts +86 -0
  121. package/packages/host/dist/extensions/desktop/host/session.mjs +318 -0
  122. package/packages/host/dist/extensions/desktop/host/session.mjs.map +1 -0
  123. package/packages/host/dist/extensions/desktop/host/setup.d.mts +28 -0
  124. package/packages/host/dist/extensions/desktop/host/setup.mjs +217 -0
  125. package/packages/host/dist/extensions/desktop/host/setup.mjs.map +1 -0
  126. package/packages/host/dist/extensions/desktop/host/status.d.mts +27 -0
  127. package/packages/host/dist/extensions/desktop/host/status.mjs +62 -0
  128. package/packages/host/dist/extensions/desktop/host/status.mjs.map +1 -0
  129. package/packages/host/dist/extensions/desktop/shared/wire.d.mts +206 -0
  130. package/packages/host/dist/extensions/desktop/shared/wire.mjs +174 -0
  131. package/packages/host/dist/extensions/desktop/shared/wire.mjs.map +1 -0
  132. package/packages/host/dist/git.d.ts +23 -6
  133. package/packages/host/dist/git.js +54 -26
  134. package/packages/host/dist/git.js.map +1 -1
  135. package/packages/host/dist/gitfetchfail.d.ts +24 -0
  136. package/packages/host/dist/gitfetchfail.js +62 -0
  137. package/packages/host/dist/gitfetchfail.js.map +1 -0
  138. package/packages/host/dist/gitlog.d.ts +4 -0
  139. package/packages/host/dist/gitlog.js +8 -3
  140. package/packages/host/dist/gitlog.js.map +1 -1
  141. package/packages/host/dist/gitnotify.d.ts +7 -1
  142. package/packages/host/dist/gitnotify.js +61 -1
  143. package/packages/host/dist/gitnotify.js.map +1 -1
  144. package/packages/host/dist/host.js +5 -1
  145. package/packages/host/dist/host.js.map +1 -1
  146. package/packages/host/dist/hoststore.js +4 -4
  147. package/packages/host/dist/hoststore.js.map +1 -1
  148. package/packages/host/dist/lantls.d.ts +145 -0
  149. package/packages/host/dist/lantls.js +337 -0
  150. package/packages/host/dist/lantls.js.map +1 -0
  151. package/packages/host/dist/main.js +7 -2
  152. package/packages/host/dist/main.js.map +1 -1
  153. package/packages/host/dist/net.d.ts +7 -0
  154. package/packages/host/dist/net.js +9 -0
  155. package/packages/host/dist/net.js.map +1 -1
  156. package/packages/host/dist/origin.d.ts +4 -0
  157. package/packages/host/dist/origin.js +6 -0
  158. package/packages/host/dist/origin.js.map +1 -1
  159. package/packages/host/dist/pair.d.ts +54 -5
  160. package/packages/host/dist/pair.js +139 -34
  161. package/packages/host/dist/pair.js.map +1 -1
  162. package/packages/host/dist/pairpake.d.ts +58 -0
  163. package/packages/host/dist/pairpake.js +208 -0
  164. package/packages/host/dist/pairpake.js.map +1 -0
  165. package/packages/host/dist/passive.d.ts +2 -0
  166. package/packages/host/dist/passive.js +4 -0
  167. package/packages/host/dist/passive.js.map +1 -1
  168. package/packages/host/dist/peers/client.d.ts +3 -1
  169. package/packages/host/dist/peers/client.js +4 -0
  170. package/packages/host/dist/peers/client.js.map +1 -1
  171. package/packages/host/dist/peers/routes.d.ts +6 -1
  172. package/packages/host/dist/peers/routes.js +39 -0
  173. package/packages/host/dist/peers/routes.js.map +1 -1
  174. package/packages/host/dist/plugins/pluginapi.js +13 -0
  175. package/packages/host/dist/plugins/pluginapi.js.map +1 -1
  176. package/packages/host/dist/plugins/pluginregistry.d.ts +6 -0
  177. package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
  178. package/packages/host/dist/prepushcheck.d.ts +34 -0
  179. package/packages/host/dist/prepushcheck.js +157 -0
  180. package/packages/host/dist/prepushcheck.js.map +1 -0
  181. package/packages/host/dist/prs.js +2 -1
  182. package/packages/host/dist/prs.js.map +1 -1
  183. package/packages/host/dist/routes/apigitcheck.d.ts +2 -0
  184. package/packages/host/dist/routes/apigitcheck.js +29 -0
  185. package/packages/host/dist/routes/apigitcheck.js.map +1 -0
  186. package/packages/host/dist/routes/apihost.js +2 -0
  187. package/packages/host/dist/routes/apihost.js.map +1 -1
  188. package/packages/host/dist/routes/apiio.js +2 -1
  189. package/packages/host/dist/routes/apiio.js.map +1 -1
  190. package/packages/host/dist/routes/apirepofiles.js +2 -1
  191. package/packages/host/dist/routes/apirepofiles.js.map +1 -1
  192. package/packages/host/dist/routes/apisystem.js +21 -3
  193. package/packages/host/dist/routes/apisystem.js.map +1 -1
  194. package/packages/host/dist/server/http.js +31 -5
  195. package/packages/host/dist/server/http.js.map +1 -1
  196. package/packages/host/dist/server/plugins.d.ts +13 -0
  197. package/packages/host/dist/server/plugins.js +26 -0
  198. package/packages/host/dist/server/plugins.js.map +1 -1
  199. package/packages/host/dist/server/wsops.js +3 -1
  200. package/packages/host/dist/server/wsops.js.map +1 -1
  201. package/packages/host/dist/sysstat.js +10 -1
  202. package/packages/host/dist/sysstat.js.map +1 -1
  203. package/packages/host/dist/updatekey.d.ts +22 -0
  204. package/packages/host/dist/updatekey.js +140 -0
  205. package/packages/host/dist/updatekey.js.map +1 -0
  206. package/packages/host/dist/webbundle.d.ts +15 -6
  207. package/packages/host/dist/webbundle.js +44 -7
  208. package/packages/host/dist/webbundle.js.map +1 -1
  209. package/packages/host/dist/wincpu.d.ts +13 -0
  210. package/packages/host/dist/wincpu.js +101 -0
  211. package/packages/host/dist/wincpu.js.map +1 -0
  212. package/packages/host/package.json +2 -1
  213. package/packages/web/dist/assets/demo-BLBaz4G_.js +26 -0
  214. package/packages/web/dist/assets/icons-D8RlmSLR.js +1 -0
  215. package/packages/web/dist/assets/index-BrvcQFBj.js +170 -0
  216. package/packages/web/dist/assets/index-Dx3VHnr3.css +1 -0
  217. package/packages/web/dist/assets/noble-DV-r0OkE.js +1 -0
  218. package/packages/web/dist/assets/{react-CoSyT_xY.js → react-CjmvHigY.js} +2 -2
  219. package/packages/web/dist/assets/rolldown-runtime-4tVxZq34.js +1 -0
  220. package/packages/web/dist/assets/shared-BsWIJLE-.js +51 -0
  221. package/packages/web/dist/assets/sheets-C7CXUU6R.js +250 -0
  222. package/packages/web/dist/assets/xterm-BHsKrDzh.js +16 -0
  223. package/packages/web/dist/build-id.txt +1 -1
  224. package/packages/web/dist/buildstamp.json +1 -1
  225. package/packages/web/dist/index.html +9 -9
  226. package/packages/web/dist/sw.js +2 -2
  227. package/release.json +7 -3
  228. package/packages/web/dist/assets/demo-DkCtg-SJ.js +0 -26
  229. package/packages/web/dist/assets/icons-B48F-4nA.js +0 -1
  230. package/packages/web/dist/assets/index-BYRdfW3T.js +0 -170
  231. package/packages/web/dist/assets/index-DcZrEQNl.css +0 -1
  232. package/packages/web/dist/assets/rolldown-runtime-BpQH8Ho1.js +0 -1
  233. package/packages/web/dist/assets/shared-DjRRLGfw.js +0 -50
  234. package/packages/web/dist/assets/sheets-BGN7Cs73.js +0 -248
  235. package/packages/web/dist/assets/xterm-C8zLTNGk.js +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"desktopfiles.js","sourceRoot":"","sources":["../src/desktopfiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktopfiles.js","sourceRoot":"","sources":["../src/desktopfiles.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@
16
16
  * interrupted at any step has lost nothing);
17
17
  * - which IndexedDB a host's caches live in (`dbNameFor`).
18
18
  */
19
+ import { type HostTls } from "./hosturl.js";
19
20
  /** A host's LAN side: the plain-HTTP address on the home network, the Wi-Fi
20
21
  * names it is reachable on, and whether the phone may switch to it by itself
21
22
  * (off by default — `lanroute.ts` decides, this is only the setting). */
@@ -34,6 +35,23 @@ export interface SavedHost {
34
35
  /** The host migrated from the single-`hostBase` era: keeps the old IDB name. */
35
36
  legacy?: true;
36
37
  lan?: HostLan;
38
+ /** The desktop's own id: the re-pair match key. Only from a seal or a welcome on a protected
39
+ * route, never from an unsealed reply. Every field below is written by `web/hosts.ts`'s setters. */
40
+ hostId?: string;
41
+ /** Its LAN TLS listener and pin. Never with `tlsOff`. */
42
+ tls?: HostTls;
43
+ /** The person chose plain HTTP for this desktop: nothing learned over a welcome sets `tls` again. */
44
+ tlsOff?: true;
45
+ /** The person typed this `https` address, which keeps their own CA-valid front door protected.
46
+ * `https:` only; written only by the address form's save (`vouchedAfter`). */
47
+ vouched?: true;
48
+ updateKey?: HostUpdateKey;
49
+ }
50
+ /** The key this desktop signs its bundles with, and the highest generation seen under it. */
51
+ export interface HostUpdateKey {
52
+ /** Base64 of the public key's SPKI DER. */
53
+ key: string;
54
+ gen: number;
37
55
  }
38
56
  /** The migrated host's id. Deterministic so the migration is idempotent even
39
57
  * when its write is lost halfway. */
@@ -75,6 +93,19 @@ export declare function normalizeSsid(raw: unknown): string | null;
75
93
  /** Normalised, de-duplicated (exact match — SSIDs are case-sensitive), capped. */
76
94
  export declare function normalizeSsids(raw: unknown): string[];
77
95
  export declare function cleanHostLan(raw: unknown): HostLan | null;
96
+ /** A stored pin, or `null`: an unreadable one is no pin, never a guess at one. */
97
+ export declare function cleanHostTls(raw: unknown): HostTls | null;
98
+ export declare function cleanUpdateKey(raw: unknown): HostUpdateKey | null;
99
+ /**
100
+ * What `vouched` is after a write of `base`. `opened` is what the address form's base field opened
101
+ * with, absent for every other write: a pairing, a deep link and a found desktop never vouch. The
102
+ * field's text must differ from that, so saving a prefilled address (a rename) vouches for nothing,
103
+ * and the confirm prompt opens EMPTY (`addressNeedsConfirm`), so retyping the saved address counts.
104
+ */
105
+ export declare function vouchedAfter(prev: Pick<SavedHost, "base" | "vouched"> | null, base: string, opened: string | undefined): boolean;
106
+ /** An `https` address that reads as plain until the person types it: the ask opens an EMPTY field,
107
+ * because a row saved before the route rule may hold an address the network planted. */
108
+ export declare function addressNeedsConfirm(row: Pick<SavedHost, "base" | "vouched">): boolean;
78
109
  /** One stored row, or `null` if it cannot be one. A name that cleans to
79
110
  * nothing falls back to the address's own name, never to a placeholder. */
80
111
  export declare function cleanSavedHost(raw: unknown): SavedHost | null;
@@ -16,7 +16,7 @@
16
16
  * interrupted at any step has lost nothing);
17
17
  * - which IndexedDB a host's caches live in (`dbNameFor`).
18
18
  */
19
- import { normalizeHostBase } from "./hosturl.js";
19
+ import { isPlainRoute, normalizeHostBase } from "./hosturl.js";
20
20
  import { BRAND, LEGACY } from "./brand.js";
21
21
  /** The migrated host's id. Deterministic so the migration is idempotent even
22
22
  * when its write is lost halfway. */
@@ -138,6 +138,39 @@ export function cleanHostLan(raw) {
138
138
  return null;
139
139
  return { base, ssids: normalizeSsids(r.ssids), auto: r.auto === true };
140
140
  }
141
+ /** A stored pin, or `null`: an unreadable one is no pin, never a guess at one. */
142
+ export function cleanHostTls(raw) {
143
+ if (!raw || typeof raw !== "object")
144
+ return null;
145
+ const { port, spki } = raw;
146
+ if (typeof port !== "number" || !Number.isInteger(port) || port < 1 || port > 65535)
147
+ return null;
148
+ return typeof spki === "string" && /^[0-9a-f]{64}$/.test(spki) ? { port, spki } : null;
149
+ }
150
+ export function cleanUpdateKey(raw) {
151
+ if (!raw || typeof raw !== "object")
152
+ return null;
153
+ const { key, gen } = raw;
154
+ if (typeof key !== "string" || !/^[A-Za-z0-9+/]{16,1024}={0,2}$/.test(key))
155
+ return null;
156
+ return typeof gen === "number" && Number.isSafeInteger(gen) && gen >= 0 ? { key, gen } : null;
157
+ }
158
+ /**
159
+ * What `vouched` is after a write of `base`. `opened` is what the address form's base field opened
160
+ * with, absent for every other write: a pairing, a deep link and a found desktop never vouch. The
161
+ * field's text must differ from that, so saving a prefilled address (a rename) vouches for nothing,
162
+ * and the confirm prompt opens EMPTY (`addressNeedsConfirm`), so retyping the saved address counts.
163
+ */
164
+ export function vouchedAfter(prev, base, opened) {
165
+ if (opened === undefined || !base.startsWith("https:"))
166
+ return false;
167
+ return normalizeHostBase(opened) !== base || (prev?.vouched === true && prev.base === base);
168
+ }
169
+ /** An `https` address that reads as plain until the person types it: the ask opens an EMPTY field,
170
+ * because a row saved before the route rule may hold an address the network planted. */
171
+ export function addressNeedsConfirm(row) {
172
+ return row.base.startsWith("https:") && !row.vouched && isPlainRoute(row.base);
173
+ }
141
174
  /** One stored row, or `null` if it cannot be one. A name that cleans to
142
175
  * nothing falls back to the address's own name, never to a placeholder. */
143
176
  export function cleanSavedHost(raw) {
@@ -155,6 +188,18 @@ export function cleanSavedHost(raw) {
155
188
  const lan = cleanHostLan(r.lan);
156
189
  if (lan)
157
190
  host.lan = lan;
191
+ if (isHostId(r.hostId))
192
+ host.hostId = r.hostId;
193
+ const tls = r.tlsOff === true ? null : cleanHostTls(r.tls);
194
+ if (tls)
195
+ host.tls = tls;
196
+ if (r.tlsOff === true)
197
+ host.tlsOff = true;
198
+ if (r.vouched === true && base.startsWith("https:"))
199
+ host.vouched = true;
200
+ const updateKey = cleanUpdateKey(r.updateKey);
201
+ if (updateKey)
202
+ host.updateKey = updateKey;
158
203
  return host;
159
204
  }
160
205
  /** A stored list: unreadable rows dropped, the first of a duplicate id kept,
@@ -1 +1 @@
1
- {"version":3,"file":"hosts.js","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosts.js","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,61 @@
11
11
  export declare const HOST_PATH_PREFIXES: readonly ["/api", "/ws"];
12
12
  /** Default daemon port — matches `WATERPLANE_PORT`'s default in the host. */
13
13
  export declare const DEFAULT_HOST_PORT = 8770;
14
+ /** Why the phone warns on a plain route, in the one wording every screen uses. True of plain HTTP
15
+ * and of an `https` address nothing vouches for: a relay's certificate is valid for its own name. */
16
+ export declare const PLAIN_ROUTE_WARNING = "Not protected: nothing proves this address is your desktop, so someone on this network could read what you send and could take over your desktop. Use it only on a network you trust, or reach the desktop over the tailnet.";
17
+ /** The receipt when the app moves onto such a route by itself. */
18
+ export declare const PLAIN_ROUTE_TOAST = "This Wi-Fi route is not protected: fingerprint approvals and app updates are off until you are back on the tailnet.";
19
+ /** Why a fingerprint step is refused there, and what to do about it. */
20
+ export declare const PLAIN_ROUTE_NO_FINGERPRINT = "Fingerprint approvals are off on this route: nothing proves it reaches your desktop, so someone on this network could fake what you approve. Reach the desktop over the tailnet (Network health \u203A change LAN settings), then approve.";
21
+ /** Why an app update waits there. It resumes by itself on the next connect over a protected route. */
22
+ export declare const PLAIN_ROUTE_NO_UPDATE = "App updates wait for the tailnet: nothing proves this route reaches your desktop, so someone on this network could swap the update.";
23
+ /** Why an APK is neither fetched nor installed there, and what to do about it. */
24
+ export declare const PLAIN_ROUTE_NO_APK = "Apps do not download or install on this route: nothing proves it reaches your desktop, so someone on this network could swap the app. Reach the desktop over the tailnet, then try again.";
25
+ /** Why the text reader's files are not fetched there. */
26
+ export declare const PLAIN_ROUTE_NO_ASSETS = "The reader's files do not download on this route: nothing proves it reaches your desktop, so someone on this network could swap them. Reach the desktop over the tailnet, then try again.";
27
+ /** What the phone knows about a route that the address cannot say. */
28
+ export interface RouteContext {
29
+ /** A pinned TLS base on a shell that enforces the pin, or an `https` base the person typed. Read
30
+ * only for `https`: nothing makes plain HTTP protected. */
31
+ trusted?: boolean;
32
+ /** `false`: the shell reports no tailnet under this network, so a tailnet name proves nothing and
33
+ * the address may be whoever runs the Wi-Fi. Absent is a shell that does not say: today's answer. */
34
+ tailnet?: boolean;
35
+ }
36
+ /** A desktop's LAN TLS listener, as a pairing or a protected welcome stated it. */
37
+ export interface HostTls {
38
+ port: number;
39
+ /** Lowercase hex SHA-256 of the leaf's SPKI DER. */
40
+ spki: string;
41
+ }
42
+ /**
43
+ * Is this route UNPROTECTED? `https:` alone proves nothing: a relay with a public certificate for
44
+ * its own name passes validation. **Protected** is exactly one of: loopback; a Tailscale address
45
+ * (100.64.0.0/10, fd7a:115c:a1e0::/48) or MagicDNS name over `http`, or `https` to a `*.ts.net`
46
+ * name, unless `ctx.tailnet === false`; an `https` base `ctx.trusted` speaks for. Everything else is
47
+ * plain whatever its scheme, and so is a base that does not parse: the question is asked before
48
+ * trusting a route, so the unknown answer is the cautious one. `null` is no route at all.
49
+ *
50
+ * The native half is `ShellRoute.java`; `shared/test/hosturl.test.mjs` runs its table here too.
51
+ */
52
+ export declare function isPlainRoute(base: string | null | undefined, ctx?: RouteContext): boolean;
53
+ /**
54
+ * A row whose own address is `https` to a name of its own: a vouched proxy. A LAN TLS pin never
55
+ * belongs on one, however it is learned: the pin would apply on that address too
56
+ * (`ShellRoute.pinApplies`), and the background services would refuse a proxy answering correctly
57
+ * with its CA-valid leaf.
58
+ */
59
+ export declare function isProxyBase(base: string): boolean;
60
+ /** Is this address protected only by the tailnet, so that with Tailscale off nothing reaches it? */
61
+ export declare function needsTunnel(base: string): boolean;
62
+ /**
63
+ * The TLS address of a plain LAN base: `https://<same host>:<port>`. A base that is not `http:` and
64
+ * plain by name comes back as it went in: the listener is only on LAN interfaces, so a tailnet or
65
+ * loopback base rewritten here would be a dead address, and an `https` base already says where it
66
+ * goes. Whether to ask at all (a shell that enforces the pin, a row not `tlsOff`) is `hostUrl.ts`'s.
67
+ */
68
+ export declare function tlsBaseOf(plainBase: string, tls: Pick<HostTls, "port"> | null | undefined): string;
14
69
  /**
15
70
  * Turn whatever a human typed into a canonical `scheme://host[:port]` base, or
16
71
  * `null` if it cannot be one.
@@ -36,6 +36,91 @@ import { trimEndChars } from "./lineartrim.js";
36
36
  export const HOST_PATH_PREFIXES = ["/api", "/ws"];
37
37
  /** Default daemon port — matches `WATERPLANE_PORT`'s default in the host. */
38
38
  export const DEFAULT_HOST_PORT = 8770;
39
+ /** Why the phone warns on a plain route, in the one wording every screen uses. True of plain HTTP
40
+ * and of an `https` address nothing vouches for: a relay's certificate is valid for its own name. */
41
+ export const PLAIN_ROUTE_WARNING = "Not protected: nothing proves this address is your desktop, so someone on this network could read what you send and could take over your desktop. Use it only on a network you trust, or reach the desktop over the tailnet.";
42
+ /** The receipt when the app moves onto such a route by itself. */
43
+ export const PLAIN_ROUTE_TOAST = "This Wi-Fi route is not protected: fingerprint approvals and app updates are off until you are back on the tailnet.";
44
+ /** Why a fingerprint step is refused there, and what to do about it. */
45
+ export const PLAIN_ROUTE_NO_FINGERPRINT = "Fingerprint approvals are off on this route: nothing proves it reaches your desktop, so someone on this network could fake what you approve. Reach the desktop over the tailnet (Network health › change LAN settings), then approve.";
46
+ /** Why an app update waits there. It resumes by itself on the next connect over a protected route. */
47
+ export const PLAIN_ROUTE_NO_UPDATE = "App updates wait for the tailnet: nothing proves this route reaches your desktop, so someone on this network could swap the update.";
48
+ /** Why an APK is neither fetched nor installed there, and what to do about it. */
49
+ export const PLAIN_ROUTE_NO_APK = "Apps do not download or install on this route: nothing proves it reaches your desktop, so someone on this network could swap the app. Reach the desktop over the tailnet, then try again.";
50
+ /** Why the text reader's files are not fetched there. */
51
+ export const PLAIN_ROUTE_NO_ASSETS = "The reader's files do not download on this route: nothing proves it reaches your desktop, so someone on this network could swap them. Reach the desktop over the tailnet, then try again.";
52
+ function isLoopbackName(h) {
53
+ return h === "localhost" || h.endsWith(".localhost") || h === "::1" || /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(h);
54
+ }
55
+ function isTailnetAddress(h) {
56
+ if (h.startsWith("fd7a:115c:a1e0:"))
57
+ return true;
58
+ const m = /^100\.(\d{1,3})\.\d{1,3}\.\d{1,3}$/.exec(h);
59
+ return !!m && Number(m[1]) >= 64 && Number(m[1]) <= 127;
60
+ }
61
+ /**
62
+ * Is this route UNPROTECTED? `https:` alone proves nothing: a relay with a public certificate for
63
+ * its own name passes validation. **Protected** is exactly one of: loopback; a Tailscale address
64
+ * (100.64.0.0/10, fd7a:115c:a1e0::/48) or MagicDNS name over `http`, or `https` to a `*.ts.net`
65
+ * name, unless `ctx.tailnet === false`; an `https` base `ctx.trusted` speaks for. Everything else is
66
+ * plain whatever its scheme, and so is a base that does not parse: the question is asked before
67
+ * trusting a route, so the unknown answer is the cautious one. `null` is no route at all.
68
+ *
69
+ * The native half is `ShellRoute.java`; `shared/test/hosturl.test.mjs` runs its table here too.
70
+ */
71
+ export function isPlainRoute(base, ctx = {}) {
72
+ if (!base)
73
+ return false;
74
+ let u;
75
+ try {
76
+ u = new URL(base);
77
+ }
78
+ catch {
79
+ return true;
80
+ }
81
+ const tls = u.protocol === "https:" || u.protocol === "wss:";
82
+ if (!tls && u.protocol !== "http:" && u.protocol !== "ws:")
83
+ return true;
84
+ const h = u.hostname.toLowerCase().replace(/^\[|\]$/g, "");
85
+ if (isLoopbackName(h) || (tls && ctx.trusted))
86
+ return false;
87
+ if (ctx.tailnet === false)
88
+ return true;
89
+ return !(h.endsWith(".ts.net") || (!tls && isTailnetAddress(h)));
90
+ }
91
+ /**
92
+ * A row whose own address is `https` to a name of its own: a vouched proxy. A LAN TLS pin never
93
+ * belongs on one, however it is learned: the pin would apply on that address too
94
+ * (`ShellRoute.pinApplies`), and the background services would refuse a proxy answering correctly
95
+ * with its CA-valid leaf.
96
+ */
97
+ export function isProxyBase(base) {
98
+ return base.startsWith("https:") && isPlainRoute(base);
99
+ }
100
+ /** Is this address protected only by the tailnet, so that with Tailscale off nothing reaches it? */
101
+ export function needsTunnel(base) {
102
+ return !isPlainRoute(base) && isPlainRoute(base, { tailnet: false });
103
+ }
104
+ /**
105
+ * The TLS address of a plain LAN base: `https://<same host>:<port>`. A base that is not `http:` and
106
+ * plain by name comes back as it went in: the listener is only on LAN interfaces, so a tailnet or
107
+ * loopback base rewritten here would be a dead address, and an `https` base already says where it
108
+ * goes. Whether to ask at all (a shell that enforces the pin, a row not `tlsOff`) is `hostUrl.ts`'s.
109
+ */
110
+ export function tlsBaseOf(plainBase, tls) {
111
+ if (!tls || !Number.isInteger(tls.port) || tls.port < 1 || tls.port > 65535)
112
+ return plainBase;
113
+ let u;
114
+ try {
115
+ u = new URL(plainBase);
116
+ }
117
+ catch {
118
+ return plainBase;
119
+ }
120
+ if (u.protocol !== "http:" || !isPlainRoute(plainBase))
121
+ return plainBase;
122
+ return normalizeHostBase(`https://${u.hostname}:${tls.port}`) ?? plainBase;
123
+ }
39
124
  /**
40
125
  * Turn whatever a human typed into a canonical `scheme://host[:port]` base, or
41
126
  * `null` if it cannot be one.
@@ -1 +1 @@
1
- {"version":3,"file":"hosturl.js","sourceRoot":"","sources":["../src/hosturl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosturl.js","sourceRoot":"","sources":["../src/hosturl.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,7 @@ export * from "./hosturl.js";
82
82
  export * from "./hosts.js";
83
83
  export * from "./lanroute.js";
84
84
  export * from "./pairing.js";
85
+ export * from "./pake.js";
85
86
  export * from "./devices.js";
86
87
  export * from "./passive.js";
87
88
  export * from "./askrules.js";
@@ -142,6 +143,9 @@ export * from "./netretrycfg.js";
142
143
  /** Why a session is blocked on something outside it (signed out, spend wall,
143
144
  * usage limit, network retry) — `blockOf`, the one derivation both ends ask. */
144
145
  export * from "./block.js";
146
+ /** What a desktop waits on a person for: `sessionWaits` (the phone's "wait"
147
+ * bucket and the host's count) and `GET /api/attention`'s `WaitingSummary`. */
148
+ export * from "./waiting.js";
145
149
  /** Several pictures as ONE picture — the arrangement, so a mark can span the
146
150
  * screens it is about. Pure geometry; the canvas half lives in web. */
147
151
  export * from "./collage.js";
@@ -94,6 +94,7 @@ export * from "./hosts.js";
94
94
  export * from "./lanroute.js";
95
95
  // Pairing a new phone by QR: code format, deep link / landing URL, redeem DTOs.
96
96
  export * from "./pairing.js";
97
+ export * from "./pake.js";
97
98
  // The paired-device ledger as the phone sees it.
98
99
  export * from "./devices.js";
99
100
  export * from "./passive.js";
@@ -161,6 +162,9 @@ export * from "./netretrycfg.js";
161
162
  /** Why a session is blocked on something outside it (signed out, spend wall,
162
163
  * usage limit, network retry) — `blockOf`, the one derivation both ends ask. */
163
164
  export * from "./block.js";
165
+ /** What a desktop waits on a person for: `sessionWaits` (the phone's "wait"
166
+ * bucket and the host's count) and `GET /api/attention`'s `WaitingSummary`. */
167
+ export * from "./waiting.js";
164
168
  /** Several pictures as ONE picture — the arrangement, so a mark can span the
165
169
  * screens it is about. Pure geometry; the canvas half lives in web. */
166
170
  export * from "./collage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface InstallCaps {
15
15
  distribution?: "dev" | "play";
16
16
  /** The shell's own package, where it said. */
17
17
  self?: string;
18
+ /** The PAGE's fact, not the shell's: an APK here would come over an unprotected route. */
19
+ plainRoute?: boolean;
18
20
  }
19
21
  export declare const NO_INSTALL: InstallCaps;
20
22
  /** The distribution half of `ShellInstall.status()`'s answer. Anything but the
@@ -104,10 +106,13 @@ export declare function stateText(install: InstallState | undefined, error: stri
104
106
  * more, retry, and read the same 0 again — so the sentence names the reserve
105
107
  * and the figure Settings has to reach. */
106
108
  export declare function failureText(error: string | undefined): string;
109
+ /** The installer refused because the build's signing key differs from the installed copy's — the one
110
+ * failure no retry can fix. Matches the platform's code and its sentence, as the shell relays them. */
111
+ export declare function isSignatureConflict(error: string | undefined): boolean;
107
112
  /** The word on the install button. After a failure it is a RETRY — the same
108
113
  * tap, but "install" beside "could not install" read as the thing that had
109
114
  * just not worked rather than the way to try again. */
110
- export declare function installVerbText(install: InstallState | undefined): string;
115
+ export declare function installVerbText(install: InstallState | undefined, error?: string): string;
111
116
  /** The install sentence for a DOWNLOAD row, or null where there is nothing to
112
117
  * say. */
113
118
  export declare function installStatusText(row: InstallRow): string | null;
@@ -7,6 +7,7 @@
7
7
  * `web/installPolicy.ts` and imports from here.
8
8
  */
9
9
  import { BRAND } from "./brand.js";
10
+ import { PLAIN_ROUTE_NO_APK } from "./hosturl.js";
10
11
  export const NO_INSTALL = { supported: false, canInstall: false, silent: false };
11
12
  // ── The Google Play build ────────────────────────────────────────────
12
13
  /** The distribution half of `ShellInstall.status()`'s answer. Anything but the
@@ -96,6 +97,8 @@ export function installOffer(row, caps) {
96
97
  if (row.evicted) {
97
98
  return { verb: null, reason: "the bytes were cleared to save space — fetch it again to install it" };
98
99
  }
100
+ if (caps.plainRoute)
101
+ return { verb: null, reason: PLAIN_ROUTE_NO_APK };
99
102
  if (!caps.canInstall) {
100
103
  return {
101
104
  verb: null,
@@ -133,6 +136,15 @@ export function stateText(install, error, label, version) {
133
136
  export function failureText(error) {
134
137
  if (!error)
135
138
  return "the phone did not say why";
139
+ // A different signing key from the copy already installed. Android never updates an app across keys, so a
140
+ // retry fails identically forever — the card offered "retry install" for it (owner, 2026-11-03). Only an
141
+ // uninstall (which deletes the app's data) or a build signed with the installed copy's key gets past it.
142
+ if (isSignatureConflict(error)) {
143
+ return "this build is signed with a different key than the copy already on this phone, and Android only updates " +
144
+ "an app signed with the same key — a retry fails the same way. Either build it with the key the installed " +
145
+ "copy has, or uninstall that copy first (which deletes its data on this phone) and then install this one " +
146
+ "(INSTALL_FAILED_UPDATE_INCOMPATIBLE)";
147
+ }
136
148
  // Play Protect's package verifier said no. The shell already re-asks OUT LOUD after a
137
149
  // refused silent attempt (`installLoudAfterRefusal`), so reaching this means that ask
138
150
  // was refused or dismissed too — the platform's words name neither Play Protect nor a remedy.
@@ -155,10 +167,17 @@ export function failureText(error) {
155
167
  return `this phone is out of space — it needs ${mb(need)} beyond the room Android keeps in reserve (up to 500 MB), and ${have}. `
156
168
  + `Free space until Settings shows about ${mb(need + 500e6 - usable)} free, then retry`;
157
169
  }
170
+ /** The installer refused because the build's signing key differs from the installed copy's — the one
171
+ * failure no retry can fix. Matches the platform's code and its sentence, as the shell relays them. */
172
+ export function isSignatureConflict(error) {
173
+ return !!error && /INSTALL_FAILED_UPDATE_INCOMPATIBLE|signatures do not match/i.test(error);
174
+ }
158
175
  /** The word on the install button. After a failure it is a RETRY — the same
159
176
  * tap, but "install" beside "could not install" read as the thing that had
160
177
  * just not worked rather than the way to try again. */
161
- export function installVerbText(install) {
178
+ export function installVerbText(install, error) {
179
+ if (install === "failed" && isSignatureConflict(error))
180
+ return "install after uninstalling the old copy";
162
181
  if (install === "failed")
163
182
  return "retry install";
164
183
  if (install === "installed")
@@ -1 +1 @@
1
- {"version":3,"file":"installrow.js","sourceRoot":"","sources":["../src/installrow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installrow.js","sourceRoot":"","sources":["../src/installrow.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,11 @@ export interface NetState {
28
28
  /** Wi-Fi name, `null` when unreadable (not Wi-Fi, or permission missing). */
29
29
  ssid: string | null;
30
30
  permission: NetPermission;
31
+ /** The active network runs over a VPN. Absent = this shell does not say. */
32
+ vpn?: boolean;
33
+ /** The default network is the tailnet's: a VPN with a link address in 100.64/10 or
34
+ * fd7a:115c:a1e0::/48, not merely any VPN. Absent = this shell does not say, never `false`. */
35
+ tailnet?: boolean;
31
36
  }
32
37
  /** How long the LAN `/api/health` probe may take before the LAN is not used. */
33
38
  export declare const LAN_PROBE_TIMEOUT_MS = 1500;
@@ -1 +1 @@
1
- {"version":3,"file":"lanroute.js","sourceRoot":"","sources":["../src/lanroute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgBH,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAsDzC,SAAS,IAAI,CAAC,MAAsB,EAAE,QAAgB,EAAE,OAAiC,IAAI;IAC3F,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtD,CAAC;AAED;mDACmD;AACnD,MAAM,UAAU,WAAW,CAAC,IAA4B,EAAE,IAAmB;IAC3E,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,2DAA2D,CAAC,CAAC;IAC7F,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,UAAU,EAAE,2DAA2D,CAAC,CAAC;IACpG,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,sEAAsE,CAAC,CAAC;IACxG,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;QACrH,OAAO,IAAI,CAAC,UAAU,EAAE,mCAAmC,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,eAAe,EAAE,0EAA0E,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,EAAE,sDAAsD,CAAC,CAAC;IAC9F,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,eAAe,EAAE,uBAAuB,GAAG,CAAC,IAAI,gDAAgD,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,iBAAiB,EAAE,+CAA+C,GAAG,8DAA8D,EAAE,OAAO,CAAC,CAAC;IAC5J,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,eAAe,EAAE,2BAA2B,GAAG,CAAC,IAAI,cAAc,EAAE,OAAO,CAAC,CAAC;IACrG,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,cAAc,EAAE,sBAAsB,GAAG,CAAC,IAAI,uBAAuB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9G,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,oBAAoB,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,YAAY,EAAE,sBAAsB,GAAG,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,oBAAoB,YAAY,CAAC,CAAC;IAC1I,CAAC;IACD,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,aAAa,EAAE,2BAA2B,GAAG,CAAC,IAAI,6BAA6B,EAAE,QAAQ,CAAC,CAAC;IACjI,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,YAAY,EAAE,0CAA0C,GAAG,CAAC,IAAI,sCAAsC,CAAC,CAAC;IACtH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,kBAAkB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,YAAY,IAAI,iCAAiC;QACnG,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAQD,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAAa;IACzD,OAAO,GAAG,MAAM,KAAK,KAAK,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"lanroute.js","sourceRoot":"","sources":["../src/lanroute.ts"],"names":[],"mappings":"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"}