@0xmaxma/claude-gateway 1.2.31 → 1.2.32

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.
@@ -1,5 +1,7 @@
1
1
  import { Router } from 'express';
2
2
  import { ApiKey } from '../types';
3
3
  export declare function _resetCache(): void;
4
+ export declare function _resetLock(): void;
5
+ export declare function _setLock(): void;
4
6
  export declare function createPackagesRouter(apiKeys?: ApiKey[]): Router;
5
7
  //# sourceMappingURL=packages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA2BlC,wBAAgB,WAAW,IAAI,IAAI,CAElC;AA0CD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA6G/D"}
1
+ {"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA4BlC,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAsFD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAwJ/D"}
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._resetCache = _resetCache;
4
+ exports._resetLock = _resetLock;
5
+ exports._setLock = _setLock;
4
6
  exports.createPackagesRouter = createPackagesRouter;
5
7
  const express_1 = require("express");
6
8
  const child_process_1 = require("child_process");
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
7
11
  const auth_1 = require("./auth");
8
12
  // URL param "name" → npm package name
9
13
  const PACKAGE_MAP = {
@@ -12,9 +16,16 @@ const PACKAGE_MAP = {
12
16
  };
13
17
  const CACHE_TTL_MS = 5 * 60 * 1000;
14
18
  let versionCache = null;
19
+ let isUpdating = false;
15
20
  function _resetCache() {
16
21
  versionCache = null;
17
22
  }
23
+ function _resetLock() {
24
+ isUpdating = false;
25
+ }
26
+ function _setLock() {
27
+ isUpdating = true;
28
+ }
18
29
  function getNpmListVersion(packageName) {
19
30
  try {
20
31
  const output = (0, child_process_1.execSync)(`npm list -g ${packageName} --depth=0 --json`, {
@@ -52,6 +63,50 @@ async function fetchAllPackageVersions() {
52
63
  };
53
64
  }));
54
65
  }
66
+ function getNpmGlobalRoot() {
67
+ return (0, child_process_1.execSync)('npm root -g', {
68
+ encoding: 'utf-8',
69
+ stdio: ['pipe', 'pipe', 'pipe'],
70
+ timeout: 10000,
71
+ }).trim();
72
+ }
73
+ function cleanStaleNpmTempDirs(npmRoot, packageName) {
74
+ const match = packageName.match(/^(@[^/]+)\/(.+)$/);
75
+ if (!match)
76
+ return;
77
+ const [, scope, basename] = match;
78
+ const scopeDir = (0, path_1.join)(npmRoot, scope);
79
+ let entries;
80
+ try {
81
+ entries = (0, fs_1.readdirSync)(scopeDir, { withFileTypes: false });
82
+ }
83
+ catch {
84
+ return;
85
+ }
86
+ const prefix = `.${basename}-`;
87
+ for (const entry of entries) {
88
+ if (entry.startsWith(prefix)) {
89
+ try {
90
+ (0, fs_1.rmSync)((0, path_1.join)(scopeDir, entry), { recursive: true, force: true });
91
+ }
92
+ catch {
93
+ // best-effort: ignore errors on individual temp dir removal
94
+ }
95
+ }
96
+ }
97
+ }
98
+ function removePackageDir(npmRoot, packageName) {
99
+ const match = packageName.match(/^(@[^/]+)\/(.+)$/);
100
+ if (!match)
101
+ return;
102
+ const [, scope, basename] = match;
103
+ try {
104
+ (0, fs_1.rmSync)((0, path_1.join)(npmRoot, scope, basename), { recursive: true, force: true });
105
+ }
106
+ catch {
107
+ // best-effort
108
+ }
109
+ }
55
110
  function createPackagesRouter(apiKeys) {
56
111
  const router = (0, express_1.Router)();
57
112
  if (apiKeys?.length) {
@@ -114,36 +169,79 @@ function createPackagesRouter(apiKeys) {
114
169
  res.json({ package: packageName, from, to: from, updated: false, warning: null });
115
170
  return;
116
171
  }
117
- // Run npm install
118
- try {
119
- (0, child_process_1.execSync)(`npm install -g ${packageName}@latest`, {
120
- stdio: ['pipe', 'pipe', 'pipe'],
121
- timeout: 120000,
122
- });
123
- }
124
- catch (err) {
125
- const stderr = err.stderr?.toString() ?? 'install failed';
126
- res.status(500).json({ error: stderr });
172
+ // Reject if another update is already in progress
173
+ if (isUpdating) {
174
+ res.status(409).json({ error: 'update already in progress' });
127
175
  return;
128
176
  }
129
- // Invalidate version cache after successful install
130
- versionCache = null;
131
- const to = getNpmListVersion(packageName);
132
- if (name === 'claude-gateway') {
133
- const isSystemd = !!process.env.INVOCATION_ID;
134
- const isPm2 = !!process.env.PM2_HOME || process.env.pm_id !== undefined;
135
- const isManaged = isSystemd || isPm2;
136
- res.json({
137
- package: packageName,
138
- from,
139
- to,
140
- updated: true,
141
- warning: isManaged ? 'service will restart' : 'process will stop — restart manually',
142
- });
143
- setTimeout(() => process.kill(process.pid, 'SIGTERM'), 500);
177
+ isUpdating = true;
178
+ try {
179
+ // Resolve npm global root for temp dir cleanup
180
+ let npmRoot = '';
181
+ try {
182
+ npmRoot = getNpmGlobalRoot();
183
+ }
184
+ catch {
185
+ // non-fatal: skip pre-clean if npm root unavailable
186
+ }
187
+ // Pre-clean any stale npm temp dirs left by previous interrupted installs
188
+ if (npmRoot) {
189
+ cleanStaleNpmTempDirs(npmRoot, packageName);
190
+ }
191
+ let installErr = null;
192
+ try {
193
+ (0, child_process_1.execSync)(`npm install -g ${packageName}@latest`, {
194
+ stdio: ['pipe', 'pipe', 'pipe'],
195
+ timeout: 300000,
196
+ });
197
+ }
198
+ catch (err) {
199
+ const stderr = err.stderr?.toString() ?? '';
200
+ if (npmRoot && (stderr.includes('ENOTEMPTY') || stderr.includes('ENOTDIR'))) {
201
+ // Remove stale temp dirs and the partially-installed package dir, then retry once
202
+ cleanStaleNpmTempDirs(npmRoot, packageName);
203
+ removePackageDir(npmRoot, packageName);
204
+ try {
205
+ (0, child_process_1.execSync)(`npm install -g ${packageName}@latest`, {
206
+ stdio: ['pipe', 'pipe', 'pipe'],
207
+ timeout: 300000,
208
+ });
209
+ }
210
+ catch (retryErr) {
211
+ installErr = retryErr;
212
+ }
213
+ }
214
+ else {
215
+ installErr = err;
216
+ }
217
+ }
218
+ if (installErr !== null) {
219
+ const stderr = installErr.stderr?.toString() ?? 'install failed';
220
+ res.status(500).json({ error: stderr });
221
+ return;
222
+ }
223
+ // Invalidate version cache after successful install
224
+ versionCache = null;
225
+ const to = getNpmListVersion(packageName);
226
+ if (name === 'claude-gateway') {
227
+ const isSystemd = !!process.env.INVOCATION_ID;
228
+ const isPm2 = !!process.env.PM2_HOME || process.env.pm_id !== undefined;
229
+ const isManaged = isSystemd || isPm2;
230
+ res.json({
231
+ package: packageName,
232
+ from,
233
+ to,
234
+ updated: true,
235
+ warning: isManaged ? 'service will restart' : 'process will stop — restart manually',
236
+ });
237
+ setTimeout(() => process.kill(process.pid, 'SIGTERM'), 500);
238
+ }
239
+ else {
240
+ res.json({ package: packageName, from, to, updated: true, warning: null });
241
+ }
144
242
  }
145
- else {
146
- res.json({ package: packageName, from, to, updated: true, warning: null });
243
+ finally {
244
+ isUpdating = false;
147
245
  }
148
246
  });
149
247
  return router;
@@ -1 +1 @@
1
- {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmaxma/claude-gateway",
3
- "version": "1.2.31",
3
+ "version": "1.2.32",
4
4
  "description": "Multi-agent gateway for Claude",
5
5
  "repository": {
6
6
  "type": "git",