mcp-agent-foundry 1.1.0 → 1.3.0

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.
Files changed (76) hide show
  1. package/README.md +22 -2
  2. package/dist/cli/setup-wizard.d.ts.map +1 -1
  3. package/dist/cli/setup-wizard.js +873 -8
  4. package/dist/cli/setup-wizard.js.map +1 -1
  5. package/dist/cli/test-connection.d.ts +28 -0
  6. package/dist/cli/test-connection.d.ts.map +1 -1
  7. package/dist/cli/test-connection.js +335 -1
  8. package/dist/cli/test-connection.js.map +1 -1
  9. package/dist/cli.d.ts +13 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +169 -1
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config/validator.d.ts +113 -0
  14. package/dist/config/validator.d.ts.map +1 -1
  15. package/dist/config/validator.js +113 -0
  16. package/dist/config/validator.js.map +1 -1
  17. package/dist/failover/health-tracker.d.ts +175 -0
  18. package/dist/failover/health-tracker.d.ts.map +1 -0
  19. package/dist/failover/health-tracker.js +350 -0
  20. package/dist/failover/health-tracker.js.map +1 -0
  21. package/dist/failover/index.d.ts +9 -0
  22. package/dist/failover/index.d.ts.map +1 -0
  23. package/dist/failover/index.js +9 -0
  24. package/dist/failover/index.js.map +1 -0
  25. package/dist/failover/orchestrator.d.ts +189 -0
  26. package/dist/failover/orchestrator.d.ts.map +1 -0
  27. package/dist/failover/orchestrator.js +488 -0
  28. package/dist/failover/orchestrator.js.map +1 -0
  29. package/dist/failover/pricing.d.ts +115 -0
  30. package/dist/failover/pricing.d.ts.map +1 -0
  31. package/dist/failover/pricing.js +283 -0
  32. package/dist/failover/pricing.js.map +1 -0
  33. package/dist/persistence/state-schema.d.ts +50 -0
  34. package/dist/persistence/state-schema.d.ts.map +1 -1
  35. package/dist/persistence/state-schema.js +2 -0
  36. package/dist/persistence/state-schema.js.map +1 -1
  37. package/dist/providers/fireworks.d.ts +23 -0
  38. package/dist/providers/fireworks.d.ts.map +1 -0
  39. package/dist/providers/fireworks.js +31 -0
  40. package/dist/providers/fireworks.js.map +1 -0
  41. package/dist/providers/groq.d.ts +23 -0
  42. package/dist/providers/groq.d.ts.map +1 -0
  43. package/dist/providers/groq.js +31 -0
  44. package/dist/providers/groq.js.map +1 -0
  45. package/dist/providers/kimi-code.d.ts +32 -0
  46. package/dist/providers/kimi-code.d.ts.map +1 -0
  47. package/dist/providers/kimi-code.js +46 -0
  48. package/dist/providers/kimi-code.js.map +1 -0
  49. package/dist/providers/kimi.d.ts +1 -1
  50. package/dist/providers/kimi.js +1 -1
  51. package/dist/providers/openrouter.d.ts +23 -0
  52. package/dist/providers/openrouter.d.ts.map +1 -0
  53. package/dist/providers/openrouter.js +31 -0
  54. package/dist/providers/openrouter.js.map +1 -0
  55. package/dist/providers/perplexity.d.ts +29 -0
  56. package/dist/providers/perplexity.d.ts.map +1 -0
  57. package/dist/providers/perplexity.js +51 -0
  58. package/dist/providers/perplexity.js.map +1 -0
  59. package/dist/providers/together.d.ts +23 -0
  60. package/dist/providers/together.d.ts.map +1 -0
  61. package/dist/providers/together.js +31 -0
  62. package/dist/providers/together.js.map +1 -0
  63. package/dist/router/engine.d.ts +21 -0
  64. package/dist/router/engine.d.ts.map +1 -1
  65. package/dist/router/engine.js +81 -21
  66. package/dist/router/engine.js.map +1 -1
  67. package/dist/server.d.ts.map +1 -1
  68. package/dist/server.js +49 -0
  69. package/dist/server.js.map +1 -1
  70. package/dist/types.d.ts +52 -1
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/types.js +14 -0
  73. package/dist/types.js.map +1 -1
  74. package/package.json +5 -2
  75. package/scripts/postinstall.js +78 -0
  76. package/scripts/preuninstall.js +67 -0
package/dist/cli.js CHANGED
@@ -6,6 +6,8 @@
6
6
  * Provides commands for starting the server, initializing configuration,
7
7
  * listing roles, and validating configuration.
8
8
  */
9
+ import * as fs from "node:fs";
10
+ import * as path from "node:path";
9
11
  import { existsSync, mkdirSync, writeFileSync } from "fs";
10
12
  import { dirname } from "path";
11
13
  import { stringify as stringifyYAML } from "yaml";
@@ -51,6 +53,13 @@ Recovery Subcommands:
51
53
  state export <path> Export state to a JSON file
52
54
  state import <path> Import state from a JSON file
53
55
 
56
+ Project Subcommands:
57
+ project show Show current project overrides
58
+ project set-coder <provider> Set default coder provider
59
+ project set-orchestrator <provider> Set orchestrator provider
60
+ project set-fallback <role> <providers> Set fallback chain (comma-separated)
61
+ project reset Remove all project overrides
62
+
54
63
  Options:
55
64
  --config, -c Path to config file
56
65
  --profile, -p Profile name (default, development, production)
@@ -259,6 +268,52 @@ export function parseArgs(argv) {
259
268
  process.exit(1);
260
269
  }
261
270
  }
271
+ // Handle project subcommands
272
+ if (command === "project") {
273
+ const subcommand = argv[i + 1];
274
+ if (subcommand && !subcommand.startsWith("-")) {
275
+ if (isValidProjectSubcommand(subcommand)) {
276
+ options.projectSubcommand = subcommand;
277
+ i++;
278
+ // Handle arguments for each subcommand
279
+ if (subcommand === "set-coder" || subcommand === "set-orchestrator") {
280
+ const provider = argv[i + 1];
281
+ if (provider && !provider.startsWith("-")) {
282
+ options.projectProvider = provider;
283
+ i++;
284
+ }
285
+ else {
286
+ console.error(`Error: project ${subcommand} requires a provider argument`);
287
+ console.error(`Usage: agent-foundry project ${subcommand} <provider>`);
288
+ process.exit(1);
289
+ }
290
+ }
291
+ else if (subcommand === "set-fallback") {
292
+ const role = argv[i + 1];
293
+ const providers = argv[i + 2];
294
+ if (role && !role.startsWith("-") && providers && !providers.startsWith("-")) {
295
+ options.projectRole = role;
296
+ options.projectFallbacks = providers;
297
+ i += 2;
298
+ }
299
+ else {
300
+ console.error("Error: project set-fallback requires role and providers arguments");
301
+ console.error("Usage: agent-foundry project set-fallback <role> <provider1,provider2,...>");
302
+ process.exit(1);
303
+ }
304
+ }
305
+ }
306
+ else {
307
+ console.error(`Error: Unknown project subcommand: ${subcommand}`);
308
+ console.error("Available subcommands: show, set-coder, set-orchestrator, set-fallback, reset");
309
+ process.exit(1);
310
+ }
311
+ }
312
+ else {
313
+ // Default to show if no subcommand
314
+ options.projectSubcommand = "show";
315
+ }
316
+ }
262
317
  }
263
318
  else {
264
319
  console.error(`Error: Unknown command: ${arg}`);
@@ -279,7 +334,7 @@ export function parseArgs(argv) {
279
334
  function isValidCommand(cmd) {
280
335
  return [
281
336
  "setup", "start", "init", "list-roles", "validate", "version", "help",
282
- "provider", "install-skills", "status", "recover", "orphans", "state"
337
+ "provider", "install-skills", "status", "recover", "orphans", "state", "project"
283
338
  ].includes(cmd);
284
339
  }
285
340
  /**
@@ -300,6 +355,12 @@ function isValidOrphansSubcommand(cmd) {
300
355
  function isValidStateSubcommand(cmd) {
301
356
  return ["export", "import"].includes(cmd);
302
357
  }
358
+ /**
359
+ * Check if a string is a valid project subcommand.
360
+ */
361
+ function isValidProjectSubcommand(cmd) {
362
+ return ["set-coder", "set-orchestrator", "set-fallback", "show", "reset"].includes(cmd);
363
+ }
303
364
  // ============================================================================
304
365
  // Command Implementations
305
366
  // ============================================================================
@@ -401,6 +462,110 @@ async function cmdState(options) {
401
462
  process.exit(1);
402
463
  }
403
464
  }
465
+ /**
466
+ * Handle project subcommands.
467
+ */
468
+ async function cmdProject(options) {
469
+ const projectConfigPath = path.join(process.cwd(), ".agent-foundry.yaml");
470
+ switch (options.projectSubcommand) {
471
+ case "show":
472
+ await projectShow(projectConfigPath);
473
+ break;
474
+ case "set-coder":
475
+ await projectSetRole(projectConfigPath, "coder", options.projectProvider);
476
+ break;
477
+ case "set-orchestrator":
478
+ await projectSetRole(projectConfigPath, "orchestrator", options.projectProvider);
479
+ break;
480
+ case "set-fallback":
481
+ await projectSetFallback(projectConfigPath, options.projectRole, options.projectFallbacks);
482
+ break;
483
+ case "reset":
484
+ await projectReset(projectConfigPath, options.force);
485
+ break;
486
+ default:
487
+ await projectShow(projectConfigPath);
488
+ }
489
+ }
490
+ async function projectShow(configPath) {
491
+ if (!existsSync(configPath)) {
492
+ console.log("No project configuration found.");
493
+ console.log(`Run 'agent-foundry project set-coder <provider>' to create one.`);
494
+ return;
495
+ }
496
+ const content = fs.readFileSync(configPath, "utf-8");
497
+ console.log("Project configuration (.agent-foundry.yaml):");
498
+ console.log("");
499
+ console.log(content);
500
+ }
501
+ async function projectSetRole(configPath, roleName, provider) {
502
+ const { parse: yamlParse, stringify: yamlStringify } = await import("yaml");
503
+ let config = {};
504
+ if (existsSync(configPath)) {
505
+ const content = fs.readFileSync(configPath, "utf-8");
506
+ config = yamlParse(content);
507
+ }
508
+ // Initialize roles if not present
509
+ if (!config.roles) {
510
+ config.roles = {};
511
+ }
512
+ const roles = config.roles;
513
+ // Parse provider:model format if provided
514
+ const [providerName, model] = provider.split(":");
515
+ roles[roleName] = {
516
+ provider: providerName,
517
+ ...(model ? { model } : {}),
518
+ };
519
+ const yaml = yamlStringify(config, { indent: 2 });
520
+ fs.writeFileSync(configPath, yaml, "utf-8");
521
+ console.log(`Set ${roleName} provider to: ${providerName}${model ? ` (model: ${model})` : ""}`);
522
+ console.log(`Saved to: ${configPath}`);
523
+ }
524
+ async function projectSetFallback(configPath, roleName, providers) {
525
+ const { parse: yamlParse, stringify: yamlStringify } = await import("yaml");
526
+ let config = {};
527
+ if (existsSync(configPath)) {
528
+ const content = fs.readFileSync(configPath, "utf-8");
529
+ config = yamlParse(content);
530
+ }
531
+ // Initialize roles if not present
532
+ if (!config.roles) {
533
+ config.roles = {};
534
+ }
535
+ const roles = config.roles;
536
+ // Initialize role if not present
537
+ if (!roles[roleName]) {
538
+ roles[roleName] = {};
539
+ }
540
+ // Parse provider list (format: provider1:model1,provider2:model2,...)
541
+ const providerList = providers.split(",").map((p) => {
542
+ const [providerName, model] = p.trim().split(":");
543
+ return {
544
+ provider: providerName,
545
+ ...(model ? { model } : {}),
546
+ };
547
+ });
548
+ roles[roleName].fallback_chain = {
549
+ providers: providerList,
550
+ };
551
+ const yaml = yamlStringify(config, { indent: 2 });
552
+ fs.writeFileSync(configPath, yaml, "utf-8");
553
+ console.log(`Set ${roleName} fallback chain to: ${providers}`);
554
+ console.log(`Saved to: ${configPath}`);
555
+ }
556
+ async function projectReset(configPath, force) {
557
+ if (!existsSync(configPath)) {
558
+ console.log("No project configuration found.");
559
+ return;
560
+ }
561
+ if (!force) {
562
+ console.log(`This will delete: ${configPath}`);
563
+ console.log("Run with --force to confirm.");
564
+ return;
565
+ }
566
+ fs.unlinkSync(configPath);
567
+ console.log(`Removed: ${configPath}`);
568
+ }
404
569
  /**
405
570
  * Start the MCP server.
406
571
  */
@@ -659,6 +824,9 @@ export async function runCLI(options) {
659
824
  await stateExportCommand({ repoPath: process.cwd(), outputPath: options.statePath || 'state-export.json', ...options });
660
825
  }
661
826
  break;
827
+ case "project":
828
+ await cmdProject(options);
829
+ break;
662
830
  case "version":
663
831
  cmdVersion();
664
832
  break;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,38 @@ export declare const configSchema: {
127
127
  readonly maximum: 600000;
128
128
  readonly description: "Default timeout in milliseconds (1s-10min)";
129
129
  };
130
+ readonly failover: {
131
+ readonly type: "object";
132
+ readonly additionalProperties: false;
133
+ readonly properties: {
134
+ readonly enabled: {
135
+ readonly type: "boolean";
136
+ readonly description: "Enable automatic failover";
137
+ };
138
+ readonly max_total_retries: {
139
+ readonly type: "integer";
140
+ readonly minimum: 0;
141
+ readonly maximum: 20;
142
+ readonly description: "Maximum total retries across all providers";
143
+ };
144
+ readonly health_check_interval_ms: {
145
+ readonly type: "integer";
146
+ readonly minimum: 1000;
147
+ readonly maximum: 3600000;
148
+ readonly description: "Health check interval in ms";
149
+ };
150
+ readonly cooldown_ms: {
151
+ readonly type: "integer";
152
+ readonly minimum: 0;
153
+ readonly maximum: 3600000;
154
+ readonly description: "Cooldown period before retrying unhealthy provider";
155
+ };
156
+ readonly prefer_cost_efficient: {
157
+ readonly type: "boolean";
158
+ readonly description: "Prefer cheapest healthy provider";
159
+ };
160
+ };
161
+ };
130
162
  };
131
163
  };
132
164
  readonly roles: {
@@ -187,6 +219,9 @@ export declare const configSchema: {
187
219
  readonly fallback: {
188
220
  readonly $ref: "#/$defs/fallbackConfig";
189
221
  };
222
+ readonly fallback_chain: {
223
+ readonly $ref: "#/$defs/fallbackChainConfig";
224
+ };
190
225
  };
191
226
  };
192
227
  readonly fallbackConfig: {
@@ -206,6 +241,84 @@ export declare const configSchema: {
206
241
  };
207
242
  };
208
243
  };
244
+ readonly fallbackChainConfig: {
245
+ readonly type: "object";
246
+ readonly additionalProperties: false;
247
+ readonly properties: {
248
+ readonly providers: {
249
+ readonly type: "array";
250
+ readonly minItems: 1;
251
+ readonly items: {
252
+ readonly type: "object";
253
+ readonly required: readonly ["provider", "model"];
254
+ readonly additionalProperties: false;
255
+ readonly properties: {
256
+ readonly provider: {
257
+ readonly type: "string";
258
+ readonly minLength: 1;
259
+ readonly description: "Provider name";
260
+ };
261
+ readonly model: {
262
+ readonly type: "string";
263
+ readonly minLength: 1;
264
+ readonly description: "Model identifier";
265
+ };
266
+ };
267
+ };
268
+ readonly description: "Ordered list of fallback providers";
269
+ };
270
+ readonly on_errors: {
271
+ readonly type: "array";
272
+ readonly items: {
273
+ readonly type: "integer";
274
+ readonly minimum: 100;
275
+ readonly maximum: 599;
276
+ };
277
+ readonly description: "HTTP status codes that trigger failover";
278
+ };
279
+ readonly retry: {
280
+ readonly type: "object";
281
+ readonly additionalProperties: false;
282
+ readonly properties: {
283
+ readonly max_attempts: {
284
+ readonly type: "integer";
285
+ readonly minimum: 0;
286
+ readonly maximum: 10;
287
+ readonly description: "Maximum retry attempts per provider";
288
+ };
289
+ readonly initial_delay_ms: {
290
+ readonly type: "integer";
291
+ readonly minimum: 0;
292
+ readonly maximum: 60000;
293
+ readonly description: "Initial delay before first retry";
294
+ };
295
+ readonly max_delay_ms: {
296
+ readonly type: "integer";
297
+ readonly minimum: 0;
298
+ readonly maximum: 300000;
299
+ readonly description: "Maximum delay between retries";
300
+ };
301
+ readonly strategy: {
302
+ readonly type: "string";
303
+ readonly enum: readonly ["immediate", "linear", "exponential"];
304
+ readonly description: "Backoff strategy";
305
+ };
306
+ };
307
+ };
308
+ readonly health_check_interval_ms: {
309
+ readonly type: "integer";
310
+ readonly minimum: 1000;
311
+ readonly maximum: 3600000;
312
+ readonly description: "Health check interval in ms";
313
+ };
314
+ readonly cooldown_ms: {
315
+ readonly type: "integer";
316
+ readonly minimum: 0;
317
+ readonly maximum: 3600000;
318
+ readonly description: "Cooldown before retrying unhealthy provider";
319
+ };
320
+ };
321
+ };
209
322
  readonly providerConfig: {
210
323
  readonly type: "object";
211
324
  readonly additionalProperties: false;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/config/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAmB,EAAE,KAAK,WAAW,EAA8C,MAAM,KAAK,CAAC;AAE/F,OAAO,EAAsB,KAAM,MAAM,EAAE,MAAM,aAAa,CAAC;AAuL/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,eAAe,CAAmB;;IAgB1C;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;IAejC;;;;;;;OAOG;IACH,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAYvD;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,gBAAgB;IAyBlE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAsCxB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM,CAI/D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/config/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAmB,EAAE,KAAK,WAAW,EAA8C,MAAM,KAAK,CAAC;AAE/F,OAAO,EAAsB,KAAM,MAAM,EAAE,MAAM,aAAa,CAAC;AAwS/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,eAAe,CAAmB;;IAgB1C;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;IAejC;;;;;;;OAOG;IACH,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAYvD;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,gBAAgB;IAyBlE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAsCxB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM,CAI/D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
@@ -46,6 +46,38 @@ const CONFIG_SCHEMA = {
46
46
  maximum: 600000,
47
47
  description: 'Default timeout in milliseconds (1s-10min)',
48
48
  },
49
+ failover: {
50
+ type: 'object',
51
+ additionalProperties: false,
52
+ properties: {
53
+ enabled: {
54
+ type: 'boolean',
55
+ description: 'Enable automatic failover',
56
+ },
57
+ max_total_retries: {
58
+ type: 'integer',
59
+ minimum: 0,
60
+ maximum: 20,
61
+ description: 'Maximum total retries across all providers',
62
+ },
63
+ health_check_interval_ms: {
64
+ type: 'integer',
65
+ minimum: 1000,
66
+ maximum: 3600000,
67
+ description: 'Health check interval in ms',
68
+ },
69
+ cooldown_ms: {
70
+ type: 'integer',
71
+ minimum: 0,
72
+ maximum: 3600000,
73
+ description: 'Cooldown period before retrying unhealthy provider',
74
+ },
75
+ prefer_cost_efficient: {
76
+ type: 'boolean',
77
+ description: 'Prefer cheapest healthy provider',
78
+ },
79
+ },
80
+ },
49
81
  },
50
82
  },
51
83
  roles: {
@@ -106,6 +138,9 @@ const CONFIG_SCHEMA = {
106
138
  fallback: {
107
139
  $ref: '#/$defs/fallbackConfig',
108
140
  },
141
+ fallback_chain: {
142
+ $ref: '#/$defs/fallbackChainConfig',
143
+ },
109
144
  },
110
145
  },
111
146
  fallbackConfig: {
@@ -125,6 +160,84 @@ const CONFIG_SCHEMA = {
125
160
  },
126
161
  },
127
162
  },
163
+ fallbackChainConfig: {
164
+ type: 'object',
165
+ additionalProperties: false,
166
+ properties: {
167
+ providers: {
168
+ type: 'array',
169
+ minItems: 1,
170
+ items: {
171
+ type: 'object',
172
+ required: ['provider', 'model'],
173
+ additionalProperties: false,
174
+ properties: {
175
+ provider: {
176
+ type: 'string',
177
+ minLength: 1,
178
+ description: 'Provider name',
179
+ },
180
+ model: {
181
+ type: 'string',
182
+ minLength: 1,
183
+ description: 'Model identifier',
184
+ },
185
+ },
186
+ },
187
+ description: 'Ordered list of fallback providers',
188
+ },
189
+ on_errors: {
190
+ type: 'array',
191
+ items: {
192
+ type: 'integer',
193
+ minimum: 100,
194
+ maximum: 599,
195
+ },
196
+ description: 'HTTP status codes that trigger failover',
197
+ },
198
+ retry: {
199
+ type: 'object',
200
+ additionalProperties: false,
201
+ properties: {
202
+ max_attempts: {
203
+ type: 'integer',
204
+ minimum: 0,
205
+ maximum: 10,
206
+ description: 'Maximum retry attempts per provider',
207
+ },
208
+ initial_delay_ms: {
209
+ type: 'integer',
210
+ minimum: 0,
211
+ maximum: 60000,
212
+ description: 'Initial delay before first retry',
213
+ },
214
+ max_delay_ms: {
215
+ type: 'integer',
216
+ minimum: 0,
217
+ maximum: 300000,
218
+ description: 'Maximum delay between retries',
219
+ },
220
+ strategy: {
221
+ type: 'string',
222
+ enum: ['immediate', 'linear', 'exponential'],
223
+ description: 'Backoff strategy',
224
+ },
225
+ },
226
+ },
227
+ health_check_interval_ms: {
228
+ type: 'integer',
229
+ minimum: 1000,
230
+ maximum: 3600000,
231
+ description: 'Health check interval in ms',
232
+ },
233
+ cooldown_ms: {
234
+ type: 'integer',
235
+ minimum: 0,
236
+ maximum: 3600000,
237
+ description: 'Cooldown before retrying unhealthy provider',
238
+ },
239
+ },
240
+ },
128
241
  providerConfig: {
129
242
  type: 'object',
130
243
  additionalProperties: false,
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/config/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/config/validator.ts"],"names":[],"mappings":"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"}