@defai.digital/discussion-domain 13.0.3 → 13.1.1

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 (73) hide show
  1. package/dist/budget-manager.d.ts +79 -0
  2. package/dist/budget-manager.d.ts.map +1 -0
  3. package/dist/budget-manager.js +155 -0
  4. package/dist/budget-manager.js.map +1 -0
  5. package/dist/confidence-extractor.d.ts +60 -0
  6. package/dist/confidence-extractor.d.ts.map +1 -0
  7. package/dist/confidence-extractor.js +251 -0
  8. package/dist/confidence-extractor.js.map +1 -0
  9. package/dist/consensus/synthesis.d.ts.map +1 -1
  10. package/dist/consensus/synthesis.js +2 -0
  11. package/dist/consensus/synthesis.js.map +1 -1
  12. package/dist/consensus/voting.d.ts +3 -0
  13. package/dist/consensus/voting.d.ts.map +1 -1
  14. package/dist/consensus/voting.js +15 -4
  15. package/dist/consensus/voting.js.map +1 -1
  16. package/dist/context-tracker.d.ts +77 -0
  17. package/dist/context-tracker.d.ts.map +1 -0
  18. package/dist/context-tracker.js +177 -0
  19. package/dist/context-tracker.js.map +1 -0
  20. package/dist/cost-tracker.d.ts +123 -0
  21. package/dist/cost-tracker.d.ts.map +1 -0
  22. package/dist/cost-tracker.js +196 -0
  23. package/dist/cost-tracker.js.map +1 -0
  24. package/dist/executor.d.ts.map +1 -1
  25. package/dist/executor.js +9 -0
  26. package/dist/executor.js.map +1 -1
  27. package/dist/index.d.ts +7 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +12 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/participant-resolver.d.ts +111 -0
  32. package/dist/participant-resolver.d.ts.map +1 -0
  33. package/dist/participant-resolver.js +160 -0
  34. package/dist/participant-resolver.js.map +1 -0
  35. package/dist/patterns/round-robin.d.ts +3 -0
  36. package/dist/patterns/round-robin.d.ts.map +1 -1
  37. package/dist/patterns/round-robin.js +41 -2
  38. package/dist/patterns/round-robin.js.map +1 -1
  39. package/dist/patterns/synthesis.d.ts +3 -0
  40. package/dist/patterns/synthesis.d.ts.map +1 -1
  41. package/dist/patterns/synthesis.js +77 -3
  42. package/dist/patterns/synthesis.js.map +1 -1
  43. package/dist/prompts/templates.d.ts +1 -0
  44. package/dist/prompts/templates.d.ts.map +1 -1
  45. package/dist/prompts/templates.js +3 -1
  46. package/dist/prompts/templates.js.map +1 -1
  47. package/dist/provider-bridge.d.ts +3 -1
  48. package/dist/provider-bridge.d.ts.map +1 -1
  49. package/dist/provider-bridge.js +48 -32
  50. package/dist/provider-bridge.js.map +1 -1
  51. package/dist/recursive-executor.d.ts +80 -0
  52. package/dist/recursive-executor.d.ts.map +1 -0
  53. package/dist/recursive-executor.js +354 -0
  54. package/dist/recursive-executor.js.map +1 -0
  55. package/dist/types.d.ts +83 -0
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/budget-manager.ts +272 -0
  60. package/src/confidence-extractor.ts +321 -0
  61. package/src/consensus/synthesis.ts +2 -0
  62. package/src/consensus/voting.ts +22 -6
  63. package/src/context-tracker.ts +307 -0
  64. package/src/cost-tracker.ts +363 -0
  65. package/src/executor.ts +9 -0
  66. package/src/index.ts +72 -0
  67. package/src/participant-resolver.ts +297 -0
  68. package/src/patterns/round-robin.ts +48 -2
  69. package/src/patterns/synthesis.ts +89 -3
  70. package/src/prompts/templates.ts +4 -2
  71. package/src/provider-bridge.ts +52 -31
  72. package/src/recursive-executor.ts +510 -0
  73. package/src/types.ts +120 -0
@@ -3,6 +3,9 @@
3
3
  *
4
4
  * Models respond sequentially, each building on previous responses.
5
5
  * Good for: brainstorming, iterative refinement, building consensus.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-643: Early exit only after minProviders responded
6
9
  */
7
10
  import type { PatternExecutor, PatternExecutionContext, PatternExecutionResult } from '../types.js';
8
11
  export declare class RoundRobinPattern implements PatternExecutor {
@@ -1 +1 @@
1
- {"version":3,"file":"round-robin.d.ts","sourceRoot":"","sources":["../../src/patterns/round-robin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAwBrB,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,OAAO,EAAG,aAAa,CAAU;IAEpC,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA8JhF,OAAO,CAAC,WAAW;CAyBpB"}
1
+ {"version":3,"file":"round-robin.d.ts","sourceRoot":"","sources":["../../src/patterns/round-robin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AAyBrB,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,OAAO,EAAG,aAAa,CAAU;IAEpC,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuMhF,OAAO,CAAC,WAAW;CAyBpB"}
@@ -3,17 +3,22 @@
3
3
  *
4
4
  * Models respond sequentially, each building on previous responses.
5
5
  * Good for: brainstorming, iterative refinement, building consensus.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-643: Early exit only after minProviders responded
6
9
  */
10
+ import { extractConfidence, evaluateEarlyExit } from '../confidence-extractor.js';
7
11
  import { ROUND_ROBIN_INITIAL, ROUND_ROBIN_FOLLOWUP, interpolate, formatPreviousResponses, getProviderSystemPrompt, } from '../prompts/templates.js';
8
12
  export class RoundRobinPattern {
9
13
  pattern = 'round-robin';
10
14
  async execute(context) {
11
15
  const startTime = Date.now();
12
- const { config, providerExecutor, availableProviders, abortSignal, onProgress } = context;
16
+ const { config, providerExecutor, availableProviders, abortSignal, onProgress, cascadingConfidence } = context;
13
17
  const rounds = [];
14
18
  const participatingProviders = new Set();
15
19
  const failedProviders = new Set();
16
20
  const allResponses = [];
21
+ let earlyExit;
17
22
  // Filter to available providers
18
23
  const providers = config.providers.filter(p => availableProviders.includes(p));
19
24
  if (providers.length < config.minProviders) {
@@ -63,15 +68,19 @@ export class RoundRobinPattern {
63
68
  timeoutMs: config.providerTimeout,
64
69
  abortSignal,
65
70
  });
71
+ // Extract confidence from response content
72
+ const content = result.success ? result.content || '' : '';
73
+ const confidenceResult = result.success ? extractConfidence(content) : null;
66
74
  const response = {
67
75
  provider: providerId,
68
- content: result.success ? result.content || '' : '',
76
+ content,
69
77
  round: roundNum,
70
78
  timestamp: new Date().toISOString(),
71
79
  durationMs: result.durationMs,
72
80
  tokenCount: result.tokenCount,
73
81
  truncated: result.truncated,
74
82
  error: result.success ? undefined : result.error,
83
+ confidence: confidenceResult?.score ?? undefined,
75
84
  };
76
85
  roundResponses.push(response);
77
86
  allResponses.push(response);
@@ -131,6 +140,35 @@ export class RoundRobinPattern {
131
140
  error: `Only ${participatingProviders.size} providers succeeded, need ${config.minProviders}`,
132
141
  };
133
142
  }
143
+ // Check for early exit after each round (INV-DISC-643)
144
+ if (cascadingConfidence?.enabled && roundNum < config.rounds) {
145
+ const responsesWithConfidence = roundResponses
146
+ .filter(r => !r.error)
147
+ .map(r => ({
148
+ provider: r.provider,
149
+ content: r.content,
150
+ confidence: r.confidence,
151
+ }));
152
+ const exitDecision = evaluateEarlyExit(responsesWithConfidence, {
153
+ enabled: cascadingConfidence.enabled,
154
+ threshold: cascadingConfidence.threshold,
155
+ minProviders: cascadingConfidence.minProviders,
156
+ });
157
+ if (exitDecision.shouldExit) {
158
+ earlyExit = {
159
+ triggered: true,
160
+ reason: exitDecision.reason,
161
+ atProviderCount: exitDecision.providerCount,
162
+ confidenceScore: exitDecision.confidence,
163
+ };
164
+ onProgress?.({
165
+ type: 'round_complete',
166
+ message: `Early exit after round ${roundNum}: ${exitDecision.reason}`,
167
+ timestamp: new Date().toISOString(),
168
+ });
169
+ break; // Exit the rounds loop
170
+ }
171
+ }
134
172
  }
135
173
  return {
136
174
  rounds,
@@ -138,6 +176,7 @@ export class RoundRobinPattern {
138
176
  failedProviders: Array.from(failedProviders),
139
177
  totalDurationMs: Date.now() - startTime,
140
178
  success: participatingProviders.size >= config.minProviders,
179
+ earlyExit: earlyExit ?? { triggered: false },
141
180
  };
142
181
  }
143
182
  buildPrompt(topic, context, previousResponses, isInitial) {
@@ -1 +1 @@
1
- {"version":3,"file":"round-robin.js","sourceRoot":"","sources":["../../src/patterns/round-robin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"round-robin.js","sourceRoot":"","sources":["../../src/patterns/round-robin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAgBlF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,iBAAiB;IACnB,OAAO,GAAG,aAAsB,CAAC;IAE1C,KAAK,CAAC,OAAO,CAAC,OAAgC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;QAE/G,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,YAAY,GAAiC,EAAE,CAAC;QACtD,IAAI,SAAoC,CAAC;QAEzC,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3C,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,sBAAsB,EAAE,EAAE;gBAC1B,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9E,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACvC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,QAAQ,SAAS,CAAC,MAAM,8BAA8B,MAAM,CAAC,YAAY,EAAE;aACnF,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC7D,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;YAED,UAAU,EAAE,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,kBAAkB,QAAQ,OAAO,MAAM,CAAC,MAAM,EAAE;gBACzD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAiC,EAAE,CAAC;YAExD,sCAAsC;YACtC,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;gBACnC,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;oBACzB,MAAM;gBACR,CAAC;gBAED,UAAU,EAAE,CAAC;oBACX,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,GAAG,UAAU,mBAAmB;oBACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEjC,IAAI,CAAC;oBACH,8BAA8B;oBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAC7B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,YAAY,EACZ,QAAQ,KAAK,CAAC,CACf,CAAC;oBAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC;wBAC5C,UAAU;wBACV,MAAM;wBACN,YAAY,EAAE,uBAAuB,CAAC,UAAU,CAAC;wBACjD,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,SAAS,EAAE,MAAM,CAAC,eAAe;wBACjC,WAAW;qBACZ,CAAC,CAAC;oBAEH,2CAA2C;oBAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAE5E,MAAM,QAAQ,GAA+B;wBAC3C,QAAQ,EAAE,UAAU;wBACpB,OAAO;wBACP,KAAK,EAAE,QAAQ;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;wBAChD,UAAU,EAAE,gBAAgB,EAAE,KAAK,IAAI,SAAS;qBACjD,CAAC;oBAEF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAE5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACzC,CAAC;yBAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;wBAC7C,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAChC,MAAM;oBACR,CAAC;yBAAM,CAAC;wBACN,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAClC,CAAC;oBAED,UAAU,EAAE,CAAC;wBACX,IAAI,EAAE,mBAAmB;wBACzB,KAAK,EAAE,QAAQ;wBACf,QAAQ,EAAE,UAAU;wBACpB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,YAAY,MAAM,CAAC,KAAK,EAAE;wBAC7F,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAEhC,cAAc,CAAC,IAAI,CAAC;wBAClB,QAAQ,EAAE,UAAU;wBACpB,OAAO,EAAE,EAAE;wBACX,KAAK,EAAE,QAAQ;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;wBACtC,KAAK,EAAE,YAAY;qBACpB,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;wBACtC,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,cAAc;gBACzB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;aACpC,CAAC,CAAC;YAEH,UAAU,EAAE,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,SAAS,QAAQ,WAAW;gBACrC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YAEH,kDAAkD;YAClD,IAAI,sBAAsB,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtD,OAAO;oBACL,MAAM;oBACN,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;oBAC1D,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC5C,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACvC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ,sBAAsB,CAAC,IAAI,8BAA8B,MAAM,CAAC,YAAY,EAAE;iBAC9F,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,IAAI,mBAAmB,EAAE,OAAO,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7D,MAAM,uBAAuB,GAAG,cAAc;qBAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;qBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACT,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC,CAAC;gBAEN,MAAM,YAAY,GAAG,iBAAiB,CAAC,uBAAuB,EAAE;oBAC9D,OAAO,EAAE,mBAAmB,CAAC,OAAO;oBACpC,SAAS,EAAE,mBAAmB,CAAC,SAAS;oBACxC,YAAY,EAAE,mBAAmB,CAAC,YAAY;iBAC/C,CAAC,CAAC;gBAEH,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC5B,SAAS,GAAG;wBACV,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,eAAe,EAAE,YAAY,CAAC,aAAa;wBAC3C,eAAe,EAAE,YAAY,CAAC,UAAU;qBACzC,CAAC;oBAEF,UAAU,EAAE,CAAC;wBACX,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,0BAA0B,QAAQ,KAAK,YAAY,CAAC,MAAM,EAAE;wBACrE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;oBAEH,MAAM,CAAC,uBAAuB;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC1D,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAC5C,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACvC,OAAO,EAAE,sBAAsB,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY;YAC3D,SAAS,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;SAC7C,CAAC;IACJ,CAAC;IAEO,WAAW,CACjB,KAAa,EACb,OAAe,EACf,iBAA+C,EAC/C,SAAkB;QAElB,IAAI,SAAS,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,WAAW,CAAC,mBAAmB,EAAE;gBACtC,KAAK;gBACL,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,kBAAkB,GAAG,uBAAuB,CAChD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC,CACJ,CAAC;QAEF,OAAO,WAAW,CAAC,oBAAoB,EAAE;YACvC,KAAK;YACL,iBAAiB,EAAE,kBAAkB;SACtC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -9,6 +9,9 @@
9
9
  * 2. Round 2: Each provider responds to others' perspectives
10
10
  * 3. (Optional) Additional cross-discussion rounds
11
11
  * 4. Final synthesis by designated synthesizer (default: claude)
12
+ *
13
+ * Invariants:
14
+ * - INV-DISC-643: Early exit only after minProviders responded
12
15
  */
13
16
  import type { PatternExecutor, PatternExecutionContext, PatternExecutionResult } from '../types.js';
14
17
  export declare class SynthesisPattern implements PatternExecutor {
@@ -1 +1 @@
1
- {"version":3,"file":"synthesis.d.ts","sourceRoot":"","sources":["../../src/patterns/synthesis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAwBrB,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,OAAO,EAAG,WAAW,CAAU;IAElC,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YA0GlE,oBAAoB;YAoGpB,2BAA2B;CAqG1C"}
1
+ {"version":3,"file":"synthesis.d.ts","sourceRoot":"","sources":["../../src/patterns/synthesis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AAyBrB,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,OAAO,EAAG,WAAW,CAAU;IAElC,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAiLlE,oBAAoB;YAyGpB,2BAA2B;CA0G1C"}
@@ -9,16 +9,21 @@
9
9
  * 2. Round 2: Each provider responds to others' perspectives
10
10
  * 3. (Optional) Additional cross-discussion rounds
11
11
  * 4. Final synthesis by designated synthesizer (default: claude)
12
+ *
13
+ * Invariants:
14
+ * - INV-DISC-643: Early exit only after minProviders responded
12
15
  */
13
16
  import { SYNTHESIS_INITIAL, SYNTHESIS_CROSS_DISCUSS, interpolate, formatPreviousResponses, getProviderSystemPrompt, } from '../prompts/templates.js';
17
+ import { extractConfidence, evaluateEarlyExit } from '../confidence-extractor.js';
14
18
  export class SynthesisPattern {
15
19
  pattern = 'synthesis';
16
20
  async execute(context) {
17
21
  const startTime = Date.now();
18
- const { config, providerExecutor, availableProviders, abortSignal, onProgress } = context;
22
+ const { config, providerExecutor, availableProviders, abortSignal, onProgress, cascadingConfidence } = context;
19
23
  const rounds = [];
20
24
  const participatingProviders = new Set();
21
25
  const failedProviders = new Set();
26
+ let earlyExit;
22
27
  // Filter to available providers
23
28
  const providers = config.providers.filter(p => availableProviders.includes(p));
24
29
  if (providers.length < config.minProviders) {
@@ -59,6 +64,39 @@ export class SynthesisPattern {
59
64
  error: `Only ${participatingProviders.size} providers succeeded in round 1`,
60
65
  };
61
66
  }
67
+ // Check for early exit after round 1 (INV-DISC-643)
68
+ if (cascadingConfidence?.enabled) {
69
+ const responsesWithConfidence = initialRound.round.responses.map(r => ({
70
+ provider: r.provider,
71
+ content: r.content,
72
+ confidence: r.confidence,
73
+ }));
74
+ const exitDecision = evaluateEarlyExit(responsesWithConfidence, {
75
+ enabled: cascadingConfidence.enabled,
76
+ threshold: cascadingConfidence.threshold,
77
+ minProviders: cascadingConfidence.minProviders,
78
+ });
79
+ if (exitDecision.shouldExit) {
80
+ onProgress?.({
81
+ type: 'round_complete',
82
+ message: `Early exit triggered: ${exitDecision.reason}`,
83
+ timestamp: new Date().toISOString(),
84
+ });
85
+ return {
86
+ rounds,
87
+ participatingProviders: Array.from(participatingProviders),
88
+ failedProviders: Array.from(failedProviders),
89
+ totalDurationMs: Date.now() - startTime,
90
+ success: true,
91
+ earlyExit: {
92
+ triggered: true,
93
+ reason: exitDecision.reason,
94
+ atProviderCount: exitDecision.providerCount,
95
+ confidenceScore: exitDecision.confidence,
96
+ },
97
+ };
98
+ }
99
+ }
62
100
  // Additional rounds: Cross-discussion
63
101
  for (let roundNum = 2; roundNum <= config.rounds; roundNum++) {
64
102
  if (abortSignal?.aborted) {
@@ -79,6 +117,33 @@ export class SynthesisPattern {
79
117
  message: `Cross-discussion round ${roundNum} complete`,
80
118
  timestamp: new Date().toISOString(),
81
119
  });
120
+ // Check for early exit after each round
121
+ if (cascadingConfidence?.enabled && roundNum < config.rounds) {
122
+ const allResponses = crossRound.round.responses.map(r => ({
123
+ provider: r.provider,
124
+ content: r.content,
125
+ confidence: r.confidence,
126
+ }));
127
+ const exitDecision = evaluateEarlyExit(allResponses, {
128
+ enabled: cascadingConfidence.enabled,
129
+ threshold: cascadingConfidence.threshold,
130
+ minProviders: cascadingConfidence.minProviders,
131
+ });
132
+ if (exitDecision.shouldExit) {
133
+ earlyExit = {
134
+ triggered: true,
135
+ reason: exitDecision.reason,
136
+ atProviderCount: exitDecision.providerCount,
137
+ confidenceScore: exitDecision.confidence,
138
+ };
139
+ onProgress?.({
140
+ type: 'round_complete',
141
+ message: `Early exit after round ${roundNum}: ${exitDecision.reason}`,
142
+ timestamp: new Date().toISOString(),
143
+ });
144
+ break; // Exit the rounds loop
145
+ }
146
+ }
82
147
  }
83
148
  return {
84
149
  rounds,
@@ -86,6 +151,7 @@ export class SynthesisPattern {
86
151
  failedProviders: Array.from(failedProviders),
87
152
  totalDurationMs: Date.now() - startTime,
88
153
  success: participatingProviders.size >= config.minProviders,
154
+ earlyExit: earlyExit ?? { triggered: false },
89
155
  };
90
156
  }
91
157
  async executeParallelRound(roundNum, providers, config, providerExecutor, _previousRounds, abortSignal, onProgress) {
@@ -118,15 +184,19 @@ export class SynthesisPattern {
118
184
  timeoutMs: config.providerTimeout,
119
185
  abortSignal,
120
186
  });
187
+ // Extract confidence from response content
188
+ const content = result.success ? result.content || '' : '';
189
+ const confidenceResult = result.success ? extractConfidence(content) : null;
121
190
  const response = {
122
191
  provider: providerId,
123
- content: result.success ? result.content || '' : '',
192
+ content,
124
193
  round: roundNum,
125
194
  timestamp: new Date().toISOString(),
126
195
  durationMs: result.durationMs,
127
196
  tokenCount: result.tokenCount,
128
197
  truncated: result.truncated,
129
198
  error: result.success ? undefined : result.error,
199
+ confidence: confidenceResult?.score ?? undefined,
130
200
  };
131
201
  if (result.success) {
132
202
  succeeded.push(providerId);
@@ -202,14 +272,18 @@ export class SynthesisPattern {
202
272
  timeoutMs: config.providerTimeout,
203
273
  abortSignal,
204
274
  });
275
+ // Extract confidence from response content
276
+ const content = result.success ? result.content || '' : '';
277
+ const confidenceResult = result.success ? extractConfidence(content) : null;
205
278
  const response = {
206
279
  provider: providerId,
207
- content: result.success ? result.content || '' : '',
280
+ content,
208
281
  round: roundNum,
209
282
  timestamp: new Date().toISOString(),
210
283
  durationMs: result.durationMs,
211
284
  tokenCount: result.tokenCount,
212
285
  error: result.success ? undefined : result.error,
286
+ confidence: confidenceResult?.score ?? undefined,
213
287
  };
214
288
  if (!result.success) {
215
289
  failed.push(providerId);
@@ -1 +1 @@
1
- {"version":3,"file":"synthesis.js","sourceRoot":"","sources":["../../src/patterns/synthesis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synthesis.js","sourceRoot":"","sources":["../../src/patterns/synthesis.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export declare function formatPreviousResponses(responses: {
34
34
  provider: string;
35
35
  content: string;
36
36
  role?: DebateRole | undefined;
37
+ isAgent?: boolean | undefined;
37
38
  }[]): string;
38
39
  /**
39
40
  * Format voting options for prompts
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAO3D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBlE;AAMD,eAAO,MAAM,mBAAmB,uSAWP,CAAC;AAE1B,eAAO,MAAM,oBAAoB,gbAcR,CAAC;AAM1B,eAAO,MAAM,iBAAiB,wVAWyC,CAAC;AAExE,eAAO,MAAM,uBAAuB,gXAYmB,CAAC;AAExD,eAAO,MAAM,eAAe,woBAoBW,CAAC;AAMxC,eAAO,MAAM,gBAAgB,4ZAcY,CAAC;AAE1C,eAAO,MAAM,eAAe,0dAiBa,CAAC;AAE1C,eAAO,MAAM,eAAe,wXAiBE,CAAC;AAE/B,eAAO,MAAM,YAAY,szBA4BW,CAAC;AAMrC,eAAO,MAAM,iBAAiB,wZAaF,CAAC;AAE7B,eAAO,MAAM,eAAe,2dAeE,CAAC;AAE/B,eAAO,MAAM,iBAAiB,2bAkBW,CAAC;AAM1C,eAAO,MAAM,eAAe,kaAkBa,CAAC;AAE1C,eAAO,MAAM,YAAY,kaAgBqC,CAAC;AAM/D;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CASvF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAAE,EAAE,GAChF,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,GAChG,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAS9D"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAO3D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBlE;AAMD,eAAO,MAAM,mBAAmB,uSAWP,CAAC;AAE1B,eAAO,MAAM,oBAAoB,gbAcR,CAAC;AAM1B,eAAO,MAAM,iBAAiB,wVAWyC,CAAC;AAExE,eAAO,MAAM,uBAAuB,gXAYmB,CAAC;AAExD,eAAO,MAAM,eAAe,woBAoBW,CAAC;AAMxC,eAAO,MAAM,gBAAgB,4ZAcY,CAAC;AAE1C,eAAO,MAAM,eAAe,0dAiBa,CAAC;AAE1C,eAAO,MAAM,eAAe,wXAiBE,CAAC;AAE/B,eAAO,MAAM,YAAY,szBA4BW,CAAC;AAMrC,eAAO,MAAM,iBAAiB,wZAaF,CAAC;AAE7B,eAAO,MAAM,eAAe,2dAeE,CAAC;AAE/B,eAAO,MAAM,iBAAiB,2bAkBW,CAAC;AAM1C,eAAO,MAAM,eAAe,kaAkBa,CAAC;AAE1C,eAAO,MAAM,YAAY,kaAgBqC,CAAC;AAM/D;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CASvF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,EAAE,GAC/G,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,GAChG,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAS9D"}
@@ -309,7 +309,9 @@ export function formatPreviousResponses(responses) {
309
309
  return responses
310
310
  .map(r => {
311
311
  const roleLabel = r.role ? ` (${r.role})` : '';
312
- return `### ${r.provider}${roleLabel}\n${r.content}`;
312
+ // INV-DISC-642: Indicate agent responses for synthesis weighting
313
+ const agentLabel = r.isAgent ? ' [Agent - Domain Expert]' : '';
314
+ return `### ${r.provider}${roleLabel}${agentLabel}\n${r.content}`;
313
315
  })
314
316
  .join('\n\n');
315
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"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"}
@@ -58,9 +58,11 @@ type CompletionResponseLike = {
58
58
  };
59
59
  /**
60
60
  * Minimal HealthCheckResult interface
61
+ * Note: Supports both `healthy: boolean` and `status: 'healthy'|'unhealthy'` formats
61
62
  */
62
63
  interface HealthCheckResultLike {
63
- healthy: boolean;
64
+ healthy?: boolean | undefined;
65
+ status?: 'healthy' | 'degraded' | 'unhealthy' | undefined;
64
66
  message?: string | undefined;
65
67
  latencyMs: number;
66
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-bridge.d.ts","sourceRoot":"","sources":["../src/provider-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAG3B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1E,WAAW,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,KAAK,sBAAsB,GACvB;IACE,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN;;GAEG;AACH,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IACrD,MAAM,IAAI,eAAe,EAAE,CAAC;IAC5B,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,qBAA0B,GAClC,0BAA0B,CAoK5B;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,GAAG,CACZ,MAAM,EACN,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAC7F,GACA,0BAA0B,CAqD5B"}
1
+ {"version":3,"file":"provider-bridge.d.ts","sourceRoot":"","sources":["../src/provider-bridge.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,19 @@
7
7
  * This adapter pattern allows the discussion domain to remain decoupled
8
8
  * from the concrete provider implementation details.
9
9
  */
10
+ /**
11
+ * Helper to check if a health result indicates healthy status
12
+ */
13
+ function isHealthy(result) {
14
+ // Support both formats: `healthy: boolean` and `status: 'healthy'`
15
+ if (result.healthy !== undefined) {
16
+ return result.healthy;
17
+ }
18
+ if (result.status !== undefined) {
19
+ return result.status === 'healthy';
20
+ }
21
+ return false;
22
+ }
10
23
  /**
11
24
  * Creates a DiscussionProviderExecutor that bridges to a ProviderRegistry
12
25
  *
@@ -100,11 +113,12 @@ export function createProviderBridge(registry, options = {}) {
100
113
  if (performHealthChecks) {
101
114
  try {
102
115
  const health = await provider.checkHealth();
116
+ const healthy = isHealthy(health);
103
117
  healthCache.set(providerId, {
104
- healthy: health.healthy,
118
+ healthy,
105
119
  timestamp: Date.now(),
106
120
  });
107
- return health.healthy;
121
+ return healthy;
108
122
  }
109
123
  catch {
110
124
  healthCache.set(providerId, {
@@ -119,42 +133,44 @@ export function createProviderBridge(registry, options = {}) {
119
133
  },
120
134
  async getAvailableProviders() {
121
135
  const allProviders = registry.getAll();
122
- const available = [];
123
- // Check each provider's availability
136
+ const now = Date.now();
137
+ // Separate cached vs uncached providers
138
+ const cached = [];
139
+ const toCheck = [];
124
140
  for (const provider of allProviders) {
125
- // Check cache first
126
- const cached = healthCache.get(provider.providerId);
127
- if (cached && Date.now() - cached.timestamp < healthCheckCacheMs) {
128
- if (cached.healthy) {
129
- available.push(provider.providerId);
130
- }
131
- continue;
141
+ const entry = healthCache.get(provider.providerId);
142
+ if (entry && now - entry.timestamp < healthCheckCacheMs) {
143
+ if (entry.healthy)
144
+ cached.push(provider.providerId);
132
145
  }
133
- // Perform health check if enabled
134
- if (performHealthChecks) {
135
- try {
136
- const health = await provider.checkHealth();
137
- healthCache.set(provider.providerId, {
138
- healthy: health.healthy,
139
- timestamp: Date.now(),
140
- });
141
- if (health.healthy) {
142
- available.push(provider.providerId);
143
- }
144
- }
145
- catch {
146
- healthCache.set(provider.providerId, {
147
- healthy: false,
148
- timestamp: Date.now(),
149
- });
150
- }
146
+ else if (performHealthChecks) {
147
+ toCheck.push(provider);
151
148
  }
152
149
  else {
153
- // If health checks disabled, assume available
154
- available.push(provider.providerId);
150
+ cached.push(provider.providerId); // No health check, assume available
155
151
  }
156
152
  }
157
- return available;
153
+ // Check uncached providers in parallel
154
+ if (toCheck.length === 0)
155
+ return cached;
156
+ const results = await Promise.allSettled(toCheck.map(async (provider) => {
157
+ try {
158
+ const health = await provider.checkHealth();
159
+ const healthy = isHealthy(health);
160
+ healthCache.set(provider.providerId, { healthy, timestamp: Date.now() });
161
+ return healthy ? provider.providerId : null;
162
+ }
163
+ catch {
164
+ healthCache.set(provider.providerId, { healthy: false, timestamp: Date.now() });
165
+ return null;
166
+ }
167
+ }));
168
+ // Collect successful health checks
169
+ const checked = results
170
+ .filter((r) => r.status === 'fulfilled')
171
+ .map((r) => r.value)
172
+ .filter((id) => id !== null);
173
+ return [...cached, ...checked];
158
174
  },
159
175
  };
160
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-bridge.js","sourceRoot":"","sources":["../src/provider-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-bridge.js","sourceRoot":"","sources":["../src/provider-bridge.ts"],"names":[],"mappings":"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"}