@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,196 @@
1
+ /**
2
+ * Discussion Cost Tracker
3
+ *
4
+ * Tracks costs and resource usage across discussion execution.
5
+ * Enforces budget limits and provides visibility into spending.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-620: Total calls ≤ maxTotalCalls
9
+ * - INV-DISC-621: Abort if cost budget exceeded
10
+ */
11
+ import { DEFAULT_MAX_TOTAL_CALLS } from '@defai.digital/contracts';
12
+ /**
13
+ * Cost per provider (approximate, in USD per 1K tokens)
14
+ * These are rough estimates for planning purposes
15
+ */
16
+ export const PROVIDER_COSTS = {
17
+ claude: { input: 0.003, output: 0.015 },
18
+ gemini: { input: 0.0005, output: 0.0015 },
19
+ codex: { input: 0.003, output: 0.006 },
20
+ qwen: { input: 0.001, output: 0.002 },
21
+ glm: { input: 0.001, output: 0.002 },
22
+ grok: { input: 0.002, output: 0.004 },
23
+ };
24
+ /**
25
+ * Default cost per provider if not in the map
26
+ */
27
+ const DEFAULT_COST = { input: 0.002, output: 0.004 };
28
+ /**
29
+ * Create a cost tracker for a discussion
30
+ */
31
+ export function createCostTracker(config, parentTracker) {
32
+ const calls = [];
33
+ const maxTotalCalls = config.maxTotalCalls ?? DEFAULT_MAX_TOTAL_CALLS;
34
+ const budgetUsd = config.budgetUsd;
35
+ // Track inherited calls from parent
36
+ const parentCalls = parentTracker?.getTotalCalls() ?? 0;
37
+ return {
38
+ recordCall(record) {
39
+ const cost = estimateCallCost(record.providerId, record.inputTokens, record.outputTokens);
40
+ calls.push({
41
+ ...record,
42
+ estimatedCostUsd: cost,
43
+ timestamp: new Date().toISOString(),
44
+ });
45
+ },
46
+ checkBudget(providerId, estimatedTokens = 1000) {
47
+ const currentCalls = calls.length + parentCalls;
48
+ const currentCost = calls.reduce((sum, c) => sum + c.estimatedCostUsd, 0);
49
+ // Check call limit
50
+ if (currentCalls >= maxTotalCalls) {
51
+ return {
52
+ allowed: false,
53
+ reason: `Call limit ${maxTotalCalls} reached`,
54
+ currentCalls,
55
+ currentCostUsd: currentCost,
56
+ };
57
+ }
58
+ // Check budget limit if configured
59
+ if (budgetUsd !== undefined) {
60
+ const estimatedCost = estimateCallCost(providerId, estimatedTokens, estimatedTokens);
61
+ if (currentCost + estimatedCost > budgetUsd) {
62
+ return {
63
+ allowed: false,
64
+ reason: `Budget limit $${budgetUsd.toFixed(2)} would be exceeded`,
65
+ currentCalls,
66
+ currentCostUsd: currentCost,
67
+ estimatedCostUsd: estimatedCost,
68
+ };
69
+ }
70
+ }
71
+ return {
72
+ allowed: true,
73
+ currentCalls,
74
+ currentCostUsd: currentCost,
75
+ };
76
+ },
77
+ getSummary() {
78
+ const byProvider = {};
79
+ const byDepth = {};
80
+ let totalInputTokens = 0;
81
+ let totalOutputTokens = 0;
82
+ let totalCostUsd = 0;
83
+ for (const call of calls) {
84
+ // Aggregate by provider
85
+ if (!byProvider[call.providerId]) {
86
+ byProvider[call.providerId] = {
87
+ calls: 0,
88
+ inputTokens: 0,
89
+ outputTokens: 0,
90
+ costUsd: 0,
91
+ };
92
+ }
93
+ const providerStats = byProvider[call.providerId];
94
+ providerStats.calls++;
95
+ providerStats.inputTokens += call.inputTokens;
96
+ providerStats.outputTokens += call.outputTokens;
97
+ providerStats.costUsd += call.estimatedCostUsd;
98
+ // Aggregate by depth
99
+ if (!byDepth[call.depth]) {
100
+ byDepth[call.depth] = { calls: 0, costUsd: 0 };
101
+ }
102
+ const depthStats = byDepth[call.depth];
103
+ depthStats.calls++;
104
+ depthStats.costUsd += call.estimatedCostUsd;
105
+ // Totals
106
+ totalInputTokens += call.inputTokens;
107
+ totalOutputTokens += call.outputTokens;
108
+ totalCostUsd += call.estimatedCostUsd;
109
+ }
110
+ const totalCalls = calls.length + parentCalls;
111
+ return {
112
+ totalCalls,
113
+ totalInputTokens,
114
+ totalOutputTokens,
115
+ totalCostUsd,
116
+ byProvider,
117
+ byDepth,
118
+ budgetExceeded: budgetUsd !== undefined && totalCostUsd > budgetUsd,
119
+ callLimitExceeded: totalCalls >= maxTotalCalls,
120
+ remainingBudgetUsd: budgetUsd !== undefined ? Math.max(0, budgetUsd - totalCostUsd) : undefined,
121
+ remainingCalls: Math.max(0, maxTotalCalls - totalCalls),
122
+ };
123
+ },
124
+ getTotalCalls() {
125
+ return calls.length + parentCalls;
126
+ },
127
+ getRemainingCalls() {
128
+ return Math.max(0, maxTotalCalls - (calls.length + parentCalls));
129
+ },
130
+ isBudgetExceeded() {
131
+ if (budgetUsd === undefined)
132
+ return false;
133
+ const totalCost = calls.reduce((sum, c) => sum + c.estimatedCostUsd, 0);
134
+ return totalCost > budgetUsd;
135
+ },
136
+ isCallLimitExceeded() {
137
+ return calls.length + parentCalls > maxTotalCalls;
138
+ },
139
+ estimateCost(providerId, inputTokens, outputTokens) {
140
+ return estimateCallCost(providerId, inputTokens, outputTokens);
141
+ },
142
+ createChildTracker(depth) {
143
+ // Child tracker inherits call count from parent
144
+ const childConfig = { ...config };
145
+ const childTracker = createCostTracker(childConfig, this);
146
+ // Wrapper to set depth on all recorded calls
147
+ const originalRecord = childTracker.recordCall.bind(childTracker);
148
+ childTracker.recordCall = (record) => {
149
+ originalRecord({ ...record, depth });
150
+ };
151
+ return childTracker;
152
+ },
153
+ };
154
+ }
155
+ /**
156
+ * Estimate cost for a provider call
157
+ */
158
+ function estimateCallCost(providerId, inputTokens, outputTokens) {
159
+ const costs = PROVIDER_COSTS[providerId] || DEFAULT_COST;
160
+ const inputCost = (inputTokens / 1000) * costs.input;
161
+ const outputCost = (outputTokens / 1000) * costs.output;
162
+ return inputCost + outputCost;
163
+ }
164
+ /**
165
+ * Format cost for display
166
+ */
167
+ export function formatCost(costUsd) {
168
+ if (costUsd < 0.01) {
169
+ // Display in cents without dollar sign
170
+ return `${(costUsd * 100).toFixed(2)}¢`;
171
+ }
172
+ return `$${costUsd.toFixed(4)}`;
173
+ }
174
+ /**
175
+ * Format cost summary for CLI/logs
176
+ */
177
+ export function formatCostSummary(summary) {
178
+ const lines = [
179
+ `Cost Summary:`,
180
+ ` Total Calls: ${summary.totalCalls}`,
181
+ ` Total Tokens: ${summary.totalInputTokens} in / ${summary.totalOutputTokens} out`,
182
+ ` Estimated Cost: ${formatCost(summary.totalCostUsd)}`,
183
+ ];
184
+ if (summary.remainingBudgetUsd !== undefined) {
185
+ lines.push(` Remaining Budget: ${formatCost(summary.remainingBudgetUsd)}`);
186
+ }
187
+ lines.push(` Remaining Calls: ${summary.remainingCalls}`);
188
+ if (Object.keys(summary.byProvider).length > 0) {
189
+ lines.push(` By Provider:`);
190
+ for (const [provider, data] of Object.entries(summary.byProvider)) {
191
+ lines.push(` ${provider}: ${data.calls} calls, ${formatCost(data.costUsd)}`);
192
+ }
193
+ }
194
+ return lines.join('\n');
195
+ }
196
+ //# sourceMappingURL=cost-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../src/cost-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsD;IAC/E,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACvC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IACzC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACtC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACrC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACpC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AA4HrD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAyB,EACzB,aAAqC;IAErC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,uBAAuB,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,oCAAoC;IACpC,MAAM,WAAW,GAAG,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAExD,OAAO;QACL,UAAU,CAAC,MAAM;YACf,MAAM,IAAI,GAAG,gBAAgB,CAC3B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,CACpB,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,MAAM;gBACT,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAED,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;YAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;YAChD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAE1E,mBAAmB;YACnB,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,cAAc,aAAa,UAAU;oBAC7C,YAAY;oBACZ,cAAc,EAAE,WAAW;iBAC5B,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;gBACrF,IAAI,WAAW,GAAG,aAAa,GAAG,SAAS,EAAE,CAAC;oBAC5C,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,iBAAiB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB;wBACjE,YAAY;wBACZ,cAAc,EAAE,WAAW;wBAC3B,gBAAgB,EAAE,aAAa;qBAChC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY;gBACZ,cAAc,EAAE,WAAW;aAC5B,CAAC;QACJ,CAAC;QAED,UAAU;YACR,MAAM,UAAU,GAA8B,EAAE,CAAC;YACjD,MAAM,OAAO,GAA2B,EAAE,CAAC;YAE3C,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,wBAAwB;gBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;wBAC5B,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,CAAC;wBACd,YAAY,EAAE,CAAC;wBACf,OAAO,EAAE,CAAC;qBACX,CAAC;gBACJ,CAAC;gBACD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC;gBACnD,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;gBAC9C,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;gBAChD,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC;gBAE/C,qBAAqB;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACjD,CAAC;gBACD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;gBACxC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC;gBAE5C,SAAS;gBACT,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;gBACrC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC;gBACvC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC;YACxC,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;YAE9C,OAAO;gBACL,UAAU;gBACV,gBAAgB;gBAChB,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,OAAO;gBACP,cAAc,EAAE,SAAS,KAAK,SAAS,IAAI,YAAY,GAAG,SAAS;gBACnE,iBAAiB,EAAE,UAAU,IAAI,aAAa;gBAC9C,kBAAkB,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/F,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;aACxD,CAAC;QACJ,CAAC;QAED,aAAa;YACX,OAAO,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QACpC,CAAC;QAED,iBAAiB;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,gBAAgB;YACd,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,mBAAmB;YACjB,OAAO,KAAK,CAAC,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;QACpD,CAAC;QAED,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY;YAChD,OAAO,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC;QAED,kBAAkB,CAAC,KAAa;YAC9B,gDAAgD;YAChD,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE1D,6CAA6C;YAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,YAAY,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;gBACnC,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,UAAkB,EAClB,WAAmB,EACnB,YAAoB;IAEpB,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC;IAEzD,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACrD,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAExD,OAAO,SAAS,GAAG,UAAU,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,uCAAuC;QACvC,OAAO,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,MAAM,KAAK,GAAa;QACtB,eAAe;QACf,kBAAkB,OAAO,CAAC,UAAU,EAAE;QACtC,mBAAmB,OAAO,CAAC,gBAAgB,SAAS,OAAO,CAAC,iBAAiB,MAAM;QACnF,qBAAqB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;KACxD,CAAC;IAEF,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE3D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,KAAK,IAAI,CAAC,KAAK,WAAW,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAEzB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,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;gBAEjC,OAAO,EAAE,yBAAyB;IAO9C;;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,gBAAgB,CAAC;IAwB5B;;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,gBAAgB,CAAC;IAgH5B;;OAEG;YACW,cAAc;IAuB5B;;OAEG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,gBAAgB,CAAC;IAY5B;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,SAAS,SAAW,EACpB,QAAQ,SAAQ,EAChB,KAAK,SAAW,EAChB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,gBAAgB,CAAC;IA2B5B;;OAEG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,gBAAgB,CAAC;CAsB7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,0BAA0B,EAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC,GACrE,kBAAkB,CAKpB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAEzB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,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;gBAEjC,OAAO,EAAE,yBAAyB;IAO9C;;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,gBAAgB,CAAC;IAyB5B;;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,gBAAgB,CAAC;IAsH5B;;OAEG;YACW,cAAc;IAuB5B;;OAEG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,gBAAgB,CAAC;IAY5B;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,SAAS,SAAW,EACpB,QAAQ,SAAQ,EAChB,KAAK,SAAW,EAChB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,gBAAgB,CAAC;IA4B5B;;OAEG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,GACA,OAAO,CAAC,gBAAgB,CAAC;CAuB7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,0BAA0B,EAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC,GACrE,kBAAkB,CAKpB"}
package/dist/executor.js CHANGED
@@ -51,6 +51,7 @@ export class DiscussionExecutor {
51
51
  continueOnProviderFailure: true,
52
52
  minProviders: 2,
53
53
  temperature: 0.7,
54
+ agentWeightMultiplier: 1.5,
54
55
  };
55
56
  return this.execute(config, options);
56
57
  }
@@ -87,6 +88,7 @@ export class DiscussionExecutor {
87
88
  abortSignal,
88
89
  traceId: this.traceId,
89
90
  onProgress,
91
+ // No cascading confidence for base executor (recursive executor handles this)
90
92
  };
91
93
  // Execute pattern
92
94
  const patternResult = await patternExecutor.execute(patternContext);
@@ -100,6 +102,7 @@ export class DiscussionExecutor {
100
102
  rounds: patternResult.rounds,
101
103
  participatingProviders: patternResult.participatingProviders,
102
104
  config: config.consensus,
105
+ agentWeightMultiplier: config.agentWeightMultiplier,
103
106
  providerExecutor: this.providerExecutor,
104
107
  abortSignal,
105
108
  onProgress,
@@ -123,6 +126,10 @@ export class DiscussionExecutor {
123
126
  startedAt,
124
127
  completedAt: new Date().toISOString(),
125
128
  traceId: this.traceId,
129
+ // Include early exit info if pattern triggered it
130
+ ...(patternResult.earlyExit?.triggered ? {
131
+ earlyExit: patternResult.earlyExit,
132
+ } : {}),
126
133
  },
127
134
  };
128
135
  return result;
@@ -184,6 +191,7 @@ export class DiscussionExecutor {
184
191
  continueOnProviderFailure: false, // Debates require all participants
185
192
  minProviders: 3,
186
193
  temperature: 0.7,
194
+ agentWeightMultiplier: 1.5,
187
195
  };
188
196
  return this.execute(config, options);
189
197
  }
@@ -207,6 +215,7 @@ export class DiscussionExecutor {
207
215
  continueOnProviderFailure: true,
208
216
  minProviders: 2,
209
217
  temperature: 0.5, // Lower temperature for more consistent voting
218
+ agentWeightMultiplier: 1.5,
210
219
  };
211
220
  return this.execute(config, options);
212
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,10 +7,16 @@
7
7
  * @module @defai.digital/discussion-domain
8
8
  */
9
9
  export { DiscussionExecutor, createDiscussionExecutor } from './executor.js';
10
- export type { DiscussionProviderExecutor, ProviderExecuteRequest, ProviderExecuteResult, PatternExecutor, PatternExecutionContext, PatternExecutionResult, ConsensusExecutor, ConsensusExecutionContext, ConsensusExecutionResult, DiscussionExecutorOptions, DiscussionProgressEvent, } from './types.js';
10
+ export { RecursiveDiscussionExecutor, createRecursiveDiscussionExecutor, type RecursiveDiscussionResult, } from './recursive-executor.js';
11
+ export { createContextTracker, DiscussionContextError, type DiscussionContextTracker, type SubDiscussionCheck, type ContextTrackerConfig, } from './context-tracker.js';
12
+ export { createBudgetManager, formatBudgetStatus, recommendProvidersForBudget, type DiscussionBudgetManager, type BudgetAllocation, type BudgetStatus, } from './budget-manager.js';
13
+ export type { DiscussionProviderExecutor, ProviderExecuteRequest, ProviderExecuteResult, PatternExecutor, PatternExecutionContext, PatternExecutionResult, ConsensusExecutor, ConsensusExecutionContext, ConsensusExecutionResult, DiscussionExecutorOptions, DiscussionProgressEvent, CascadingConfidenceOptions, EarlyExitInfo, RecursiveDiscussionExecutorOptions, RecursivePatternExecutionContext, RecursivePatternExecutionResult, SubDiscussionRequest, } from './types.js';
11
14
  export { StubProviderExecutor } from './types.js';
15
+ export { extractConfidence, evaluateEarlyExit, calculateAgreementScore, DEFAULT_CASCADING_CONFIDENCE, type ExtractedConfidence, type EarlyExitDecision, } from './confidence-extractor.js';
16
+ export { createCostTracker, formatCost, formatCostSummary, PROVIDER_COSTS, type DiscussionCostTracker, type ProviderCallRecord, type CostSummary, type BudgetCheckResult, } from './cost-tracker.js';
12
17
  export { RoundRobinPattern, SynthesisPattern, DebatePattern, CritiquePattern, VotingPattern, getPatternExecutor, isPatternSupported, getSupportedPatterns, } from './patterns/index.js';
13
18
  export { SynthesisConsensus, VotingConsensus, ModeratorConsensus, getConsensusExecutor, isConsensusMethodSupported, getSupportedConsensusMethods, } from './consensus/index.js';
14
19
  export { getProviderSystemPrompt, interpolate, formatPreviousResponses, formatVotingOptions, formatVotes, getRolePromptModifier, } from './prompts/index.js';
15
20
  export { createProviderBridge, createSimpleProviderBridge, type ProviderRegistryLike, type ProviderBridgeOptions, } from './provider-bridge.js';
21
+ export { resolveParticipant, resolveParticipants, providersToParticipants, parseParticipantString, parseParticipantList, getProviderIds, buildEnhancedSystemPrompt, type ResolvedParticipant, type AgentProfileLike, type AgentRegistryLike, type AbilityManagerLike, type ParticipantResolverOptions, } from './participant-resolver.js';
16
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG7E,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EAEvB,0BAA0B,EAC1B,aAAa,EAEb,kCAAkC,EAClC,gCAAgC,EAChC,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -8,8 +8,18 @@
8
8
  */
9
9
  // Main executor
10
10
  export { DiscussionExecutor, createDiscussionExecutor } from './executor.js';
11
+ // Recursive executor
12
+ export { RecursiveDiscussionExecutor, createRecursiveDiscussionExecutor, } from './recursive-executor.js';
13
+ // Context tracker for recursion management
14
+ export { createContextTracker, DiscussionContextError, } from './context-tracker.js';
15
+ // Budget manager for timeout cascade
16
+ export { createBudgetManager, formatBudgetStatus, recommendProvidersForBudget, } from './budget-manager.js';
11
17
  // Stub implementation for testing
12
18
  export { StubProviderExecutor } from './types.js';
19
+ // Confidence extraction and early exit
20
+ export { extractConfidence, evaluateEarlyExit, calculateAgreementScore, DEFAULT_CASCADING_CONFIDENCE, } from './confidence-extractor.js';
21
+ // Cost tracking
22
+ export { createCostTracker, formatCost, formatCostSummary, PROVIDER_COSTS, } from './cost-tracker.js';
13
23
  // Pattern executors
14
24
  export { RoundRobinPattern, SynthesisPattern, DebatePattern, CritiquePattern, VotingPattern, getPatternExecutor, isPatternSupported, getSupportedPatterns, } from './patterns/index.js';
15
25
  // Consensus executors
@@ -18,4 +28,6 @@ export { SynthesisConsensus, VotingConsensus, ModeratorConsensus, getConsensusEx
18
28
  export { getProviderSystemPrompt, interpolate, formatPreviousResponses, formatVotingOptions, formatVotes, getRolePromptModifier, } from './prompts/index.js';
19
29
  // Provider bridge (for connecting to provider-adapters)
20
30
  export { createProviderBridge, createSimpleProviderBridge, } from './provider-bridge.js';
31
+ // Participant resolution (for agent/provider mixing)
32
+ export { resolveParticipant, resolveParticipants, providersToParticipants, parseParticipantString, parseParticipantList, getProviderIds, buildEnhancedSystemPrompt, } from './participant-resolver.js';
21
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAiB7E,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,wDAAwD;AACxD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAG3B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE7E,qBAAqB;AACrB,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAElC,MAAM,yBAAyB,CAAC;AAEjC,2CAA2C;AAC3C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAIvB,MAAM,sBAAsB,CAAC;AAE9B,qCAAqC;AACrC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAyB7B,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,uCAAuC;AACvC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,GAG7B,MAAM,2BAA2B,CAAC;AAEnC,gBAAgB;AAChB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAE3B,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,wDAAwD;AACxD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAG3B,MAAM,sBAAsB,CAAC;AAE9B,qDAAqD;AACrD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,yBAAyB,GAM1B,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Participant Resolver
3
+ *
4
+ * Resolves discussion participants (providers and agents) to their execution config.
5
+ * Handles agent-to-provider mapping using providerAffinity.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-640: Agent uses providerAffinity.preferred[0] for provider selection
9
+ * - INV-DISC-641: Agent abilities injected with max 10K tokens
10
+ * - INV-DISC-642: Agent weight multiplier between 0.5-3.0 (default 1.5)
11
+ */
12
+ import type { DiscussionParticipant } from '@defai.digital/contracts';
13
+ /**
14
+ * Resolved participant ready for discussion execution
15
+ */
16
+ export interface ResolvedParticipant {
17
+ /** Original participant identifier */
18
+ id: string;
19
+ /** Whether this is an agent (vs raw provider) */
20
+ isAgent: boolean;
21
+ /** Provider ID to use for LLM calls */
22
+ providerId: string;
23
+ /** Agent ID (if isAgent) */
24
+ agentId?: string | undefined;
25
+ /** System prompt override (from agent config) */
26
+ systemPromptOverride?: string | undefined;
27
+ /** Injected ability content */
28
+ abilityContent?: string | undefined;
29
+ /** Temperature override (from agent config) */
30
+ temperatureOverride?: number | undefined;
31
+ /** Weight multiplier for consensus (agents typically get higher weight) */
32
+ weightMultiplier: number;
33
+ }
34
+ /**
35
+ * Agent profile interface (subset needed for resolution)
36
+ */
37
+ export interface AgentProfileLike {
38
+ agentId: string;
39
+ systemPrompt?: string | undefined;
40
+ providerAffinity?: {
41
+ preferred?: string[] | undefined;
42
+ defaultSynthesizer?: string | undefined;
43
+ temperatureOverrides?: Record<string, number> | undefined;
44
+ } | undefined;
45
+ temperature?: number | undefined;
46
+ }
47
+ /**
48
+ * Agent registry interface for looking up agents
49
+ */
50
+ export interface AgentRegistryLike {
51
+ get(agentId: string): Promise<AgentProfileLike | null>;
52
+ }
53
+ /**
54
+ * Ability manager interface for injecting abilities
55
+ */
56
+ export interface AbilityManagerLike {
57
+ injectAbilities(agentId: string, task: string, coreAbilities: string[], options: {
58
+ maxAbilities: number;
59
+ maxTokens: number;
60
+ }): Promise<{
61
+ combinedContent: string;
62
+ injectedAbilities: string[];
63
+ }>;
64
+ }
65
+ /**
66
+ * Options for participant resolution
67
+ */
68
+ export interface ParticipantResolverOptions {
69
+ /** Agent registry for looking up agents */
70
+ agentRegistry?: AgentRegistryLike | undefined;
71
+ /** Ability manager for injecting abilities */
72
+ abilityManager?: AbilityManagerLike | undefined;
73
+ /** Default provider to use when agent has no preference */
74
+ defaultProvider?: string | undefined;
75
+ /** Default weight multiplier for agent participants */
76
+ agentWeightMultiplier?: number | undefined;
77
+ /** Maximum tokens for ability injection */
78
+ maxAbilityTokens?: number | undefined;
79
+ /** Topic for ability matching */
80
+ topic?: string | undefined;
81
+ }
82
+ /**
83
+ * Resolve a single participant to execution config
84
+ */
85
+ export declare function resolveParticipant(participant: DiscussionParticipant, options?: ParticipantResolverOptions): Promise<ResolvedParticipant>;
86
+ /**
87
+ * Resolve multiple participants
88
+ */
89
+ export declare function resolveParticipants(participants: DiscussionParticipant[], options?: ParticipantResolverOptions): Promise<ResolvedParticipant[]>;
90
+ /**
91
+ * Convert legacy string provider list to participant array
92
+ */
93
+ export declare function providersToParticipants(providers: string[]): DiscussionParticipant[];
94
+ /**
95
+ * Parse participant string (e.g., "claude" or "reviewer:agent")
96
+ */
97
+ export declare function parseParticipantString(input: string): DiscussionParticipant;
98
+ /**
99
+ * Parse participant list from CLI input
100
+ * Format: "claude,glm,reviewer:agent,security:agent"
101
+ */
102
+ export declare function parseParticipantList(input: string): DiscussionParticipant[];
103
+ /**
104
+ * Get provider IDs from resolved participants
105
+ */
106
+ export declare function getProviderIds(participants: ResolvedParticipant[]): string[];
107
+ /**
108
+ * Build enhanced system prompt with agent context
109
+ */
110
+ export declare function buildEnhancedSystemPrompt(basePrompt: string, participant: ResolvedParticipant): string;
111
+ //# sourceMappingURL=participant-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participant-resolver.d.ts","sourceRoot":"","sources":["../src/participant-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Participant Resolver
3
+ *
4
+ * Resolves discussion participants (providers and agents) to their execution config.
5
+ * Handles agent-to-provider mapping using providerAffinity.
6
+ *
7
+ * Invariants:
8
+ * - INV-DISC-640: Agent uses providerAffinity.preferred[0] for provider selection
9
+ * - INV-DISC-641: Agent abilities injected with max 10K tokens
10
+ * - INV-DISC-642: Agent weight multiplier between 0.5-3.0 (default 1.5)
11
+ */
12
+ /**
13
+ * Default provider when agent has no preference
14
+ */
15
+ const DEFAULT_PROVIDER = 'claude';
16
+ /**
17
+ * Default agent weight multiplier (INV-DISC-642)
18
+ */
19
+ const DEFAULT_AGENT_WEIGHT = 1.5;
20
+ /**
21
+ * Maximum tokens for ability injection (INV-DISC-641)
22
+ */
23
+ const DEFAULT_MAX_ABILITY_TOKENS = 10000;
24
+ /**
25
+ * Resolve a single participant to execution config
26
+ */
27
+ export async function resolveParticipant(participant, options = {}) {
28
+ const { agentRegistry, abilityManager, defaultProvider = DEFAULT_PROVIDER, agentWeightMultiplier = DEFAULT_AGENT_WEIGHT, maxAbilityTokens = DEFAULT_MAX_ABILITY_TOKENS, topic = '', } = options;
29
+ // Provider participant - simple resolution
30
+ if (participant.type === 'provider') {
31
+ return {
32
+ id: participant.id,
33
+ isAgent: false,
34
+ providerId: participant.id,
35
+ weightMultiplier: 1.0, // Base weight for providers
36
+ };
37
+ }
38
+ // Agent participant - resolve via registry
39
+ const agentId = participant.id;
40
+ // If no registry, fall back to default provider with agent weight
41
+ if (!agentRegistry) {
42
+ return {
43
+ id: agentId,
44
+ isAgent: true,
45
+ providerId: defaultProvider,
46
+ agentId,
47
+ weightMultiplier: agentWeightMultiplier,
48
+ };
49
+ }
50
+ // Look up agent
51
+ const agent = await agentRegistry.get(agentId);
52
+ if (!agent) {
53
+ // Agent not found, fall back to default provider
54
+ return {
55
+ id: agentId,
56
+ isAgent: true,
57
+ providerId: defaultProvider,
58
+ agentId,
59
+ weightMultiplier: agentWeightMultiplier,
60
+ };
61
+ }
62
+ // INV-DISC-640: Use providerAffinity.preferred[0] or fallback to default
63
+ const providerId = agent.providerAffinity?.preferred?.[0] ?? defaultProvider;
64
+ // Get temperature override if configured
65
+ const temperatureOverride = agent.providerAffinity?.temperatureOverrides?.[providerId]
66
+ ?? agent.temperature;
67
+ // Build resolved participant
68
+ const resolved = {
69
+ id: agentId,
70
+ isAgent: true,
71
+ providerId,
72
+ agentId,
73
+ systemPromptOverride: agent.systemPrompt,
74
+ temperatureOverride,
75
+ weightMultiplier: agentWeightMultiplier,
76
+ };
77
+ // INV-DISC-641: Inject abilities if ability manager available
78
+ if (abilityManager && topic) {
79
+ try {
80
+ const injection = await abilityManager.injectAbilities(agentId, topic, [], // coreAbilities
81
+ { maxAbilities: 5, maxTokens: maxAbilityTokens });
82
+ if (injection.combinedContent) {
83
+ resolved.abilityContent = injection.combinedContent;
84
+ }
85
+ }
86
+ catch {
87
+ // Ability injection failed, continue without abilities
88
+ }
89
+ }
90
+ return resolved;
91
+ }
92
+ /**
93
+ * Resolve multiple participants
94
+ */
95
+ export async function resolveParticipants(participants, options = {}) {
96
+ const resolved = await Promise.all(participants.map(p => resolveParticipant(p, options)));
97
+ return resolved;
98
+ }
99
+ /**
100
+ * Convert legacy string provider list to participant array
101
+ */
102
+ export function providersToParticipants(providers) {
103
+ return providers.map(id => ({ type: 'provider', id }));
104
+ }
105
+ /**
106
+ * Parse participant string (e.g., "claude" or "reviewer:agent")
107
+ */
108
+ export function parseParticipantString(input) {
109
+ const parts = input.split(':');
110
+ if (parts.length === 2 && parts[1] === 'agent') {
111
+ return { type: 'agent', id: parts[0] };
112
+ }
113
+ return { type: 'provider', id: parts[0] };
114
+ }
115
+ /**
116
+ * Parse participant list from CLI input
117
+ * Format: "claude,glm,reviewer:agent,security:agent"
118
+ */
119
+ export function parseParticipantList(input) {
120
+ return input
121
+ .split(',')
122
+ .map(s => s.trim())
123
+ .filter(s => s.length > 0)
124
+ .map(parseParticipantString);
125
+ }
126
+ /**
127
+ * Get provider IDs from resolved participants
128
+ */
129
+ export function getProviderIds(participants) {
130
+ // Unique provider IDs preserving order
131
+ const seen = new Set();
132
+ const result = [];
133
+ for (const p of participants) {
134
+ if (!seen.has(p.providerId)) {
135
+ seen.add(p.providerId);
136
+ result.push(p.providerId);
137
+ }
138
+ }
139
+ return result;
140
+ }
141
+ /**
142
+ * Build enhanced system prompt with agent context
143
+ */
144
+ export function buildEnhancedSystemPrompt(basePrompt, participant) {
145
+ const parts = [];
146
+ // Add ability content first (provides domain knowledge)
147
+ if (participant.abilityContent) {
148
+ parts.push(participant.abilityContent);
149
+ parts.push('---');
150
+ }
151
+ // Add agent system prompt
152
+ if (participant.systemPromptOverride) {
153
+ parts.push(participant.systemPromptOverride);
154
+ parts.push('---');
155
+ }
156
+ // Add base system prompt
157
+ parts.push(basePrompt);
158
+ return parts.join('\n\n');
159
+ }
160
+ //# sourceMappingURL=participant-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participant-resolver.js","sourceRoot":"","sources":["../src/participant-resolver.ts"],"names":[],"mappings":"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"}