Skip to content

Commit 19afec7

Browse files
author
Lasim
committed
feat(backend): increase maximum rate limit delay to 120 seconds
1 parent 8bdccc7 commit 19afec7

File tree

6 files changed

+163
-165
lines changed

6 files changed

+163
-165
lines changed

services/backend/api-spec.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24939,7 +24939,7 @@
2493924939
"rateLimitDelay": {
2494024940
"type": "number",
2494124941
"minimum": 1,
24942-
"maximum": 10,
24942+
"maximum": 120,
2494324943
"default": 2,
2494424944
"description": "Delay between jobs in seconds (default: 2)"
2494524945
}

services/backend/api-spec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17671,7 +17671,7 @@ paths:
1767117671
rateLimitDelay:
1767217672
type: number
1767317673
minimum: 1
17674-
maximum: 10
17674+
maximum: 120
1767517675
default: 2
1767617676
description: "Delay between jobs in seconds (default: 2)"
1767717677
additionalProperties: false

services/backend/src/routes/admin/mcp-registry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export default async function mcpRegistryRoutes(server: FastifyInstance) {
5454
rateLimitDelay: {
5555
type: 'number',
5656
minimum: 1,
57-
maximum: 10,
57+
maximum: 120,
5858
default: 2,
5959
description: 'Delay between jobs in seconds (default: 2)'
6060
}

services/backend/src/services/transforms/officialRegistryTransforms.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -443,9 +443,16 @@ export async function transformOfficialToDeployStack(
443443
const argsConfig = mapArgumentsToThreeTier(officialServer.packages);
444444

445445
// Extract 3-tier configurations from remotes (headers)
446-
const headerConfig = mapHeadersToThreeTier(
447-
officialServer.remotes?.[0]?.headers || []
448-
);
446+
// Merge headers from all remotes (in case there are multiple endpoints)
447+
const allHeaders: OfficialHeader[] = [];
448+
if (officialServer.remotes && officialServer.remotes.length > 0) {
449+
for (const remote of officialServer.remotes) {
450+
if (remote.headers && remote.headers.length > 0) {
451+
allHeaders.push(...remote.headers);
452+
}
453+
}
454+
}
455+
const headerConfig = mapHeadersToThreeTier(allHeaders);
449456

450457
// Combine into full ConfigurationSchema
451458
const configurationSchema: ConfigurationSchema = {

services/backend/src/workers/mcpServerSyncWorker.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,32 @@ export class McpServerSyncWorker implements Worker {
116116
throw new Error('Transformation failed: missing required fields');
117117
}
118118

119+
// Flatten configuration_schema for McpCatalogService
120+
// The transformation returns configuration_schema as a nested object,
121+
// but McpCatalogService.createServer() expects flat schema fields
122+
const { configuration_schema, ...restTransformedData } = transformedData;
123+
119124
// Add required fields for createServer, including registry tracking metadata
120125
const serverData = {
121-
...transformedData,
126+
...restTransformedData,
122127
name: transformedData.name,
123128
description: transformedData.description,
124129
language: transformedData.language,
125130
runtime: transformedData.runtime,
126131
packages: transformedData.packages || [],
127132
visibility: 'global' as const, // Synced servers are always global
128133

134+
// Flatten configuration_schema fields to root level
135+
template_args: configuration_schema?.template_args || [],
136+
template_env: configuration_schema?.template_env || [],
137+
template_headers: configuration_schema?.template_headers || [],
138+
team_args_schema: configuration_schema?.team_args_schema || [],
139+
team_env_schema: configuration_schema?.team_env_schema || [],
140+
team_headers_schema: configuration_schema?.team_headers_schema || [],
141+
user_args_schema: configuration_schema?.user_args_schema || [],
142+
user_env_schema: configuration_schema?.user_env_schema || [],
143+
user_headers_schema: configuration_schema?.user_headers_schema || [],
144+
129145
// Registry tracking fields
130146
official_name: registryMetadata.official_name,
131147
synced_from_official_registry: registryMetadata.synced_from_official_registry,

0 commit comments

Comments
 (0)