@daniel.stefan/metalink 1.3.2 → 1.3.3
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 +58 -107
- package/package.json +46 -28
- package/packages/core/dist/config/defaults.d.ts +1 -1
- package/packages/core/dist/config/defaults.d.ts.map +1 -1
- package/packages/core/dist/config/defaults.js +86 -48
- package/packages/core/dist/config/defaults.js.map +1 -1
- package/packages/core/dist/config/loader.d.ts +1 -1
- package/packages/core/dist/config/loader.d.ts.map +1 -1
- package/packages/core/dist/config/loader.js +151 -131
- package/packages/core/dist/config/loader.js.map +1 -1
- package/packages/core/dist/config/schema.d.ts +94 -2
- package/packages/core/dist/config/schema.d.ts.map +1 -1
- package/packages/core/dist/config/schema.js +124 -52
- package/packages/core/dist/config/schema.js.map +1 -1
- package/packages/core/dist/server/http.d.ts +7 -2
- package/packages/core/dist/server/http.d.ts.map +1 -1
- package/packages/core/dist/server/http.js +941 -717
- package/packages/core/dist/server/http.js.map +1 -1
- package/packages/core/dist/utils/toon-formatter.d.ts +88 -0
- package/packages/core/dist/utils/toon-formatter.d.ts.map +1 -0
- package/packages/core/dist/utils/toon-formatter.js +239 -0
- package/packages/core/dist/utils/toon-formatter.js.map +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetalinkConfig, ServerConfig, DaemonConfig } from
|
|
1
|
+
import { MetalinkConfig, ServerConfig, DaemonConfig } from "./schema.js";
|
|
2
2
|
/**
|
|
3
3
|
* ConfigLoader - Handles loading and validation of metalink configurations
|
|
4
4
|
* Supports YAML and JSON formats with environment variable interpolation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EAEd,YAAY,EACZ,YAAY,EACb,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,UAAU,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as fs from
|
|
2
|
-
import * as path from
|
|
3
|
-
import * as yaml from
|
|
4
|
-
import { validateConfig, } from
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import * as yaml from "js-yaml";
|
|
4
|
+
import { validateConfig, } from "./schema.js";
|
|
5
5
|
/**
|
|
6
6
|
* ConfigLoader - Handles loading and validation of metalink configurations
|
|
7
7
|
* Supports YAML and JSON formats with environment variable interpolation
|
|
@@ -11,9 +11,7 @@ export class ConfigLoader {
|
|
|
11
11
|
this.config = null;
|
|
12
12
|
// Priority: provided path > METALINK_CONFIG env > default locations
|
|
13
13
|
this.configPath =
|
|
14
|
-
configPath ||
|
|
15
|
-
process.env.METALINK_CONFIG ||
|
|
16
|
-
this.findDefaultConfigPath();
|
|
14
|
+
configPath || process.env.METALINK_CONFIG || this.findDefaultConfigPath();
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
19
17
|
* Finds default config location
|
|
@@ -21,10 +19,10 @@ export class ConfigLoader {
|
|
|
21
19
|
*/
|
|
22
20
|
findDefaultConfigPath() {
|
|
23
21
|
const candidates = [
|
|
24
|
-
path.join(process.cwd(),
|
|
25
|
-
path.join(process.cwd(),
|
|
26
|
-
path.join(process.env.HOME ||
|
|
27
|
-
path.join(process.env.HOME ||
|
|
22
|
+
path.join(process.cwd(), "metalink.config.yaml"),
|
|
23
|
+
path.join(process.cwd(), "metalink.config.json"),
|
|
24
|
+
path.join(process.env.HOME || "~", ".config", "metalink", "config.yaml"),
|
|
25
|
+
path.join(process.env.HOME || "~", ".config", "metalink", "config.json"),
|
|
28
26
|
];
|
|
29
27
|
for (const candidate of candidates) {
|
|
30
28
|
if (fs.existsSync(candidate)) {
|
|
@@ -32,7 +30,7 @@ export class ConfigLoader {
|
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
// Return default if none exist (will fail gracefully on load)
|
|
35
|
-
return path.join(process.cwd(),
|
|
33
|
+
return path.join(process.cwd(), "metalink.config.yaml");
|
|
36
34
|
}
|
|
37
35
|
/**
|
|
38
36
|
* Load configuration from file
|
|
@@ -44,14 +42,15 @@ export class ConfigLoader {
|
|
|
44
42
|
if (!fs.existsSync(this.configPath)) {
|
|
45
43
|
throw new Error(`Config file not found: ${this.configPath}`);
|
|
46
44
|
}
|
|
47
|
-
const fileContent = fs.readFileSync(this.configPath,
|
|
45
|
+
const fileContent = fs.readFileSync(this.configPath, "utf-8");
|
|
48
46
|
let parsed;
|
|
49
47
|
try {
|
|
50
48
|
// Detect format based on file extension
|
|
51
|
-
if (this.configPath.endsWith(
|
|
49
|
+
if (this.configPath.endsWith(".yaml") ||
|
|
50
|
+
this.configPath.endsWith(".yml")) {
|
|
52
51
|
parsed = yaml.load(fileContent);
|
|
53
52
|
}
|
|
54
|
-
else if (this.configPath.endsWith(
|
|
53
|
+
else if (this.configPath.endsWith(".json")) {
|
|
55
54
|
parsed = JSON.parse(fileContent);
|
|
56
55
|
}
|
|
57
56
|
else {
|
|
@@ -90,13 +89,14 @@ export class ConfigLoader {
|
|
|
90
89
|
if (!fs.existsSync(this.configPath)) {
|
|
91
90
|
throw new Error(`Config file not found: ${this.configPath}`);
|
|
92
91
|
}
|
|
93
|
-
const fileContent = fs.readFileSync(this.configPath,
|
|
92
|
+
const fileContent = fs.readFileSync(this.configPath, "utf-8");
|
|
94
93
|
let parsed;
|
|
95
94
|
try {
|
|
96
|
-
if (this.configPath.endsWith(
|
|
95
|
+
if (this.configPath.endsWith(".yaml") ||
|
|
96
|
+
this.configPath.endsWith(".yml")) {
|
|
97
97
|
parsed = yaml.load(fileContent);
|
|
98
98
|
}
|
|
99
|
-
else if (this.configPath.endsWith(
|
|
99
|
+
else if (this.configPath.endsWith(".json")) {
|
|
100
100
|
parsed = JSON.parse(fileContent);
|
|
101
101
|
}
|
|
102
102
|
else {
|
|
@@ -133,7 +133,7 @@ export class ConfigLoader {
|
|
|
133
133
|
if (!fs.existsSync(registryPath))
|
|
134
134
|
return;
|
|
135
135
|
try {
|
|
136
|
-
const registryContent = fs.readFileSync(registryPath,
|
|
136
|
+
const registryContent = fs.readFileSync(registryPath, "utf8");
|
|
137
137
|
const registry = JSON.parse(registryContent);
|
|
138
138
|
if (registry.base_servers && Array.isArray(registry.base_servers)) {
|
|
139
139
|
this.config.base_servers = registry.base_servers;
|
|
@@ -148,17 +148,17 @@ export class ConfigLoader {
|
|
|
148
148
|
* Supports ${VAR_NAME} and ${secret:KEY} syntax
|
|
149
149
|
*/
|
|
150
150
|
interpolateEnv(obj) {
|
|
151
|
-
if (typeof obj ===
|
|
151
|
+
if (typeof obj === "string") {
|
|
152
152
|
// Handle ${VAR_NAME} syntax
|
|
153
153
|
return obj.replace(/\$\{([^}]+)\}/g, (match, key) => {
|
|
154
|
-
if (key.startsWith(
|
|
154
|
+
if (key.startsWith("secret:")) {
|
|
155
155
|
// Secrets are resolved separately (prepare placeholder)
|
|
156
156
|
return match; // Keep as-is for secret resolution phase
|
|
157
157
|
}
|
|
158
158
|
return process.env[key] || match;
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
|
-
if (typeof obj ===
|
|
161
|
+
if (typeof obj === "object" && obj !== null) {
|
|
162
162
|
if (Array.isArray(obj)) {
|
|
163
163
|
return obj.map((item) => this.interpolateEnv(item));
|
|
164
164
|
}
|
|
@@ -175,7 +175,7 @@ export class ConfigLoader {
|
|
|
175
175
|
*/
|
|
176
176
|
getServer(name) {
|
|
177
177
|
if (!this.config) {
|
|
178
|
-
throw new Error(
|
|
178
|
+
throw new Error("Config not loaded. Call load() or loadSync() first.");
|
|
179
179
|
}
|
|
180
180
|
// Check config servers first
|
|
181
181
|
let server = this.config.servers?.find((s) => s.name === name);
|
|
@@ -185,7 +185,7 @@ export class ConfigLoader {
|
|
|
185
185
|
const registryPath = this.getRegistryPath();
|
|
186
186
|
if (fs.existsSync(registryPath)) {
|
|
187
187
|
try {
|
|
188
|
-
const registryContent = fs.readFileSync(registryPath,
|
|
188
|
+
const registryContent = fs.readFileSync(registryPath, "utf8");
|
|
189
189
|
const registry = JSON.parse(registryContent);
|
|
190
190
|
server = registry.servers?.find((s) => s.name === name);
|
|
191
191
|
if (server)
|
|
@@ -202,14 +202,19 @@ export class ConfigLoader {
|
|
|
202
202
|
*/
|
|
203
203
|
getDaemon() {
|
|
204
204
|
if (!this.config) {
|
|
205
|
-
throw new Error(
|
|
205
|
+
throw new Error("Config not loaded. Call load() or loadSync() first.");
|
|
206
206
|
}
|
|
207
207
|
return (this.config.daemon || {
|
|
208
208
|
port: 3000,
|
|
209
|
-
host:
|
|
210
|
-
logLevel:
|
|
211
|
-
auth: { enabled: false, type:
|
|
212
|
-
rateLimit: {
|
|
209
|
+
host: "0.0.0.0",
|
|
210
|
+
logLevel: "info",
|
|
211
|
+
auth: { enabled: false, type: "bearer" },
|
|
212
|
+
rateLimit: {
|
|
213
|
+
enabled: true,
|
|
214
|
+
windowMs: 60000,
|
|
215
|
+
max: 500,
|
|
216
|
+
keyGenerator: "ip",
|
|
217
|
+
},
|
|
213
218
|
});
|
|
214
219
|
}
|
|
215
220
|
/**
|
|
@@ -217,7 +222,7 @@ export class ConfigLoader {
|
|
|
217
222
|
*/
|
|
218
223
|
getAllServers() {
|
|
219
224
|
if (!this.config) {
|
|
220
|
-
throw new Error(
|
|
225
|
+
throw new Error("Config not loaded. Call load() or loadSync() first.");
|
|
221
226
|
}
|
|
222
227
|
// Start with config servers
|
|
223
228
|
let servers = [...(this.config.servers || [])];
|
|
@@ -227,10 +232,10 @@ export class ConfigLoader {
|
|
|
227
232
|
const registryPath = this.getRegistryPath();
|
|
228
233
|
if (fs.existsSync(registryPath)) {
|
|
229
234
|
try {
|
|
230
|
-
const registryContent = fs.readFileSync(registryPath,
|
|
235
|
+
const registryContent = fs.readFileSync(registryPath, "utf8");
|
|
231
236
|
const registry = JSON.parse(registryContent);
|
|
232
237
|
// Add registry servers (avoid duplicates)
|
|
233
|
-
const configNames = new Set(servers.map(s => s.name));
|
|
238
|
+
const configNames = new Set(servers.map((s) => s.name));
|
|
234
239
|
for (const server of registry.servers || []) {
|
|
235
240
|
if (!configNames.has(server.name)) {
|
|
236
241
|
servers.push(server);
|
|
@@ -256,7 +261,7 @@ export class ConfigLoader {
|
|
|
256
261
|
*/
|
|
257
262
|
getProfile(profileName) {
|
|
258
263
|
if (!this.config) {
|
|
259
|
-
throw new Error(
|
|
264
|
+
throw new Error("Config not loaded. Call load() or loadSync() first.");
|
|
260
265
|
}
|
|
261
266
|
return this.config.profiles?.find((p) => p.name === profileName);
|
|
262
267
|
}
|
|
@@ -282,14 +287,14 @@ export class ConfigLoader {
|
|
|
282
287
|
*/
|
|
283
288
|
getBaseServers() {
|
|
284
289
|
const config = this.getConfig();
|
|
285
|
-
return config.base_servers || [
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
];
|
|
290
|
+
return (config.base_servers || [
|
|
291
|
+
"memory",
|
|
292
|
+
"time",
|
|
293
|
+
"fetch",
|
|
294
|
+
"sequential-thinking",
|
|
295
|
+
"duckduckgo",
|
|
296
|
+
"sysinstruct",
|
|
297
|
+
]);
|
|
293
298
|
}
|
|
294
299
|
/**
|
|
295
300
|
* Get tool safety classification rules
|
|
@@ -302,7 +307,7 @@ export class ConfigLoader {
|
|
|
302
307
|
let toolSafety = null;
|
|
303
308
|
try {
|
|
304
309
|
// Use synchronous fs.readFileSync (fs already imported at top)
|
|
305
|
-
const registryContent = fs.readFileSync(registryPath,
|
|
310
|
+
const registryContent = fs.readFileSync(registryPath, "utf8");
|
|
306
311
|
const registry = JSON.parse(registryContent);
|
|
307
312
|
toolSafety = registry.toolSafetyRules;
|
|
308
313
|
}
|
|
@@ -310,52 +315,52 @@ export class ConfigLoader {
|
|
|
310
315
|
// Registry file doesn't exist or can't be read - use defaults
|
|
311
316
|
}
|
|
312
317
|
// Return tool_safety from registry or defaults
|
|
313
|
-
return toolSafety || {
|
|
318
|
+
return (toolSafety || {
|
|
314
319
|
safePatterns: [
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
320
|
+
".*search.*",
|
|
321
|
+
".*list.*",
|
|
322
|
+
".*get.*",
|
|
323
|
+
".*read.*",
|
|
324
|
+
".*fetch.*",
|
|
325
|
+
".*describe.*",
|
|
326
|
+
".*find.*",
|
|
327
|
+
".*status.*",
|
|
328
|
+
".*query.*",
|
|
329
|
+
".*open.*", // Added: open_nodes and similar read operations
|
|
330
|
+
".*convert.*", // Added: convert_time and similar transformations
|
|
326
331
|
],
|
|
327
332
|
riskyPatterns: [
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
333
|
+
".*create.*",
|
|
334
|
+
".*delete.*",
|
|
335
|
+
".*update.*",
|
|
336
|
+
".*execute.*",
|
|
337
|
+
".*write.*",
|
|
338
|
+
".*commit.*",
|
|
339
|
+
".*add.*",
|
|
340
|
+
".*remove.*",
|
|
341
|
+
".*set.*",
|
|
342
|
+
".*modify.*",
|
|
343
|
+
".*change.*",
|
|
344
|
+
".*insert.*",
|
|
345
|
+
".*drop.*",
|
|
346
|
+
".*alter.*",
|
|
342
347
|
],
|
|
343
348
|
safeToolOverrides: [
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
349
|
+
"memory:open_nodes", // Read/query operation
|
|
350
|
+
"time:convert_time", // Safe transformation
|
|
351
|
+
"sequential-thinking:sequentialthinking", // Read-only reasoning
|
|
347
352
|
// Note: Server-specific overrides (e.g., meta*:retrieve) should be in user's
|
|
348
353
|
// mcp-registry.json toolSafetyRules, not hardcoded here
|
|
349
354
|
],
|
|
350
355
|
riskyToolOverrides: [
|
|
351
|
-
|
|
356
|
+
"time:wait", // Time delay can be used maliciously
|
|
352
357
|
],
|
|
353
358
|
// v1.1.55: Argument inspection rules for SQL-based tools
|
|
354
359
|
// Supports wildcards (*, ?) for matching multiple server instances
|
|
355
360
|
// Note: Server-specific rules (e.g., meta*:execute) should be in user's
|
|
356
361
|
// mcp-registry.json toolSafetyRules, not hardcoded here
|
|
357
362
|
argumentInspectionRules: [],
|
|
358
|
-
};
|
|
363
|
+
});
|
|
359
364
|
}
|
|
360
365
|
/**
|
|
361
366
|
* Set tool safety rules in registry with atomic write and backup
|
|
@@ -372,7 +377,7 @@ export class ConfigLoader {
|
|
|
372
377
|
let registry = {};
|
|
373
378
|
// Read existing registry if it exists
|
|
374
379
|
if (fs.existsSync(registryPath)) {
|
|
375
|
-
const registryContent = fs.readFileSync(registryPath,
|
|
380
|
+
const registryContent = fs.readFileSync(registryPath, "utf8");
|
|
376
381
|
registry = JSON.parse(registryContent);
|
|
377
382
|
}
|
|
378
383
|
// Merge new rules with existing registry
|
|
@@ -387,7 +392,7 @@ export class ConfigLoader {
|
|
|
387
392
|
}
|
|
388
393
|
// Atomic write: write to temp file, then rename
|
|
389
394
|
const tempPath = `${registryPath}.tmp`;
|
|
390
|
-
fs.writeFileSync(tempPath, JSON.stringify(registry, null, 2),
|
|
395
|
+
fs.writeFileSync(tempPath, JSON.stringify(registry, null, 2), "utf8");
|
|
391
396
|
fs.renameSync(tempPath, registryPath);
|
|
392
397
|
// Invalidate cache to force reload
|
|
393
398
|
this.invalidateCache();
|
|
@@ -529,31 +534,31 @@ export class ConfigLoader {
|
|
|
529
534
|
// Reset to defaults (but preserve argumentInspectionRules)
|
|
530
535
|
const defaults = {
|
|
531
536
|
safePatterns: [
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
537
|
+
".*search.*",
|
|
538
|
+
".*list.*",
|
|
539
|
+
".*get.*",
|
|
540
|
+
".*read.*",
|
|
541
|
+
".*fetch.*",
|
|
542
|
+
".*describe.*",
|
|
543
|
+
".*find.*",
|
|
544
|
+
".*status.*",
|
|
545
|
+
".*query.*",
|
|
541
546
|
],
|
|
542
547
|
riskyPatterns: [
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
548
|
+
".*create.*",
|
|
549
|
+
".*delete.*",
|
|
550
|
+
".*update.*",
|
|
551
|
+
".*execute.*",
|
|
552
|
+
".*write.*",
|
|
553
|
+
".*commit.*",
|
|
554
|
+
".*add.*",
|
|
555
|
+
".*remove.*",
|
|
556
|
+
".*set.*",
|
|
557
|
+
".*modify.*",
|
|
558
|
+
".*change.*",
|
|
559
|
+
".*insert.*",
|
|
560
|
+
".*drop.*",
|
|
561
|
+
".*alter.*",
|
|
557
562
|
],
|
|
558
563
|
safeToolOverrides: [],
|
|
559
564
|
riskyToolOverrides: [],
|
|
@@ -610,15 +615,15 @@ export class ConfigLoader {
|
|
|
610
615
|
*/
|
|
611
616
|
getRegistryPath() {
|
|
612
617
|
const configDir = process.env.METALINK_CONFIG_DIR ||
|
|
613
|
-
path.join(process.env.HOME || process.env.USERPROFILE ||
|
|
614
|
-
return path.join(configDir,
|
|
618
|
+
path.join(process.env.HOME || process.env.USERPROFILE || "~", ".config", "metalink");
|
|
619
|
+
return path.join(configDir, "mcp-registry.json");
|
|
615
620
|
}
|
|
616
621
|
/**
|
|
617
622
|
* Migrate registry from old location (current dir) to persistent location if needed
|
|
618
623
|
* This is called on first run to preserve user-added servers
|
|
619
624
|
*/
|
|
620
625
|
migrateRegistry() {
|
|
621
|
-
const oldRegistryPath = path.join(process.cwd(),
|
|
626
|
+
const oldRegistryPath = path.join(process.cwd(), "mcp-registry.json");
|
|
622
627
|
const newRegistryPath = this.getRegistryPath();
|
|
623
628
|
// Skip if old registry doesn't exist
|
|
624
629
|
if (!fs.existsSync(oldRegistryPath)) {
|
|
@@ -648,7 +653,7 @@ export class ConfigLoader {
|
|
|
648
653
|
* Automatically invalidates config cache to force reload
|
|
649
654
|
*/
|
|
650
655
|
async saveServerToRegistry(config, options = {}) {
|
|
651
|
-
const { RegistryManager } = await import(
|
|
656
|
+
const { RegistryManager } = await import("./registry.js");
|
|
652
657
|
const registryPath = this.getRegistryPath();
|
|
653
658
|
const registry = new RegistryManager(registryPath);
|
|
654
659
|
const server = await registry.addServer(config, options);
|
|
@@ -661,7 +666,7 @@ export class ConfigLoader {
|
|
|
661
666
|
* Automatically invalidates config cache to force reload
|
|
662
667
|
*/
|
|
663
668
|
async removeServerFromRegistry(name, options = {}) {
|
|
664
|
-
const { RegistryManager } = await import(
|
|
669
|
+
const { RegistryManager } = await import("./registry.js");
|
|
665
670
|
const registryPath = this.getRegistryPath();
|
|
666
671
|
const registry = new RegistryManager(registryPath);
|
|
667
672
|
await registry.removeServer(name, options);
|
|
@@ -698,44 +703,59 @@ export class ConfigLoader {
|
|
|
698
703
|
*/
|
|
699
704
|
static fromEnv() {
|
|
700
705
|
const config = {
|
|
701
|
-
version:
|
|
706
|
+
version: "1.0.0",
|
|
702
707
|
daemon: {
|
|
703
|
-
port: parseInt(process.env.METALINK_PORT ||
|
|
704
|
-
host: process.env.METALINK_HOST ||
|
|
705
|
-
logLevel: process.env.METALINK_LOG_LEVEL ||
|
|
706
|
-
auth: { enabled: false, type:
|
|
707
|
-
rateLimit: {
|
|
708
|
+
port: parseInt(process.env.METALINK_PORT || "3000", 10),
|
|
709
|
+
host: process.env.METALINK_HOST || "0.0.0.0",
|
|
710
|
+
logLevel: process.env.METALINK_LOG_LEVEL || "info",
|
|
711
|
+
auth: { enabled: false, type: "bearer" },
|
|
712
|
+
rateLimit: {
|
|
713
|
+
enabled: true,
|
|
714
|
+
windowMs: 60000,
|
|
715
|
+
max: 500,
|
|
716
|
+
keyGenerator: "ip",
|
|
717
|
+
},
|
|
708
718
|
},
|
|
709
719
|
servers: [],
|
|
710
720
|
plugins: [],
|
|
711
721
|
profiles: [],
|
|
712
722
|
environment: {},
|
|
713
|
-
secrets: { provider:
|
|
714
|
-
schemasCacheTTL: parseInt(process.env.METALINK_SCHEMAS_CACHE_TTL ||
|
|
715
|
-
schemasCachePath: process.env.METALINK_SCHEMAS_CACHE_PATH ||
|
|
716
|
-
maxSchemaCacheEntries: parseInt(process.env.METALINK_MAX_SCHEMA_CACHE_ENTRIES ||
|
|
717
|
-
schemasBackgroundRefresh: process.env.METALINK_SCHEMAS_BACKGROUND_REFRESH !==
|
|
718
|
-
backgroundSchemaPopulation: process.env.METALINK_BACKGROUND_SCHEMA_POPULATION ===
|
|
719
|
-
dynamicToolExposure: process.env.METALINK_DYNAMIC_TOOL_EXPOSURE ===
|
|
720
|
-
base_servers_auto_start: process.env.METALINK_BASE_SERVERS_AUTO_START !==
|
|
721
|
-
base_servers_auto_expose_tools: process.env.METALINK_BASE_SERVERS_AUTO_EXPOSE_TOOLS ===
|
|
723
|
+
secrets: { provider: "env", keyringService: "metalink" },
|
|
724
|
+
schemasCacheTTL: parseInt(process.env.METALINK_SCHEMAS_CACHE_TTL || "300000", 10), // Default 5 minutes
|
|
725
|
+
schemasCachePath: process.env.METALINK_SCHEMAS_CACHE_PATH || "~/.config/metalink/schemas", // v1.3.62: Global cache
|
|
726
|
+
maxSchemaCacheEntries: parseInt(process.env.METALINK_MAX_SCHEMA_CACHE_ENTRIES || "100", 10), // Default 100 entries
|
|
727
|
+
schemasBackgroundRefresh: process.env.METALINK_SCHEMAS_BACKGROUND_REFRESH !== "false", // Default true
|
|
728
|
+
backgroundSchemaPopulation: process.env.METALINK_BACKGROUND_SCHEMA_POPULATION === "true", // Default false (v1.3.62)
|
|
729
|
+
dynamicToolExposure: process.env.METALINK_DYNAMIC_TOOL_EXPOSURE === "true", // Default false (v1.3.51 Speakeasy)
|
|
730
|
+
base_servers_auto_start: process.env.METALINK_BASE_SERVERS_AUTO_START !== "false", // Default true (v1.3.57)
|
|
731
|
+
base_servers_auto_expose_tools: process.env.METALINK_BASE_SERVERS_AUTO_EXPOSE_TOOLS === "true", // Default false (v1.3.57)
|
|
722
732
|
timeouts: {
|
|
723
|
-
serverInit: parseInt(process.env.METALINK_TIMEOUT_INIT ||
|
|
724
|
-
toolFetch: parseInt(process.env.METALINK_TIMEOUT_TOOL_FETCH ||
|
|
725
|
-
toolExecution: parseInt(process.env.METALINK_TIMEOUT_TOOL_EXECUTION ||
|
|
726
|
-
gracefulShutdown: parseInt(process.env.METALINK_TIMEOUT_SHUTDOWN ||
|
|
733
|
+
serverInit: parseInt(process.env.METALINK_TIMEOUT_INIT || "10000", 10),
|
|
734
|
+
toolFetch: parseInt(process.env.METALINK_TIMEOUT_TOOL_FETCH || "60000", 10),
|
|
735
|
+
toolExecution: parseInt(process.env.METALINK_TIMEOUT_TOOL_EXECUTION || "300000", 10),
|
|
736
|
+
gracefulShutdown: parseInt(process.env.METALINK_TIMEOUT_SHUTDOWN || "5000", 10),
|
|
727
737
|
},
|
|
728
738
|
circuitBreaker: {
|
|
729
|
-
failureThreshold: parseInt(process.env.METALINK_CIRCUIT_BREAKER_FAILURE_THRESHOLD ||
|
|
730
|
-
resetTimeout: parseInt(process.env.METALINK_CIRCUIT_BREAKER_RESET_TIMEOUT ||
|
|
731
|
-
halfOpenSuccessThreshold: parseInt(process.env.METALINK_CIRCUIT_BREAKER_HALF_OPEN_SUCCESS_THRESHOLD ||
|
|
739
|
+
failureThreshold: parseInt(process.env.METALINK_CIRCUIT_BREAKER_FAILURE_THRESHOLD || "3", 10),
|
|
740
|
+
resetTimeout: parseInt(process.env.METALINK_CIRCUIT_BREAKER_RESET_TIMEOUT || "30000", 10),
|
|
741
|
+
halfOpenSuccessThreshold: parseInt(process.env.METALINK_CIRCUIT_BREAKER_HALF_OPEN_SUCCESS_THRESHOLD ||
|
|
742
|
+
"1", 10),
|
|
732
743
|
},
|
|
733
744
|
autoRestart: {
|
|
734
|
-
enabled: process.env.METALINK_AUTO_RESTART_ENABLED !==
|
|
735
|
-
maxRetries: parseInt(process.env.METALINK_AUTO_RESTART_MAX_RETRIES ||
|
|
736
|
-
baseDelay: parseInt(process.env.METALINK_AUTO_RESTART_BASE_DELAY ||
|
|
737
|
-
maxDelay: parseInt(process.env.METALINK_AUTO_RESTART_MAX_DELAY ||
|
|
738
|
-
backoffMultiplier: parseFloat(process.env.METALINK_AUTO_RESTART_BACKOFF_MULTIPLIER ||
|
|
745
|
+
enabled: process.env.METALINK_AUTO_RESTART_ENABLED !== "false",
|
|
746
|
+
maxRetries: parseInt(process.env.METALINK_AUTO_RESTART_MAX_RETRIES || "3", 10),
|
|
747
|
+
baseDelay: parseInt(process.env.METALINK_AUTO_RESTART_BASE_DELAY || "5000", 10),
|
|
748
|
+
maxDelay: parseInt(process.env.METALINK_AUTO_RESTART_MAX_DELAY || "300000", 10),
|
|
749
|
+
backoffMultiplier: parseFloat(process.env.METALINK_AUTO_RESTART_BACKOFF_MULTIPLIER || "2"),
|
|
750
|
+
},
|
|
751
|
+
toon: {
|
|
752
|
+
enabled: process.env.METALINK_TOON_ENABLED === "true",
|
|
753
|
+
format: process.env.METALINK_TOON_FORMAT ||
|
|
754
|
+
"json",
|
|
755
|
+
includeDescriptions: process.env.METALINK_TOON_INCLUDE_DESCRIPTIONS !== "false",
|
|
756
|
+
includeTypes: process.env.METALINK_TOON_INCLUDE_TYPES !== "false",
|
|
757
|
+
includeExamples: process.env.METALINK_TOON_INCLUDE_EXAMPLES !== "false",
|
|
758
|
+
maxDescriptionLength: parseInt(process.env.METALINK_TOON_MAX_DESCRIPTION_LENGTH || "100", 10),
|
|
739
759
|
},
|
|
740
760
|
};
|
|
741
761
|
return validateConfig(config);
|
|
@@ -764,7 +784,7 @@ export function initializeConfigSync(configPath) {
|
|
|
764
784
|
*/
|
|
765
785
|
export function getConfigLoader() {
|
|
766
786
|
if (!globalConfigLoader) {
|
|
767
|
-
throw new Error(
|
|
787
|
+
throw new Error("Config not initialized. Call initializeConfig() first.");
|
|
768
788
|
}
|
|
769
789
|
return globalConfigLoader;
|
|
770
790
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|