llm-relay 0.62.0 → 0.63.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 (231) hide show
  1. package/dist/accounting-store-io.js +0 -33
  2. package/dist/accounting-store-io.js.map +1 -1
  3. package/dist/accounting-store-schema.js +0 -65
  4. package/dist/accounting-store-schema.js.map +1 -1
  5. package/dist/accounting-store.js +0 -195
  6. package/dist/accounting-store.js.map +1 -1
  7. package/dist/accounting.js +0 -72
  8. package/dist/accounting.js.map +1 -1
  9. package/dist/anthropic.js +0 -18
  10. package/dist/anthropic.js.map +1 -1
  11. package/dist/authEnv.js +0 -78
  12. package/dist/authEnv.js.map +1 -1
  13. package/dist/availability-snapshot.js +0 -58
  14. package/dist/availability-snapshot.js.map +1 -1
  15. package/dist/availability.js +0 -162
  16. package/dist/availability.js.map +1 -1
  17. package/dist/backend.js +1 -416
  18. package/dist/backend.js.map +1 -1
  19. package/dist/benchmarks.js +1 -63
  20. package/dist/benchmarks.js.map +1 -1
  21. package/dist/breaker-persistence.js +0 -59
  22. package/dist/breaker-persistence.js.map +1 -1
  23. package/dist/candidates.js +0 -64
  24. package/dist/candidates.js.map +1 -1
  25. package/dist/catalog.js +1 -140
  26. package/dist/catalog.js.map +1 -1
  27. package/dist/circuit-breaker.js +1 -90
  28. package/dist/circuit-breaker.js.map +1 -1
  29. package/dist/claude-hook.js +0 -81
  30. package/dist/claude-hook.js.map +1 -1
  31. package/dist/cli.d.ts +36 -0
  32. package/dist/cli.js +73 -730
  33. package/dist/cli.js.map +1 -1
  34. package/dist/config-edit.js +0 -11
  35. package/dist/config-edit.js.map +1 -1
  36. package/dist/config.d.ts +21 -0
  37. package/dist/config.js +22 -372
  38. package/dist/config.js.map +1 -1
  39. package/dist/configured-limits.js +0 -58
  40. package/dist/configured-limits.js.map +1 -1
  41. package/dist/context-limits.js +0 -97
  42. package/dist/context-limits.js.map +1 -1
  43. package/dist/control-authorization.js +0 -36
  44. package/dist/control-authorization.js.map +1 -1
  45. package/dist/cooldown-clear.js +0 -6
  46. package/dist/cooldown-clear.js.map +1 -1
  47. package/dist/credential-fleet.js +0 -5
  48. package/dist/credential-fleet.js.map +1 -1
  49. package/dist/credential-select.js +4 -30
  50. package/dist/credential-select.js.map +1 -1
  51. package/dist/dashboard-auth.js +0 -29
  52. package/dist/dashboard-auth.js.map +1 -1
  53. package/dist/dashboard-contract.js +0 -46
  54. package/dist/dashboard-contract.js.map +1 -1
  55. package/dist/dashboard-routes.js +0 -32
  56. package/dist/dashboard-routes.js.map +1 -1
  57. package/dist/dashboard-snapshot.js +0 -154
  58. package/dist/dashboard-snapshot.js.map +1 -1
  59. package/dist/dashboard-static.js +0 -22
  60. package/dist/dashboard-static.js.map +1 -1
  61. package/dist/delegate-gate/cast-necessity.js +1 -22
  62. package/dist/delegate-gate/cast-necessity.js.map +1 -1
  63. package/dist/delegate-gate/cli.js +0 -6
  64. package/dist/delegate-gate/cli.js.map +1 -1
  65. package/dist/delegate-gate/diff-parser.js +0 -32
  66. package/dist/delegate-gate/diff-parser.js.map +1 -1
  67. package/dist/delegate-gate/fix.js +0 -10
  68. package/dist/delegate-gate/fix.js.map +1 -1
  69. package/dist/delegate-gate/gate.js +0 -12
  70. package/dist/delegate-gate/gate.js.map +1 -1
  71. package/dist/delegate-gate/minimality.js +0 -38
  72. package/dist/delegate-gate/minimality.js.map +1 -1
  73. package/dist/delegate-gate/post-image.js +1 -13
  74. package/dist/delegate-gate/post-image.js.map +1 -1
  75. package/dist/delegate-gate/shared-state.js +0 -23
  76. package/dist/delegate-gate/shared-state.js.map +1 -1
  77. package/dist/delegate-gate/test-assertions.js +1 -54
  78. package/dist/delegate-gate/test-assertions.js.map +1 -1
  79. package/dist/delegate-gate/types.js +0 -11
  80. package/dist/delegate-gate/types.js.map +1 -1
  81. package/dist/dialect-stream.js +9 -37
  82. package/dist/dialect-stream.js.map +1 -1
  83. package/dist/dispatch-exhaustion-persistence.js +0 -35
  84. package/dist/dispatch-exhaustion-persistence.js.map +1 -1
  85. package/dist/dispatch.js +0 -269
  86. package/dist/dispatch.js.map +1 -1
  87. package/dist/documents.js +0 -92
  88. package/dist/documents.js.map +1 -1
  89. package/dist/dotenv.js +0 -22
  90. package/dist/dotenv.js.map +1 -1
  91. package/dist/dynamic-pools.js +0 -93
  92. package/dist/dynamic-pools.js.map +1 -1
  93. package/dist/emitSse.js +0 -64
  94. package/dist/emitSse.js.map +1 -1
  95. package/dist/executable-lookup.js +0 -59
  96. package/dist/executable-lookup.js.map +1 -1
  97. package/dist/hard-cap.js +1 -32
  98. package/dist/hard-cap.js.map +1 -1
  99. package/dist/host-routing.js +0 -40
  100. package/dist/host-routing.js.map +1 -1
  101. package/dist/installed-hosts.js +0 -71
  102. package/dist/installed-hosts.js.map +1 -1
  103. package/dist/json-shape.js +0 -19
  104. package/dist/json-shape.js.map +1 -1
  105. package/dist/kernel/contracts.js +0 -26
  106. package/dist/kernel/contracts.js.map +1 -1
  107. package/dist/kernel/request-lifecycle.js +0 -4
  108. package/dist/kernel/request-lifecycle.js.map +1 -1
  109. package/dist/key-checker.js +0 -115
  110. package/dist/key-checker.js.map +1 -1
  111. package/dist/key-import.js +0 -20
  112. package/dist/key-import.js.map +1 -1
  113. package/dist/keys-cli.js +0 -15
  114. package/dist/keys-cli.js.map +1 -1
  115. package/dist/keystore.js +2 -51
  116. package/dist/keystore.js.map +1 -1
  117. package/dist/lane-cadence.js +1 -51
  118. package/dist/lane-cadence.js.map +1 -1
  119. package/dist/lane-manifest.js +0 -54
  120. package/dist/lane-manifest.js.map +1 -1
  121. package/dist/lane-probe.js +0 -36
  122. package/dist/lane-probe.js.map +1 -1
  123. package/dist/lane-quota-probe.js +0 -61
  124. package/dist/lane-quota-probe.js.map +1 -1
  125. package/dist/log.js +0 -17
  126. package/dist/log.js.map +1 -1
  127. package/dist/mcp/lane-runner.d.ts +114 -0
  128. package/dist/mcp/lane-runner.js +186 -0
  129. package/dist/mcp/lane-runner.js.map +1 -0
  130. package/dist/mcp/protocol.d.ts +98 -0
  131. package/dist/mcp/protocol.js +67 -0
  132. package/dist/mcp/protocol.js.map +1 -0
  133. package/dist/mcp/server.d.ts +78 -0
  134. package/dist/mcp/server.js +360 -0
  135. package/dist/mcp/server.js.map +1 -0
  136. package/dist/metadata.js +0 -73
  137. package/dist/metadata.js.map +1 -1
  138. package/dist/network-block.js +0 -45
  139. package/dist/network-block.js.map +1 -1
  140. package/dist/offload.js +0 -21
  141. package/dist/offload.js.map +1 -1
  142. package/dist/onboarding.js +0 -36
  143. package/dist/onboarding.js.map +1 -1
  144. package/dist/openai-dialect.js +0 -32
  145. package/dist/openai-dialect.js.map +1 -1
  146. package/dist/openai-request.js +0 -236
  147. package/dist/openai-request.js.map +1 -1
  148. package/dist/os-keyring.js +0 -28
  149. package/dist/os-keyring.js.map +1 -1
  150. package/dist/ping/cadence.js +3 -90
  151. package/dist/ping/cadence.js.map +1 -1
  152. package/dist/ping/metrics.js +0 -91
  153. package/dist/ping/metrics.js.map +1 -1
  154. package/dist/ping/ping.js +0 -17
  155. package/dist/ping/ping.js.map +1 -1
  156. package/dist/ping/probe-cache.js +2 -53
  157. package/dist/ping/probe-cache.js.map +1 -1
  158. package/dist/ping/quota.js +0 -17
  159. package/dist/ping/quota.js.map +1 -1
  160. package/dist/ping/runtime-telemetry.js +1 -18
  161. package/dist/ping/runtime-telemetry.js.map +1 -1
  162. package/dist/pool-health.js +0 -49
  163. package/dist/pool-health.js.map +1 -1
  164. package/dist/presets.js +0 -4
  165. package/dist/presets.js.map +1 -1
  166. package/dist/process-safety-net.js +0 -36
  167. package/dist/process-safety-net.js.map +1 -1
  168. package/dist/quota-demotion.js +1 -35
  169. package/dist/quota-demotion.js.map +1 -1
  170. package/dist/quota-observation.js +0 -21
  171. package/dist/quota-observation.js.map +1 -1
  172. package/dist/rate-limits.js +1 -94
  173. package/dist/rate-limits.js.map +1 -1
  174. package/dist/refusal-interpretation.js +2 -327
  175. package/dist/refusal-interpretation.js.map +1 -1
  176. package/dist/registry.js +0 -11
  177. package/dist/registry.js.map +1 -1
  178. package/dist/repair.js +1 -119
  179. package/dist/repair.js.map +1 -1
  180. package/dist/request-log.js +0 -2
  181. package/dist/request-log.js.map +1 -1
  182. package/dist/reshaper.js +0 -85
  183. package/dist/reshaper.js.map +1 -1
  184. package/dist/resolved-attempt.js +0 -3
  185. package/dist/resolved-attempt.js.map +1 -1
  186. package/dist/responses-request.js +0 -187
  187. package/dist/responses-request.js.map +1 -1
  188. package/dist/routes/admin.js +0 -38
  189. package/dist/routes/admin.js.map +1 -1
  190. package/dist/secret-file-acl.js +0 -26
  191. package/dist/secret-file-acl.js.map +1 -1
  192. package/dist/self-update.js +0 -118
  193. package/dist/self-update.js.map +1 -1
  194. package/dist/server.js +15 -952
  195. package/dist/server.js.map +1 -1
  196. package/dist/session-pin.js +0 -9
  197. package/dist/session-pin.js.map +1 -1
  198. package/dist/setup-claude.js +0 -9
  199. package/dist/setup-claude.js.map +1 -1
  200. package/dist/spend-headroom.js +0 -20
  201. package/dist/spend-headroom.js.map +1 -1
  202. package/dist/sse-frames.js +0 -31
  203. package/dist/sse-frames.js.map +1 -1
  204. package/dist/sse.js +1 -19
  205. package/dist/sse.js.map +1 -1
  206. package/dist/state-paths.js +0 -16
  207. package/dist/state-paths.js.map +1 -1
  208. package/dist/stream-commit.js +1 -27
  209. package/dist/stream-commit.js.map +1 -1
  210. package/dist/target-facts.js +2 -130
  211. package/dist/target-facts.js.map +1 -1
  212. package/dist/telemetry.js +0 -8
  213. package/dist/telemetry.js.map +1 -1
  214. package/dist/think-tags.js +1 -38
  215. package/dist/think-tags.js.map +1 -1
  216. package/dist/tier-data.js +0 -29
  217. package/dist/tier-data.js.map +1 -1
  218. package/dist/tool-dialects.js +1 -103
  219. package/dist/tool-dialects.js.map +1 -1
  220. package/dist/tool-use-ids.js +0 -51
  221. package/dist/tool-use-ids.js.map +1 -1
  222. package/dist/usage-observer.js +0 -52
  223. package/dist/usage-observer.js.map +1 -1
  224. package/dist/validator.js +1 -25
  225. package/dist/validator.js.map +1 -1
  226. package/dist/winenv.js +0 -63
  227. package/dist/winenv.js.map +1 -1
  228. package/dist/write-behind.js +0 -12
  229. package/dist/write-behind.js.map +1 -1
  230. package/package.json +2 -2
  231. package/skills/llm-relay/SKILL.md +26 -1
@@ -1,21 +1,3 @@
1
- /**
2
- * Version currency: nobody should unknowingly run a stale llm-relay.
3
- *
4
- * A start whose caller classified it as `mutating` compares the running version
5
- * against the registry (cached, short timeout, fail-open). If a newer version
6
- * exists:
7
- * - a globally-installed copy updates itself and re-execs into the new build;
8
- * - any other copy (dev checkout, npx, local dependency) is told, with the
9
- * exact command, and continues on the old version.
10
- * A `read-only` invocation — the default — never consults the registry at all,
11
- * so a status query is never the moment the global install gets replaced.
12
- *
13
- * The update is a clean replace: npm installs the new version, then any bin
14
- * shim that belonged to the OLD package but is not a bin of the new one is
15
- * deleted, so a renamed/dropped bin never leaves a dangling `.cmd`/`.ps1`
16
- * behind on the PATH. The working install is never removed before its
17
- * replacement is on local disk (see `installGlobalUpdate`).
18
- */
19
1
  import { relayStatePath } from "./state-paths.js";
20
2
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, readdirSync, writeFileSync } from "node:fs";
21
3
  import { dirname, join } from "node:path";
@@ -23,35 +5,19 @@ import { tmpdir } from "node:os";
23
5
  import { fileURLToPath } from "node:url";
24
6
  import { spawnSync } from "node:child_process";
25
7
  export const PACKAGE_NAME = "llm-relay";
26
- /** Re-exec marker: set on the child so an update can never recurse. */
27
8
  export const SUPPRESS_ENV = "LLM_RELAY_NO_SELF_UPDATE";
28
9
  const REGISTRY = "https://registry.npmjs.org";
29
10
  const CHECK_TIMEOUT_MS = 2500;
30
- /** How long a registry answer is reused before we ask again. */
31
11
  export const CHECK_INTERVAL_MS = 6 * 60 * 60 * 1000;
32
- /**
33
- * Strict, END-ANCHORED semver. The anchor is load-bearing, not cosmetic: this
34
- * value arrives from an HTTPS response to the npm registry and from a
35
- * user-writable cache file, and it is passed to a subprocess. An unanchored
36
- * pattern accepts `9.9.9 & calc.exe` as a clean parse of `9.9.9`, and the
37
- * trailing shell metacharacters then travel with it.
38
- */
39
12
  function parseVersion(v) {
40
13
  const m = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/.exec(v.trim());
41
14
  if (!m)
42
15
  return null;
43
16
  return { release: [Number(m[1]), Number(m[2]), Number(m[3])], prerelease: m[4] ?? null };
44
17
  }
45
- /** True only for a full-string semver — the gate every registry- or cache-supplied version must clear. */
46
18
  export function isValidVersion(v) {
47
19
  return typeof v === "string" && parseVersion(v) !== null;
48
20
  }
49
- /**
50
- * Semver prerelease ordering: dot-separated identifiers left to right, numeric
51
- * identifiers compared numerically, a numeric identifier ranking below an
52
- * alphanumeric one, and a shorter run of otherwise-equal identifiers ranking
53
- * lower. Plain string comparison gets this wrong — it sorts `rc.9` above `rc.10`.
54
- */
55
21
  function comparePrerelease(a, b) {
56
22
  const pa = a.split(".");
57
23
  const pb = b.split(".");
@@ -78,7 +44,6 @@ function comparePrerelease(a, b) {
78
44
  }
79
45
  return 0;
80
46
  }
81
- /** -1 / 0 / 1, semver-ordered for the subset we publish. Unparseable sorts equal. */
82
47
  export function compareVersions(a, b) {
83
48
  const pa = parseVersion(a);
84
49
  const pb = parseVersion(b);
@@ -100,11 +65,6 @@ export function compareVersions(a, b) {
100
65
  export function isOutdated(current, latest) {
101
66
  return compareVersions(current, latest) < 0;
102
67
  }
103
- /**
104
- * A global install is one whose package root sits under the npm global root.
105
- * A checkout with a `.git` dir is a dev tree (never npm-managed). Anything else
106
- * — npx cache, a project-local dependency — is `managed`: notify, don't touch.
107
- */
108
68
  export function classifyInstall(packageRoot, globalRoot) {
109
69
  const norm = (p) => p.replace(/\\/g, "/").replace(/\/+$/, "").toLowerCase();
110
70
  if (globalRoot && norm(packageRoot).startsWith(norm(globalRoot) + "/"))
@@ -113,7 +73,6 @@ export function classifyInstall(packageRoot, globalRoot) {
113
73
  return "dev";
114
74
  return "managed";
115
75
  }
116
- /** Bin *names* declared by a package.json `bin` field (string or map form). */
117
76
  export function binNames(pkg) {
118
77
  if (!pkg.bin)
119
78
  return [];
@@ -121,10 +80,6 @@ export function binNames(pkg) {
121
80
  return pkg.name ? [pkg.name] : [];
122
81
  return Object.keys(pkg.bin);
123
82
  }
124
- /**
125
- * Shim files to delete after an update: every bin the OLD version installed but
126
- * the NEW one no longer declares, in each of npm's shim spellings.
127
- */
128
83
  export function staleShimFiles(binDir, previous, current, present) {
129
84
  const keep = new Set(current);
130
85
  const dropped = previous.filter((n) => !keep.has(n));
@@ -135,7 +90,6 @@ export function staleShimFiles(binDir, previous, current, present) {
135
90
  }
136
91
  return present.filter((f) => wanted.has(f)).map((f) => join(binDir, f));
137
92
  }
138
- // ------------------------------------------------------------------- runtime
139
93
  function packageRoot() {
140
94
  return dirname(dirname(fileURLToPath(import.meta.url)));
141
95
  }
@@ -150,14 +104,6 @@ export function readPackageJson(root) {
150
104
  export function currentVersion() {
151
105
  return readPackageJson(packageRoot()).version ?? "0.0.0";
152
106
  }
153
- /**
154
- * Where the 6h npm-version check caches its answer.
155
- *
156
- * ⚠ Under vitest, never touch the developer's real update-check cache — a test run would
157
- * otherwise suppress or force a real upgrade prompt. Exported so
158
- * `test/persistent-paths-vitest.test.ts` can assert the redirect DIRECTLY rather than inferring
159
- * it from a read that returns null either way.
160
- */
161
107
  export function defaultUpdateCachePath() {
162
108
  if (process.env.VITEST)
163
109
  return join(tmpdir(), "llm-relay-vitest", "update-check.json");
@@ -169,9 +115,6 @@ export function readCache(now) {
169
115
  const c = JSON.parse(readFileSync(cacheFile(), "utf8"));
170
116
  if (typeof c.checkedAt !== "number")
171
117
  return null;
172
- // Re-validate on READ, not only on fetch. This is a user-writable file on
173
- // the path to a subprocess argument, so a value that never cleared the
174
- // semver gate must not be able to replay out of it for the cache lifetime.
175
118
  if (!isValidVersion(c.latest))
176
119
  return null;
177
120
  return now - c.checkedAt < CHECK_INTERVAL_MS ? c.latest : null;
@@ -186,14 +129,10 @@ function writeCache(latest, now) {
186
129
  writeFileSync(cacheFile(), JSON.stringify({ checkedAt: now, latest }), "utf8");
187
130
  }
188
131
  catch {
189
- /* cache is an optimization; never fatal */
190
132
  }
191
133
  }
192
- /** Latest published version, or null on any network/parse failure (fail-open). */
193
134
  export async function fetchLatestVersion() {
194
135
  try {
195
- // The `/latest` document is plain JSON; asking for npm's abbreviated
196
- // packument media type here is a 406.
197
136
  const res = await fetch(`${REGISTRY}/${PACKAGE_NAME}/latest`, {
198
137
  headers: { accept: "application/json" },
199
138
  signal: AbortSignal.timeout(CHECK_TIMEOUT_MS),
@@ -201,26 +140,12 @@ export async function fetchLatestVersion() {
201
140
  if (!res.ok)
202
141
  return null;
203
142
  const body = (await res.json());
204
- // Network-controlled input: reject anything that is not a full-string semver
205
- // at the boundary, so nothing downstream has to be careful about it.
206
143
  return isValidVersion(body.version) ? body.version : null;
207
144
  }
208
145
  catch {
209
146
  return null;
210
147
  }
211
148
  }
212
- /**
213
- * Windows resolves `npm` to a `.cmd` shim. An earlier revision launched it by
214
- * joining the argv into a single `cmd.exe /c` STRING and asserted here that
215
- * "every argument is ours, never user input" — which was false: the version
216
- * comes from an HTTPS registry response and from a user-writable cache, so
217
- * `cmd` metacharacters in it became live shell syntax.
218
- *
219
- * The interpreter must still be named explicitly (spawning a `.cmd` with
220
- * `shell: true` is deprecated, DEP0190), but arguments are now passed as a real
221
- * ARGV ARRAY, so nothing inside an argument can introduce a new command.
222
- * Callers must still only pass values that cleared `isValidVersion`.
223
- */
224
149
  function npm(args) {
225
150
  const win = process.platform === "win32";
226
151
  const res = win
@@ -246,7 +171,6 @@ function globalBinDir() {
246
171
  return null;
247
172
  return process.platform === "win32" ? r.stdout : join(r.stdout, "bin");
248
173
  }
249
- /** Delete shims left over from bins the new version no longer declares. */
250
174
  export function pruneStaleShims(binDir, previous, current) {
251
175
  if (!binDir || !existsSync(binDir))
252
176
  return [];
@@ -264,26 +188,11 @@ export function pruneStaleShims(binDir, previous, current) {
264
188
  removed.push(file);
265
189
  }
266
190
  catch {
267
- /* a shim we cannot remove is reported by npm's own doctor, not fatal here */
268
191
  }
269
192
  }
270
193
  return removed;
271
194
  }
272
195
  const notify = (msg) => process.stderr.write(`llm-relay: ${msg}\n`);
273
- /**
274
- * True when this invocation should consult the registry at all.
275
- *
276
- * The decision is the CALLER's: `classification` says whether this invocation
277
- * is a moment at which replacing the global install and re-execing is
278
- * acceptable. It defaults to `read-only`, so a caller that has not classified
279
- * its command yet gets the safe answer — a status query like `llm-relay keys`
280
- * must not rewrite the user's global install underneath them.
281
- *
282
- * `argv` may only ever SUPPRESS the check (help/version stay instant and
283
- * offline even if the caller classified the invocation as mutating). It can
284
- * never promote one, so this module cannot decide on its own that an update is
285
- * safe here.
286
- */
287
196
  export function shouldCheckUpdates(argv, env, classification = "read-only") {
288
197
  if (env[SUPPRESS_ENV])
289
198
  return false;
@@ -294,32 +203,12 @@ export function shouldCheckUpdates(argv, env, classification = "read-only") {
294
203
  return false;
295
204
  return !argv.slice(1).some((a) => /^--?(version|v|help|h)(=|$)/.test(a));
296
205
  }
297
- /**
298
- * Install `latest` over the current global package.
299
- *
300
- * The EEXIST branch used to `npm uninstall -g` the WORKING package and then
301
- * retry the install; a transient registry or network failure on that retry left
302
- * the user with no binary at all, while stderr claimed we were "continuing on"
303
- * the version that had just been deleted. This binary sits in the path of every
304
- * agent session, so that blast radius is total.
305
- *
306
- * The removal is therefore REORDERED behind a proof: `npm pack` puts the exact
307
- * replacement tarball on local disk first. If that fails, nothing is removed
308
- * and the working install is untouched. If it succeeds the reinstall reads that
309
- * local file, so it no longer depends on the registry at all — and a rollback to
310
- * `current` is still attempted if even the local install fails, so the only way
311
- * to end with no install is for three npm invocations in a row to fail.
312
- */
313
206
  export function installGlobalUpdate(latest, current, previousBins, deps) {
314
207
  const attempt = deps.run(["install", "-g", `${PACKAGE_NAME}@${latest}`]);
315
208
  if (attempt.ok)
316
209
  return { ok: true, stderr: "", missingInstall: false };
317
- // Any other failure never removed anything: the working install still stands.
318
210
  if (!/EEXIST/i.test(attempt.stderr))
319
211
  return { ok: false, stderr: attempt.stderr, missingInstall: false };
320
- // A shim npm does not consider its own (left by a link, a rename, or a
321
- // half-finished install) blocks the overwrite. Clearing it means removing the
322
- // copy that currently works, so fetch the replacement BEFORE touching it.
323
212
  deps.notify("existing bin shims block the overwrite; staging a clean reinstall");
324
213
  const stage = deps.stage();
325
214
  if (!stage)
@@ -328,7 +217,6 @@ export function installGlobalUpdate(latest, current, previousBins, deps) {
328
217
  const packed = deps.run(["pack", `${PACKAGE_NAME}@${latest}`, "--pack-destination", stage]);
329
218
  const tarball = packed.ok ? deps.staged(stage)[0] : undefined;
330
219
  if (!tarball) {
331
- // The replacement is not in hand — do NOT remove the working install.
332
220
  return { ok: false, stderr: packed.stderr || attempt.stderr, missingInstall: false };
333
221
  }
334
222
  deps.run(["uninstall", "-g", PACKAGE_NAME]);
@@ -336,7 +224,6 @@ export function installGlobalUpdate(latest, current, previousBins, deps) {
336
224
  const clean = deps.run(["install", "-g", tarball]);
337
225
  if (clean.ok)
338
226
  return { ok: true, stderr: "", missingInstall: false };
339
- // Last resort: put back exactly the version that was working a moment ago.
340
227
  deps.notify(`clean reinstall failed; restoring ${current}`);
341
228
  const restored = deps.run(["install", "-g", `${PACKAGE_NAME}@${current}`]);
342
229
  return { ok: false, stderr: clean.stderr, missingInstall: !restored.ok };
@@ -371,13 +258,8 @@ function discardStageDir(dir) {
371
258
  rmSync(dir, { recursive: true, force: true });
372
259
  }
373
260
  catch {
374
- /* a scratch dir we cannot delete is not worth failing an update over */
375
261
  }
376
262
  }
377
- /**
378
- * Compare against the registry and, for a global install, replace it in place
379
- * and re-exec. Returns only when the process should continue on this version.
380
- */
381
263
  export async function ensureUpToDate(now = Date.now()) {
382
264
  const root = packageRoot();
383
265
  const current = readPackageJson(root).version ?? "0.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../src/self-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../src/self-update.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAW,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AACvD,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAoCpD,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,CAAC,GAAG,oEAAoE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9F,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;AAC3F,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC3D,CAAC;AAQD,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IACtC,OAAO,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,MAAc;IACxD,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAOD,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,UAAyB;IAC5E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACpF,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxF,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAGD,MAAM,UAAU,QAAQ,CAAC,GAA6D;IACpF,IAAI,CAAC,GAAG,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAAkB,EAAE,OAAiB,EAAE,OAAiB;IACrG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAID,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA0B,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3D,CAAC;AAUD,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACvF,OAAO,cAAc,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC;AAEjD,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAgB,CAAC;QACvE,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAIjD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,GAAW;IAC7C,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAwB,CAAC,EAAE,MAAM,CAAC,CAAC;IACvG,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QAGH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,IAAI,YAAY,SAAS,EAAE;YAC5D,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QAGxD,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAcD,SAAS,GAAG,CAAC,IAAc;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG;QACb,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE;YACvD,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,KAAK;SACb,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC;QACpB,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,MAAqB,EAAE,QAAkB,EAAE,OAAiB;IAC1F,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;AAgB5E,MAAM,UAAU,kBAAkB,CAChC,IAAc,EACd,GAAsB,EACtB,iBAAgC,WAAW;IAE3C,IAAI,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,cAAc,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AA6CD,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,OAAe,EACf,YAAsB,EACtB,IAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAEvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAKzG,IAAI,CAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,YAAY,IAAI,MAAM,EAAE,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,GAAG,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACjC,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;IAEzD,IAAI,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpC,IAAI,MAAM;YAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;QAAE,OAAO;IAEpD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,CACJ,sBAAsB,OAAO,MAAM,MAAM,kBAAkB,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,wBAAwB,IAAI;YAC5H,uBAAuB,YAAY,oCAAoC,CAC1E,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,CAAC,sBAAsB,OAAO,MAAM,MAAM,iCAAiC,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;QACjE,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,eAAe,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,MAAM;KACP,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;QAC5D,MAAM,CACJ,OAAO,CAAC,cAAc;YACpB,CAAC,CAAC,uBAAuB,MAAM,mDAAmD;gBAC9E,uBAAuB,YAAY,+BAA+B;YACtE,CAAC,CAAC,uBAAuB,MAAM,oBAAoB,OAAO,oCAAoC,CACjG,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,CAAC,0CAA0C,SAAS,CAAC,OAAO,IAAI,SAAS,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC9G,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,WAAW,OAAO,CAAC,MAAM,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjG,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,cAAc,MAAM,SAAS,KAAK,8BAA8B,OAAO,EAAE,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IAED,MAAM,CAAC,cAAc,MAAM,cAAc,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3E,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;QAC5C,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC"}