ai-consensus-core 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -233,6 +233,73 @@ export interface ModelCallResponse {
233
233
  4. **Don't swallow other errors.** Throw. The engine captures the error into `ParticipantResponse` and keeps running.
234
234
  5. **Return the full content verbatim.** Do not strip the trailing `CONFIDENCE:` line — the parser needs it.
235
235
 
236
+ ## Tool calling
237
+
238
+ Participants can invoke tools mid-turn. The library never executes a tool itself — it plumbs the request from the model to a host-supplied `ToolExecutor`, feeds the results back, and re-invokes the caller until the model returns final content (or `maxToolIterations` is exhausted).
239
+
240
+ ```ts
241
+ import { ConsensusEngine, type ToolDefinition, type ToolExecutor } from "ai-consensus-core";
242
+
243
+ const READ_FILE_TOOL: ToolDefinition = {
244
+ name: "read_file",
245
+ description: "Read a file by absolute path.",
246
+ parameters: { type: "object", properties: { path: { type: "string" } }, required: ["path"] },
247
+ };
248
+
249
+ const participants = [
250
+ {
251
+ id: "domain",
252
+ modelId: "claude-sonnet-4-6",
253
+ persona: domainExpertPersona,
254
+ tools: [READ_FILE_TOOL], // declared per-participant
255
+ },
256
+ // …
257
+ ];
258
+
259
+ const toolExecutor: ToolExecutor = async (call, ctx) => {
260
+ // ctx: { participantId, round, phase, signal? }
261
+ if (call.name === "read_file") {
262
+ const args = call.arguments as { path: string };
263
+ return { content: await readFile(args.path, "utf8") };
264
+ // …or { error: "permission denied" } to feed an error back into the conversation
265
+ }
266
+ return { error: `unknown tool ${call.name}` };
267
+ };
268
+
269
+ const engine = new ConsensusEngine(modelCaller);
270
+ const result = await engine.run({
271
+ question: "What does the build output say?",
272
+ participants,
273
+ toolExecutor,
274
+ maxToolIterations: 8, // optional, default 8, clamped to [1, 32]
275
+ });
276
+ ```
277
+
278
+ **ModelCaller responsibilities** (when `tools` is present on the request):
279
+
280
+ - Translate the `tools` array into whatever the underlying provider expects (OpenAI's `tools`, Anthropic's `tools`, etc.).
281
+ - Translate `toolCallTurns` (when present, on follow-up calls) into the conversation history the provider expects — typically: assistant message with tool_calls, then tool messages with results, in order.
282
+ - Parse the model's response and surface `toolCalls` on `ModelCallResponse` if the model wants to dispatch tools. Each `ToolCall` carries `{ id, name, arguments }` where `arguments` is **already JSON-parsed**. The library never parses the model's raw argument string.
283
+
284
+ **Engine guarantees:**
285
+
286
+ - The tool loop runs **per participant turn**, separately for each model call. Tool history does not leak between participants or between rounds.
287
+ - The executor receives a fresh `ToolCallContext` (with `participantId`, `round`, `phase`, `signal`) per call.
288
+ - An exception thrown by the executor is captured as a `{ error: message }` result and forwarded back into the conversation — the participant turn does not abort.
289
+ - `AbortError` thrown by the executor (or `signal` triggered) propagates up and aborts the whole run with `stopReason: "aborted"`.
290
+ - Hitting `maxToolIterations` breaks the loop and uses the last response's `content` — even if the model still wants more tools.
291
+ - Without `toolExecutor`, the engine ignores any `toolCalls` on the response: 0.10 behaviour preserved exactly.
292
+
293
+ **Events:**
294
+
295
+ ```ts
296
+ engine.on("toolCallStart", (e: ToolCallStartEvent) => void);
297
+ engine.on("toolCallComplete", (e: ToolCallCompleteEvent) => void); // ok: boolean, durationMs, preview (≤ 200 chars)
298
+ engine.on("toolError", (e: ToolErrorEvent) => void); // fires when ok === false
299
+ ```
300
+
301
+ `iteration` (1-based) on these events disambiguates round-trips within a single participant turn.
302
+
236
303
  ## Events
237
304
 
238
305
  ```ts
@@ -248,6 +315,9 @@ engine.on("synthesisStart", (e: SynthesisStartEvent) => void);
248
315
  engine.on("synthesisToken", (e: SynthesisTokenEvent) => void);
249
316
  engine.on("synthesisComplete", (e: SynthesisCompleteEvent) => void);
250
317
  engine.on("finalResult", (e: FinalResultEvent) => void);
318
+ engine.on("toolCallStart", (e: ToolCallStartEvent) => void); // per dispatch
319
+ engine.on("toolCallComplete", (e: ToolCallCompleteEvent) => void);
320
+ engine.on("toolError", (e: ToolErrorEvent) => void); // ok === false
251
321
  engine.on("error", (err: Error) => void);
252
322
  ```
253
323
 
package/dist/engine.d.ts CHANGED
@@ -11,8 +11,10 @@ declare const DEFAULTS: {
11
11
  readonly maxOutputTokens: 1500;
12
12
  readonly judgeTemperature: 0.3;
13
13
  readonly judgeMaxOutputTokens: 1500;
14
+ readonly maxToolIterations: 8;
14
15
  };
15
16
  declare const MAX_ROUNDS_CAP = 10;
17
+ declare const MAX_TOOL_ITERATIONS_CAP = 32;
16
18
  export declare class ConsensusEngine extends TypedEventEmitter<ConsensusEventMap> {
17
19
  #private;
18
20
  constructor(caller: ModelCaller);
@@ -26,5 +28,5 @@ export declare class ConsensusEngine extends TypedEventEmitter<ConsensusEventMap
26
28
  */
27
29
  run(options: ConsensusOptions): Promise<ConsensusResult>;
28
30
  }
29
- export { DEFAULTS as CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP };
31
+ export { DEFAULTS as CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP, MAX_TOOL_ITERATIONS_CAP };
30
32
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqBhD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEf,WAAW,EAOZ,MAAM,YAAY,CAAC;AAIpB,QAAA,MAAM,QAAQ;;;;;;;;;;;CAWJ,CAAC;AAEX,QAAA,MAAM,cAAc,KAAK,CAAC;AAK1B,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;;gBAG3D,MAAM,EAAE,WAAW;IAK/B;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CA4b/D;AA+ED,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqBhD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAIf,WAAW,EAaZ,MAAM,YAAY,CAAC;AAIpB,QAAA,MAAM,QAAQ;;;;;;;;;;;;CAYJ,CAAC;AAEX,QAAA,MAAM,cAAc,KAAK,CAAC;AAE1B,QAAA,MAAM,uBAAuB,KAAK,CAAC;AAKnC,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;;gBAG3D,MAAM,EAAE,WAAW;IAK/B;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CAynB/D;AAwGD,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC"}
package/dist/engine.js CHANGED
@@ -24,9 +24,12 @@ const DEFAULTS = {
24
24
  maxOutputTokens: 1500,
25
25
  judgeTemperature: 0.3,
26
26
  judgeMaxOutputTokens: 1500,
27
+ maxToolIterations: 8,
27
28
  };
28
29
  const MAX_ROUNDS_CAP = 10;
29
30
  const MIN_PARTICIPANTS = 2;
31
+ const MAX_TOOL_ITERATIONS_CAP = 32;
32
+ const TOOL_RESULT_PREVIEW_CHARS = 200;
30
33
  // ── Public engine ──────────────────────────────────────────
31
34
  export class ConsensusEngine extends TypedEventEmitter {
32
35
  #caller;
@@ -79,6 +82,8 @@ export class ConsensusEngine extends TypedEventEmitter {
79
82
  temperature: opts.participantTemperature,
80
83
  maxOutputTokens: opts.maxOutputTokens,
81
84
  signal: opts.signal,
85
+ toolExecutor: opts.toolExecutor,
86
+ maxToolIterations: opts.maxToolIterations,
82
87
  });
83
88
  const roundCompletedAt = Date.now();
84
89
  allResponses.push(...roundResponses);
@@ -208,7 +213,7 @@ export class ConsensusEngine extends TypedEventEmitter {
208
213
  }
209
214
  // ── Round orchestration ──────────────────────────────────
210
215
  async #runRound(args) {
211
- const { round, phase, blind, order, previousResponses, totalRounds, question, temperature, maxOutputTokens, signal, } = args;
216
+ const { round, phase, blind, order, previousResponses, totalRounds, question, temperature, maxOutputTokens, signal, toolExecutor, maxToolIterations, } = args;
212
217
  if (blind) {
213
218
  const promises = order.map((participant) => this.#callParticipant({
214
219
  participant,
@@ -221,6 +226,8 @@ export class ConsensusEngine extends TypedEventEmitter {
221
226
  maxOutputTokens,
222
227
  signal,
223
228
  runningConfidences: [],
229
+ toolExecutor,
230
+ maxToolIterations,
224
231
  }));
225
232
  return Promise.all(promises);
226
233
  }
@@ -228,9 +235,7 @@ export class ConsensusEngine extends TypedEventEmitter {
228
235
  for (const participant of order) {
229
236
  throwIfAborted(signal);
230
237
  const visible = [...previousResponses, ...collected];
231
- const confidencesSoFar = collected
232
- .filter((r) => !r.error)
233
- .map((r) => r.confidence);
238
+ const confidencesSoFar = collected.filter((r) => !r.error).map((r) => r.confidence);
234
239
  const response = await this.#callParticipant({
235
240
  participant,
236
241
  round,
@@ -242,6 +247,8 @@ export class ConsensusEngine extends TypedEventEmitter {
242
247
  maxOutputTokens,
243
248
  signal,
244
249
  runningConfidences: confidencesSoFar,
250
+ toolExecutor,
251
+ maxToolIterations,
245
252
  });
246
253
  collected.push(response);
247
254
  }
@@ -249,7 +256,7 @@ export class ConsensusEngine extends TypedEventEmitter {
249
256
  }
250
257
  // ── Single participant call ──────────────────────────────
251
258
  async #callParticipant(args) {
252
- const { participant, round, phase, totalRounds, question, previousResponses, temperature, maxOutputTokens, signal, runningConfidences, } = args;
259
+ const { participant, round, phase, totalRounds, question, previousResponses, temperature, maxOutputTokens, signal, runningConfidences, toolExecutor, maxToolIterations, } = args;
253
260
  const system = buildParticipantSystemPrompt({
254
261
  personaSystemPrompt: participant.persona.systemPrompt,
255
262
  phase,
@@ -269,26 +276,20 @@ export class ConsensusEngine extends TypedEventEmitter {
269
276
  let error;
270
277
  let usage;
271
278
  try {
272
- const result = await this.#caller({
273
- participantId: participant.id,
274
- modelId: participant.modelId,
279
+ const turn = await this.#runParticipantTurn({
280
+ participant,
275
281
  round,
276
282
  phase,
277
283
  system,
278
- user: question,
284
+ question,
279
285
  temperature,
280
286
  maxOutputTokens,
281
287
  signal,
282
- onToken: (token) => {
283
- this.emit("participantToken", {
284
- round,
285
- participantId: participant.id,
286
- token,
287
- });
288
- },
288
+ toolExecutor,
289
+ maxToolIterations,
289
290
  });
290
- content = result.content;
291
- usage = result.usage;
291
+ content = turn.content;
292
+ usage = turn.usage;
292
293
  }
293
294
  catch (err) {
294
295
  if (isAbortError(err))
@@ -324,6 +325,148 @@ export class ConsensusEngine extends TypedEventEmitter {
324
325
  }
325
326
  return response;
326
327
  }
328
+ // ── Participant turn (handles the tool-call loop) ────────
329
+ /**
330
+ * Runs a participant's turn end-to-end. When `toolExecutor` is provided
331
+ * AND the participant declares tools AND the model returns tool-call
332
+ * requests, the engine loops:
333
+ * 1. Dispatch each tool call to the executor.
334
+ * 2. Append the (calls, results) pair to `toolCallTurns`.
335
+ * 3. Re-invoke the caller with the accumulated history.
336
+ * 4. Repeat until the response carries no tool calls or `maxToolIterations`
337
+ * is exceeded.
338
+ *
339
+ * Without an executor, this runs exactly one model call — preserving the
340
+ * 0.10 single-call behaviour byte-for-byte.
341
+ *
342
+ * Token usage from each iteration is summed; the final response's
343
+ * `content` is what becomes the participant's turn output.
344
+ */
345
+ async #runParticipantTurn(args) {
346
+ const { participant, round, phase, system, question, temperature, maxOutputTokens, signal, toolExecutor, maxToolIterations, } = args;
347
+ const tools = participant.tools && participant.tools.length > 0 ? participant.tools : undefined;
348
+ const useToolLoop = Boolean(toolExecutor) && tools !== undefined;
349
+ const toolCallTurns = [];
350
+ let mergedUsage;
351
+ let lastResponse;
352
+ let iter = 0;
353
+ while (true) {
354
+ const req = {
355
+ participantId: participant.id,
356
+ modelId: participant.modelId,
357
+ round,
358
+ phase,
359
+ system,
360
+ user: question,
361
+ temperature,
362
+ maxOutputTokens,
363
+ signal,
364
+ onToken: (token) => {
365
+ this.emit("participantToken", {
366
+ round,
367
+ participantId: participant.id,
368
+ token,
369
+ });
370
+ },
371
+ ...(tools !== undefined ? { tools } : {}),
372
+ ...(toolCallTurns.length > 0
373
+ ? { toolCallTurns: toolCallTurns.map((t) => ({ ...t })) }
374
+ : {}),
375
+ };
376
+ lastResponse = await this.#caller(req);
377
+ mergedUsage = mergeUsage(mergedUsage, lastResponse.usage);
378
+ const calls = lastResponse.toolCalls ?? [];
379
+ if (!useToolLoop || calls.length === 0)
380
+ break;
381
+ if (iter >= maxToolIterations)
382
+ break;
383
+ iter += 1;
384
+ const results = await this.#dispatchToolCalls({
385
+ participant,
386
+ round,
387
+ phase,
388
+ iteration: iter,
389
+ calls,
390
+ toolExecutor: toolExecutor,
391
+ signal,
392
+ });
393
+ toolCallTurns.push({ toolCalls: calls, toolResults: results });
394
+ }
395
+ return {
396
+ content: lastResponse?.content ?? "",
397
+ usage: mergedUsage,
398
+ };
399
+ }
400
+ /**
401
+ * Dispatch the tool calls of a single iteration through the host executor.
402
+ * Errors thrown by the executor are caught and converted into
403
+ * `{ error: message }` results so the conversation can continue. Aborts
404
+ * propagate up so the engine's outer abort handling can finalise the run.
405
+ */
406
+ async #dispatchToolCalls(args) {
407
+ const { participant, round, phase, iteration, calls, toolExecutor, signal } = args;
408
+ const ctx = {
409
+ participantId: participant.id,
410
+ round,
411
+ phase,
412
+ ...(signal ? { signal } : {}),
413
+ };
414
+ const results = [];
415
+ for (const call of calls) {
416
+ throwIfAborted(signal);
417
+ this.emit("toolCallStart", {
418
+ participantId: participant.id,
419
+ round,
420
+ phase,
421
+ iteration,
422
+ call,
423
+ });
424
+ const startedAt = Date.now();
425
+ let result;
426
+ try {
427
+ result = await toolExecutor(call, ctx);
428
+ }
429
+ catch (err) {
430
+ if (isAbortError(err))
431
+ throw err;
432
+ const message = err instanceof Error ? err.message : String(err);
433
+ result = { error: message };
434
+ }
435
+ results.push(result);
436
+ const ok = !("error" in result);
437
+ const previewSource = ok
438
+ ? "content" in result
439
+ ? result.content
440
+ : ""
441
+ : "error" in result
442
+ ? result.error
443
+ : "";
444
+ const preview = truncate(previewSource, TOOL_RESULT_PREVIEW_CHARS);
445
+ const durationMs = Date.now() - startedAt;
446
+ this.emit("toolCallComplete", {
447
+ participantId: participant.id,
448
+ round,
449
+ phase,
450
+ iteration,
451
+ call,
452
+ durationMs,
453
+ ok,
454
+ preview,
455
+ });
456
+ if (!ok) {
457
+ const error = "error" in result ? result.error : "unknown";
458
+ this.emit("toolError", {
459
+ participantId: participant.id,
460
+ round,
461
+ phase,
462
+ iteration,
463
+ call,
464
+ error,
465
+ });
466
+ }
467
+ }
468
+ return results;
469
+ }
327
470
  // ── Judge synthesizer ────────────────────────────────────
328
471
  async #runJudge(args) {
329
472
  const { judgeModelId, judgeCaller, judgeTemperature, judgeMaxOutputTokens, judgeSystemPrompt, finalResponses, participants, question, lastRoundNumber, signal, } = args;
@@ -395,6 +538,7 @@ function normalizeOptions(options) {
395
538
  ids.add(p.id);
396
539
  }
397
540
  const maxRounds = clampInt(options.maxRounds ?? DEFAULTS.maxRounds, 1, MAX_ROUNDS_CAP);
541
+ const maxToolIterations = clampInt(options.maxToolIterations ?? DEFAULTS.maxToolIterations, 1, MAX_TOOL_ITERATIONS_CAP);
398
542
  return {
399
543
  question: options.question,
400
544
  participants: options.participants.slice(),
@@ -409,6 +553,8 @@ function normalizeOptions(options) {
409
553
  judge: options.judge,
410
554
  randomSeed: options.randomSeed,
411
555
  signal: options.signal,
556
+ toolExecutor: options.toolExecutor,
557
+ maxToolIterations,
412
558
  };
413
559
  }
414
560
  function clampInt(n, lo, hi) {
@@ -423,7 +569,24 @@ function throwIfAborted(signal) {
423
569
  }
424
570
  }
425
571
  function isAbortError(err) {
426
- return (err instanceof DOMException && err.name === "AbortError") || (err instanceof Error && err.name === "AbortError");
572
+ return ((err instanceof DOMException && err.name === "AbortError") ||
573
+ (err instanceof Error && err.name === "AbortError"));
574
+ }
575
+ function mergeUsage(acc, next) {
576
+ if (!next)
577
+ return acc;
578
+ if (!acc)
579
+ return next;
580
+ return {
581
+ inputTokens: acc.inputTokens + next.inputTokens,
582
+ outputTokens: acc.outputTokens + next.outputTokens,
583
+ totalTokens: acc.totalTokens + next.totalTokens,
584
+ };
585
+ }
586
+ function truncate(s, n) {
587
+ if (typeof s !== "string")
588
+ return "";
589
+ return s.length <= n ? s : `${s.slice(0, n)}…`;
427
590
  }
428
- export { DEFAULTS as CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP };
591
+ export { DEFAULTS as CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP, MAX_TOOL_ITERATIONS_CAP };
429
592
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export { ConsensusEngine, CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP } from "./engine.js";
1
+ export { ConsensusEngine, CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP, MAX_TOOL_ITERATIONS_CAP, } from "./engine.js";
2
2
  export { JUDGE_PERSONA } from "./personas.js";
3
3
  export { buildParticipantSystemPrompt, buildJudgeSystemPrompt, buildJudgeUserPrompt, formatPreviousResponses, getRoundMeta, } from "./prompts.js";
4
4
  export { extractConfidence, extractJudgeConfidence, extractJudgeSection, stripConfidenceLine, } from "./parser.js";
5
5
  export { average, stddev, consensusScore, detectDisagreements, shuffle, mulberry32, } from "./stats.js";
6
6
  export { TypedEventEmitter } from "./events.js";
7
7
  export type { ConsensusEmitter } from "./events.js";
8
- export { PersonaSchema, ParticipantSchema, PHASES } from "./types.js";
9
- export type { Persona, Participant, Phase, TokenUsage, ModelCaller, ModelCallRequest, ModelCallResponse, ParticipantResponse, Disagreement, RoundResult, SynthesisResult, ConsensusResult, ConsensusOptions, StopReason, ConsensusEventMap, ConsensusEventName, RoundStartEvent, ParticipantStartEvent, ParticipantTokenEvent, ParticipantCompleteEvent, ConfidenceUpdateEvent, DisagreementDetectedEvent, RoundCompleteEvent, EarlyStopEvent, SynthesisStartEvent, SynthesisTokenEvent, SynthesisCompleteEvent, FinalResultEvent, } from "./types.js";
8
+ export { PersonaSchema, ParticipantSchema, ToolDefinitionSchema, PHASES } from "./types.js";
9
+ export type { Persona, Participant, Phase, TokenUsage, ModelCaller, ModelCallRequest, ModelCallResponse, ParticipantResponse, Disagreement, RoundResult, SynthesisResult, ConsensusResult, ConsensusOptions, StopReason, ToolDefinition, ToolCall, ToolCallTurn, ToolCallContext, ToolExecutionResult, ToolExecutor, ConsensusEventMap, ConsensusEventName, RoundStartEvent, ParticipantStartEvent, ParticipantTokenEvent, ParticipantCompleteEvent, ConfidenceUpdateEvent, DisagreementDetectedEvent, RoundCompleteEvent, EarlyStopEvent, SynthesisStartEvent, SynthesisTokenEvent, SynthesisCompleteEvent, FinalResultEvent, ToolCallStartEvent, ToolCallCompleteEvent, ToolErrorEvent, } from "./types.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGtE,YAAY,EACV,OAAO,EACP,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EAEV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG5F,YAAY,EACV,OAAO,EACP,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EAEV,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EAEZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  // ─────────────────────────────────────────────────────────────
2
2
  // ai-consensus-core — public API
3
3
  // ─────────────────────────────────────────────────────────────
4
- export { ConsensusEngine, CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP } from "./engine.js";
4
+ export { ConsensusEngine, CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP, MAX_TOOL_ITERATIONS_CAP, } from "./engine.js";
5
5
  export { JUDGE_PERSONA } from "./personas.js";
6
6
  export { buildParticipantSystemPrompt, buildJudgeSystemPrompt, buildJudgeUserPrompt, formatPreviousResponses, getRoundMeta, } from "./prompts.js";
7
7
  export { extractConfidence, extractJudgeConfidence, extractJudgeSection, stripConfidenceLine, } from "./parser.js";
8
8
  export { average, stddev, consensusScore, detectDisagreements, shuffle, mulberry32, } from "./stats.js";
9
9
  export { TypedEventEmitter } from "./events.js";
10
10
  // Schemas (zod) — exported for callers that want boundary validation.
11
- export { PersonaSchema, ParticipantSchema, PHASES } from "./types.js";
11
+ export { PersonaSchema, ParticipantSchema, ToolDefinitionSchema, PHASES } from "./types.js";
12
12
  //# 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,gEAAgE;AAChE,iCAAiC;AACjC,gEAAgE;AAEhE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,iCAAiC;AACjC,gEAAgE;AAEhE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
package/dist/types.d.ts CHANGED
@@ -48,6 +48,30 @@ export declare const ParticipantSchema: z.ZodObject<{
48
48
  color?: string | undefined;
49
49
  }>;
50
50
  label: z.ZodOptional<z.ZodString>;
51
+ /**
52
+ * Tools this participant is allowed to invoke during its turn. The library
53
+ * forwards the list to the ModelCaller verbatim — semantics (dispatch,
54
+ * loop, error handling) live in the engine when `ConsensusOptions.toolExecutor`
55
+ * is provided. Empty/undefined ⇒ classic text-only debate (0.10 behaviour).
56
+ */
57
+ tools: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
58
+ name: z.ZodString;
59
+ description: z.ZodString;
60
+ /**
61
+ * JSON Schema (object). The library does not validate or interpret the
62
+ * schema — it forwards verbatim to the ModelCaller, which is responsible
63
+ * for translating it into whatever the underlying provider expects.
64
+ */
65
+ parameters: z.ZodUnknown;
66
+ }, "strip", z.ZodTypeAny, {
67
+ name: string;
68
+ description: string;
69
+ parameters?: unknown;
70
+ }, {
71
+ name: string;
72
+ description: string;
73
+ parameters?: unknown;
74
+ }>>, "many">>;
51
75
  }, "strip", z.ZodTypeAny, {
52
76
  id: string;
53
77
  modelId: string;
@@ -60,6 +84,11 @@ export declare const ParticipantSchema: z.ZodObject<{
60
84
  color?: string | undefined;
61
85
  };
62
86
  label?: string | undefined;
87
+ tools?: {
88
+ name: string;
89
+ description: string;
90
+ parameters?: unknown;
91
+ }[] | undefined;
63
92
  }, {
64
93
  id: string;
65
94
  modelId: string;
@@ -72,6 +101,11 @@ export declare const ParticipantSchema: z.ZodObject<{
72
101
  color?: string | undefined;
73
102
  };
74
103
  label?: string | undefined;
104
+ tools?: {
105
+ name: string;
106
+ description: string;
107
+ parameters?: unknown;
108
+ }[] | undefined;
75
109
  }>;
76
110
  export type Participant = z.infer<typeof ParticipantSchema>;
77
111
  export declare const PHASES: readonly ["initial-analysis", "counterarguments", "evidence-assessment", "synthesis"];
@@ -81,6 +115,68 @@ export interface TokenUsage {
81
115
  outputTokens: number;
82
116
  totalTokens: number;
83
117
  }
118
+ /** OpenAI-style tool definition (function-call shape). */
119
+ export declare const ToolDefinitionSchema: z.ZodObject<{
120
+ name: z.ZodString;
121
+ description: z.ZodString;
122
+ /**
123
+ * JSON Schema (object). The library does not validate or interpret the
124
+ * schema — it forwards verbatim to the ModelCaller, which is responsible
125
+ * for translating it into whatever the underlying provider expects.
126
+ */
127
+ parameters: z.ZodUnknown;
128
+ }, "strip", z.ZodTypeAny, {
129
+ name: string;
130
+ description: string;
131
+ parameters?: unknown;
132
+ }, {
133
+ name: string;
134
+ description: string;
135
+ parameters?: unknown;
136
+ }>;
137
+ export type ToolDefinition = z.infer<typeof ToolDefinitionSchema>;
138
+ /** A tool-call request emitted by an assistant turn. */
139
+ export interface ToolCall {
140
+ /** Unique id assigned by the model — round-trip back in tool results. */
141
+ id: string;
142
+ /** Tool name; must match a `ToolDefinition.name` from the request. */
143
+ name: string;
144
+ /**
145
+ * Already JSON-parsed arguments. Callers MUST parse the model's raw
146
+ * argument string before populating this; the library never parses.
147
+ */
148
+ arguments: unknown;
149
+ }
150
+ /** Result of executing a tool call. Either a content string or an error. */
151
+ export type ToolExecutionResult = {
152
+ content: string;
153
+ } | {
154
+ error: string;
155
+ };
156
+ /**
157
+ * One turn of tool-call dispatch. The engine appends one entry per iteration
158
+ * of the tool loop, in order, and forwards the accumulated history on each
159
+ * follow-up `ModelCallRequest`.
160
+ */
161
+ export interface ToolCallTurn {
162
+ /** The tool calls the assistant requested in this turn. */
163
+ toolCalls: readonly ToolCall[];
164
+ /** Results, in the same order as `toolCalls`. */
165
+ toolResults: readonly ToolExecutionResult[];
166
+ }
167
+ /** Context passed to the host's `ToolExecutor` so it knows what's running. */
168
+ export interface ToolCallContext {
169
+ participantId: string;
170
+ round: number;
171
+ phase: Phase;
172
+ signal?: AbortSignal;
173
+ }
174
+ /**
175
+ * Host-supplied tool executor. The engine awaits this once per tool call.
176
+ * Throw on unrecoverable errors; return `{ error }` to feed an error string
177
+ * back into the conversation as a normal tool result (model can recover).
178
+ */
179
+ export type ToolExecutor = (call: ToolCall, ctx: ToolCallContext) => Promise<ToolExecutionResult>;
84
180
  export interface ModelCallRequest {
85
181
  /** Participant that originated the request, or "judge" for the synthesizer. */
86
182
  participantId: string;
@@ -102,12 +198,40 @@ export interface ModelCallRequest {
102
198
  signal?: AbortSignal;
103
199
  /** Optional streaming sink; callers MAY call this with partial tokens. */
104
200
  onToken?: (token: string) => void;
201
+ /**
202
+ * Tools available for this turn. Forwarded verbatim from `Participant.tools`
203
+ * (and only for participant calls — judge calls never carry tools). Absent
204
+ * when the participant declares no tools.
205
+ */
206
+ tools?: readonly ToolDefinition[];
207
+ /**
208
+ * Tool-call history for this single participant turn, populated by the
209
+ * engine when re-invoking the caller after dispatching tool calls. Each
210
+ * entry is one round-trip through the tool loop. Absent on the first call
211
+ * of a turn.
212
+ *
213
+ * Callers MUST translate this into whatever the provider expects (e.g.
214
+ * for OpenAI, append assistant + tool messages to the conversation).
215
+ */
216
+ toolCallTurns?: readonly ToolCallTurn[];
105
217
  }
106
218
  export interface ModelCallResponse {
107
219
  /** Full assistant content, including the trailing `CONFIDENCE: N` line. */
108
220
  content: string;
109
221
  /** Optional token usage, if the provider surfaces it. */
110
222
  usage?: TokenUsage;
223
+ /**
224
+ * Tool calls the model wants to dispatch this turn. If non-empty AND the
225
+ * engine has a `toolExecutor`, the engine runs each call and re-invokes
226
+ * the caller with the results in `ModelCallRequest.toolCallTurns`. If empty
227
+ * or absent, the engine treats `content` as the participant's final turn.
228
+ *
229
+ * If the engine has no `toolExecutor` configured but the response carries
230
+ * `toolCalls`, they are ignored and `content` is used as-is — preserves
231
+ * 0.10 backward compatibility for callers that opt into tool streaming
232
+ * but don't wire an executor.
233
+ */
234
+ toolCalls?: readonly ToolCall[];
111
235
  }
112
236
  export type ModelCaller = (request: ModelCallRequest) => Promise<ModelCallResponse>;
113
237
  export interface ParticipantResponse {
@@ -232,6 +356,24 @@ export interface ConsensusOptions {
232
356
  randomSeed?: number;
233
357
  /** Propagates cancellation to every ModelCaller and aborts the loop. */
234
358
  signal?: AbortSignal;
359
+ /**
360
+ * Host-supplied tool executor. When set, the engine drives the tool-call
361
+ * loop for participants whose `tools` list is non-empty: dispatches each
362
+ * `ToolCall` returned by the model, feeds results back via
363
+ * `ModelCallRequest.toolCallTurns`, and emits `toolCallStart` /
364
+ * `toolCallComplete` / `toolError` events.
365
+ *
366
+ * When omitted, the engine ignores any `toolCalls` in `ModelCallResponse`
367
+ * and treats `content` as the participant's final turn — exact 0.10 behaviour.
368
+ */
369
+ toolExecutor?: ToolExecutor;
370
+ /**
371
+ * Maximum tool-loop iterations per participant turn. After this many
372
+ * round-trips through the executor, the engine breaks out and uses the
373
+ * last response's `content` as the participant's turn — even if the model
374
+ * still wants to call more tools. Defaults to 8. Bounded to [1, 32].
375
+ */
376
+ maxToolIterations?: number;
235
377
  }
236
378
  export interface RoundStartEvent {
237
379
  round: number;
@@ -295,6 +437,34 @@ export interface SynthesisCompleteEvent {
295
437
  export interface FinalResultEvent {
296
438
  result: ConsensusResult;
297
439
  }
440
+ export interface ToolCallStartEvent {
441
+ participantId: string;
442
+ round: number;
443
+ phase: Phase;
444
+ /** 1-based iteration counter within this participant's tool loop. */
445
+ iteration: number;
446
+ call: ToolCall;
447
+ }
448
+ export interface ToolCallCompleteEvent {
449
+ participantId: string;
450
+ round: number;
451
+ phase: Phase;
452
+ iteration: number;
453
+ call: ToolCall;
454
+ durationMs: number;
455
+ /** True when the executor returned `{ content }`; false when it returned `{ error }`. */
456
+ ok: boolean;
457
+ /** Truncated preview of the result payload (first 200 chars). */
458
+ preview: string;
459
+ }
460
+ export interface ToolErrorEvent {
461
+ participantId: string;
462
+ round: number;
463
+ phase: Phase;
464
+ iteration: number;
465
+ call: ToolCall;
466
+ error: string;
467
+ }
298
468
  export interface ConsensusEventMap {
299
469
  roundStart: (event: RoundStartEvent) => void;
300
470
  participantStart: (event: ParticipantStartEvent) => void;
@@ -308,6 +478,9 @@ export interface ConsensusEventMap {
308
478
  synthesisToken: (event: SynthesisTokenEvent) => void;
309
479
  synthesisComplete: (event: SynthesisCompleteEvent) => void;
310
480
  finalResult: (event: FinalResultEvent) => void;
481
+ toolCallStart: (event: ToolCallStartEvent) => void;
482
+ toolCallComplete: (event: ToolCallCompleteEvent) => void;
483
+ toolError: (event: ToolErrorEvent) => void;
311
484
  error: (error: Error) => void;
312
485
  }
313
486
  export type ConsensusEventName = keyof ConsensusEventMap;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAMpD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,MAAM,uFAKT,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAM5C,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,EAAE,KAAK,CAAC;IACb,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAMpF,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,gKAAgK;IAChK,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,KAAK,CAAC,EAAE;QACN,kDAAkD;QAClD,OAAO,EAAE,MAAM,CAAC;QAChB,+EAA+E;QAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,8CAA8C;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,qDAAqD;QACrD,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;;;;;;;;WASG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAMD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;CACzB;AAMD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD,oBAAoB,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,iBAAiB,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -18,6 +18,13 @@ export const ParticipantSchema = z.object({
18
18
  modelId: z.string().min(1),
19
19
  persona: PersonaSchema,
20
20
  label: z.string().optional(),
21
+ /**
22
+ * Tools this participant is allowed to invoke during its turn. The library
23
+ * forwards the list to the ModelCaller verbatim — semantics (dispatch,
24
+ * loop, error handling) live in the engine when `ConsensusOptions.toolExecutor`
25
+ * is provided. Empty/undefined ⇒ classic text-only debate (0.10 behaviour).
26
+ */
27
+ tools: z.array(z.lazy(() => ToolDefinitionSchema)).optional(),
21
28
  });
22
29
  // ─────────────────────────────────────────────────────────────
23
30
  // Phases
@@ -28,4 +35,31 @@ export const PHASES = [
28
35
  "evidence-assessment",
29
36
  "synthesis",
30
37
  ];
38
+ // ─────────────────────────────────────────────────────────────
39
+ // Tool calling
40
+ // ─────────────────────────────────────────────────────────────
41
+ // Engine-orchestrated tool calling sits between the ModelCaller and the
42
+ // host. The library never parses tool arguments, never invokes a tool, and
43
+ // never decides what tools a participant has — it just plumbs:
44
+ //
45
+ // 1. `Participant.tools` flows into each `ModelCallRequest.tools`.
46
+ // 2. If the response carries `toolCalls`, the engine dispatches each one
47
+ // to `ConsensusOptions.toolExecutor` (host-supplied) and feeds results
48
+ // back into a follow-up call via `ModelCallRequest.toolCallTurns`.
49
+ // 3. The loop terminates when the model returns a response with no
50
+ // `toolCalls`, or when `maxToolIterations` is hit.
51
+ //
52
+ // Hosts that don't supply a `toolExecutor` see no behaviour change — every
53
+ // new field is optional and the engine's flow degrades to 0.10 verbatim.
54
+ /** OpenAI-style tool definition (function-call shape). */
55
+ export const ToolDefinitionSchema = z.object({
56
+ name: z.string().min(1),
57
+ description: z.string(),
58
+ /**
59
+ * JSON Schema (object). The library does not validate or interpret the
60
+ * schema — it forwards verbatim to the ModelCaller, which is responsible
61
+ * for translating it into whatever the underlying provider expects.
62
+ */
63
+ parameters: z.unknown(),
64
+ });
31
65
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gEAAgE;AAChE,UAAU;AACV,gEAAgE;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAIH,gEAAgE;AAChE,cAAc;AACd,gEAAgE;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH,gEAAgE;AAChE,SAAS;AACT,gEAAgE;AAEhE,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;CACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gEAAgE;AAChE,UAAU;AACV,gEAAgE;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAIH,gEAAgE;AAChE,cAAc;AACd,gEAAgE;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B;;;;;OAKG;IACH,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC,CAAC;AAIH,gEAAgE;AAChE,SAAS;AACT,gEAAgE;AAEhE,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;CACH,CAAC;AAcX,gEAAgE;AAChE,eAAe;AACf,gEAAgE;AAChE,wEAAwE;AACxE,2EAA2E;AAC3E,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,qEAAqE;AACrE,wDAAwD;AACxD,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AAEzE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-consensus-core",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Dependency-light TypeScript implementation of the Consensus Validation Protocol (CVP): multi-model debate with confidence-weighted scoring, disagreement detection, and optional judge synthesis.",
5
5
  "keywords": [
6
6
  "consensus",