@consensus-tools/universal 0.9.0 → 0.9.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 (42) hide show
  1. package/dist/consensus-llm.test.d.ts +2 -0
  2. package/dist/consensus-llm.test.d.ts.map +1 -0
  3. package/dist/consensus-llm.test.js +244 -0
  4. package/dist/consensus-llm.test.js.map +1 -0
  5. package/dist/defaults.d.ts +10 -0
  6. package/dist/defaults.d.ts.map +1 -1
  7. package/dist/defaults.js +63 -2
  8. package/dist/defaults.js.map +1 -1
  9. package/dist/index.d.ts +13 -11
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +130 -49
  12. package/dist/index.js.map +1 -1
  13. package/dist/persona-reviewer-factory.d.ts +22 -0
  14. package/dist/persona-reviewer-factory.d.ts.map +1 -0
  15. package/dist/persona-reviewer-factory.js +318 -0
  16. package/dist/persona-reviewer-factory.js.map +1 -0
  17. package/dist/reputation-manager.d.ts +38 -0
  18. package/dist/reputation-manager.d.ts.map +1 -0
  19. package/dist/reputation-manager.js +154 -0
  20. package/dist/reputation-manager.js.map +1 -0
  21. package/dist/reputation-manager.test.d.ts +2 -0
  22. package/dist/reputation-manager.test.d.ts.map +1 -0
  23. package/dist/reputation-manager.test.js +111 -0
  24. package/dist/reputation-manager.test.js.map +1 -0
  25. package/dist/risk-tiers.d.ts +10 -0
  26. package/dist/risk-tiers.d.ts.map +1 -0
  27. package/dist/risk-tiers.js +46 -0
  28. package/dist/risk-tiers.js.map +1 -0
  29. package/dist/risk-tiers.test.d.ts +2 -0
  30. package/dist/risk-tiers.test.d.ts.map +1 -0
  31. package/dist/risk-tiers.test.js +40 -0
  32. package/dist/risk-tiers.test.js.map +1 -0
  33. package/dist/types.d.ts +59 -6
  34. package/dist/types.d.ts.map +1 -1
  35. package/package.json +9 -9
  36. package/src/consensus-llm.test.ts +23 -4
  37. package/src/defaults.ts +10 -4
  38. package/src/index.ts +22 -18
  39. package/src/persona-reviewer-factory.ts +90 -70
  40. package/src/reputation-manager.ts +46 -31
  41. package/src/risk-tiers.test.ts +8 -0
  42. package/src/risk-tiers.ts +7 -5
package/dist/index.js CHANGED
@@ -1,12 +1,15 @@
1
+ import crypto from "node:crypto";
1
2
  import { consensus as wrapWithConsensus } from "@consensus-tools/wrapper";
2
3
  import { createGuardTemplate, GUARD_CONFIGS } from "@consensus-tools/guards";
4
+ import { getPersonasByPack } from "@consensus-tools/personas";
3
5
  import { MemoryStorage } from "@consensus-tools/storage";
4
6
  import { resolveWrappable } from "./resolve.js";
5
- import { DEFAULTS, DEFAULT_PERSONA_TRIO, policyToStrategy } from "./defaults.js";
7
+ import { DEFAULTS, DEFAULT_PERSONA_TRIO, DEFAULT_PACK, DEFAULT_PERSONA_TIMEOUT_MS, DEFAULT_RESPAWN_THRESHOLD, policyToStrategy, resolvePolicyType, } from "./defaults.js";
6
8
  import { createLogger } from "./logger.js";
7
9
  import { ConsensusBlockedError, MissingDependencyError } from "./errors.js";
8
- // ── Persona-as-guard templates ───────────────────────────────────────
9
- // Each "persona" is a lightweight guard template focused on a risk area.
10
+ import { ReputationManager } from "./reputation-manager.js";
11
+ import { deliberate } from "./persona-reviewer-factory.js";
12
+ // ── Persona-as-guard templates (regex-only mode) ─────────────────────
10
13
  function createDefaultReviewers() {
11
14
  return DEFAULT_PERSONA_TRIO.map((domain) => {
12
15
  const config = GUARD_CONFIGS[domain];
@@ -34,10 +37,12 @@ function resolveStorage(storage) {
34
37
  }
35
38
  function createStorageHooks(store) {
36
39
  return {
40
+ // afterResolve fires for ALL outcomes (allow, block, escalate).
41
+ // No separate onBlock hook needed (was duplicating audit entries).
37
42
  async afterResolve(result) {
38
43
  await store.update((state) => {
39
44
  state.audit.push({
40
- id: `audit-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
45
+ id: `audit-${crypto.randomUUID()}`,
41
46
  at: new Date().toISOString(),
42
47
  action: result.action,
43
48
  aggregateScore: result.aggregateScore,
@@ -46,18 +51,6 @@ function createStorageHooks(store) {
46
51
  });
47
52
  });
48
53
  },
49
- async onBlock(result) {
50
- await store.update((state) => {
51
- state.audit.push({
52
- id: `audit-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
53
- at: new Date().toISOString(),
54
- action: "block",
55
- aggregateScore: result.aggregateScore,
56
- attempt: result.attempt,
57
- scoresCount: result.scores.length,
58
- });
59
- });
60
- },
61
54
  };
62
55
  }
63
56
  function mergeHooks(...hookSets) {
@@ -80,49 +73,152 @@ function mergeHooks(...hookSets) {
80
73
  },
81
74
  };
82
75
  }
76
+ // ── LLM Persona Mode Setup ──────────────────────────────────────────
77
+ function createLlmExecutor(fn, config) {
78
+ const pack = config.pack ?? DEFAULT_PACK;
79
+ const personas = config.personas ?? getPersonasByPack(pack);
80
+ const policyType = resolvePolicyType(config.policy);
81
+ const timeoutMs = config.personaTimeout ?? DEFAULT_PERSONA_TIMEOUT_MS;
82
+ const respawnThreshold = config.respawnThreshold ?? DEFAULT_RESPAWN_THRESHOLD;
83
+ const mode = config.mode ?? "enforce";
84
+ // Create reputation manager
85
+ const reputationManager = new ReputationManager(personas, respawnThreshold, config.reputationStore);
86
+ // Wire respawn events to logger
87
+ reputationManager.setRespawnHandler((event) => {
88
+ if (config.logger !== false) {
89
+ const logFn = typeof config.logger === "function"
90
+ ? config.logger
91
+ : (e) => console.debug("[consensus]", e.event, e.data); // eslint-disable-line no-console
92
+ logFn({
93
+ event: "persona.respawned",
94
+ data: {
95
+ oldPersonaId: event.oldPersona.id,
96
+ newPersonaId: event.newPersona.id,
97
+ reputation: event.reputation,
98
+ reason: event.reason,
99
+ },
100
+ timestamp: Date.now(),
101
+ });
102
+ }
103
+ });
104
+ // Load persisted reputation if store is configured.
105
+ // Track readiness so early calls don't race against the load.
106
+ let reputationReady;
107
+ if (config.reputationStore) {
108
+ reputationReady = reputationManager.load().catch((err) => {
109
+ if (config.logger !== false) {
110
+ console.warn("[consensus] Failed to load persisted reputation, starting with defaults:", err); // eslint-disable-line no-console
111
+ }
112
+ });
113
+ }
114
+ // Build the deliberation config
115
+ const deliberateConfig = {
116
+ model: config.model,
117
+ pack,
118
+ personas: config.personas,
119
+ guards: config.guards ?? DEFAULTS.guards,
120
+ policyType,
121
+ riskTiers: config.riskTiers,
122
+ reputationManager,
123
+ timeoutMs,
124
+ };
125
+ return async (toolName, args) => {
126
+ // Wait for reputation load before first deliberation
127
+ if (reputationReady) {
128
+ await reputationReady;
129
+ reputationReady = undefined;
130
+ }
131
+ try {
132
+ const decision = await deliberate(deliberateConfig, toolName, args);
133
+ // Fire onDecision callback (wrapped in try/catch so user callback errors
134
+ // don't affect governance decisions)
135
+ if (config.onDecision) {
136
+ try {
137
+ await config.onDecision(decision);
138
+ }
139
+ catch (callbackErr) {
140
+ config.onError?.(callbackErr instanceof Error ? callbackErr : new Error(String(callbackErr)), { toolName, args, phase: "onDecision" });
141
+ }
142
+ }
143
+ // Shadow mode: always allow, just log. Never blocks, even if callback threw.
144
+ if (mode === "shadow") {
145
+ return fn(toolName, args);
146
+ }
147
+ // Enforce mode: act on decision
148
+ if (decision.action === "allow") {
149
+ return fn(toolName, args);
150
+ }
151
+ // Blocked or escalated
152
+ if (config.failPolicy === "closed") {
153
+ const rationales = decision.votes.map((v) => `${v.personaName}: ${v.rationale}`).join("; ");
154
+ throw new ConsensusBlockedError(`Consensus ${decision.action}: score ${decision.aggregateScore.toFixed(2)} ` +
155
+ `[${decision.policy}] (${rationales})`);
156
+ }
157
+ // failPolicy: 'open' — execute anyway
158
+ return fn(toolName, args);
159
+ }
160
+ catch (err) {
161
+ if (err instanceof ConsensusBlockedError) {
162
+ throw err;
163
+ }
164
+ // Unexpected error during LLM deliberation — fall back to executing the tool
165
+ const error = err instanceof Error ? err : new Error(String(err));
166
+ config.onError?.(error, { toolName, args });
167
+ if (config.failPolicy === "closed") {
168
+ throw new ConsensusBlockedError("LLM deliberation failed", error);
169
+ }
170
+ // failPolicy: 'open' — execute despite error
171
+ return fn(toolName, args);
172
+ }
173
+ };
174
+ }
83
175
  // ── Main Facade ──────────────────────────────────────────────────────
84
176
  export const consensus = {
85
177
  /**
86
178
  * Wrap any tool executor with consensus governance.
87
179
  *
180
+ * Two modes:
181
+ * - **Regex mode** (default): Fast, deterministic pattern-matching guards.
182
+ * `consensus.wrap(executor)` or `consensus.wrap(executor, { policy: "majority" })`
183
+ *
184
+ * - **LLM persona mode**: Multi-model deliberation with reputation tracking.
185
+ * `consensus.wrap(executor, { model: myLlm, policy: "weighted_reputation" })`
186
+ * Activated when `model` is provided in config.
187
+ *
88
188
  * @param wrappable - A function, or object with .execute/.invoke/.call
89
189
  * @param config - Optional configuration overrides
90
190
  * @returns A wrapped function that runs consensus deliberation before allowing execution
91
191
  */
92
192
  wrap(wrappable, config) {
93
- // 1. Resolve the wrappable to a plain function
94
193
  const fn = resolveWrappable(wrappable);
95
- // 2. Merge config with defaults
96
194
  const merged = { ...DEFAULTS, ...config };
97
- const strategy = policyToStrategy(merged.policy);
98
- // 3. Production warnings
195
+ // Production warnings
99
196
  const isProduction = typeof process !== "undefined" && process.env?.["NODE_ENV"] === "production";
100
197
  if (isProduction && merged.failPolicy === "open") {
101
- // eslint-disable-next-line no-console
102
- console.warn("[consensus] WARNING: failPolicy 'open' in production — errors will pass through unchecked");
198
+ console.warn("[consensus] WARNING: failPolicy 'open' in production — errors will pass through unchecked"); // eslint-disable-line no-console
199
+ }
200
+ if (isProduction && merged.storage === "memory" && !config?.model) {
201
+ console.warn("[consensus] WARNING: storage 'memory' in production — decisions are not persisted"); // eslint-disable-line no-console
103
202
  }
104
- if (isProduction && merged.storage === "memory") {
105
- // eslint-disable-next-line no-console
106
- console.warn("[consensus] WARNING: storage 'memory' in production — decisions are not persisted");
203
+ // ── LLM Persona Mode ──────────────────────────────────────────────
204
+ if (config?.model) {
205
+ return createLlmExecutor(fn, merged);
107
206
  }
108
- // 4. Create guard reviewers use custom guards if provided and different from default
207
+ // ── Regex-Only Mode (unchanged from v0.8.0) ───────────────────────
208
+ const strategy = policyToStrategy(merged.policy);
109
209
  const isDefaultGuards = Array.isArray(merged.guards) &&
110
210
  merged.guards.length === DEFAULTS.guards.length &&
111
211
  merged.guards.every((g, i) => g === DEFAULTS.guards[i]);
112
212
  const reviewers = isDefaultGuards
113
213
  ? createDefaultReviewers()
114
214
  : createReviewersForGuards(merged.guards);
115
- // 5. Create logger hooks
116
215
  const loggerHooks = createLogger({ logger: merged.logger });
117
- // 6. Wire storage for audit artifacts
118
216
  const store = resolveStorage(merged.storage);
119
217
  const storageHooks = createStorageHooks(store);
120
218
  const hooks = mergeHooks(loggerHooks, storageHooks);
121
- // 7. Compose with wrapper/consensus<T>()
122
219
  const wrapped = wrapWithConsensus({
123
220
  name: "universal",
124
221
  fn: async (...args) => {
125
- // The wrapped fn receives (toolName, toolArgs) as its arguments
126
222
  const [toolName, toolArgs] = args;
127
223
  return fn(toolName, toolArgs);
128
224
  },
@@ -130,51 +226,36 @@ export const consensus = {
130
226
  strategy,
131
227
  hooks,
132
228
  });
133
- // 8. Return a ToolExecutor that catches errors and applies failPolicy
134
229
  return async (toolName, args) => {
135
230
  try {
136
231
  const result = await wrapped(toolName, args);
137
- // Fire onDecision callback (await to ensure it completes before throwing)
138
232
  if (merged.onDecision) {
139
233
  await merged.onDecision(result);
140
234
  }
141
235
  if (result.action === "allow") {
142
236
  return result.output;
143
237
  }
144
- // Blocked, escalated, or retried-out
145
238
  if (merged.failPolicy === "closed") {
146
239
  throw new ConsensusBlockedError(`Consensus ${result.action}: aggregate score ${result.aggregateScore.toFixed(2)} ` +
147
240
  `(${result.scores.map((s) => s.rationale ?? "no rationale").join("; ")})`);
148
241
  }
149
- // failPolicy: 'open' — execute anyway
150
242
  return fn(toolName, args);
151
243
  }
152
244
  catch (err) {
153
245
  if (err instanceof ConsensusBlockedError) {
154
246
  throw err;
155
247
  }
156
- // Unexpected error during deliberation
157
248
  const error = err instanceof Error ? err : new Error(String(err));
158
249
  merged.onError?.(error, { toolName, args });
159
250
  if (merged.failPolicy === "closed") {
160
251
  throw new ConsensusBlockedError("Consensus deliberation failed", error);
161
252
  }
162
- // failPolicy: 'open' — execute despite error
163
253
  return fn(toolName, args);
164
254
  }
165
255
  };
166
256
  },
167
257
  /**
168
258
  * LangChain adapter — dynamically loads @consensus-tools/langchain.
169
- *
170
- * Returns a `ConsensusGuardCallbackHandler` that intercepts all tool calls and
171
- * runs them through consensus deliberation. Attach it to your chain or agent
172
- * via the `callbacks` option to govern all tool calls:
173
- *
174
- * ```ts
175
- * const handler = await consensus.langchain(null, { policy: "majority" });
176
- * const result = await agent.invoke({ input: "..." }, { callbacks: [handler] });
177
- * ```
178
259
  */
179
260
  async langchain(_chain, config) {
180
261
  let mod;
@@ -184,7 +265,6 @@ export const consensus = {
184
265
  catch {
185
266
  throw new MissingDependencyError("@consensus-tools/langchain");
186
267
  }
187
- // Create a guard callback handler with the user's config
188
268
  const HandlerClass = mod["ConsensusGuardCallbackHandler"];
189
269
  if (!HandlerClass) {
190
270
  throw new Error("@consensus-tools/langchain does not export ConsensusGuardCallbackHandler");
@@ -194,8 +274,6 @@ export const consensus = {
194
274
  guards: config?.guards,
195
275
  onDecision: config?.onDecision ? (d) => config.onDecision?.(d) : undefined,
196
276
  });
197
- // Return the handler — the user attaches it to their chain/agent
198
- // This is the LangChain pattern: you don't wrap the chain, you add callbacks
199
277
  return handler;
200
278
  },
201
279
  /**
@@ -233,7 +311,10 @@ export const consensus = {
233
311
  };
234
312
  // ── Re-exports ───────────────────────────────────────────────────────
235
313
  export { resolveWrappable } from "./resolve.js";
236
- export { policyToStrategy, DEFAULTS, DEFAULT_GUARD, DEFAULT_POLICY, DEFAULT_PERSONA_TRIO, DEFAULT_PERSONA_COUNT } from "./defaults.js";
314
+ export { policyToStrategy, resolvePolicyType, DEFAULTS, DEFAULT_GUARD, DEFAULT_POLICY, DEFAULT_PERSONA_TRIO, DEFAULT_PERSONA_COUNT, DEFAULT_PACK } from "./defaults.js";
237
315
  export { createLogger } from "./logger.js";
238
316
  export { ConsensusBlockedError, MissingDependencyError, ConfigError } from "./errors.js";
317
+ export { ReputationManager } from "./reputation-manager.js";
318
+ export { classifyTool } from "./risk-tiers.js";
319
+ export { deliberate } from "./persona-reviewer-factory.js";
239
320
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { PersonaConfig } from "@consensus-tools/personas";
2
+ import type { ModelAdapter, LlmDecisionResult } from "./types.js";
3
+ import type { ReputationManager } from "./reputation-manager.js";
4
+ import type { RiskTierMap } from "./types.js";
5
+ export interface PersonaReviewerConfig {
6
+ model: ModelAdapter;
7
+ pack?: string;
8
+ personas?: PersonaConfig[];
9
+ guards?: string[];
10
+ policyType: string;
11
+ riskTiers?: RiskTierMap;
12
+ reputationManager: ReputationManager;
13
+ timeoutMs: number;
14
+ }
15
+ /**
16
+ * Run LLM persona deliberation on a tool call.
17
+ *
18
+ * Returns an LlmDecisionResult with per-persona votes, consensus trace,
19
+ * and final action (allow/block/escalate).
20
+ */
21
+ export declare function deliberate(config: PersonaReviewerConfig, toolName: string, args: Record<string, unknown>): Promise<LlmDecisionResult>;
22
+ //# sourceMappingURL=persona-reviewer-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-reviewer-factory.d.ts","sourceRoot":"","sources":["../src/persona-reviewer-factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,2BAA2B,CAAC;AAElF,OAAO,KAAK,EAAE,YAAY,EAAgB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkM9C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAuL5B"}