@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.
@@ -1,4 +1,4 @@
1
- import { MetalinkConfig, ServerConfig, DaemonConfig } from './schema.js';
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":"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"}
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 'fs';
2
- import * as path from 'path';
3
- import * as yaml from 'js-yaml';
4
- import { validateConfig, } from './schema.js';
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(), 'metalink.config.yaml'),
25
- path.join(process.cwd(), 'metalink.config.json'),
26
- path.join(process.env.HOME || '~', '.config', 'metalink', 'config.yaml'),
27
- path.join(process.env.HOME || '~', '.config', 'metalink', 'config.json'),
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(), 'metalink.config.yaml');
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, 'utf-8');
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('.yaml') || this.configPath.endsWith('.yml')) {
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('.json')) {
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, 'utf-8');
92
+ const fileContent = fs.readFileSync(this.configPath, "utf-8");
94
93
  let parsed;
95
94
  try {
96
- if (this.configPath.endsWith('.yaml') || this.configPath.endsWith('.yml')) {
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('.json')) {
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, 'utf8');
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 === 'string') {
151
+ if (typeof obj === "string") {
152
152
  // Handle ${VAR_NAME} syntax
153
153
  return obj.replace(/\$\{([^}]+)\}/g, (match, key) => {
154
- if (key.startsWith('secret:')) {
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 === 'object' && obj !== null) {
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('Config not loaded. Call load() or loadSync() first.');
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, 'utf8');
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('Config not loaded. Call load() or loadSync() first.');
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: '0.0.0.0',
210
- logLevel: 'info',
211
- auth: { enabled: false, type: 'bearer' },
212
- rateLimit: { enabled: true, windowMs: 60000, max: 500, keyGenerator: 'ip' },
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('Config not loaded. Call load() or loadSync() first.');
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, 'utf8');
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('Config not loaded. Call load() or loadSync() first.');
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
- 'memory',
287
- 'time',
288
- 'fetch',
289
- 'sequential-thinking',
290
- 'duckduckgo',
291
- 'sysinstruct',
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, 'utf8');
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
- '.*search.*',
316
- '.*list.*',
317
- '.*get.*',
318
- '.*read.*',
319
- '.*fetch.*',
320
- '.*describe.*',
321
- '.*find.*',
322
- '.*status.*',
323
- '.*query.*',
324
- '.*open.*', // Added: open_nodes and similar read operations
325
- '.*convert.*', // Added: convert_time and similar transformations
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
- '.*create.*',
329
- '.*delete.*',
330
- '.*update.*',
331
- '.*execute.*',
332
- '.*write.*',
333
- '.*commit.*',
334
- '.*add.*',
335
- '.*remove.*',
336
- '.*set.*',
337
- '.*modify.*',
338
- '.*change.*',
339
- '.*insert.*',
340
- '.*drop.*',
341
- '.*alter.*',
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
- 'memory:open_nodes', // Read/query operation
345
- 'time:convert_time', // Safe transformation
346
- 'sequential-thinking:sequentialthinking', // Read-only reasoning
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
- 'time:wait', // Time delay can be used maliciously
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, 'utf8');
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), 'utf8');
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
- '.*search.*',
533
- '.*list.*',
534
- '.*get.*',
535
- '.*read.*',
536
- '.*fetch.*',
537
- '.*describe.*',
538
- '.*find.*',
539
- '.*status.*',
540
- '.*query.*',
537
+ ".*search.*",
538
+ ".*list.*",
539
+ ".*get.*",
540
+ ".*read.*",
541
+ ".*fetch.*",
542
+ ".*describe.*",
543
+ ".*find.*",
544
+ ".*status.*",
545
+ ".*query.*",
541
546
  ],
542
547
  riskyPatterns: [
543
- '.*create.*',
544
- '.*delete.*',
545
- '.*update.*',
546
- '.*execute.*',
547
- '.*write.*',
548
- '.*commit.*',
549
- '.*add.*',
550
- '.*remove.*',
551
- '.*set.*',
552
- '.*modify.*',
553
- '.*change.*',
554
- '.*insert.*',
555
- '.*drop.*',
556
- '.*alter.*',
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 || '~', '.config', 'metalink');
614
- return path.join(configDir, 'mcp-registry.json');
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(), 'mcp-registry.json');
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('./registry.js');
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('./registry.js');
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: '1.0.0',
706
+ version: "1.0.0",
702
707
  daemon: {
703
- port: parseInt(process.env.METALINK_PORT || '3000', 10),
704
- host: process.env.METALINK_HOST || '0.0.0.0',
705
- logLevel: process.env.METALINK_LOG_LEVEL || 'info',
706
- auth: { enabled: false, type: 'bearer' },
707
- rateLimit: { enabled: true, windowMs: 60000, max: 500, keyGenerator: 'ip' },
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: 'env', keyringService: 'metalink' },
714
- schemasCacheTTL: parseInt(process.env.METALINK_SCHEMAS_CACHE_TTL || '300000', 10), // Default 5 minutes
715
- schemasCachePath: process.env.METALINK_SCHEMAS_CACHE_PATH || '~/.config/metalink/schemas', // v1.3.62: Global cache
716
- maxSchemaCacheEntries: parseInt(process.env.METALINK_MAX_SCHEMA_CACHE_ENTRIES || '100', 10), // Default 100 entries
717
- schemasBackgroundRefresh: process.env.METALINK_SCHEMAS_BACKGROUND_REFRESH !== 'false', // Default true
718
- backgroundSchemaPopulation: process.env.METALINK_BACKGROUND_SCHEMA_POPULATION === 'true', // Default false (v1.3.62)
719
- dynamicToolExposure: process.env.METALINK_DYNAMIC_TOOL_EXPOSURE === 'true', // Default false (v1.3.51 Speakeasy)
720
- base_servers_auto_start: process.env.METALINK_BASE_SERVERS_AUTO_START !== 'false', // Default true (v1.3.57)
721
- base_servers_auto_expose_tools: process.env.METALINK_BASE_SERVERS_AUTO_EXPOSE_TOOLS === 'true', // Default false (v1.3.57)
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 || '10000', 10),
724
- toolFetch: parseInt(process.env.METALINK_TIMEOUT_TOOL_FETCH || '60000', 10),
725
- toolExecution: parseInt(process.env.METALINK_TIMEOUT_TOOL_EXECUTION || '300000', 10),
726
- gracefulShutdown: parseInt(process.env.METALINK_TIMEOUT_SHUTDOWN || '5000', 10),
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 || '3', 10),
730
- resetTimeout: parseInt(process.env.METALINK_CIRCUIT_BREAKER_RESET_TIMEOUT || '30000', 10),
731
- halfOpenSuccessThreshold: parseInt(process.env.METALINK_CIRCUIT_BREAKER_HALF_OPEN_SUCCESS_THRESHOLD || '1', 10),
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 !== 'false',
735
- maxRetries: parseInt(process.env.METALINK_AUTO_RESTART_MAX_RETRIES || '3', 10),
736
- baseDelay: parseInt(process.env.METALINK_AUTO_RESTART_BASE_DELAY || '5000', 10),
737
- maxDelay: parseInt(process.env.METALINK_AUTO_RESTART_MAX_DELAY || '300000', 10),
738
- backoffMultiplier: parseFloat(process.env.METALINK_AUTO_RESTART_BACKOFF_MULTIPLIER || '2'),
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('Config not initialized. Call initializeConfig() first.');
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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"}