@cat-factory/consensus 0.8.34 → 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.
- package/dist/ConsensusAgentExecutor.d.ts +8 -1
- package/dist/ConsensusAgentExecutor.d.ts.map +1 -1
- package/dist/ConsensusAgentExecutor.js +6 -4
- package/dist/ConsensusAgentExecutor.js.map +1 -1
- package/dist/traits.d.ts +3 -2
- package/dist/traits.d.ts.map +1 -1
- package/dist/traits.js +4 -4
- package/dist/traits.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AgentExecutor, type AgentJobHandle, type AgentJobUpdate, type AgentRunContext, type AgentRunResult, type AsyncAgentExecutor, type ConsensusSessionRepository, type ExecutionEventPublisher, type ModelProvider, type ModelProviderResolver, type ModelRef } from '@cat-factory/kernel';
|
|
2
|
-
import { type AgentRouting } from '@cat-factory/agents';
|
|
2
|
+
import { type AgentKindRegistry, type AgentRouting } from '@cat-factory/agents';
|
|
3
3
|
import type { GenerateFn } from './strategies/types.js';
|
|
4
4
|
export interface ConsensusAgentExecutorDependencies {
|
|
5
5
|
/**
|
|
@@ -38,6 +38,12 @@ export interface ConsensusAgentExecutorDependencies {
|
|
|
38
38
|
};
|
|
39
39
|
/** Inject the LLM call (tests); defaults to the Vercel AI SDK wrapper. */
|
|
40
40
|
generate?: GenerateFn;
|
|
41
|
+
/**
|
|
42
|
+
* The app-owned agent-kind registry: consulted for consensus eligibility (a registered
|
|
43
|
+
* kind's traits) and the participants' base system/goal prompts. Defaults to a fresh
|
|
44
|
+
* {@link defaultAgentKindRegistry} (built-ins only) when a facade doesn't inject one.
|
|
45
|
+
*/
|
|
46
|
+
agentKindRegistry?: AgentKindRegistry;
|
|
41
47
|
}
|
|
42
48
|
/**
|
|
43
49
|
* An {@link AgentExecutor} that runs an eligible, consensus-enabled step through a
|
|
@@ -51,6 +57,7 @@ export declare class ConsensusAgentExecutor implements AsyncAgentExecutor {
|
|
|
51
57
|
private readonly resolveBlockModel;
|
|
52
58
|
private readonly now;
|
|
53
59
|
private readonly generate;
|
|
60
|
+
private readonly agentKindRegistry;
|
|
54
61
|
constructor(deps: ConsensusAgentExecutorDependencies);
|
|
55
62
|
/**
|
|
56
63
|
* Whether this step should actually run consensus (enabled, the kind carries a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsensusAgentExecutor.d.ts","sourceRoot":"","sources":["../src/ConsensusAgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAGvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EAGd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"ConsensusAgentExecutor.d.ts","sourceRoot":"","sources":["../src/ConsensusAgentExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inlineModelRef, isAsyncAgentExecutor, } from '@cat-factory/kernel';
|
|
2
|
-
import { composeBlockSystemPrompt, resolveAgentConfig, resolveInlineModelRef, systemPromptFor, userPromptFor, } from '@cat-factory/agents';
|
|
2
|
+
import { composeBlockSystemPrompt, defaultAgentKindRegistry, resolveAgentConfig, resolveInlineModelRef, systemPromptFor, userPromptFor, } from '@cat-factory/agents';
|
|
3
3
|
import { decideConsensusMode } from './gating.js';
|
|
4
4
|
import { isConsensusEligible } from './traits.js';
|
|
5
5
|
import { runSpecialistPanel } from './strategies/specialistPanel.js';
|
|
@@ -23,6 +23,7 @@ export class ConsensusAgentExecutor {
|
|
|
23
23
|
resolveBlockModel;
|
|
24
24
|
now;
|
|
25
25
|
generate;
|
|
26
|
+
agentKindRegistry;
|
|
26
27
|
constructor(deps) {
|
|
27
28
|
if (!deps.modelProviderResolver && !deps.modelProvider) {
|
|
28
29
|
throw new Error('ConsensusAgentExecutor requires a modelProviderResolver or a modelProvider');
|
|
@@ -31,6 +32,7 @@ export class ConsensusAgentExecutor {
|
|
|
31
32
|
this.resolveBlockModel = deps.resolveBlockModel ?? (() => undefined);
|
|
32
33
|
this.now = deps.now ?? (() => Date.now());
|
|
33
34
|
this.generate = deps.generate ?? defaultGenerate;
|
|
35
|
+
this.agentKindRegistry = deps.agentKindRegistry ?? defaultAgentKindRegistry();
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
36
38
|
* Whether this step should actually run consensus (enabled, the kind carries a
|
|
@@ -44,7 +46,7 @@ export class ConsensusAgentExecutor {
|
|
|
44
46
|
const cfg = context.consensus;
|
|
45
47
|
if (!cfg || !cfg.enabled)
|
|
46
48
|
return false;
|
|
47
|
-
if (!isConsensusEligible(context.agentKind))
|
|
49
|
+
if (!isConsensusEligible(context.agentKind, this.agentKindRegistry))
|
|
48
50
|
return false;
|
|
49
51
|
if (cfg.participants.length < 2)
|
|
50
52
|
return false;
|
|
@@ -95,8 +97,8 @@ export class ConsensusAgentExecutor {
|
|
|
95
97
|
const provider = await this.providerFor(context);
|
|
96
98
|
const base = await this.baseRef(context);
|
|
97
99
|
const config = resolveAgentConfig(this.deps.agentRouting, context.agentKind);
|
|
98
|
-
const baseSystem = composeBlockSystemPrompt(config.system ?? systemPromptFor(context.agentKind), context.block);
|
|
99
|
-
const goalPrompt = userPromptFor(context);
|
|
100
|
+
const baseSystem = composeBlockSystemPrompt(config.system ?? systemPromptFor(context.agentKind, this.agentKindRegistry), context.block);
|
|
101
|
+
const goalPrompt = userPromptFor(context, this.agentKindRegistry);
|
|
100
102
|
const participants = cfg.participants.map((p) => {
|
|
101
103
|
const ref = this.refForModelId(p.modelId, base);
|
|
102
104
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsensusAgentExecutor.js","sourceRoot":"","sources":["../src/ConsensusAgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,cAAc,EACd,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"ConsensusAgentExecutor.js","sourceRoot":"","sources":["../src/ConsensusAgentExecutor.ts"],"names":[],"mappings":"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"}
|
package/dist/traits.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AgentKind, ConsensusStrategy } from '@cat-factory/kernel';
|
|
2
|
+
import type { AgentKindRegistry } from '@cat-factory/agents';
|
|
2
3
|
export declare const SPECIALIST_PANEL_CAPABLE = "specialist-panel-capable";
|
|
3
4
|
export declare const DEBATE_CAPABLE = "debate-capable";
|
|
4
5
|
export declare const RANKED_VOTING_CAPABLE = "ranked-voting-capable";
|
|
@@ -29,7 +30,7 @@ export declare const DEFAULT_CONSENSUS_ELIGIBLE_KINDS: AgentKind[];
|
|
|
29
30
|
*/
|
|
30
31
|
export declare function registerConsensusTraits(kinds?: AgentKind[]): void;
|
|
31
32
|
/** The consensus strategies a kind is eligible for, derived from its traits. */
|
|
32
|
-
export declare function consensusStrategiesFor(kind: AgentKind): ConsensusStrategy[];
|
|
33
|
+
export declare function consensusStrategiesFor(kind: AgentKind, registry: AgentKindRegistry): ConsensusStrategy[];
|
|
33
34
|
/** Whether a kind is eligible for at least one consensus strategy. */
|
|
34
|
-
export declare function isConsensusEligible(kind: AgentKind): boolean;
|
|
35
|
+
export declare function isConsensusEligible(kind: AgentKind, registry: AgentKindRegistry): boolean;
|
|
35
36
|
//# sourceMappingURL=traits.d.ts.map
|
package/dist/traits.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAU5D,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAC9C,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,8DAA8D;AAC9D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAI5D,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,gBAAgB,kFAInB,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,EAKvD,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,GAAE,SAAS,EAAqC,GACpD,IAAI,CAGN;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,GAC1B,iBAAiB,EAAE,CAKrB;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAEzF"}
|
package/dist/traits.js
CHANGED
|
@@ -53,12 +53,12 @@ export function registerConsensusTraits(kinds = DEFAULT_CONSENSUS_ELIGIBLE_KINDS
|
|
|
53
53
|
assignAgentTraits(kind, CONSENSUS_TRAITS);
|
|
54
54
|
}
|
|
55
55
|
/** The consensus strategies a kind is eligible for, derived from its traits. */
|
|
56
|
-
export function consensusStrategiesFor(kind) {
|
|
57
|
-
const traits = traitsFor(kind);
|
|
56
|
+
export function consensusStrategiesFor(kind, registry) {
|
|
57
|
+
const traits = traitsFor(kind, registry);
|
|
58
58
|
return Object.keys(STRATEGY_TRAIT).filter((s) => traits.has(STRATEGY_TRAIT[s]));
|
|
59
59
|
}
|
|
60
60
|
/** Whether a kind is eligible for at least one consensus strategy. */
|
|
61
|
-
export function isConsensusEligible(kind) {
|
|
62
|
-
return consensusStrategiesFor(kind).length > 0;
|
|
61
|
+
export function isConsensusEligible(kind, registry) {
|
|
62
|
+
return consensusStrategiesFor(kind, registry).length > 0;
|
|
63
63
|
}
|
|
64
64
|
//# sourceMappingURL=traits.js.map
|
package/dist/traits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.js","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traits.js","sourceRoot":"","sources":["../src/traits.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,mFAAmF;AACnF,sFAAsF;AACtF,uFAAuF;AACvF,kFAAkF;AAClF,qFAAqF;AAErF,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAE5D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,kBAAkB,EAAE,wBAAwB;IAC5C,MAAM,EAAE,cAAc;IACtB,eAAe,EAAE,qBAAqB;CACvC,CAAA;AAED,uCAAuC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,wBAAwB;IACxB,cAAc;IACd,qBAAqB;CACb,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAgB;IAC3D,WAAW;IACX,UAAU;IACV,UAAU;IACV,yBAAyB;CAC1B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAK,GAAgB,gCAAgC;IAErD,KAAK,MAAM,KAAK,IAAI,gBAAgB;QAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACvE,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACrE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CACpC,IAAe,EACf,QAA2B;IAE3B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,OAAQ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAA;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,IAAe,EAAE,QAA2B;IAC9E,OAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AAC1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/consensus",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Optional consensus-orchestration mechanism (specialist panel / debate / ranked voting) for cat-factory agent steps, with task-estimate gating.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"ai": "^6.0.214",
|
|
28
|
-
"@cat-factory/agents": "0.
|
|
29
|
-
"@cat-factory/contracts": "0.
|
|
30
|
-
"@cat-factory/kernel": "0.
|
|
28
|
+
"@cat-factory/agents": "0.35.0",
|
|
29
|
+
"@cat-factory/contracts": "0.97.0",
|
|
30
|
+
"@cat-factory/kernel": "0.86.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"typescript": "7.0.1-rc",
|