@bonginkan/maria 4.3.42 → 4.3.44
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 +4 -4
- package/dist/READY.manifest.json +1 -1
- package/dist/bin/maria.cjs +103 -61
- package/dist/bin/maria.cjs.map +1 -1
- package/dist/cli.cjs +103 -61
- package/dist/cli.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/express-server.cjs +16 -6
- package/dist/server/express-server.js +16 -6
- package/dist/server-express.cjs +16 -6
- package/dist/server-express.cjs.map +1 -1
- package/package.json +2 -2
- package/src/slash-commands/READY.manifest.json +1 -1
|
@@ -6913,14 +6913,21 @@ async function rateLimitMiddleware(req, res, next) {
|
|
|
6913
6913
|
const userRecord = rateLimitStore.get(rateLimitKey);
|
|
6914
6914
|
if (!userRecord || typeof userRecord.lastAt !== "number") {
|
|
6915
6915
|
rateLimitStore.set(rateLimitKey, { lastAt: now });
|
|
6916
|
-
|
|
6916
|
+
next();
|
|
6917
|
+
return;
|
|
6917
6918
|
}
|
|
6918
6919
|
const elapsedMs = now - userRecord.lastAt;
|
|
6919
6920
|
const remainingMs = Math.max(0, config.windowMs - elapsedMs);
|
|
6920
6921
|
if (remainingMs > 0) {
|
|
6921
6922
|
const retryAfterSeconds = Math.max(1, Math.ceil(remainingMs / 1e3));
|
|
6922
6923
|
const resetAt = new Date(now + remainingMs);
|
|
6923
|
-
|
|
6924
|
+
try {
|
|
6925
|
+
res.setHeader("Retry-After", String(retryAfterSeconds));
|
|
6926
|
+
res.setHeader("X-RateLimit-Reset", String(resetAt.getTime()));
|
|
6927
|
+
res.setHeader("RateLimit-Reset", String(resetAt.getTime()));
|
|
6928
|
+
} catch {
|
|
6929
|
+
}
|
|
6930
|
+
res.status(429).json({
|
|
6924
6931
|
error: "rate_limit_exceeded",
|
|
6925
6932
|
message: `Rate limit exceeded for ${endpoint} endpoint`,
|
|
6926
6933
|
details: {
|
|
@@ -6930,14 +6937,17 @@ async function rateLimitMiddleware(req, res, next) {
|
|
|
6930
6937
|
retryAfterSeconds,
|
|
6931
6938
|
resetAt: resetAt.toISOString()
|
|
6932
6939
|
},
|
|
6933
|
-
hint: userPlan === "FREE" ? `Free plan limit: ${config.requests} request per ${config.windowMs / 1e3}s. Upgrade at https://maria.ai/
|
|
6940
|
+
hint: userPlan === "FREE" ? `Free plan limit: ${config.requests} request per ${config.windowMs / 1e3}s. Upgrade at https://maria-code.ai/manage` : `Please wait ${retryAfterSeconds} seconds before retrying.`
|
|
6934
6941
|
});
|
|
6942
|
+
return;
|
|
6935
6943
|
}
|
|
6936
6944
|
rateLimitStore.set(rateLimitKey, { lastAt: now });
|
|
6937
|
-
|
|
6945
|
+
next();
|
|
6946
|
+
return;
|
|
6938
6947
|
} catch (error) {
|
|
6939
6948
|
console.error("[RateLimit] Error in middleware:", error);
|
|
6940
|
-
|
|
6949
|
+
next();
|
|
6950
|
+
return;
|
|
6941
6951
|
}
|
|
6942
6952
|
}
|
|
6943
6953
|
function startRateLimitCleanup() {
|
|
@@ -9437,7 +9447,7 @@ app.get("/api/status", (req, res) => {
|
|
|
9437
9447
|
app.get("/", (req, res) => {
|
|
9438
9448
|
res.json({
|
|
9439
9449
|
name: "MARIA CODE API",
|
|
9440
|
-
version: "4.3.
|
|
9450
|
+
version: "4.3.44",
|
|
9441
9451
|
status: "running",
|
|
9442
9452
|
environment: process.env.NODE_ENV || "development",
|
|
9443
9453
|
endpoints: {
|
|
@@ -6913,14 +6913,21 @@ async function rateLimitMiddleware(req, res, next) {
|
|
|
6913
6913
|
const userRecord = rateLimitStore.get(rateLimitKey);
|
|
6914
6914
|
if (!userRecord || typeof userRecord.lastAt !== "number") {
|
|
6915
6915
|
rateLimitStore.set(rateLimitKey, { lastAt: now });
|
|
6916
|
-
|
|
6916
|
+
next();
|
|
6917
|
+
return;
|
|
6917
6918
|
}
|
|
6918
6919
|
const elapsedMs = now - userRecord.lastAt;
|
|
6919
6920
|
const remainingMs = Math.max(0, config.windowMs - elapsedMs);
|
|
6920
6921
|
if (remainingMs > 0) {
|
|
6921
6922
|
const retryAfterSeconds = Math.max(1, Math.ceil(remainingMs / 1e3));
|
|
6922
6923
|
const resetAt = new Date(now + remainingMs);
|
|
6923
|
-
|
|
6924
|
+
try {
|
|
6925
|
+
res.setHeader("Retry-After", String(retryAfterSeconds));
|
|
6926
|
+
res.setHeader("X-RateLimit-Reset", String(resetAt.getTime()));
|
|
6927
|
+
res.setHeader("RateLimit-Reset", String(resetAt.getTime()));
|
|
6928
|
+
} catch {
|
|
6929
|
+
}
|
|
6930
|
+
res.status(429).json({
|
|
6924
6931
|
error: "rate_limit_exceeded",
|
|
6925
6932
|
message: `Rate limit exceeded for ${endpoint} endpoint`,
|
|
6926
6933
|
details: {
|
|
@@ -6930,14 +6937,17 @@ async function rateLimitMiddleware(req, res, next) {
|
|
|
6930
6937
|
retryAfterSeconds,
|
|
6931
6938
|
resetAt: resetAt.toISOString()
|
|
6932
6939
|
},
|
|
6933
|
-
hint: userPlan === "FREE" ? `Free plan limit: ${config.requests} request per ${config.windowMs / 1e3}s. Upgrade at https://maria.ai/
|
|
6940
|
+
hint: userPlan === "FREE" ? `Free plan limit: ${config.requests} request per ${config.windowMs / 1e3}s. Upgrade at https://maria-code.ai/manage` : `Please wait ${retryAfterSeconds} seconds before retrying.`
|
|
6934
6941
|
});
|
|
6942
|
+
return;
|
|
6935
6943
|
}
|
|
6936
6944
|
rateLimitStore.set(rateLimitKey, { lastAt: now });
|
|
6937
|
-
|
|
6945
|
+
next();
|
|
6946
|
+
return;
|
|
6938
6947
|
} catch (error) {
|
|
6939
6948
|
console.error("[RateLimit] Error in middleware:", error);
|
|
6940
|
-
|
|
6949
|
+
next();
|
|
6950
|
+
return;
|
|
6941
6951
|
}
|
|
6942
6952
|
}
|
|
6943
6953
|
function startRateLimitCleanup() {
|
|
@@ -9437,7 +9447,7 @@ app.get("/api/status", (req, res) => {
|
|
|
9437
9447
|
app.get("/", (req, res) => {
|
|
9438
9448
|
res.json({
|
|
9439
9449
|
name: "MARIA CODE API",
|
|
9440
|
-
version: "4.3.
|
|
9450
|
+
version: "4.3.44",
|
|
9441
9451
|
status: "running",
|
|
9442
9452
|
environment: process.env.NODE_ENV || "development",
|
|
9443
9453
|
endpoints: {
|
package/dist/server-express.cjs
CHANGED
|
@@ -6913,14 +6913,21 @@ async function rateLimitMiddleware(req, res, next) {
|
|
|
6913
6913
|
const userRecord = rateLimitStore.get(rateLimitKey);
|
|
6914
6914
|
if (!userRecord || typeof userRecord.lastAt !== "number") {
|
|
6915
6915
|
rateLimitStore.set(rateLimitKey, { lastAt: now });
|
|
6916
|
-
|
|
6916
|
+
next();
|
|
6917
|
+
return;
|
|
6917
6918
|
}
|
|
6918
6919
|
const elapsedMs = now - userRecord.lastAt;
|
|
6919
6920
|
const remainingMs = Math.max(0, config.windowMs - elapsedMs);
|
|
6920
6921
|
if (remainingMs > 0) {
|
|
6921
6922
|
const retryAfterSeconds = Math.max(1, Math.ceil(remainingMs / 1e3));
|
|
6922
6923
|
const resetAt = new Date(now + remainingMs);
|
|
6923
|
-
|
|
6924
|
+
try {
|
|
6925
|
+
res.setHeader("Retry-After", String(retryAfterSeconds));
|
|
6926
|
+
res.setHeader("X-RateLimit-Reset", String(resetAt.getTime()));
|
|
6927
|
+
res.setHeader("RateLimit-Reset", String(resetAt.getTime()));
|
|
6928
|
+
} catch {
|
|
6929
|
+
}
|
|
6930
|
+
res.status(429).json({
|
|
6924
6931
|
error: "rate_limit_exceeded",
|
|
6925
6932
|
message: `Rate limit exceeded for ${endpoint} endpoint`,
|
|
6926
6933
|
details: {
|
|
@@ -6930,14 +6937,17 @@ async function rateLimitMiddleware(req, res, next) {
|
|
|
6930
6937
|
retryAfterSeconds,
|
|
6931
6938
|
resetAt: resetAt.toISOString()
|
|
6932
6939
|
},
|
|
6933
|
-
hint: userPlan === "FREE" ? `Free plan limit: ${config.requests} request per ${config.windowMs / 1e3}s. Upgrade at https://maria.ai/
|
|
6940
|
+
hint: userPlan === "FREE" ? `Free plan limit: ${config.requests} request per ${config.windowMs / 1e3}s. Upgrade at https://maria-code.ai/manage` : `Please wait ${retryAfterSeconds} seconds before retrying.`
|
|
6934
6941
|
});
|
|
6942
|
+
return;
|
|
6935
6943
|
}
|
|
6936
6944
|
rateLimitStore.set(rateLimitKey, { lastAt: now });
|
|
6937
|
-
|
|
6945
|
+
next();
|
|
6946
|
+
return;
|
|
6938
6947
|
} catch (error) {
|
|
6939
6948
|
console.error("[RateLimit] Error in middleware:", error);
|
|
6940
|
-
|
|
6949
|
+
next();
|
|
6950
|
+
return;
|
|
6941
6951
|
}
|
|
6942
6952
|
}
|
|
6943
6953
|
function startRateLimitCleanup() {
|
|
@@ -9437,7 +9447,7 @@ app.get("/api/status", (req, res) => {
|
|
|
9437
9447
|
app.get("/", (req, res) => {
|
|
9438
9448
|
res.json({
|
|
9439
9449
|
name: "MARIA CODE API",
|
|
9440
|
-
version: "4.3.
|
|
9450
|
+
version: "4.3.44",
|
|
9441
9451
|
status: "running",
|
|
9442
9452
|
environment: process.env.NODE_ENV || "development",
|
|
9443
9453
|
endpoints: {
|