ai-consensus-core 0.9.0 → 0.10.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
@@ -40,11 +40,33 @@ ESM-only. Node ≥ 20. Runtime dependencies: `zod` + Node's built-in `events`. T
40
40
  ```ts
41
41
  import {
42
42
  ConsensusEngine,
43
- PERSONAS,
44
43
  type ModelCaller,
44
+ type Persona,
45
45
  } from "ai-consensus-core";
46
46
 
47
- // 1) Adapt your provider of choice to the ModelCaller shape.
47
+ // 1) Bring your own personas. The library ships only the non-voting
48
+ // JUDGE_PERSONA — debate personas are caller-owned content.
49
+ // See docs/personas.md for a copy-paste block of the seven defaults.
50
+ const riskAnalyst: Persona = {
51
+ id: "pessimist",
52
+ name: "Risk Analyst",
53
+ description: "Surfaces failure modes and tail risks.",
54
+ systemPrompt: "You are a rigorous Risk Analyst. Surface hidden dangers, second-order effects, and plausible failure modes. Be precise and constructive.",
55
+ };
56
+ const firstPrinciples: Persona = {
57
+ id: "first-principles",
58
+ name: "First-Principles Engineer",
59
+ description: "Decomposes every claim to axioms.",
60
+ systemPrompt: "You are a First-Principles Engineer. Decompose every claim into fundamental axioms. Reject analogies and expose hidden premises.",
61
+ };
62
+ const domainExpert: Persona = {
63
+ id: "domain-expert",
64
+ name: "Domain Expert",
65
+ description: "Practical implementation knowledge and edge cases.",
66
+ systemPrompt: "You are a seasoned Domain Expert. Ground your analysis in real-world implementation details, anti-patterns, and edge cases.",
67
+ };
68
+
69
+ // 2) Adapt your provider of choice to the ModelCaller shape.
48
70
  // This one targets any OpenAI-compatible endpoint (Grok, Claude, OpenAI, Groq…).
49
71
  const caller: ModelCaller = async ({ system, user, modelId, temperature, maxOutputTokens, signal }) => {
50
72
  const res = await fetch("https://api.x.ai/v1/chat/completions", {
@@ -68,7 +90,7 @@ const caller: ModelCaller = async ({ system, user, modelId, temperature, maxOutp
68
90
  return { content: json.choices[0].message.content };
69
91
  };
70
92
 
71
- // 2) Wire up observability.
93
+ // 3) Wire up observability.
72
94
  const engine = new ConsensusEngine(caller);
73
95
 
74
96
  engine.on("roundStart", (e) => console.log(`▶ ${e.label}`));
@@ -77,16 +99,16 @@ engine.on("disagreementDetected", (e) =>
77
99
  console.log(` ⚠ ${e.disagreement.label} (Δ=${e.disagreement.severity})`),
78
100
  );
79
101
 
80
- // 3) Run.
102
+ // 4) Run.
81
103
  const result = await engine.run({
82
104
  question: "Should early-stage startups adopt microservices from day one?",
83
105
  participants: [
84
- { id: "p1", modelId: "grok-4", persona: PERSONAS[0]! }, // Risk Analyst
85
- { id: "p2", modelId: "grok-4", persona: PERSONAS[1]! }, // First-Principles
86
- { id: "p3", modelId: "grok-4", persona: PERSONAS[6]! }, // Domain Expert
106
+ { id: "p1", modelId: "grok-4", persona: riskAnalyst },
107
+ { id: "p2", modelId: "grok-4", persona: firstPrinciples },
108
+ { id: "p3", modelId: "grok-4", persona: domainExpert },
87
109
  ],
88
110
  maxRounds: 4,
89
- judge: { modelId: "grok-4" },
111
+ judge: { modelId: "grok-4" }, // uses the shipped JUDGE_PERSONA
90
112
  });
91
113
 
92
114
  console.log(`Final score: ${result.finalScore}`);
@@ -275,28 +297,32 @@ interface ConsensusOptions {
275
297
 
276
298
  ## Personas
277
299
 
278
- Exactly the seven personas from the battle-tested Roundtable playbook:
300
+ The library ships **only** the non-voting judge persona (`JUDGE_PERSONA`).
301
+ Debate personas are caller-owned content — construct any object matching
302
+ `PersonaSchema` and pass it on each `Participant`.
279
303
 
280
- | id | Name | Role |
281
- | --------------------- | -------------------------- | ------------------------------------------------------------------------ |
282
- | `pessimist` | Risk Analyst | Surfaces failure modes, tail risks, second-order effects. |
283
- | `first-principles` | First-Principles Engineer | Decomposes every claim to axioms; rejects analogies. |
284
- | `vc-specialist` | VC Funds Specialist | Markets, moats, unit economics, defensibility. |
285
- | `scientific-skeptic` | Scientific Skeptic | Demands evidence, questions methodology, flags fallacies. |
286
- | `optimistic-futurist` | Optimistic Futurist | Exponential trends, paradigm shifts, grounded upside. |
287
- | `devils-advocate` | Devil's Advocate | Constructs the strongest counter-arguments. |
288
- | `domain-expert` | Domain Expert | Practical implementation knowledge, edge cases, reality checks. |
304
+ For a copy-paste block of the seven debate personas from the Roundtable
305
+ playbook (Risk Analyst, First-Principles Engineer, VC Specialist,
306
+ Scientific Skeptic, Optimistic Futurist, Devil's Advocate, Domain Expert),
307
+ see [`docs/personas.md`](./docs/personas.md).
289
308
 
290
- Plus one judge:
309
+ The judge:
291
310
 
292
311
  | id | Name | Role |
293
312
  | ------- | ---------------- | --------------------------------------------------------------------------- |
294
313
  | `judge` | Consensus Judge | Non-voting synthesizer. Produces Majority / Minority / Unresolved sections. |
295
314
 
315
+ `JUDGE_PERSONA.systemPrompt` is the engine's default when
316
+ `ConsensusOptions.judge.systemPrompt` is omitted. Override it only if the
317
+ replacement emits the same four `##` headings and trailing
318
+ `JUDGE_CONFIDENCE: N` line — `extractJudgeSection` /
319
+ `extractJudgeConfidence` key off that contract.
320
+
296
321
  ```ts
297
- import { PERSONAS, JUDGE_PERSONA, getPersonaById } from "ai-consensus-core";
322
+ import { JUDGE_PERSONA, PersonaSchema, type Persona } from "ai-consensus-core";
298
323
 
299
- const riskAnalyst = getPersonaById("pessimist");
324
+ // Validate caller-supplied personas at the boundary:
325
+ const persona = PersonaSchema.parse(untrusted);
300
326
  ```
301
327
 
302
328
  ## Scoring
@@ -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;CAyb/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,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"}
package/dist/engine.js CHANGED
@@ -147,6 +147,7 @@ export class ConsensusEngine extends TypedEventEmitter {
147
147
  judgeCaller: opts.judge.caller ?? this.#caller,
148
148
  judgeTemperature: opts.judge.temperature ?? DEFAULTS.judgeTemperature,
149
149
  judgeMaxOutputTokens: opts.judge.maxOutputTokens ?? DEFAULTS.judgeMaxOutputTokens,
150
+ judgeSystemPrompt: opts.judge.systemPrompt ?? JUDGE_PERSONA.systemPrompt,
150
151
  finalResponses: lastRound.responses,
151
152
  participants: opts.participants,
152
153
  question: opts.question,
@@ -325,10 +326,10 @@ export class ConsensusEngine extends TypedEventEmitter {
325
326
  }
326
327
  // ── Judge synthesizer ────────────────────────────────────
327
328
  async #runJudge(args) {
328
- const { judgeModelId, judgeCaller, judgeTemperature, judgeMaxOutputTokens, finalResponses, participants, question, lastRoundNumber, signal, } = args;
329
+ const { judgeModelId, judgeCaller, judgeTemperature, judgeMaxOutputTokens, judgeSystemPrompt, finalResponses, participants, question, lastRoundNumber, signal, } = args;
329
330
  this.emit("synthesisStart", { modelId: judgeModelId });
330
331
  const system = buildJudgeSystemPrompt({
331
- judgeSystemPrompt: JUDGE_PERSONA.systemPrompt,
332
+ judgeSystemPrompt,
332
333
  question,
333
334
  });
334
335
  const user = buildJudgeUserPrompt({
@@ -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,5 +1,5 @@
1
1
  export { ConsensusEngine, CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP } from "./engine.js";
2
- export { PERSONAS, JUDGE_PERSONA, getPersonaById, getPersonaOrDefault, } from "./personas.js";
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";
@@ -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,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,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,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"}
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // ai-consensus-core — public API
3
3
  // ─────────────────────────────────────────────────────────────
4
4
  export { ConsensusEngine, CONSENSUS_DEFAULTS, MAX_ROUNDS_CAP } from "./engine.js";
5
- export { PERSONAS, JUDGE_PERSONA, getPersonaById, getPersonaOrDefault, } from "./personas.js";
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";
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,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,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,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"}
package/dist/parser.d.ts CHANGED
@@ -1,16 +1,27 @@
1
1
  /**
2
2
  * Extract the trailing `CONFIDENCE: N` value. Clamps to [0, 100] and
3
- * defaults to 50 when the marker is absent.
3
+ * defaults to 50 when the marker is absent or the following value is
4
+ * malformed.
4
5
  *
5
6
  * The default is intentional: an absent marker is a model compliance
6
7
  * issue, not a "low-confidence" signal, so we treat it as neutral rather
7
8
  * than letting it skew the consensus score downward.
9
+ *
10
+ * Implemented with linear-time string parsing (no regex, no ReDoS). A
11
+ * prefix with no digits after it yields `parseInt("")` → NaN, which
12
+ * `clampConfidence` collapses to the 50 default — the single invalid-
13
+ * input path.
8
14
  */
9
15
  export declare function extractConfidence(text: string): number;
10
16
  /**
11
17
  * Extract the judge's self-reported synthesis confidence. Tolerates both
12
18
  * `JUDGE_CONFIDENCE: 87` and `JUDGE_CONFIDENCE: [87]` forms, since the
13
19
  * JUDGE_PERSONA prompt wraps the placeholder in brackets.
20
+ *
21
+ * Implemented with linear-time string parsing (no regex, no ReDoS). A
22
+ * prefix with no digits after it yields `parseInt("")` → NaN, which
23
+ * `clampConfidence` collapses to the 50 default — the single invalid-
24
+ * input path.
14
25
  */
15
26
  export declare function extractJudgeConfidence(text: string): number;
16
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CActD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB3D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
package/dist/parser.js CHANGED
@@ -1,38 +1,75 @@
1
1
  // ─────────────────────────────────────────────────────────────
2
2
  // Parser — extractors for confidence and judge sections
3
3
  // ─────────────────────────────────────────────────────────────
4
- const CONFIDENCE_RE = /CONFIDENCE:\s*(\d+)/i;
5
- const JUDGE_CONFIDENCE_RE = /JUDGE_CONFIDENCE:\s*\[?\s*(\d+)\s*\]?/i;
4
+ function clampConfidence(n) {
5
+ if (Number.isNaN(n))
6
+ return 50;
7
+ return Math.min(100, Math.max(0, n));
8
+ }
9
+ function isWhitespace(ch) {
10
+ return ch === " " || ch === "\t" || ch === "\n" || ch === "\r" || ch === "\f" || ch === "\v";
11
+ }
12
+ function isDigit(ch) {
13
+ return ch >= "0" && ch <= "9";
14
+ }
6
15
  /**
7
16
  * Extract the trailing `CONFIDENCE: N` value. Clamps to [0, 100] and
8
- * defaults to 50 when the marker is absent.
17
+ * defaults to 50 when the marker is absent or the following value is
18
+ * malformed.
9
19
  *
10
20
  * The default is intentional: an absent marker is a model compliance
11
21
  * issue, not a "low-confidence" signal, so we treat it as neutral rather
12
22
  * than letting it skew the consensus score downward.
23
+ *
24
+ * Implemented with linear-time string parsing (no regex, no ReDoS). A
25
+ * prefix with no digits after it yields `parseInt("")` → NaN, which
26
+ * `clampConfidence` collapses to the 50 default — the single invalid-
27
+ * input path.
13
28
  */
14
29
  export function extractConfidence(text) {
15
- const match = CONFIDENCE_RE.exec(text);
16
- if (!match)
30
+ const lower = text.toLowerCase();
31
+ const prefix = "confidence:";
32
+ const idx = lower.indexOf(prefix);
33
+ if (idx === -1)
17
34
  return 50;
18
- const n = Number.parseInt(match[1], 10);
19
- if (Number.isNaN(n))
20
- return 50;
21
- return Math.min(100, Math.max(0, n));
35
+ let i = idx + prefix.length;
36
+ while (i < text.length && isWhitespace(text[i]))
37
+ i++;
38
+ const start = i;
39
+ while (i < text.length && isDigit(text[i]))
40
+ i++;
41
+ const n = Number.parseInt(text.slice(start, i), 10);
42
+ return clampConfidence(n);
22
43
  }
23
44
  /**
24
45
  * Extract the judge's self-reported synthesis confidence. Tolerates both
25
46
  * `JUDGE_CONFIDENCE: 87` and `JUDGE_CONFIDENCE: [87]` forms, since the
26
47
  * JUDGE_PERSONA prompt wraps the placeholder in brackets.
48
+ *
49
+ * Implemented with linear-time string parsing (no regex, no ReDoS). A
50
+ * prefix with no digits after it yields `parseInt("")` → NaN, which
51
+ * `clampConfidence` collapses to the 50 default — the single invalid-
52
+ * input path.
27
53
  */
28
54
  export function extractJudgeConfidence(text) {
29
- const match = JUDGE_CONFIDENCE_RE.exec(text);
30
- if (!match)
55
+ const lower = text.toLowerCase();
56
+ const prefix = "judge_confidence:";
57
+ const idx = lower.indexOf(prefix);
58
+ if (idx === -1)
31
59
  return 50;
32
- const n = Number.parseInt(match[1], 10);
33
- if (Number.isNaN(n))
34
- return 50;
35
- return Math.min(100, Math.max(0, n));
60
+ let i = idx + prefix.length;
61
+ while (i < text.length && isWhitespace(text[i]))
62
+ i++;
63
+ if (i < text.length && text[i] === "[") {
64
+ i++;
65
+ while (i < text.length && isWhitespace(text[i]))
66
+ i++;
67
+ }
68
+ const start = i;
69
+ while (i < text.length && isDigit(text[i]))
70
+ i++;
71
+ const n = Number.parseInt(text.slice(start, i), 10);
72
+ return clampConfidence(n);
36
73
  }
37
74
  /**
38
75
  * Extract a named `## Heading`-style section from a judge synthesis.
@@ -42,7 +79,9 @@ export function extractJudgeSection(text, heading) {
42
79
  const escaped = heading.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
43
80
  const pattern = new RegExp(`##\\s*${escaped}\\s*\\n([\\s\\S]*?)(?=\\n##\\s|$)`, "i");
44
81
  const m = pattern.exec(text);
45
- return m ? m[1].trim() : "";
82
+ if (!m)
83
+ return "";
84
+ return (m[1] ?? "").trim();
46
85
  }
47
86
  /**
48
87
  * Strip the trailing `CONFIDENCE: N` line from a body. Used when quoting
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wDAAwD;AACxD,gEAAgE;AAEhE,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,mBAAmB,GAAG,wCAAwC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAe;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,SAAS,OAAO,mCAAmC,EAAE,GAAG,CAAC,CAAC;IACrF,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,6 @@
1
1
  import type { Persona } from "./types.js";
2
- export declare const PERSONAS: readonly Persona[];
3
- /** Look up a persona by id. Returns `undefined` if not found. */
4
- export declare function getPersonaById(id: string): Persona | undefined;
5
- /** Look up a persona by id, falling back to the first persona if the id is unknown. */
6
- export declare function getPersonaOrDefault(id: string): Persona;
7
2
  /**
8
3
  * The Judge persona — used by the non-voting synthesizer.
9
- * Not exposed via the participant selector.
10
4
  *
11
5
  * The output contract is exact: four markdown sections followed by a
12
6
  * `JUDGE_CONFIDENCE: [0-100]` line. `parser.extractJudgeSection` and
@@ -1 +1 @@
1
- {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAgE7B,CAAC;AAEX,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE9D;AAED,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,OA2B3B,CAAC"}
1
+ {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,OA2B3B,CAAC"}
package/dist/personas.js CHANGED
@@ -1,79 +1,18 @@
1
1
  // ─────────────────────────────────────────────────────────────
2
- // Personasported verbatim from roundtable/lib/personas.ts
2
+ // Judge persona the only persona shipped by the library
3
3
  // ─────────────────────────────────────────────────────────────
4
- // Seven debate personas + one non-voting judge. IDs, names,
5
- // emojis, colors and system prompts are byte-for-byte identical
6
- // to the source, so a run here is behaviorally equivalent to a
7
- // run in the original roundtable UI.
8
- export const PERSONAS = [
9
- {
10
- id: "pessimist",
11
- name: "Risk Analyst",
12
- emoji: "☠️",
13
- color: "#ef4444",
14
- description: "Identifies risks, failure modes, tail risks, and worst-case scenarios",
15
- systemPrompt: `You are a rigorous Risk Analyst. Your role is to surface hidden dangers, second-order effects, tail risks, and plausible failure modes. You are not cynical — you are protective. Be precise, evidence-based, and constructive. Highlight what could go wrong and why, so the group can make more robust decisions.`,
16
- },
17
- {
18
- id: "first-principles",
19
- name: "First-Principles Engineer",
20
- emoji: "⚙️",
21
- color: "#3b82f6",
22
- description: "Breaks every claim down to fundamental truths and reasons from the ground up",
23
- systemPrompt: `You are a First-Principles Engineer. Ruthlessly decompose every claim into its most fundamental axioms. Reject analogies and conventional wisdom. Question every assumption. Structure your thinking clearly and expose hidden premises that others are taking for granted.`,
24
- },
25
- {
26
- id: "vc-specialist",
27
- name: "VC Funds Specialist",
28
- emoji: "💰",
29
- color: "#10b981",
30
- description: "Evaluates through market dynamics, scalability, moats, and investment viability",
31
- systemPrompt: `You are a battle-tested Venture Capital Specialist. Analyze everything through the lens of market opportunity, scalable business models, competitive moats, unit economics, network effects, and capital efficiency. Think in terms of TAM/SAM/SOM, defensibility, and long-term value creation.`,
32
- },
33
- {
34
- id: "scientific-skeptic",
35
- name: "Scientific Skeptic",
36
- emoji: "🔬",
37
- color: "#f59e0b",
38
- description: "Demands rigorous evidence and applies scientific scrutiny to every claim",
39
- systemPrompt: `You are a Scientific Skeptic. Demand high-quality evidence for every assertion. Question methodology, sample size, selection bias, statistical power, and reproducibility. Distinguish correlation from causation. Call out logical fallacies and over-extrapolation without mercy.`,
40
- },
41
- {
42
- id: "optimistic-futurist",
43
- name: "Optimistic Futurist",
44
- emoji: "🚀",
45
- color: "#8b5cf6",
46
- description: "Sees transformative potential and identifies exponential upside opportunities",
47
- systemPrompt: `You are an Optimistic Futurist. Identify exponential trends, paradigm shifts, and breakthrough opportunities. Paint compelling visions of positive futures while remaining grounded. Focus on how obstacles can be overcome and how the idea could scale into something transformative.`,
48
- },
49
- {
50
- id: "devils-advocate",
51
- name: "Devil's Advocate",
52
- emoji: "⚖️",
53
- color: "#ec4899",
54
- description: "Stress-tests ideas by arguing the strongest possible counter-position",
55
- systemPrompt: `You are the Devil's Advocate. Your job is to construct the strongest possible counter-arguments to whatever position is emerging. Do this constructively — not to win, but to expose weaknesses and make the final consensus more robust. Be sharp, logical, and relentless.`,
56
- },
57
- {
58
- id: "domain-expert",
59
- name: "Domain Expert",
60
- emoji: "🧠",
61
- color: "#06b6d4",
62
- description: "Brings deep technical and practical implementation knowledge with concrete examples",
63
- systemPrompt: `You are a seasoned Domain Expert with years of hands-on experience. Ground your analysis in real-world implementation details, known patterns, anti-patterns, edge cases, and practical constraints. Be specific, cite concrete examples, and provide reality-checks that only deep domain knowledge can offer.`,
64
- },
65
- ];
66
- /** Look up a persona by id. Returns `undefined` if not found. */
67
- export function getPersonaById(id) {
68
- return PERSONAS.find((p) => p.id === id);
69
- }
70
- /** Look up a persona by id, falling back to the first persona if the id is unknown. */
71
- export function getPersonaOrDefault(id) {
72
- return getPersonaById(id) ?? PERSONAS[0];
73
- }
4
+ // The seven debate personas that used to live here were moved to
5
+ // `docs/personas.md` as a copy-paste reference. They're opinionated
6
+ // content, not mechanics the engine never read from them, so
7
+ // bundling them into the library's public API added weight without
8
+ // benefit. Callers construct their own `Persona` objects.
9
+ //
10
+ // JUDGE_PERSONA stays in code because its system prompt is coupled
11
+ // to the parser's output contract (`extractJudgeSection` /
12
+ // `extractJudgeConfidence`) and serves as the engine's runtime
13
+ // default when `ConsensusOptions.judge.systemPrompt` is omitted.
74
14
  /**
75
15
  * The Judge persona — used by the non-voting synthesizer.
76
- * Not exposed via the participant selector.
77
16
  *
78
17
  * The output contract is exact: four markdown sections followed by a
79
18
  * `JUDGE_CONFIDENCE: [0-100]` line. `parser.extractJudgeSection` and
@@ -1 +1 @@
1
- {"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,6DAA6D;AAC7D,gEAAgE;AAChE,4DAA4D;AAC5D,gEAAgE;AAChE,+DAA+D;AAC/D,qCAAqC;AAIrC,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,uEAAuE;QACzE,YAAY,EAAE,qTAAqT;KACpU;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,8EAA8E;QAChF,YAAY,EAAE,6QAA6Q;KAC5R;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,iFAAiF;QACnF,YAAY,EAAE,kSAAkS;KACjT;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,0EAA0E;QAC5E,YAAY,EAAE,qRAAqR;KACpS;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,+EAA+E;QACjF,YAAY,EAAE,yRAAyR;KACxS;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,uEAAuE;QACzE,YAAY,EAAE,8QAA8Q;KAC7R;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,qFAAqF;QACvF,YAAY,EAAE,iTAAiT;KAChU;CACO,CAAC;AAEX,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,OAAO,cAAc,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,wEAAwE;IAC1E,YAAY,EAAE;;;;;;;;;;;;;;;;;;;kFAmBkE;CACjF,CAAC"}
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,0DAA0D;AAC1D,gEAAgE;AAChE,iEAAiE;AACjE,oEAAoE;AACpE,+DAA+D;AAC/D,mEAAmE;AACnE,0DAA0D;AAC1D,EAAE;AACF,mEAAmE;AACnE,2DAA2D;AAC3D,+DAA+D;AAC/D,iEAAiE;AAIjE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,wEAAwE;IAC1E,YAAY,EAAE;;;;;;;;;;;;;;;;;;;kFAmBkE;CACjF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -216,6 +216,17 @@ export interface ConsensusOptions {
216
216
  temperature?: number;
217
217
  /** Max output tokens for judge. Defaults to 1500. */
218
218
  maxOutputTokens?: number;
219
+ /**
220
+ * Override the judge system prompt. Defaults to `JUDGE_PERSONA.systemPrompt`.
221
+ *
222
+ * Contract: the override must instruct the model to emit the same four
223
+ * `## Majority Position` / `## Minority Positions` / `## Unresolved Disputes`
224
+ * / `## Synthesis Confidence` headings and a trailing `JUDGE_CONFIDENCE: N`
225
+ * line. `extractJudgeSection` and `extractJudgeConfidence` key off those
226
+ * markers — break the contract and the corresponding fields on
227
+ * `SynthesisResult` will come back empty / default to 50.
228
+ */
229
+ systemPrompt?: string;
219
230
  };
220
231
  /** Non-negative integer. If set, uses a seeded PRNG so round-order randomization is deterministic. */
221
232
  randomSeed?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-consensus-core",
3
- "version": "0.9.0",
3
+ "version": "0.10.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",