@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
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Recursive Discussion Executor
3
+ *
4
+ * Extends the base discussion executor with support for recursive sub-discussions.
5
+ * Providers can spawn sub-discussions during their response.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-600: Depth never exceeds maxDepth
9
+ * - INV-DISC-601: No circular discussions
10
+ * - INV-DISC-610: Child timeout ≤ parent remaining budget
11
+ * - INV-DISC-620: Total calls ≤ maxTotalCalls
12
+ */
13
+ import { type DiscussStepConfig, type DiscussionResult, type DiscussionRequest, type DiscussionContext, type SubDiscussionResult } from '@defai.digital/contracts';
14
+ import type { DiscussionProviderExecutor, RecursiveDiscussionExecutorOptions, DiscussionProgressEvent } from './types.js';
15
+ /**
16
+ * Extended discussion result with recursive info
17
+ */
18
+ export interface RecursiveDiscussionResult extends DiscussionResult {
19
+ /** Sub-discussions that were spawned */
20
+ subDiscussions?: SubDiscussionResult[];
21
+ /** Total provider calls across all levels */
22
+ totalProviderCalls?: number;
23
+ /** Maximum depth reached */
24
+ maxDepthReached?: number;
25
+ /** Discussion context */
26
+ context?: DiscussionContext;
27
+ }
28
+ /**
29
+ * Recursive discussion executor class.
30
+ *
31
+ * Orchestrates multi-model discussions with support for nested sub-discussions.
32
+ */
33
+ export declare class RecursiveDiscussionExecutor {
34
+ private readonly providerExecutor;
35
+ private readonly defaultTimeoutMs;
36
+ private readonly checkProviderHealth;
37
+ private readonly traceId;
38
+ private readonly recursiveConfig;
39
+ private readonly timeoutConfig;
40
+ private readonly costConfig;
41
+ private readonly parentContext;
42
+ private readonly onSubDiscussionSpawn;
43
+ private readonly onSubDiscussionComplete;
44
+ constructor(options: RecursiveDiscussionExecutorOptions);
45
+ /**
46
+ * Execute a recursive discussion from a DiscussionRequest
47
+ */
48
+ executeRequest(request: DiscussionRequest, options?: {
49
+ abortSignal?: AbortSignal;
50
+ onProgress?: (event: DiscussionProgressEvent) => void;
51
+ }): Promise<RecursiveDiscussionResult>;
52
+ /**
53
+ * Execute a recursive discussion with full configuration
54
+ */
55
+ execute(config: DiscussStepConfig, options?: {
56
+ abortSignal?: AbortSignal;
57
+ onProgress?: (event: DiscussionProgressEvent) => void;
58
+ }): Promise<RecursiveDiscussionResult>;
59
+ /**
60
+ * Check provider availability
61
+ */
62
+ private checkProviders;
63
+ /**
64
+ * Quick recursive synthesis discussion
65
+ *
66
+ * Creates a temporary child executor with recursion enabled to avoid
67
+ * mutating the parent config (which could cause race conditions).
68
+ */
69
+ quickRecursiveSynthesis(topic: string, options?: {
70
+ providers?: string[];
71
+ maxDepth?: number;
72
+ abortSignal?: AbortSignal;
73
+ onProgress?: (event: DiscussionProgressEvent) => void;
74
+ }): Promise<RecursiveDiscussionResult>;
75
+ }
76
+ /**
77
+ * Create a recursive discussion executor with default options
78
+ */
79
+ export declare function createRecursiveDiscussionExecutor(providerExecutor: DiscussionProviderExecutor, options?: Partial<Omit<RecursiveDiscussionExecutorOptions, 'providerExecutor'>>): RecursiveDiscussionExecutor;
80
+ //# sourceMappingURL=recursive-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recursive-executor.d.ts","sourceRoot":"","sources":["../src/recursive-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAQzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,0BAA0B,EAC1B,kCAAkC,EAClC,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,wCAAwC;IACxC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEvC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,yBAAyB;IACzB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAoE;IACzG,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAsD;gBAElF,OAAO,EAAE,kCAAkC;IAqCvD;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,yBAAyB,CAAC;IAyBrC;;OAEG;IACG,OAAO,CACX,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,yBAAyB,CAAC;IA+QrC;;OAEG;YACW,cAAc;IAuB5B;;;;;OAKG;IACG,uBAAuB,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,yBAAyB,CAAC;CA6BtC;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,0BAA0B,EAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,GAC9E,2BAA2B,CAK7B"}
@@ -0,0 +1,354 @@
1
+ /**
2
+ * Recursive Discussion Executor
3
+ *
4
+ * Extends the base discussion executor with support for recursive sub-discussions.
5
+ * Providers can spawn sub-discussions during their response.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-600: Depth never exceeds maxDepth
9
+ * - INV-DISC-601: No circular discussions
10
+ * - INV-DISC-610: Child timeout ≤ parent remaining budget
11
+ * - INV-DISC-620: Total calls ≤ maxTotalCalls
12
+ */
13
+ import { DEFAULT_PROVIDERS, DiscussionErrorCodes, createFailedDiscussionResult, DEFAULT_DISCUSSION_DEPTH, DEFAULT_TOTAL_BUDGET_MS, DEFAULT_MAX_TOTAL_CALLS, MIN_SYNTHESIS_TIME_MS, } from '@defai.digital/contracts';
14
+ import { getPatternExecutor } from './patterns/index.js';
15
+ import { getConsensusExecutor } from './consensus/index.js';
16
+ import { createContextTracker } from './context-tracker.js';
17
+ import { createBudgetManager } from './budget-manager.js';
18
+ /**
19
+ * Recursive discussion executor class.
20
+ *
21
+ * Orchestrates multi-model discussions with support for nested sub-discussions.
22
+ */
23
+ export class RecursiveDiscussionExecutor {
24
+ providerExecutor;
25
+ defaultTimeoutMs;
26
+ checkProviderHealth;
27
+ traceId;
28
+ recursiveConfig;
29
+ timeoutConfig;
30
+ costConfig;
31
+ parentContext;
32
+ onSubDiscussionSpawn;
33
+ onSubDiscussionComplete;
34
+ constructor(options) {
35
+ this.providerExecutor = options.providerExecutor;
36
+ this.defaultTimeoutMs = options.defaultTimeoutMs ?? 60000;
37
+ this.checkProviderHealth = options.checkProviderHealth ?? true;
38
+ this.traceId = options.traceId;
39
+ this.parentContext = options.parentContext;
40
+ this.onSubDiscussionSpawn = options.onSubDiscussionSpawn;
41
+ this.onSubDiscussionComplete = options.onSubDiscussionComplete;
42
+ // Initialize recursive config with defaults
43
+ this.recursiveConfig = {
44
+ enabled: options.recursive?.enabled ?? false,
45
+ maxDepth: options.recursive?.maxDepth ?? DEFAULT_DISCUSSION_DEPTH,
46
+ allowedProviders: options.recursive?.allowedProviders,
47
+ allowSubDiscussions: options.recursive?.allowSubDiscussions ?? true,
48
+ };
49
+ // Initialize timeout config
50
+ this.timeoutConfig = {
51
+ strategy: options.timeout?.strategy ?? 'cascade',
52
+ totalBudgetMs: options.timeout?.totalBudgetMs ?? DEFAULT_TOTAL_BUDGET_MS,
53
+ minSynthesisMs: options.timeout?.minSynthesisMs ?? MIN_SYNTHESIS_TIME_MS,
54
+ levelTimeouts: options.timeout?.levelTimeouts,
55
+ };
56
+ // Initialize cost config
57
+ this.costConfig = {
58
+ maxTotalCalls: options.cost?.maxTotalCalls ?? DEFAULT_MAX_TOTAL_CALLS,
59
+ budgetUsd: options.cost?.budgetUsd,
60
+ cascadingConfidence: {
61
+ enabled: options.cost?.cascadingConfidence?.enabled ?? true,
62
+ threshold: options.cost?.cascadingConfidence?.threshold ?? 0.9,
63
+ minProviders: options.cost?.cascadingConfidence?.minProviders ?? 2,
64
+ },
65
+ };
66
+ }
67
+ /**
68
+ * Execute a recursive discussion from a DiscussionRequest
69
+ */
70
+ async executeRequest(request, options) {
71
+ // Convert request to step config
72
+ const config = {
73
+ pattern: request.pattern || 'synthesis',
74
+ rounds: request.rounds || 2,
75
+ providers: request.providers || [...DEFAULT_PROVIDERS],
76
+ prompt: request.topic,
77
+ consensus: {
78
+ method: request.consensusMethod || 'synthesis',
79
+ threshold: 0.5,
80
+ synthesizer: 'claude',
81
+ includeDissent: true,
82
+ },
83
+ context: request.context,
84
+ verbose: request.verbose ?? false,
85
+ providerTimeout: this.defaultTimeoutMs,
86
+ continueOnProviderFailure: true,
87
+ minProviders: 2,
88
+ temperature: 0.7,
89
+ agentWeightMultiplier: 1.5,
90
+ };
91
+ return this.execute(config, options);
92
+ }
93
+ /**
94
+ * Execute a recursive discussion with full configuration
95
+ */
96
+ async execute(config, options) {
97
+ const startedAt = new Date().toISOString();
98
+ const discussionId = crypto.randomUUID();
99
+ const { abortSignal, onProgress } = options || {};
100
+ // Check for early abort
101
+ if (abortSignal?.aborted) {
102
+ return createFailedDiscussionResult(config.pattern, config.prompt, DiscussionErrorCodes.INVALID_CONFIG, 'Discussion aborted before starting', startedAt);
103
+ }
104
+ // Create context tracker
105
+ const contextTracker = createContextTracker(discussionId, {
106
+ recursive: this.recursiveConfig,
107
+ timeout: this.timeoutConfig,
108
+ cost: this.costConfig,
109
+ }, this.parentContext);
110
+ // Create budget manager
111
+ const budgetManager = createBudgetManager(this.timeoutConfig, this.recursiveConfig.maxDepth);
112
+ // Check provider availability
113
+ let availableProviders;
114
+ try {
115
+ availableProviders = await this.checkProviders(config.providers);
116
+ }
117
+ catch (error) {
118
+ const errorMessage = error instanceof Error ? error.message : String(error);
119
+ return createFailedDiscussionResult(config.pattern, config.prompt, DiscussionErrorCodes.ALL_PROVIDERS_FAILED, `Provider health check failed: ${errorMessage}`, startedAt);
120
+ }
121
+ // Filter by allowed providers if recursive
122
+ if (this.recursiveConfig.enabled && this.recursiveConfig.allowedProviders) {
123
+ availableProviders = availableProviders.filter(p => this.recursiveConfig.allowedProviders.includes(p));
124
+ }
125
+ // Check minimum providers
126
+ if (availableProviders.length < config.minProviders) {
127
+ return createFailedDiscussionResult(config.pattern, config.prompt, DiscussionErrorCodes.INSUFFICIENT_PROVIDERS, `Only ${availableProviders.length} providers available, need ${config.minProviders}`, startedAt);
128
+ }
129
+ // Track sub-discussions
130
+ const subDiscussions = [];
131
+ let totalProviderCalls = 0;
132
+ let maxDepthReached = contextTracker.getContext().depth;
133
+ // Create sub-discussion spawner
134
+ const spawnSubDiscussion = async (topic, providers) => {
135
+ // Check if we can spawn
136
+ const check = contextTracker.canSpawnSubDiscussion();
137
+ if (!check.allowed) {
138
+ onProgress?.({
139
+ type: 'provider_complete',
140
+ message: `Sub-discussion blocked: ${check.reason}`,
141
+ timestamp: new Date().toISOString(),
142
+ });
143
+ return null;
144
+ }
145
+ // Create child context
146
+ const childId = crypto.randomUUID();
147
+ const childContext = contextTracker.createChildContext(childId);
148
+ // Notify spawn
149
+ this.onSubDiscussionSpawn?.(childContext, topic);
150
+ onProgress?.({
151
+ type: 'round_start',
152
+ message: `Spawning sub-discussion at depth ${childContext.depth}: ${topic.slice(0, 50)}...`,
153
+ timestamp: new Date().toISOString(),
154
+ });
155
+ // Create child executor
156
+ const childExecutor = new RecursiveDiscussionExecutor({
157
+ providerExecutor: this.providerExecutor,
158
+ defaultTimeoutMs: budgetManager.getProviderTimeout(childContext.depth),
159
+ checkProviderHealth: false, // Already checked parent providers
160
+ traceId: this.traceId,
161
+ recursive: {
162
+ ...this.recursiveConfig,
163
+ maxDepth: this.recursiveConfig.maxDepth, // Keep same max depth
164
+ },
165
+ timeout: {
166
+ ...this.timeoutConfig,
167
+ totalBudgetMs: childContext.remainingBudgetMs,
168
+ },
169
+ cost: this.costConfig,
170
+ parentContext: childContext,
171
+ });
172
+ // Execute sub-discussion
173
+ const subStart = Date.now();
174
+ const subResult = await childExecutor.execute({
175
+ pattern: 'synthesis',
176
+ rounds: 1, // Sub-discussions are quick
177
+ providers: providers || availableProviders.slice(0, 3),
178
+ prompt: topic,
179
+ consensus: { method: 'synthesis', synthesizer: 'claude', threshold: 0.5, includeDissent: false },
180
+ providerTimeout: budgetManager.getProviderTimeout(childContext.depth),
181
+ continueOnProviderFailure: true,
182
+ minProviders: 2,
183
+ temperature: 0.7,
184
+ verbose: false,
185
+ agentWeightMultiplier: 1.5,
186
+ }, abortSignal ? { abortSignal } : {});
187
+ const subDuration = Date.now() - subStart;
188
+ // Record usage
189
+ contextTracker.recordCalls(subResult.participatingProviders.length);
190
+ contextTracker.recordElapsed(subDuration);
191
+ budgetManager.recordUsage(childContext.depth, subDuration);
192
+ // Update tracking
193
+ totalProviderCalls += subResult.totalProviderCalls ?? subResult.participatingProviders.length;
194
+ maxDepthReached = Math.max(maxDepthReached, childContext.depth);
195
+ // Create sub-discussion result
196
+ const subDiscussionResult = {
197
+ discussionId: childId,
198
+ topic,
199
+ participatingProviders: subResult.participatingProviders,
200
+ synthesis: subResult.synthesis,
201
+ durationMs: subDuration,
202
+ depth: childContext.depth,
203
+ };
204
+ subDiscussions.push(subDiscussionResult);
205
+ this.onSubDiscussionComplete?.(subDiscussionResult);
206
+ onProgress?.({
207
+ type: 'round_complete',
208
+ message: `Sub-discussion completed at depth ${childContext.depth}`,
209
+ timestamp: new Date().toISOString(),
210
+ });
211
+ return subDiscussionResult;
212
+ };
213
+ // Get pattern executor
214
+ const patternExecutor = getPatternExecutor(config.pattern);
215
+ // Build execution context with recursion support
216
+ const patternContext = {
217
+ config: {
218
+ ...config,
219
+ providerTimeout: budgetManager.getProviderTimeout(contextTracker.getContext().depth),
220
+ },
221
+ providerExecutor: this.providerExecutor,
222
+ availableProviders,
223
+ abortSignal,
224
+ traceId: this.traceId,
225
+ onProgress,
226
+ // Cascading confidence for early exit
227
+ cascadingConfidence: this.costConfig.cascadingConfidence ? {
228
+ enabled: this.costConfig.cascadingConfidence.enabled ?? true,
229
+ threshold: this.costConfig.cascadingConfidence.threshold ?? 0.9,
230
+ minProviders: this.costConfig.cascadingConfidence.minProviders ?? 2,
231
+ } : undefined,
232
+ // Recursive extensions
233
+ discussionContext: contextTracker.getContext(),
234
+ allowSubDiscussions: this.recursiveConfig.enabled && this.recursiveConfig.allowSubDiscussions,
235
+ spawnSubDiscussion: this.recursiveConfig.enabled ? spawnSubDiscussion : undefined,
236
+ };
237
+ // Execute pattern
238
+ const patternResult = await patternExecutor.execute(patternContext);
239
+ // Record calls from pattern execution
240
+ totalProviderCalls += patternResult.participatingProviders.length;
241
+ contextTracker.recordCalls(patternResult.participatingProviders.length);
242
+ if (!patternResult.success) {
243
+ return createFailedDiscussionResult(config.pattern, config.prompt, DiscussionErrorCodes.ALL_PROVIDERS_FAILED, patternResult.error || 'Pattern execution failed', startedAt);
244
+ }
245
+ // Execute consensus mechanism
246
+ const consensusExecutor = getConsensusExecutor(config.consensus.method);
247
+ const consensusResult = await consensusExecutor.execute({
248
+ topic: config.prompt,
249
+ rounds: patternResult.rounds,
250
+ participatingProviders: patternResult.participatingProviders,
251
+ config: config.consensus,
252
+ agentWeightMultiplier: config.agentWeightMultiplier,
253
+ providerExecutor: this.providerExecutor,
254
+ abortSignal,
255
+ onProgress,
256
+ });
257
+ // Record synthesis call
258
+ totalProviderCalls += 1;
259
+ contextTracker.recordCalls(1);
260
+ if (!consensusResult.success) {
261
+ return createFailedDiscussionResult(config.pattern, config.prompt, DiscussionErrorCodes.CONSENSUS_FAILED, consensusResult.error || 'Consensus failed', startedAt);
262
+ }
263
+ // Build final result
264
+ const result = {
265
+ success: true,
266
+ pattern: config.pattern,
267
+ topic: config.prompt,
268
+ participatingProviders: patternResult.participatingProviders,
269
+ failedProviders: patternResult.failedProviders,
270
+ rounds: patternResult.rounds,
271
+ synthesis: consensusResult.synthesis,
272
+ consensus: consensusResult.consensus,
273
+ votingResults: consensusResult.votingResults,
274
+ totalDurationMs: patternResult.totalDurationMs + consensusResult.durationMs,
275
+ metadata: {
276
+ startedAt,
277
+ completedAt: new Date().toISOString(),
278
+ traceId: this.traceId,
279
+ // Include early exit info if triggered
280
+ ...(patternResult.earlyExit?.triggered ? {
281
+ earlyExit: patternResult.earlyExit,
282
+ } : {}),
283
+ },
284
+ // Recursive extensions
285
+ ...(subDiscussions.length > 0 ? { subDiscussions } : {}),
286
+ totalProviderCalls,
287
+ maxDepthReached,
288
+ context: contextTracker.getContext(),
289
+ };
290
+ return result;
291
+ }
292
+ /**
293
+ * Check provider availability
294
+ */
295
+ async checkProviders(providers) {
296
+ if (!this.checkProviderHealth) {
297
+ return providers;
298
+ }
299
+ const available = [];
300
+ await Promise.all(providers.map(async (providerId) => {
301
+ try {
302
+ const isAvailable = await this.providerExecutor.isAvailable(providerId);
303
+ if (isAvailable) {
304
+ available.push(providerId);
305
+ }
306
+ }
307
+ catch {
308
+ // Provider check failed, don't include
309
+ }
310
+ }));
311
+ return available;
312
+ }
313
+ /**
314
+ * Quick recursive synthesis discussion
315
+ *
316
+ * Creates a temporary child executor with recursion enabled to avoid
317
+ * mutating the parent config (which could cause race conditions).
318
+ */
319
+ async quickRecursiveSynthesis(topic, options) {
320
+ // Create a new executor with recursion enabled instead of mutating this instance
321
+ const recursiveExecutor = new RecursiveDiscussionExecutor({
322
+ providerExecutor: this.providerExecutor,
323
+ defaultTimeoutMs: this.defaultTimeoutMs,
324
+ checkProviderHealth: this.checkProviderHealth,
325
+ traceId: this.traceId,
326
+ recursive: {
327
+ ...this.recursiveConfig,
328
+ enabled: true,
329
+ maxDepth: options?.maxDepth ?? this.recursiveConfig.maxDepth,
330
+ },
331
+ timeout: this.timeoutConfig,
332
+ cost: this.costConfig,
333
+ parentContext: this.parentContext,
334
+ onSubDiscussionSpawn: this.onSubDiscussionSpawn,
335
+ onSubDiscussionComplete: this.onSubDiscussionComplete,
336
+ });
337
+ return recursiveExecutor.executeRequest({
338
+ topic,
339
+ pattern: 'synthesis',
340
+ providers: options?.providers,
341
+ rounds: 2,
342
+ }, options);
343
+ }
344
+ }
345
+ /**
346
+ * Create a recursive discussion executor with default options
347
+ */
348
+ export function createRecursiveDiscussionExecutor(providerExecutor, options) {
349
+ return new RecursiveDiscussionExecutor({
350
+ providerExecutor,
351
+ ...options,
352
+ });
353
+ }
354
+ //# sourceMappingURL=recursive-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recursive-executor.js","sourceRoot":"","sources":["../src/recursive-executor.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -66,6 +66,17 @@ export interface ProviderExecuteResult {
66
66
  /** Whether response was truncated */
67
67
  truncated?: boolean | undefined;
68
68
  }
69
+ /**
70
+ * Cascading confidence configuration for early exit
71
+ */
72
+ export interface CascadingConfidenceOptions {
73
+ /** Whether cascading confidence is enabled */
74
+ enabled: boolean;
75
+ /** Confidence threshold for early exit (0-1) */
76
+ threshold: number;
77
+ /** Minimum providers before early exit allowed */
78
+ minProviders: number;
79
+ }
69
80
  /**
70
81
  * Context passed to pattern executors
71
82
  */
@@ -82,6 +93,8 @@ export interface PatternExecutionContext {
82
93
  traceId?: string | undefined;
83
94
  /** Callback for progress updates */
84
95
  onProgress?: ((event: DiscussionProgressEvent) => void) | undefined;
96
+ /** Cascading confidence configuration for early exit */
97
+ cascadingConfidence?: CascadingConfidenceOptions | undefined;
85
98
  }
86
99
  /**
87
100
  * Progress event during discussion execution
@@ -93,6 +106,19 @@ export interface DiscussionProgressEvent {
93
106
  message?: string | undefined;
94
107
  timestamp: string;
95
108
  }
109
+ /**
110
+ * Early exit information
111
+ */
112
+ export interface EarlyExitInfo {
113
+ /** Whether early exit was triggered */
114
+ triggered: boolean;
115
+ /** Reason for early exit decision */
116
+ reason?: string | undefined;
117
+ /** Number of providers at exit point */
118
+ atProviderCount?: number | undefined;
119
+ /** Confidence score that triggered exit */
120
+ confidenceScore?: number | undefined;
121
+ }
96
122
  /**
97
123
  * Result from pattern execution
98
124
  */
@@ -109,6 +135,8 @@ export interface PatternExecutionResult {
109
135
  success: boolean;
110
136
  /** Error if execution failed */
111
137
  error?: string | undefined;
138
+ /** Early exit information */
139
+ earlyExit?: EarlyExitInfo | undefined;
112
140
  }
113
141
  /**
114
142
  * Interface for discussion pattern executors
@@ -133,6 +161,8 @@ export interface ConsensusExecutionContext {
133
161
  participatingProviders: string[];
134
162
  /** Consensus configuration */
135
163
  config: DiscussStepConfig['consensus'];
164
+ /** Agent weight multiplier for consensus (INV-DISC-642) */
165
+ agentWeightMultiplier?: number | undefined;
136
166
  /** Provider executor for synthesis calls */
137
167
  providerExecutor: DiscussionProviderExecutor;
138
168
  /** Abort signal */
@@ -181,6 +211,59 @@ export interface DiscussionExecutorOptions {
181
211
  /** Trace ID for debugging */
182
212
  traceId?: string | undefined;
183
213
  }
214
+ import type { DiscussionContext, TimeoutConfig, RecursiveConfig, CostControlConfig, SubDiscussionResult } from '@defai.digital/contracts';
215
+ /**
216
+ * Extended options for recursive discussion executor
217
+ */
218
+ export interface RecursiveDiscussionExecutorOptions extends DiscussionExecutorOptions {
219
+ /** Recursive discussion configuration */
220
+ recursive?: RecursiveConfig | undefined;
221
+ /** Timeout configuration */
222
+ timeout?: TimeoutConfig | undefined;
223
+ /** Cost control configuration */
224
+ cost?: CostControlConfig | undefined;
225
+ /** Parent context for nested discussions */
226
+ parentContext?: DiscussionContext | undefined;
227
+ /** Callback when sub-discussion is spawned */
228
+ onSubDiscussionSpawn?: ((context: DiscussionContext, topic: string) => void) | undefined;
229
+ /** Callback when sub-discussion completes */
230
+ onSubDiscussionComplete?: ((result: SubDiscussionResult) => void) | undefined;
231
+ }
232
+ /**
233
+ * Extended pattern execution context for recursive discussions
234
+ */
235
+ export interface RecursivePatternExecutionContext extends PatternExecutionContext {
236
+ /** Discussion context for recursion tracking */
237
+ discussionContext?: DiscussionContext | undefined;
238
+ /** Whether sub-discussions are allowed */
239
+ allowSubDiscussions?: boolean | undefined;
240
+ /** Function to spawn a sub-discussion */
241
+ spawnSubDiscussion?: ((topic: string, providers?: string[]) => Promise<SubDiscussionResult | null>) | undefined;
242
+ }
243
+ /**
244
+ * Extended pattern execution result with sub-discussion info
245
+ */
246
+ export interface RecursivePatternExecutionResult extends PatternExecutionResult {
247
+ /** Sub-discussions spawned during execution */
248
+ subDiscussions?: SubDiscussionResult[] | undefined;
249
+ /** Total calls including sub-discussions */
250
+ totalProviderCalls?: number | undefined;
251
+ }
252
+ /**
253
+ * Sub-discussion request
254
+ */
255
+ export interface SubDiscussionRequest {
256
+ /** Topic for sub-discussion */
257
+ topic: string;
258
+ /** Providers to use (optional, uses parent's allowed providers) */
259
+ providers?: string[] | undefined;
260
+ /** Pattern to use (defaults to synthesis) */
261
+ pattern?: DiscussionPattern | undefined;
262
+ /** Maximum rounds (defaults to 1 for sub-discussions) */
263
+ rounds?: number | undefined;
264
+ /** Requesting provider ID */
265
+ requestedBy: string;
266
+ }
184
267
  /**
185
268
  * Stub provider executor that returns mock responses.
186
269
  * Used for testing and development when real providers aren't available.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defai.digital/discussion-domain",
3
- "version": "13.0.3",
3
+ "version": "13.1.1",
4
4
  "type": "module",
5
5
  "description": "Multi-model discussion orchestration for AutomatosX",
6
6
  "license": "Apache-2.0",
@@ -33,7 +33,7 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@defai.digital/contracts": "13.0.3"
36
+ "@defai.digital/contracts": "13.1.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "typescript": "^5.7.2"