claude-code-infinite 1.0.25 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -4
- package/dist/auto-update-runner.d.ts +13 -0
- package/dist/auto-update-runner.d.ts.map +1 -1
- package/dist/auto-update-runner.js +51 -7
- package/dist/auto-update-runner.js.map +1 -1
- package/dist/auto-update-setup.d.ts +19 -3
- package/dist/auto-update-setup.d.ts.map +1 -1
- package/dist/auto-update-setup.js +42 -16
- package/dist/auto-update-setup.js.map +1 -1
- package/dist/auto-update.d.ts +59 -6
- package/dist/auto-update.d.ts.map +1 -1
- package/dist/auto-update.js +207 -40
- package/dist/auto-update.js.map +1 -1
- package/dist/claude-auth.d.ts +47 -0
- package/dist/claude-auth.d.ts.map +1 -0
- package/dist/claude-auth.js +171 -0
- package/dist/claude-auth.js.map +1 -0
- package/dist/claude-locate.d.ts +62 -0
- package/dist/claude-locate.d.ts.map +1 -0
- package/dist/claude-locate.js +224 -0
- package/dist/claude-locate.js.map +1 -0
- package/dist/cli-main.js +103 -15
- package/dist/cli-main.js.map +1 -1
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/diagnostics-schema.d.ts +9 -1
- package/dist/diagnostics-schema.d.ts.map +1 -1
- package/dist/diagnostics-schema.js +26 -1
- package/dist/diagnostics-schema.js.map +1 -1
- package/dist/diagnostics.d.ts +5 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +17 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/memtree-mcp.d.ts.map +1 -1
- package/dist/memtree-mcp.js +8 -5
- package/dist/memtree-mcp.js.map +1 -1
- package/dist/notices.d.ts.map +1 -1
- package/dist/notices.js +3 -2
- package/dist/notices.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +7 -0
- package/dist/proxy.js.map +1 -1
- package/dist/reqlog.d.ts +7 -0
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js.map +1 -1
- package/dist/resume-repair.d.ts +2 -0
- package/dist/resume-repair.d.ts.map +1 -1
- package/dist/resume-repair.js +7 -5
- package/dist/resume-repair.js.map +1 -1
- package/dist/update-check.d.ts +2 -0
- package/dist/update-check.d.ts.map +1 -1
- package/dist/update-check.js.map +1 -1
- package/dist/update-lock.js +3 -1
- package/dist/update-lock.js.map +1 -1
- package/dist/update-wait.d.ts +25 -0
- package/dist/update-wait.d.ts.map +1 -0
- package/dist/update-wait.js +63 -0
- package/dist/update-wait.js.map +1 -0
- package/package.json +1 -1
package/dist/auto-update.js
CHANGED
|
@@ -4,12 +4,22 @@
|
|
|
4
4
|
* Code does ("✔ Update installed · Restart to update").
|
|
5
5
|
*
|
|
6
6
|
* Only when self-updating is safe: a plain global npm install whose package
|
|
7
|
-
* directory is physically inside `<prefix>/lib/node_modules`
|
|
8
|
-
* this user (no sudo, ever).
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
7
|
+
* directory is physically inside `<prefix>/lib/node_modules` (on Windows
|
|
8
|
+
* `<prefix>\node_modules`) and writable by this user (no sudo, ever).
|
|
9
|
+
* npm-linked and git checkouts (detected through the bin link too, so an
|
|
10
|
+
* `npm link` is never replaced), npx and local installs, pnpm/yarn/bun/volta
|
|
11
|
+
* globals and root/sudo runs get the hint line only, with the command that
|
|
12
|
+
* fits how they were installed. The install runs in a detached runner
|
|
13
|
+
* (auto-update-runner.ts) that loads no file from the package, so it survives
|
|
14
|
+
* this ccc exiting and npm replacing the package under it.
|
|
15
|
+
*
|
|
16
|
+
* Windows: the runner starts only as ccc exits (also when the window is
|
|
17
|
+
* closed) and waits for this process to be gone before npm runs, so npm does
|
|
18
|
+
* not rewrite files under the session that started it (other running
|
|
19
|
+
* sessions are as on POSIX: they already loaded their code; the shim npm
|
|
20
|
+
* rewrites is identical between versions). npm is run as `node npm-cli.js` (no
|
|
21
|
+
* shell: Node refuses to spawn a .cmd without one), and the runner kills
|
|
22
|
+
* npm's process tree with taskkill instead of a POSIX process group.
|
|
13
23
|
*
|
|
14
24
|
* One install at a time across sessions (a lock file with a stale timeout).
|
|
15
25
|
* Every attempt is recorded in update-state.json: a failure backs off for a
|
|
@@ -47,6 +57,11 @@ export const PACKAGE_DIR = fileURLToPath(new URL("..", import.meta.url));
|
|
|
47
57
|
// A plain release, nothing else: it becomes an npm argument, so no tag, range,
|
|
48
58
|
// prefix, prerelease, whitespace or shell metacharacter can pass.
|
|
49
59
|
const STRICT_VERSION_RE = /^(0|[1-9]\d{0,8})\.(0|[1-9]\d{0,8})\.(0|[1-9]\d{0,8})$/;
|
|
60
|
+
/** Why a launch with an update available did not install it, for diagnostics. */
|
|
61
|
+
export const SKIP_CODES = [
|
|
62
|
+
"disabled", "not-release", "linked-install", "install-method", "backoff", "max-attempts",
|
|
63
|
+
"lock-held",
|
|
64
|
+
];
|
|
50
65
|
/** False when any opt-out is set: ccc's, Claude Code's, or the update check's. */
|
|
51
66
|
export function autoUpdateEnabled(env, config) {
|
|
52
67
|
if (!updateCheckEnabled(env, config))
|
|
@@ -68,39 +83,69 @@ export function strictReleaseVersion(version) {
|
|
|
68
83
|
export function detectInstallMethod(opts) {
|
|
69
84
|
const env = opts.env ?? {};
|
|
70
85
|
const raw = opts.packageDir;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
if (opts.uid === 0 || env.SUDO_UID !== undefined) {
|
|
86
|
+
const platform = opts.platform ?? process.platform;
|
|
87
|
+
if (platform !== "win32" && (opts.uid === 0 || env.SUDO_UID !== undefined)) {
|
|
75
88
|
return method("root", raw, "running as root or under sudo");
|
|
76
89
|
}
|
|
77
90
|
const real = realpathOrNull(raw);
|
|
78
91
|
if (real === null)
|
|
79
92
|
return method("unknown", raw, "package directory not found");
|
|
80
|
-
|
|
93
|
+
// pnpm (and others) also reach the package through a symlinked entry: theirs, not a link.
|
|
94
|
+
const link = opts.scriptPath ? linkedPackageEntry(opts.scriptPath) : null;
|
|
95
|
+
if (link && !otherPackageManager(real, env)) {
|
|
96
|
+
const git = fs.existsSync(path.join(real, ".git"));
|
|
97
|
+
return method(git ? "git-checkout" : "npm-link", real, `${link} is a symlink (npm link)`);
|
|
98
|
+
}
|
|
99
|
+
return classifyPackageDir(real, env, platform, opts.probeWrites !== false);
|
|
100
|
+
}
|
|
101
|
+
/** True for the installs whose files are the user's own checkout. */
|
|
102
|
+
export function isLinkedInstall(kind) {
|
|
103
|
+
return kind === "npm-link" || kind === "git-checkout";
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* How to update this install by hand: never `npm i -g` over a linked checkout
|
|
107
|
+
* (that replaces the link with the published package), and each package
|
|
108
|
+
* manager's own command for its globals.
|
|
109
|
+
*/
|
|
110
|
+
export function manualUpdateCommand(kind) {
|
|
111
|
+
const spec = `${PACKAGE_NAME}@latest`;
|
|
112
|
+
switch (kind) {
|
|
113
|
+
case "git-checkout":
|
|
114
|
+
return "linked install: git pull && npm run build in your checkout";
|
|
115
|
+
case "npm-link":
|
|
116
|
+
return "linked install: update and rebuild the folder it links to";
|
|
117
|
+
case "pnpm": return `pnpm add -g ${spec}`;
|
|
118
|
+
case "yarn": return `yarn global add ${spec}`;
|
|
119
|
+
case "bun": return `bun add -g ${spec}`;
|
|
120
|
+
case "volta": return `volta install ${spec}`;
|
|
121
|
+
case "npx": return `npx ${spec}`;
|
|
122
|
+
default: return `npm i -g ${spec}`;
|
|
123
|
+
}
|
|
81
124
|
}
|
|
82
125
|
/** Decide what this launch does about an available update. */
|
|
83
126
|
export function planAutoUpdate(opts) {
|
|
84
127
|
if (!opts.update)
|
|
85
|
-
return
|
|
128
|
+
return skip("no update available", "no-update");
|
|
86
129
|
if (!autoUpdateEnabled(opts.env, opts.config))
|
|
87
|
-
return
|
|
130
|
+
return skip("disabled", "disabled");
|
|
88
131
|
const version = strictReleaseVersion(opts.update.latest);
|
|
89
132
|
if (version === null)
|
|
90
|
-
return
|
|
133
|
+
return skip("version is not a plain release", "not-release");
|
|
134
|
+
if (isLinkedInstall(opts.method.kind))
|
|
135
|
+
return skip("linked install", "linked-install");
|
|
91
136
|
if (opts.method.kind !== "npm-global") {
|
|
92
|
-
return
|
|
137
|
+
return skip(`install method ${opts.method.kind}`, "install-method");
|
|
93
138
|
}
|
|
94
139
|
if (opts.installedVersion === version && newerThan(version, opts.update.current)) {
|
|
95
140
|
return { action: "installed", version };
|
|
96
141
|
}
|
|
97
142
|
const blocked = attemptBlocked(opts.state, version, opts.now);
|
|
98
143
|
if (blocked)
|
|
99
|
-
return
|
|
144
|
+
return skip(blocked, blocked.startsWith("already tried") ? "max-attempts" : "backoff");
|
|
100
145
|
const heldSince = opts.lockHeldSince ?? null;
|
|
101
146
|
if (heldSince !== null && opts.now - heldSince > UPDATE_LOCK_STALE_MS) {
|
|
102
147
|
// A live entry this old is a stuck installer or a reused pid: say so with the hint.
|
|
103
|
-
return
|
|
148
|
+
return skip("the install lock has been held for over an hour", "lock-held");
|
|
104
149
|
}
|
|
105
150
|
return { action: "install", version, method: opts.method };
|
|
106
151
|
}
|
|
@@ -126,11 +171,20 @@ export function startAutoUpdateInstall(opts) {
|
|
|
126
171
|
releaseUpdateLock(opts.files.lockDir, token);
|
|
127
172
|
return "skipped";
|
|
128
173
|
}
|
|
174
|
+
const npm = npmCommand(opts);
|
|
175
|
+
if (npm === null) {
|
|
176
|
+
spawnFailed(opts.files, token, version, packageDir, "npm-cli.js not found");
|
|
177
|
+
return "spawn-failed";
|
|
178
|
+
}
|
|
129
179
|
recordAttemptStart(opts.files.stateFile, version, packageDir, now);
|
|
130
|
-
const config = runnerConfig(opts, decision.method, version, token);
|
|
180
|
+
const config = runnerConfig(opts, decision.method, version, token, npm);
|
|
131
181
|
try {
|
|
132
|
-
const child = opts.spawnImpl(opts.execPath ?? process.execPath, ["-e", RUNNER_SOURCE, JSON.stringify(config)], {
|
|
133
|
-
|
|
182
|
+
const child = opts.spawnImpl(opts.execPath ?? process.execPath, ["-e", RUNNER_SOURCE, JSON.stringify(config)], {
|
|
183
|
+
detached: true, stdio: "ignore", windowsHide: true,
|
|
184
|
+
env: runnerEnv(opts.env ?? process.env, opts.execPath, opts.platform),
|
|
185
|
+
});
|
|
186
|
+
// A late error: this launch already reported "started", so the next one reports the failure.
|
|
187
|
+
child.on("error", (err) => spawnFailed(opts.files, token, version, packageDir, err, false));
|
|
134
188
|
child.unref();
|
|
135
189
|
// The handoff the runner waits for: without it the runner never installs.
|
|
136
190
|
if (child.pid !== undefined)
|
|
@@ -182,6 +236,26 @@ export class AutoUpdateNotices {
|
|
|
182
236
|
return undefined;
|
|
183
237
|
}
|
|
184
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* The result of the last background install, once: "ok" or "failed" the
|
|
241
|
+
* first time a launch sees it finished, then null (marked reported in the
|
|
242
|
+
* state file). For diagnostics, which the detached runner cannot send.
|
|
243
|
+
*/
|
|
244
|
+
export function takeUnreportedOutcome(stateFile, lockDir, now = Date.now()) {
|
|
245
|
+
// An installer holding the lock may write the state file: leave it alone until it is done.
|
|
246
|
+
if (lockDir !== undefined && liveLockSince(lockDir, now) !== null)
|
|
247
|
+
return null;
|
|
248
|
+
const state = readUpdateState(stateFile);
|
|
249
|
+
const last = state.last;
|
|
250
|
+
if (!last || last.status === "running" || last.reported)
|
|
251
|
+
return null;
|
|
252
|
+
// Re-read just before writing: an attempt started meanwhile is left as it is.
|
|
253
|
+
const again = readUpdateState(stateFile);
|
|
254
|
+
if (again.last?.at !== last.at || again.last.status !== last.status)
|
|
255
|
+
return null;
|
|
256
|
+
writeUpdateState(stateFile, { ...again, last: { ...again.last, reported: true } });
|
|
257
|
+
return last.status;
|
|
258
|
+
}
|
|
185
259
|
/** The version in `<packageDir>/package.json`, or null. */
|
|
186
260
|
export function readInstalledVersion(packageDir) {
|
|
187
261
|
try {
|
|
@@ -223,7 +297,7 @@ export function writeUpdateState(file, state) {
|
|
|
223
297
|
// ---------------------------------------------------------------------------
|
|
224
298
|
// Install-method detection
|
|
225
299
|
// ---------------------------------------------------------------------------
|
|
226
|
-
function classifyPackageDir(real, env) {
|
|
300
|
+
function classifyPackageDir(real, env, platform, probeWrites) {
|
|
227
301
|
if (fs.existsSync(path.join(real, ".git"))) {
|
|
228
302
|
return method("git-checkout", real, "package directory is a git checkout");
|
|
229
303
|
}
|
|
@@ -234,34 +308,85 @@ function classifyPackageDir(real, env) {
|
|
|
234
308
|
if (path.basename(parent) !== "node_modules" || path.basename(real) !== PACKAGE_NAME) {
|
|
235
309
|
return method("npm-link", real, "package directory is outside node_modules (linked checkout)");
|
|
236
310
|
}
|
|
237
|
-
|
|
311
|
+
// Windows keeps globals in <prefix>\node_modules with the shims in <prefix>.
|
|
312
|
+
const windows = platform === "win32";
|
|
313
|
+
if (!windows && path.basename(path.dirname(parent)) !== "lib") {
|
|
238
314
|
return method("local", real, "not a global npm prefix (<prefix>/lib/node_modules)");
|
|
239
315
|
}
|
|
240
|
-
|
|
241
|
-
|
|
316
|
+
if (windows && !isWindowsGlobalPrefix(path.dirname(parent))) {
|
|
317
|
+
return method("local", real, "not a global npm prefix (<prefix>\\node_modules with ccc.cmd)");
|
|
318
|
+
}
|
|
319
|
+
const prefix = windows ? path.dirname(parent) : path.dirname(path.dirname(parent));
|
|
320
|
+
const bin = windows ? prefix : path.join(prefix, "bin");
|
|
321
|
+
const unwritable = firstUnwritable([parent, real, path.join(real, "dist"), bin], windows && probeWrites);
|
|
242
322
|
if (unwritable)
|
|
243
323
|
return method("not-writable", real, `${unwritable} is not writable without sudo`);
|
|
244
324
|
return { kind: "npm-global", packageDir: real, detail: `npm prefix ${prefix}`, npmRoot: parent, prefix };
|
|
245
325
|
}
|
|
246
326
|
function otherPackageManager(real, env) {
|
|
247
|
-
|
|
327
|
+
// Case-insensitive, with Windows' folders too (%LOCALAPPDATA%\Yarn\Data\global, \Volta\).
|
|
328
|
+
const p = real.split(path.sep).join("/").toLowerCase();
|
|
248
329
|
if (p.includes("/_npx/"))
|
|
249
330
|
return "npx";
|
|
250
331
|
if (/\/\.?pnpm\//.test(p) || p.includes("/.pnpm-global/"))
|
|
251
332
|
return "pnpm";
|
|
252
|
-
if (/\/\.yarn\//.test(p) || /\/yarn\/global\//.test(p) || p.includes("/.config/yarn/"))
|
|
333
|
+
if (/\/\.yarn\//.test(p) || /\/yarn\/(data\/)?global\//.test(p) || p.includes("/.config/yarn/")) {
|
|
253
334
|
return "yarn";
|
|
335
|
+
}
|
|
254
336
|
if (p.includes("/.bun/"))
|
|
255
337
|
return "bun";
|
|
256
338
|
const volta = env.VOLTA_HOME && realpathOrNull(env.VOLTA_HOME);
|
|
257
|
-
if (p
|
|
339
|
+
if (/\/\.?volta\//.test(p) || (volta && isInside(real, volta)))
|
|
258
340
|
return "volta";
|
|
259
341
|
return null;
|
|
260
342
|
}
|
|
261
|
-
|
|
343
|
+
/** A Windows npm prefix has the package's shim beside its node_modules. */
|
|
344
|
+
function isWindowsGlobalPrefix(prefix) {
|
|
345
|
+
return fs.existsSync(path.join(prefix, "ccc.cmd")) || fs.existsSync(path.join(prefix, "ccc.ps1"));
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* The `node_modules/claude-code-infinite` entry the script was started
|
|
349
|
+
* through, when that entry is a symlink or junction (an `npm link`). The bin
|
|
350
|
+
* itself may be a symlink (POSIX `<prefix>/bin/ccc`): one hop is followed.
|
|
351
|
+
*/
|
|
352
|
+
export function linkedPackageEntry(scriptPath) {
|
|
353
|
+
let script = path.resolve(scriptPath);
|
|
354
|
+
try {
|
|
355
|
+
if (fs.lstatSync(script).isSymbolicLink()) {
|
|
356
|
+
script = path.resolve(path.dirname(script), fs.readlinkSync(script));
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
catch {
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
for (let dir = path.dirname(script); dir !== path.dirname(dir); dir = path.dirname(dir)) {
|
|
363
|
+
if (path.basename(dir) !== PACKAGE_NAME || path.basename(path.dirname(dir)) !== "node_modules") {
|
|
364
|
+
continue;
|
|
365
|
+
}
|
|
366
|
+
try {
|
|
367
|
+
return fs.lstatSync(dir).isSymbolicLink() ? dir : null;
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
return null;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
return null;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* The first directory this user cannot write. On Windows access(W_OK) ignores
|
|
377
|
+
* ACLs (C:\Program Files passes), so a file is actually created and removed.
|
|
378
|
+
*/
|
|
379
|
+
function firstUnwritable(dirs, windows = false) {
|
|
262
380
|
for (const dir of dirs) {
|
|
263
381
|
try {
|
|
264
|
-
|
|
382
|
+
if (windows) {
|
|
383
|
+
const probe = path.join(dir, `.ccc-write-probe-${process.pid}-${randomUUID()}`);
|
|
384
|
+
fs.writeFileSync(probe, "");
|
|
385
|
+
fs.rmSync(probe, { force: true });
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
fs.accessSync(dir, fs.constants.W_OK);
|
|
389
|
+
}
|
|
265
390
|
}
|
|
266
391
|
catch {
|
|
267
392
|
return dir;
|
|
@@ -272,6 +397,9 @@ function firstUnwritable(dirs) {
|
|
|
272
397
|
function method(kind, packageDir, detail) {
|
|
273
398
|
return { kind, packageDir, detail };
|
|
274
399
|
}
|
|
400
|
+
function skip(reason, code) {
|
|
401
|
+
return { action: "skip", reason, code };
|
|
402
|
+
}
|
|
275
403
|
// ---------------------------------------------------------------------------
|
|
276
404
|
// Attempts, backoff and state
|
|
277
405
|
// ---------------------------------------------------------------------------
|
|
@@ -307,10 +435,14 @@ function recordAttemptStart(file, version, packageDir, now) {
|
|
|
307
435
|
state.last = { version, status: "running", at: now, packageDir };
|
|
308
436
|
writeUpdateState(file, state);
|
|
309
437
|
}
|
|
310
|
-
function spawnFailed(files, token, version, packageDir, err
|
|
438
|
+
function spawnFailed(files, token, version, packageDir, err,
|
|
439
|
+
/** The launch reports it itself (auto_update spawn-failed): not again on the next one. */
|
|
440
|
+
reported = true) {
|
|
311
441
|
const state = readUpdateState(files.stateFile);
|
|
312
442
|
const error = `could not start the installer: ${String(err).slice(0, 200)}`;
|
|
313
|
-
state.last = {
|
|
443
|
+
state.last = {
|
|
444
|
+
version, status: "failed", at: Date.now(), packageDir, error, ...(reported ? { reported } : {}),
|
|
445
|
+
};
|
|
314
446
|
writeUpdateState(files.stateFile, state);
|
|
315
447
|
releaseUpdateLock(files.lockDir, token);
|
|
316
448
|
}
|
|
@@ -338,14 +470,18 @@ function cleanAttempt(value) {
|
|
|
338
470
|
return undefined;
|
|
339
471
|
}
|
|
340
472
|
const error = typeof value.error === "string" ? value.error.slice(0, 300) : undefined;
|
|
341
|
-
return {
|
|
473
|
+
return {
|
|
474
|
+
version, status, at: value.at, packageDir: value.packageDir, ...(error ? { error } : {}),
|
|
475
|
+
...(value.reported === true ? { reported: true } : {}),
|
|
476
|
+
};
|
|
342
477
|
}
|
|
343
478
|
// ---------------------------------------------------------------------------
|
|
344
479
|
// Runner
|
|
345
480
|
// ---------------------------------------------------------------------------
|
|
346
|
-
function runnerConfig(opts, m, version, token) {
|
|
481
|
+
function runnerConfig(opts, m, version, token, npm) {
|
|
347
482
|
return {
|
|
348
|
-
npm
|
|
483
|
+
...npm,
|
|
484
|
+
...(opts.waitForPid !== undefined ? { waitForPid: opts.waitForPid } : {}),
|
|
349
485
|
packageName: PACKAGE_NAME,
|
|
350
486
|
version,
|
|
351
487
|
packageDir: m.packageDir,
|
|
@@ -358,17 +494,48 @@ function runnerConfig(opts, m, version, token) {
|
|
|
358
494
|
timeoutMs: INSTALL_TIMEOUT_MS,
|
|
359
495
|
};
|
|
360
496
|
}
|
|
361
|
-
/**
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
497
|
+
/**
|
|
498
|
+
* How the runner starts npm. POSIX: the npm beside this Node (so it targets
|
|
499
|
+
* the same prefix), else PATH's. Windows: this Node running npm-cli.js, found
|
|
500
|
+
* beside this Node or beside an npm.cmd on PATH; null when there is none.
|
|
501
|
+
*/
|
|
502
|
+
function npmCommand(opts) {
|
|
503
|
+
const execPath = opts.execPath ?? process.execPath;
|
|
504
|
+
if (opts.npmPath)
|
|
505
|
+
return { npm: opts.npmPath, ...(opts.npmArgs ? { npmArgs: opts.npmArgs } : {}) };
|
|
506
|
+
if ((opts.platform ?? process.platform) !== "win32") {
|
|
507
|
+
const beside = path.join(path.dirname(execPath), "npm");
|
|
508
|
+
return { npm: fs.existsSync(beside) ? beside : "npm" };
|
|
509
|
+
}
|
|
510
|
+
const cli = windowsNpmCli(execPath, opts.env ?? process.env);
|
|
511
|
+
return cli ? { npm: execPath, npmArgs: [cli] } : null;
|
|
512
|
+
}
|
|
513
|
+
function windowsNpmCli(execPath, env) {
|
|
514
|
+
const cliIn = (dir) => path.join(dir, "node_modules", "npm", "bin", "npm-cli.js");
|
|
515
|
+
const pathValue = Object.entries(env).find(([k]) => k.toUpperCase() === "PATH")?.[1] ?? "";
|
|
516
|
+
const dirs = [
|
|
517
|
+
path.dirname(execPath),
|
|
518
|
+
...pathValue.split(";").map((d) => d.trim().replace(/^"(.*)"$/, "$1")).filter(Boolean),
|
|
519
|
+
];
|
|
520
|
+
for (const dir of dirs) {
|
|
521
|
+
if (dir !== path.dirname(execPath) && !fs.existsSync(path.join(dir, "npm.cmd")))
|
|
522
|
+
continue;
|
|
523
|
+
if (fs.existsSync(cliIn(dir)))
|
|
524
|
+
return cliIn(dir);
|
|
525
|
+
}
|
|
526
|
+
return null;
|
|
365
527
|
}
|
|
366
528
|
/** npm's `#!/usr/bin/env node` must find this same Node first. */
|
|
367
|
-
function runnerEnv(env, execPath = process.execPath) {
|
|
529
|
+
function runnerEnv(env, execPath = process.execPath, platform = process.platform) {
|
|
368
530
|
const bin = path.dirname(execPath);
|
|
531
|
+
// Windows env names are case-insensitive; a copy keeps whichever spelling it had.
|
|
532
|
+
const key = platform === "win32"
|
|
533
|
+
? Object.keys(env).find((k) => k.toUpperCase() === "PATH") ?? "Path"
|
|
534
|
+
: "PATH";
|
|
535
|
+
const delimiter = platform === "win32" ? ";" : ":";
|
|
369
536
|
return {
|
|
370
537
|
...env,
|
|
371
|
-
|
|
538
|
+
[key]: env[key] ? `${bin}${delimiter}${env[key]}` : bin,
|
|
372
539
|
npm_config_update_notifier: "false",
|
|
373
540
|
};
|
|
374
541
|
}
|
package/dist/auto-update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAqB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAC/D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,CAAC;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACjD,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzE,+EAA+E;AAC/E,kEAAkE;AAClE,MAAM,iBAAiB,GAAG,wDAAwD,CAAC;AAoDnF,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc;IACxF,WAAW;CACH,CAAC;AA4EX,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,GAAsB,EAAE,MAAwB;IAChF,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,UAAU,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,UAAU,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC;AACrC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,+BAA+B,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAChF,0FAA0F;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,cAAc,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,IAAI,GAAG,GAAG,YAAY,SAAS,CAAC;IACtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc;YACjB,OAAO,4DAA4D,CAAC;QACtE,KAAK,UAAU;YACb,OAAO,2DAA2D,CAAC;QACrE,KAAK,MAAM,CAAC,CAAC,OAAO,eAAe,IAAI,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,OAAO,mBAAmB,IAAI,EAAE,CAAC;QAC9C,KAAK,KAAK,CAAC,CAAC,OAAO,cAAc,IAAI,EAAE,CAAC;QACxC,KAAK,OAAO,CAAC,CAAC,OAAO,iBAAiB,IAAI,EAAE,CAAC;QAC7C,KAAK,KAAK,CAAC,CAAC,OAAO,OAAO,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC,OAAO,YAAY,IAAI,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAClE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,gCAAgC,EAAE,aAAa,CAAC,CAAC;IACnF,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,oBAAoB,EAAE,CAAC;QACtE,oFAAoF;QACpF,OAAO,IAAI,CAAC,iDAAiD,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAyB;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,aAAa,CAAC;IACjG,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;IAC9C,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/E,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAC5E,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC1B,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EACjC,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAC7C;YACE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI;YAClD,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;SACtE,CACF,CAAC;QACF,6FAA6F;QAC7F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5F,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,0EAA0E;QAC1E,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAIT;IAHX,KAAK,GAAG,KAAK,CAAC;IAEtB,YACmB,IAQhB;QARgB,SAAI,GAAJ,IAAI,CAQpB;IACA,CAAC;IAEJ,oEAAoE;IACpE,SAAS;QACP,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;QACvD,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACtF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,OAAO,SAAS,CAAC;QACzE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,OAAgB,EAChB,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,2FAA2F;IAC3F,IAAI,OAAO,KAAK,SAAS,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrE,8EAA8E;IAC9E,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjF,gBAAgB,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACvF,OAAO,GAAG,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QAClD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAkB;IAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IACzD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,SAAS,kBAAkB,CACzB,IAAY,EACZ,GAAsB,EACtB,QAAyB,EACzB,WAAoB;IAEpB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,OAAO,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;QACrF,OAAO,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,6DAA6D,CAAC,CAAC;IACjG,CAAC;IACD,6EAA6E;IAC7E,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC;IACrC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,qDAAqD,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,+DAA+D,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAC7E,OAAO,IAAI,WAAW,CAAC,CAAC;IAC1B,IAAI,UAAU;QAAE,OAAO,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,UAAU,+BAA+B,CAAC,CAAC;IAClG,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3G,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,GAAsB;IAC/D,0FAA0F;IAC1F,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,MAAM,CAAC;IACzE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChG,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,SAAS,qBAAqB,CAAC,MAAc;IAC3C,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAc,EAAE,OAAO,GAAG,KAAK;IACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChF,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,IAAuB,EAAE,UAAkB,EAAE,MAAc;IACzE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,IAAI,CAAC,MAAc,EAAE,IAAc;IAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,uDAAuD;AACvD,SAAS,cAAc,CAAC,KAAkB,EAAE,OAAe,EAAE,GAAW;IACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;QAC/D,OAAO,iBAAiB,OAAO,IAAI,wBAAwB,QAAQ,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,yEAAyE;IACzE,gCAAgC;IAChC,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QAClC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC7E,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,QAAQ,KAAK,IAAI,IAAI,GAAG,GAAG,QAAQ,GAAG,sBAAsB,EAAE,CAAC;QACjE,OAAO,8CAA8C,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CACxB,SAAiB,EACjB,UAAkB,EAClB,OAAe,EACf,GAAW;IAEX,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;QAAE,OAAO,GAAG,SAAS,eAAe,CAAC;IAC7F,OAAO,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAe,EAAE,UAAkB,EAAE,GAAW;IACxF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IACjE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAClB,KAAkB,EAClB,KAAa,EACb,OAAe,EACf,UAAkB,EAClB,GAAY;AACZ,0FAA0F;AAC1F,QAAQ,GAAG,IAAI;IAEf,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,kCAAkC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5E,KAAK,CAAC,IAAI,GAAG;QACX,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAC;IACF,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,QAAgC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnD,eAAe,CAAC,YAAY,CAAC,CAAC,CAAE,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,CACpD,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,OAAO,CAAC,GAAG,KAAe,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,OAAO;QACL,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,SAAS,YAAY,CACnB,IAAyB,EACzB,CAAgB,EAChB,OAAe,EACf,KAAa,EACb,GAAwC;IAExC,OAAO;QACL,GAAG,GAAG;QACN,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,WAAW,EAAE,YAAY;QACzB,OAAO;QACP,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,OAAO,EAAE,CAAC,CAAC,OAAQ;QACnB,MAAM,EAAE,CAAC,CAAC,MAAO;QACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;QAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;QAC3B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;QAC3B,KAAK;QACL,SAAS,EAAE,kBAAkB;KAC9B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAyB;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,GAAsB;IAC7D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,MAAM,IAAI,GAAG;QACX,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtB,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;KACvF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAAE,SAAS;QAC1F,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kEAAkE;AAClE,SAAS,SAAS,CAChB,GAAsB,EACtB,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAC3B,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,kFAAkF;IAClF,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO;QAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,MAAM;QACpE,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,OAAO;QACL,GAAG,GAAG;QACN,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;QACvD,0BAA0B,EAAE,OAAO;KACpC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAS,SAAS,CAAC,OAAe,EAAE,OAAe;IACjD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAc;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How Claude Code is signed in, as a type only (and, for a Claude.ai login,
|
|
3
|
+
* the plan tier's name), for diagnostics and for one notice: `subscription` (a Claude.ai login, Pro/Max), `api_key`
|
|
4
|
+
* (ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, an apiKeyHelper or a Console key),
|
|
5
|
+
* `bedrock`, `vertex`, `foundry`, or `unknown`.
|
|
6
|
+
*
|
|
7
|
+
* No secret or account identifier is ever kept or sent. At startup the answer
|
|
8
|
+
* comes from env variable names being set, settings keys being present and
|
|
9
|
+
* `~/.claude.json` naming an `oauthAccount` (whose contents are not read out).
|
|
10
|
+
* Once Claude Code sends a request through the proxy, its auth header's shape
|
|
11
|
+
* decides it: an OAuth token (`sk-ant-oat…`) is a subscription, an
|
|
12
|
+
* `x-api-key` or `sk-ant-api…` bearer is an API key. Only that classification
|
|
13
|
+
* leaves this module.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CLAUDE_AUTH_TYPES: readonly ["subscription", "api_key", "bedrock", "vertex", "foundry", "unknown"];
|
|
16
|
+
export type ClaudeAuthType = (typeof CLAUDE_AUTH_TYPES)[number];
|
|
17
|
+
/** A Claude.ai plan tier, by name only. */
|
|
18
|
+
export declare const CLAUDE_PLANS: readonly ["free", "pro", "max", "max_5x", "max_20x", "team", "enterprise", "unknown"];
|
|
19
|
+
export type ClaudePlan = (typeof CLAUDE_PLANS)[number];
|
|
20
|
+
/** Anthropic's 400 for an API key whose organization has no credit left. */
|
|
21
|
+
export declare const CREDIT_BALANCE_TOO_LOW = "credit_balance_too_low";
|
|
22
|
+
export type UpstreamErrorCode = typeof CREDIT_BALANCE_TOO_LOW;
|
|
23
|
+
export interface ClaudeAuthOptions {
|
|
24
|
+
env?: NodeJS.ProcessEnv;
|
|
25
|
+
homedir?: string;
|
|
26
|
+
cwd?: string;
|
|
27
|
+
/** The file's text, or null when it cannot be read. */
|
|
28
|
+
readFile?: (file: string) => string | null;
|
|
29
|
+
}
|
|
30
|
+
/** The sign-in type from env and Claude Code's config, before any request. */
|
|
31
|
+
export declare function claudeAuthFromConfig(opts?: ClaudeAuthOptions): ClaudeAuthType;
|
|
32
|
+
/**
|
|
33
|
+
* The Claude.ai plan tier Claude Code recorded locally: `organizationType` and
|
|
34
|
+
* `organizationRateLimitTier` in `~/.claude.json`, else `subscriptionType` in
|
|
35
|
+
* `.credentials.json` (Linux and Windows). Only those values are matched, and
|
|
36
|
+
* only a known tier name comes out; "unknown" otherwise.
|
|
37
|
+
*/
|
|
38
|
+
export declare function claudePlanFromConfig(opts?: ClaudeAuthOptions): ClaudePlan;
|
|
39
|
+
/** The sign-in type a request's auth headers show, or undefined when they show none. */
|
|
40
|
+
export declare function claudeAuthFromHeaders(headers: Record<string, string | string[] | undefined>): ClaudeAuthType | undefined;
|
|
41
|
+
/** A known Anthropic error in a JSON error body, by code; undefined otherwise. */
|
|
42
|
+
export declare function upstreamErrorCode(body: Buffer | string): UpstreamErrorCode | undefined;
|
|
43
|
+
/** Printed once when Anthropic refused an API key for having no credit. */
|
|
44
|
+
export declare function creditNoticeText(color: boolean): string;
|
|
45
|
+
/** "claude_max" + "default_claude_max_20x" → "max_20x"; "pro" → "pro". */
|
|
46
|
+
export declare function planFrom(type: string | undefined, rateTier: string | undefined): ClaudePlan;
|
|
47
|
+
//# sourceMappingURL=claude-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-auth.d.ts","sourceRoot":"","sources":["../src/claude-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,eAAO,MAAM,iBAAiB,iFAEpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,2CAA2C;AAC3C,eAAO,MAAM,YAAY,uFAEf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,OAAO,sBAAsB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,iBAAsB,GAAG,cAAc,CAgBjF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAW7E;AAED,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,cAAc,GAAG,SAAS,CAQ5B;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAWtF;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKvD;AAoCD,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAQ3F"}
|