network-ai 5.2.2 → 5.3.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.
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ /**
3
+ * Context Throttler — Metadata-Driven Blackboard Pruning for Network-AI
4
+ *
5
+ * Prevents "context pollution" by ensuring agents only receive the subset of
6
+ * Blackboard state that is relevant to their declared scope metadata.
7
+ *
8
+ * Before an LLM call the orchestrator passes the full blackboard snapshot and
9
+ * the agent's `scopeMetadata` tags to `filterState()`. Keys that do not match
10
+ * any tag are pruned, keeping the system prompt lean regardless of how large
11
+ * the shared state grows.
12
+ *
13
+ * Zero external dependencies — pure TypeScript functions.
14
+ *
15
+ * @module ContextThrottler
16
+ * @version 1.0.0
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.ContextThrottler = void 0;
20
+ exports.filterState = filterState;
21
+ // ============================================================================
22
+ // PURE FILTER FUNCTION
23
+ // ============================================================================
24
+ /**
25
+ * Prune a blackboard state snapshot to only include keys matching an agent's
26
+ * scope metadata tags.
27
+ *
28
+ * This is the core primitive — stateless and dependency-free. Use it directly
29
+ * or via {@link ContextThrottler} for the OOP interface.
30
+ *
31
+ * @param agentId - Agent identifier (used only in the returned result metadata)
32
+ * @param state - Full blackboard snapshot (key → value)
33
+ * @param scopeMetadata - Tags declaring what the agent cares about
34
+ * @param options - Matching behaviour overrides
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * import { filterState } from 'network-ai';
39
+ *
40
+ * const pruned = filterState('tax-agent', fullBlackboard, ['financials', 'tax']);
41
+ * // pruned.filteredState only contains keys containing "financials" or "tax"
42
+ * ```
43
+ */
44
+ function filterState(agentId, state, scopeMetadata, options = {}) {
45
+ const { caseSensitive = false, exactMatch = false, maxKeys = 0 } = options;
46
+ // Wildcard — keep everything
47
+ if (scopeMetadata.includes('*') || scopeMetadata.length === 0) {
48
+ const allKeys = Object.keys(state);
49
+ return {
50
+ filteredState: { ...state },
51
+ retainedKeys: allKeys,
52
+ prunedKeys: [],
53
+ agentId,
54
+ scopeMetadata,
55
+ };
56
+ }
57
+ const normalizedTags = caseSensitive
58
+ ? scopeMetadata
59
+ : scopeMetadata.map((t) => t.toLowerCase());
60
+ const retainedKeys = [];
61
+ const prunedKeys = [];
62
+ for (const key of Object.keys(state)) {
63
+ const normalizedKey = caseSensitive ? key : key.toLowerCase();
64
+ const matches = exactMatch
65
+ ? normalizedTags.includes(normalizedKey)
66
+ : normalizedTags.some((tag) => normalizedKey.includes(tag));
67
+ if (matches) {
68
+ retainedKeys.push(key);
69
+ }
70
+ else {
71
+ prunedKeys.push(key);
72
+ }
73
+ }
74
+ // Apply hard cap
75
+ const cappedKeys = maxKeys > 0 ? retainedKeys.slice(0, maxKeys) : retainedKeys;
76
+ const extraPruned = maxKeys > 0 ? retainedKeys.slice(maxKeys) : [];
77
+ const filteredState = {};
78
+ for (const key of cappedKeys) {
79
+ filteredState[key] = state[key];
80
+ }
81
+ return {
82
+ filteredState,
83
+ retainedKeys: cappedKeys,
84
+ prunedKeys: [...prunedKeys, ...extraPruned],
85
+ agentId,
86
+ scopeMetadata,
87
+ };
88
+ }
89
+ // ============================================================================
90
+ // CONTEXT THROTTLER (OOP interface)
91
+ // ============================================================================
92
+ /**
93
+ * ContextThrottler provides a stateful interface for the `filterState`
94
+ * primitive and maintains per-agent scope registrations.
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const throttler = new ContextThrottler();
99
+ * throttler.registerScope('tax-agent', ['financials', 'tax', 'regulations']);
100
+ * throttler.registerScope('hr-agent', ['employees', 'salaries']);
101
+ *
102
+ * const result = throttler.filter('tax-agent', fullBlackboard);
103
+ * // result.filteredState only has the keys relevant to the tax agent
104
+ * ```
105
+ */
106
+ class ContextThrottler {
107
+ scopes = new Map();
108
+ options;
109
+ constructor(options = {}) {
110
+ this.options = options;
111
+ }
112
+ /**
113
+ * Register a scope for an agent. Overwrites any existing registration.
114
+ * @param agentId - Agent identifier
115
+ * @param scopeMetadata - Tags for this agent (use `['*']` to opt out of filtering)
116
+ */
117
+ registerScope(agentId, scopeMetadata) {
118
+ if (!agentId || typeof agentId !== 'string') {
119
+ throw new Error('agentId must be a non-empty string');
120
+ }
121
+ this.scopes.set(agentId, scopeMetadata);
122
+ }
123
+ /**
124
+ * Remove a registered scope.
125
+ */
126
+ deregisterScope(agentId) {
127
+ this.scopes.delete(agentId);
128
+ }
129
+ /**
130
+ * Return the registered scope for an agent, or undefined if not registered.
131
+ */
132
+ getScope(agentId) {
133
+ return this.scopes.get(agentId);
134
+ }
135
+ /**
136
+ * Filter a blackboard snapshot for a specific agent using its registered
137
+ * scope. If no scope is registered for the agent, all keys are retained
138
+ * (equivalent to `['*']`).
139
+ *
140
+ * @param agentId - Agent to filter for
141
+ * @param state - Full blackboard snapshot
142
+ * @param overrideScope - Override the registered scope for this call only
143
+ */
144
+ filter(agentId, state, overrideScope) {
145
+ const scope = overrideScope ?? this.scopes.get(agentId) ?? ['*'];
146
+ return filterState(agentId, state, scope, this.options);
147
+ }
148
+ /**
149
+ * Filter and return only the `filteredState` object (convenience wrapper).
150
+ */
151
+ filterToState(agentId, state, overrideScope) {
152
+ return this.filter(agentId, state, overrideScope).filteredState;
153
+ }
154
+ /**
155
+ * Filter a full state snapshot for every registered agent.
156
+ * Returns a Map of agentId → ThrottleResult.
157
+ */
158
+ filterAll(state) {
159
+ const results = new Map();
160
+ for (const [agentId] of this.scopes) {
161
+ results.set(agentId, this.filter(agentId, state));
162
+ }
163
+ return results;
164
+ }
165
+ /** Number of registered agent scopes. */
166
+ get size() {
167
+ return this.scopes.size;
168
+ }
169
+ }
170
+ exports.ContextThrottler = ContextThrottler;
171
+ //# sourceMappingURL=context-throttler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-throttler.js","sourceRoot":"","sources":["../../lib/context-throttler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Coverage Gate — Recursive Refinement Loop for Network-AI
3
+ *
4
+ * Prevents the system from finishing with incomplete data by acting as a
5
+ * gatekeeper before the `submit_final` action is allowed. An evaluator LLM
6
+ * scores the current Blackboard state against the original user goal and
7
+ * produces a gap list. If the score is below the configured threshold the
8
+ * orchestrator feeds the gaps back into GoalDecomposer to generate new
9
+ * sub-tasks. Execution only reaches the COMPLETE state when the score
10
+ * clears the threshold (or the maximum refinement count is reached).
11
+ *
12
+ * The EVALUATING FSM state (added to WORKFLOW_STATES) signals that a
13
+ * refinement loop is in progress.
14
+ *
15
+ * Zero external dependencies — the evaluator function is pluggable.
16
+ *
17
+ * @module CoverageGate
18
+ * @version 1.0.0
19
+ */
20
+ /** Output from a coverage evaluation call. */
21
+ export interface CoverageResult {
22
+ /** 0–100 completeness score. */
23
+ score: number;
24
+ /** List of topics / questions the current state does NOT yet cover. */
25
+ gaps: string[];
26
+ /** Human-readable evaluation summary. */
27
+ summary: string;
28
+ /** When the evaluation was completed (epoch ms). */
29
+ evaluatedAt: number;
30
+ }
31
+ /**
32
+ * A function that evaluates the current blackboard state against the original
33
+ * goal and returns a CoverageResult.
34
+ *
35
+ * Implement with an LLM call (Claude, GPT-4o, …) or a deterministic
36
+ * heuristic. Must always resolve — never reject.
37
+ *
38
+ * @param goal - The original user goal
39
+ * @param blackboardSummary - A serialisable snapshot of the current blackboard
40
+ */
41
+ export type CoverageEvaluatorFunction = (goal: string, blackboardSummary: Record<string, unknown>) => Promise<CoverageResult>;
42
+ /** Options for {@link CoverageGate}. */
43
+ export interface CoverageGateOptions {
44
+ /**
45
+ * Minimum score (0–100) needed to pass the gate.
46
+ * Default: 90.
47
+ */
48
+ threshold?: number;
49
+ /**
50
+ * Maximum number of refinement rounds before accepting the result even if
51
+ * the threshold is not met. Prevents infinite loops.
52
+ * Default: 3.
53
+ */
54
+ maxRefinements?: number;
55
+ }
56
+ /** Outcome of a single {@link CoverageGate.evaluate} call. */
57
+ export interface CoverageGateResult {
58
+ /** Whether the gate was passed (score ≥ threshold). */
59
+ passed: boolean;
60
+ /** The evaluation result from the evaluator. */
61
+ evaluation: CoverageResult;
62
+ /** The threshold that was applied. */
63
+ threshold: number;
64
+ /** Number of refinement rounds that have been run so far. */
65
+ refinementsUsed: number;
66
+ /** Whether the maximum refinements limit was reached. */
67
+ maxRefinementsReached: boolean;
68
+ }
69
+ /** Describes one pass through the coverage refinement loop. */
70
+ export interface RefinementRound {
71
+ round: number;
72
+ evaluation: CoverageResult;
73
+ passed: boolean;
74
+ gapsRequeued: string[];
75
+ }
76
+ /**
77
+ * A simple keyword-gap evaluator that checks whether each expected topic
78
+ * keyword appears anywhere in the stringified blackboard values.
79
+ *
80
+ * Useful for deterministic tests and quick smoke-tests without an LLM.
81
+ *
82
+ * @param expectedTopics - List of keywords/phrases that must appear in the board
83
+ */
84
+ export declare function createKeywordEvaluator(expectedTopics: string[]): CoverageEvaluatorFunction;
85
+ /**
86
+ * Build an evaluator backed by an LLM via the Network-AI executor API.
87
+ *
88
+ * @param executor - Network-AI executor function
89
+ * @param evaluatorAgentId - Agent ID for the evaluator model
90
+ */
91
+ export declare function createLLMEvaluator(executor: (agentId: string, payload: {
92
+ action: string;
93
+ params: Record<string, unknown>;
94
+ }, context: {
95
+ agentId: string;
96
+ taskId: string;
97
+ metadata?: Record<string, unknown>;
98
+ }) => Promise<{
99
+ success: boolean;
100
+ data?: unknown;
101
+ error?: {
102
+ message: string;
103
+ };
104
+ }>, evaluatorAgentId: string): CoverageEvaluatorFunction;
105
+ /**
106
+ * CoverageGate is the final gatekeeper before `submit_final`.
107
+ *
108
+ * Call `evaluate()` after each execution round. If it returns `passed: false`,
109
+ * use `result.evaluation.gaps` to generate additional sub-tasks via
110
+ * GoalDecomposer, then re-run and evaluate again.
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const gate = new CoverageGate(myLLMEvaluator, { threshold: 90, maxRefinements: 3 });
115
+ *
116
+ * let boardSnapshot = blackboard.snapshot();
117
+ * let gateResult = await gate.evaluate(goal, boardSnapshot);
118
+ *
119
+ * while (!gateResult.passed && !gateResult.maxRefinementsReached) {
120
+ * const gapGoal = `Fill these gaps: ${gateResult.evaluation.gaps.join(', ')}`;
121
+ * const gapDag = await decomposer.decompose(gapGoal, agents);
122
+ * await runner.run(gapDag, runOptions);
123
+ * boardSnapshot = blackboard.snapshot();
124
+ * gateResult = await gate.evaluate(goal, boardSnapshot);
125
+ * }
126
+ * ```
127
+ */
128
+ export declare class CoverageGate {
129
+ private evaluatorFn;
130
+ private threshold;
131
+ private maxRefinements;
132
+ private _refinementsUsed;
133
+ private _history;
134
+ constructor(evaluatorFn: CoverageEvaluatorFunction, options?: CoverageGateOptions);
135
+ /**
136
+ * Evaluate the current blackboard state against the original goal.
137
+ *
138
+ * Each call increments the internal refinement counter. When
139
+ * `maxRefinements` is reached the gate is treated as passed (fail-open)
140
+ * to prevent infinite loops, and `maxRefinementsReached` is set to true.
141
+ *
142
+ * @param goal - Original user goal
143
+ * @param blackboardSummary - Current blackboard snapshot (key → value)
144
+ */
145
+ evaluate(goal: string, blackboardSummary: Record<string, unknown>): Promise<CoverageGateResult>;
146
+ /** Reset the refinement counter and history (allows reuse across separate goals). */
147
+ reset(): void;
148
+ /** History of all refinement rounds evaluated so far. */
149
+ get history(): readonly RefinementRound[];
150
+ /** Current refinement count (before this becomes a pass-through). */
151
+ get refinementsUsed(): number;
152
+ /** The configured threshold (0–100). */
153
+ get scoreThreshold(): number;
154
+ }
155
+ //# sourceMappingURL=coverage-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-gate.d.ts","sourceRoot":"","sources":["../../lib/coverage-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACvC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,UAAU,EAAE,cAAc,CAAC;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAuB1F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC5D,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,KAC7E,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,EAC/E,gBAAgB,EAAE,MAAM,GACvB,yBAAyB,CAmE3B;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,WAAW,EAAE,yBAAyB,EAAE,OAAO,GAAE,mBAAwB;IAMrF;;;;;;;;;OASG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,kBAAkB,CAAC;IA0B9B,qFAAqF;IACrF,KAAK,IAAI,IAAI;IAKb,yDAAyD;IACzD,IAAI,OAAO,IAAI,SAAS,eAAe,EAAE,CAExC;IAED,qEAAqE;IACrE,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,wCAAwC;IACxC,IAAI,cAAc,IAAI,MAAM,CAE3B;CACF"}
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ /**
3
+ * Coverage Gate — Recursive Refinement Loop for Network-AI
4
+ *
5
+ * Prevents the system from finishing with incomplete data by acting as a
6
+ * gatekeeper before the `submit_final` action is allowed. An evaluator LLM
7
+ * scores the current Blackboard state against the original user goal and
8
+ * produces a gap list. If the score is below the configured threshold the
9
+ * orchestrator feeds the gaps back into GoalDecomposer to generate new
10
+ * sub-tasks. Execution only reaches the COMPLETE state when the score
11
+ * clears the threshold (or the maximum refinement count is reached).
12
+ *
13
+ * The EVALUATING FSM state (added to WORKFLOW_STATES) signals that a
14
+ * refinement loop is in progress.
15
+ *
16
+ * Zero external dependencies — the evaluator function is pluggable.
17
+ *
18
+ * @module CoverageGate
19
+ * @version 1.0.0
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.CoverageGate = void 0;
23
+ exports.createKeywordEvaluator = createKeywordEvaluator;
24
+ exports.createLLMEvaluator = createLLMEvaluator;
25
+ // ============================================================================
26
+ // BUILT-IN EVALUATORS
27
+ // ============================================================================
28
+ /**
29
+ * A simple keyword-gap evaluator that checks whether each expected topic
30
+ * keyword appears anywhere in the stringified blackboard values.
31
+ *
32
+ * Useful for deterministic tests and quick smoke-tests without an LLM.
33
+ *
34
+ * @param expectedTopics - List of keywords/phrases that must appear in the board
35
+ */
36
+ function createKeywordEvaluator(expectedTopics) {
37
+ return async (goal, blackboardSummary) => {
38
+ const stateText = JSON.stringify(blackboardSummary).toLowerCase();
39
+ const gaps = [];
40
+ for (const topic of expectedTopics) {
41
+ if (!stateText.includes(topic.toLowerCase())) {
42
+ gaps.push(topic);
43
+ }
44
+ }
45
+ const covered = expectedTopics.length - gaps.length;
46
+ const score = expectedTopics.length === 0
47
+ ? 100
48
+ : Math.round((covered / expectedTopics.length) * 100);
49
+ return {
50
+ score,
51
+ gaps,
52
+ summary: `Covered ${covered}/${expectedTopics.length} expected topics. Missing: ${gaps.length === 0 ? 'none' : gaps.join(', ')}.`,
53
+ evaluatedAt: Date.now(),
54
+ };
55
+ };
56
+ }
57
+ /**
58
+ * Build an evaluator backed by an LLM via the Network-AI executor API.
59
+ *
60
+ * @param executor - Network-AI executor function
61
+ * @param evaluatorAgentId - Agent ID for the evaluator model
62
+ */
63
+ function createLLMEvaluator(executor, evaluatorAgentId) {
64
+ return async (goal, blackboardSummary) => {
65
+ const prompt = [
66
+ 'You are a coverage evaluator for a multi-agent AI system.',
67
+ 'Evaluate how completely the current state addresses the original goal.',
68
+ '',
69
+ `ORIGINAL GOAL: ${goal}`,
70
+ '',
71
+ 'CURRENT STATE (Blackboard summary):',
72
+ JSON.stringify(blackboardSummary, null, 2),
73
+ '',
74
+ 'Score the completeness from 0 to 100 and list any remaining gaps.',
75
+ '',
76
+ 'Respond with ONLY valid JSON:',
77
+ '{"score":0-100,"gaps":["gap 1","gap 2"],"summary":"..."}',
78
+ ].join('\n');
79
+ try {
80
+ const result = await executor(evaluatorAgentId, { action: 'evaluate', params: { prompt, goal } }, { agentId: evaluatorAgentId, taskId: `coverage-eval-${Date.now()}`, metadata: { type: 'coverage-evaluation' } });
81
+ if (!result.success || !result.data) {
82
+ return {
83
+ score: 0,
84
+ gaps: [result.error?.message ?? 'Evaluator returned no data'],
85
+ summary: 'Evaluation failed — treating as incomplete',
86
+ evaluatedAt: Date.now(),
87
+ };
88
+ }
89
+ const raw = typeof result.data === 'string' ? result.data : JSON.stringify(result.data);
90
+ // Strip markdown fences
91
+ let cleaned = raw.trim().replace(/```[a-z]*\n?/g, '').replace(/```/g, '').trim();
92
+ const start = cleaned.indexOf('{');
93
+ const end = cleaned.lastIndexOf('}');
94
+ if (start !== -1 && end > start)
95
+ cleaned = cleaned.substring(start, end + 1);
96
+ let parsed;
97
+ try {
98
+ parsed = JSON.parse(cleaned);
99
+ }
100
+ catch {
101
+ return {
102
+ score: 50,
103
+ gaps: ['Could not parse evaluator response'],
104
+ summary: 'Parse error — defaulting to score 50',
105
+ evaluatedAt: Date.now(),
106
+ };
107
+ }
108
+ return {
109
+ score: Math.min(100, Math.max(0, Number(parsed.score) || 0)),
110
+ gaps: Array.isArray(parsed.gaps) ? parsed.gaps.map(String) : [],
111
+ summary: String(parsed.summary ?? ''),
112
+ evaluatedAt: Date.now(),
113
+ };
114
+ }
115
+ catch (err) {
116
+ return {
117
+ score: 0,
118
+ gaps: [err.message],
119
+ summary: `Evaluator threw: ${err.message}`,
120
+ evaluatedAt: Date.now(),
121
+ };
122
+ }
123
+ };
124
+ }
125
+ // ============================================================================
126
+ // COVERAGE GATE (OOP interface)
127
+ // ============================================================================
128
+ /**
129
+ * CoverageGate is the final gatekeeper before `submit_final`.
130
+ *
131
+ * Call `evaluate()` after each execution round. If it returns `passed: false`,
132
+ * use `result.evaluation.gaps` to generate additional sub-tasks via
133
+ * GoalDecomposer, then re-run and evaluate again.
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const gate = new CoverageGate(myLLMEvaluator, { threshold: 90, maxRefinements: 3 });
138
+ *
139
+ * let boardSnapshot = blackboard.snapshot();
140
+ * let gateResult = await gate.evaluate(goal, boardSnapshot);
141
+ *
142
+ * while (!gateResult.passed && !gateResult.maxRefinementsReached) {
143
+ * const gapGoal = `Fill these gaps: ${gateResult.evaluation.gaps.join(', ')}`;
144
+ * const gapDag = await decomposer.decompose(gapGoal, agents);
145
+ * await runner.run(gapDag, runOptions);
146
+ * boardSnapshot = blackboard.snapshot();
147
+ * gateResult = await gate.evaluate(goal, boardSnapshot);
148
+ * }
149
+ * ```
150
+ */
151
+ class CoverageGate {
152
+ evaluatorFn;
153
+ threshold;
154
+ maxRefinements;
155
+ _refinementsUsed = 0;
156
+ _history = [];
157
+ constructor(evaluatorFn, options = {}) {
158
+ this.evaluatorFn = evaluatorFn;
159
+ this.threshold = Math.min(100, Math.max(0, options.threshold ?? 90));
160
+ this.maxRefinements = Math.max(0, options.maxRefinements ?? 3);
161
+ }
162
+ /**
163
+ * Evaluate the current blackboard state against the original goal.
164
+ *
165
+ * Each call increments the internal refinement counter. When
166
+ * `maxRefinements` is reached the gate is treated as passed (fail-open)
167
+ * to prevent infinite loops, and `maxRefinementsReached` is set to true.
168
+ *
169
+ * @param goal - Original user goal
170
+ * @param blackboardSummary - Current blackboard snapshot (key → value)
171
+ */
172
+ async evaluate(goal, blackboardSummary) {
173
+ const evaluation = await this.evaluatorFn(goal, blackboardSummary);
174
+ const maxRefinementsReached = this._refinementsUsed >= this.maxRefinements;
175
+ const passed = evaluation.score >= this.threshold || maxRefinementsReached;
176
+ const round = {
177
+ round: this._refinementsUsed + 1,
178
+ evaluation,
179
+ passed,
180
+ gapsRequeued: passed ? [] : evaluation.gaps,
181
+ };
182
+ this._history.push(round);
183
+ if (!passed) {
184
+ this._refinementsUsed++;
185
+ }
186
+ return {
187
+ passed,
188
+ evaluation,
189
+ threshold: this.threshold,
190
+ refinementsUsed: this._refinementsUsed,
191
+ maxRefinementsReached,
192
+ };
193
+ }
194
+ /** Reset the refinement counter and history (allows reuse across separate goals). */
195
+ reset() {
196
+ this._refinementsUsed = 0;
197
+ this._history = [];
198
+ }
199
+ /** History of all refinement rounds evaluated so far. */
200
+ get history() {
201
+ return this._history;
202
+ }
203
+ /** Current refinement count (before this becomes a pass-through). */
204
+ get refinementsUsed() {
205
+ return this._refinementsUsed;
206
+ }
207
+ /** The configured threshold (0–100). */
208
+ get scoreThreshold() {
209
+ return this.threshold;
210
+ }
211
+ }
212
+ exports.CoverageGate = CoverageGate;
213
+ //# sourceMappingURL=coverage-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-gate.js","sourceRoot":"","sources":["../../lib/coverage-gate.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ export declare const WORKFLOW_STATES: {
20
20
  readonly DELIVER: "DELIVER";
21
21
  readonly COMPLETE: "COMPLETE";
22
22
  readonly ERROR: "ERROR";
23
+ /** Coverage Gate refinement loop — orchestrator is re-evaluating completeness. */
24
+ readonly EVALUATING: "EVALUATING";
23
25
  };
24
26
  /** A single state definition in the FSM. */
25
27
  export interface WorkflowStateDefinition {
@@ -1 +1 @@
1
- {"version":3,"file":"fsm-journey.d.ts","sourceRoot":"","sources":["../../lib/fsm-journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsm-journey.d.ts","sourceRoot":"","sources":["../../lib/fsm-journey.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ exports.WORKFLOW_STATES = {
22
22
  DELIVER: 'DELIVER',
23
23
  COMPLETE: 'COMPLETE',
24
24
  ERROR: 'ERROR',
25
+ /** Coverage Gate refinement loop — orchestrator is re-evaluating completeness. */
26
+ EVALUATING: 'EVALUATING',
25
27
  };
26
28
  // ============================================================================
27
29
  // TOOL AUTHORIZATION MATRIX
@@ -1 +1 @@
1
- {"version":3,"file":"fsm-journey.js","sourceRoot":"","sources":["../../lib/fsm-journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsm-journey.js","sourceRoot":"","sources":["../../lib/fsm-journey.ts"],"names":[],"mappings":"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"}