@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.
- package/dist/budget-manager.d.ts +79 -0
- package/dist/budget-manager.d.ts.map +1 -0
- package/dist/budget-manager.js +155 -0
- package/dist/budget-manager.js.map +1 -0
- package/dist/confidence-extractor.d.ts +60 -0
- package/dist/confidence-extractor.d.ts.map +1 -0
- package/dist/confidence-extractor.js +251 -0
- package/dist/confidence-extractor.js.map +1 -0
- package/dist/consensus/synthesis.d.ts.map +1 -1
- package/dist/consensus/synthesis.js +2 -0
- package/dist/consensus/synthesis.js.map +1 -1
- package/dist/consensus/voting.d.ts +3 -0
- package/dist/consensus/voting.d.ts.map +1 -1
- package/dist/consensus/voting.js +15 -4
- package/dist/consensus/voting.js.map +1 -1
- package/dist/context-tracker.d.ts +77 -0
- package/dist/context-tracker.d.ts.map +1 -0
- package/dist/context-tracker.js +177 -0
- package/dist/context-tracker.js.map +1 -0
- package/dist/cost-tracker.d.ts +123 -0
- package/dist/cost-tracker.d.ts.map +1 -0
- package/dist/cost-tracker.js +196 -0
- package/dist/cost-tracker.js.map +1 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +9 -0
- package/dist/executor.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/participant-resolver.d.ts +111 -0
- package/dist/participant-resolver.d.ts.map +1 -0
- package/dist/participant-resolver.js +160 -0
- package/dist/participant-resolver.js.map +1 -0
- package/dist/patterns/round-robin.d.ts +3 -0
- package/dist/patterns/round-robin.d.ts.map +1 -1
- package/dist/patterns/round-robin.js +41 -2
- package/dist/patterns/round-robin.js.map +1 -1
- package/dist/patterns/synthesis.d.ts +3 -0
- package/dist/patterns/synthesis.d.ts.map +1 -1
- package/dist/patterns/synthesis.js +77 -3
- package/dist/patterns/synthesis.js.map +1 -1
- package/dist/prompts/templates.d.ts +1 -0
- package/dist/prompts/templates.d.ts.map +1 -1
- package/dist/prompts/templates.js +3 -1
- package/dist/prompts/templates.js.map +1 -1
- package/dist/provider-bridge.d.ts +3 -1
- package/dist/provider-bridge.d.ts.map +1 -1
- package/dist/provider-bridge.js +48 -32
- package/dist/provider-bridge.js.map +1 -1
- package/dist/recursive-executor.d.ts +80 -0
- package/dist/recursive-executor.d.ts.map +1 -0
- package/dist/recursive-executor.js +354 -0
- package/dist/recursive-executor.js.map +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/src/budget-manager.ts +272 -0
- package/src/confidence-extractor.ts +321 -0
- package/src/consensus/synthesis.ts +2 -0
- package/src/consensus/voting.ts +22 -6
- package/src/context-tracker.ts +307 -0
- package/src/cost-tracker.ts +363 -0
- package/src/executor.ts +9 -0
- package/src/index.ts +72 -0
- package/src/participant-resolver.ts +297 -0
- package/src/patterns/round-robin.ts +48 -2
- package/src/patterns/synthesis.ts +89 -3
- package/src/prompts/templates.ts +4 -2
- package/src/provider-bridge.ts +52 -31
- package/src/recursive-executor.ts +510 -0
- 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.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,0BAA0B,CAAC;AAMlC;;;;;;;;;GASG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEzE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD;;OAEG;IACH,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IAEjB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEhC,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAMD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mCAAmC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAE1B,yCAAyC;IACzC,gBAAgB,EAAE,0BAA0B,CAAC;IAE7C,mCAAmC;IACnC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEtC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,oCAAoC;IACpC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;
|
|
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":"AAAA;;;;GAIG;
|
|
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.
|
|
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.
|
|
36
|
+
"@defai.digital/contracts": "13.1.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"typescript": "^5.7.2"
|