network-ai 5.2.1 → 5.3.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/INTEGRATION_GUIDE.md +1 -1
- package/QUICKSTART.md +1 -1
- package/README.md +10 -5
- package/SKILL.md +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/context-throttler.d.ts +139 -0
- package/dist/lib/context-throttler.d.ts.map +1 -0
- package/dist/lib/context-throttler.js +171 -0
- package/dist/lib/context-throttler.js.map +1 -0
- package/dist/lib/coverage-gate.d.ts +155 -0
- package/dist/lib/coverage-gate.d.ts.map +1 -0
- package/dist/lib/coverage-gate.js +213 -0
- package/dist/lib/coverage-gate.js.map +1 -0
- package/dist/lib/fsm-journey.d.ts +2 -0
- package/dist/lib/fsm-journey.d.ts.map +1 -1
- package/dist/lib/fsm-journey.js +2 -0
- package/dist/lib/fsm-journey.js.map +1 -1
- package/dist/lib/goal-decomposer.d.ts +39 -0
- package/dist/lib/goal-decomposer.d.ts.map +1 -1
- package/dist/lib/goal-decomposer.js +100 -2
- package/dist/lib/goal-decomposer.js.map +1 -1
- package/dist/lib/partition-planner.d.ts +149 -0
- package/dist/lib/partition-planner.d.ts.map +1 -0
- package/dist/lib/partition-planner.js +246 -0
- package/dist/lib/partition-planner.js.map +1 -0
- package/dist/lib/route-classifier.d.ts +133 -0
- package/dist/lib/route-classifier.d.ts.map +1 -0
- package/dist/lib/route-classifier.js +217 -0
- package/dist/lib/route-classifier.js.map +1 -0
- package/package.json +4 -2
- package/socket.json +141 -1
|
@@ -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":"AAAA;;;;;;;;GAQG;AAMH,uEAAuE;AACvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,qEAAqE;AACrE,eAAO,MAAM,eAAe;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fsm-journey.d.ts","sourceRoot":"","sources":["../../lib/fsm-journey.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/fsm-journey.js
CHANGED
|
@@ -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":";AAAA;;;;;;;;GAQG;;;AA4dH,8DAmGC;AAtjBD,qEAAqE;AACxD,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAM,QAAQ;IACpB,QAAQ,EAAI,UAAU;IACtB,QAAQ,EAAI,UAAU;IACtB,IAAI,EAAQ,MAAM;IAClB,OAAO,EAAK,SAAS;IACrB,MAAM,EAAM,QAAQ;IACpB,OAAO,EAAK,SAAS;IACrB,QAAQ,EAAI,UAAU;IACtB,KAAK,EAAO,OAAO;IACnB,kFAAkF;IAClF,UAAU,EAAE,YAAY;CAChB,CAAC;AAqDX,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAa,uBAAuB;IAClC,oCAAoC;IAC5B,KAAK,GAA0C,IAAI,GAAG,EAAE,CAAC;IAEjE;;;OAGG;IACH,KAAK,CAAC,OAAe,EAAE,KAAwB,EAAE,KAAe;QAC9D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,OAAe,EAAE,KAAwB,EAAE,IAAY;QAC5D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,OAAe,EAAE,KAAwB,EAAE,IAAY;QAC/D,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAC5B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,OAAe,EAAE,KAAa,EAAE,IAAY;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,8CAA8C;IAC9C,IAAI;QACF,MAAM,GAAG,GAA6C,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAnDD,0DAmDC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,UAAU;IACb,YAAY,CAAoB;IAChC,QAAQ,GAAyC,IAAI,GAAG,EAAE,CAAC;IAC3D,WAAW,CAAoB;IAC/B,OAAO,CAAoB;IAC3B,cAAc,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,OAAO,GAAoG,EAAE,CAAC;IAEtH,6EAA6E;IACpE,UAAU,CAA0B;IAE7C,YAAY,OAA0B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAEhD,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7B,kDAAkD;YAClD,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,YAAY,iCAAiC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAE7E,mCAAmC;IACnC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,4CAA4C;IAC5C,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC;IAC/C,CAAC;IAED,2DAA2D;IAC3D,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,+CAA+C;IAC/C,IAAI,UAAU;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACjC,OAAO,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,+BAA+B;IAC/B,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,6EAA6E;IAC7E,uBAAuB;IACvB,6EAA6E;IAE7E;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,OAAO,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,OAAe,EAAE,IAAY;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,OAAe,EAAE,IAAa;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GAA0B;gBACpC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,UAAU,OAAO,iCAAiC,IAAI,CAAC,YAAY,KAAK;oBAC9E,uBAAuB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC5E,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO;gBACP,IAAI;aACL,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,MAAM,GAA0B;oBACpC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,UAAU,OAAO,oCAAoC,IAAI,eAAe,IAAI,CAAC,YAAY,GAAG;oBACpG,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,OAAO;oBACP,IAAI;iBACL,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IAED,6EAA6E;IAC7E,cAAc;IACd,6EAA6E;IAE7E;;;OAGG;IACH,UAAU,CAAC,KAAa,EAAE,OAAe;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CACvD,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAqB;gBAC/B,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,kBAAkB,KAAK,yBAAyB,IAAI,CAAC,YAAY,GAAG;aAC7E,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,yDAAyD;QACzD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC9E,MAAM,MAAM,GAAqB;gBAC/B,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,UAAU,OAAO,wBAAwB,KAAK,YAAY,KAAK,CAAC,SAAS,QAAQ;aAC1F,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAqB;gBAC/B,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,iBAAiB,KAAK,CAAC,EAAE,kBAAkB;aACpD,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC;QAE5D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,WAAW;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAA6B;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,gBAAgB,IAAI,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAClF,CAAC;CACF;AAtND,gCAsNC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAa,oBAAoB;IACX;IAApB,YAAoB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;IAAG,CAAC;IAEvC;;;OAGG;IACH,KAAK,CAAC,OAAO,CACX,OAAe,EACf,IAAY,EACZ,MAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,MAAM,IAAI,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,WAAW,CACT,OAAe,EACf,IAAY,EACZ,MAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,MAAM,IAAI,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;CACF;AAjCD,oDAiCC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,yDAAyD;AACzD,MAAa,wBAAyB,SAAQ,KAAK;IACxC,KAAK,CAAwB;IACtC,YAAY,OAAe,EAAE,KAA4B;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAPD,4DAOC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,SAAgB,yBAAyB,CAAC,OAOzC;IACC,MAAM,IAAI,GAAM,OAAO,CAAC,cAAc,IAAK,cAAc,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,cAAc,CAAC;IAC1D,MAAM,IAAI,GAAM,OAAO,CAAC,UAAU,IAAS,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAQ,UAAU,CAAC;IAEtD,OAAO,IAAI,UAAU,CAAC;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,uBAAe,CAAC,MAAM;gBAC5B,WAAW,EAAE,qCAAqC;gBAClD,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxB,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE;gBAC9E,SAAS,EAAE,MAAM;aAClB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,QAAQ;gBAC9B,WAAW,EAAE,2CAA2C;gBACxD,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxB,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE;gBACxF,SAAS,EAAE,MAAM;aAClB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,QAAQ;gBAC9B,WAAW,EAAE,0CAA0C;gBACvD,gBAAgB,EAAE,CAAC,OAAO,CAAC;gBAC3B,eAAe,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE;gBACjG,SAAS,EAAE,OAAO;aACnB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,IAAI;gBAC1B,WAAW,EAAE,4CAA4C;gBACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxB,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAE;gBACtF,SAAS,EAAE,MAAM;aAClB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,OAAO;gBAC7B,WAAW,EAAE,2BAA2B;gBACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxB,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,EAAE;gBAC5F,SAAS,EAAE,OAAO;aACnB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,MAAM;gBAC5B,WAAW,EAAE,qCAAqC;gBAClD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAClC,eAAe,EAAE;oBACf,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,cAAc,CAAC;oBAC/D,CAAC,IAAI,CAAC,EAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;iBAChD;gBACD,SAAS,EAAE,OAAO;aACnB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,OAAO;gBAC7B,WAAW,EAAE,sCAAsC;gBACnD,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBACxB,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE;gBAC3E,SAAS,EAAE,MAAM;aAClB;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,QAAQ;gBAC9B,WAAW,EAAE,oCAAoC;gBACjD,gBAAgB,EAAE,CAAC,GAAG,CAAC;gBACvB,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE;aAC9C;YACD;gBACE,IAAI,EAAE,uBAAe,CAAC,KAAK;gBAC3B,WAAW,EAAE,sBAAsB;gBACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;gBAC7B,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,EAAE;aAClE;SACF;QACD,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,uBAAe,CAAC,MAAM,EAAK,KAAK,EAAE,UAAU,EAAS,EAAE,EAAE,uBAAe,CAAC,QAAQ,EAAG,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,QAAQ,EAAG,KAAK,EAAE,gBAAgB,EAAG,EAAE,EAAE,uBAAe,CAAC,QAAQ,EAAG,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,QAAQ,EAAG,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,uBAAe,CAAC,KAAK,EAAM,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,QAAQ,EAAG,KAAK,EAAE,eAAe,EAAI,EAAE,EAAE,uBAAe,CAAC,IAAI,EAAO,SAAS,EAAE,OAAO,EAAE;YAChH,EAAE,IAAI,EAAE,uBAAe,CAAC,QAAQ,EAAG,KAAK,EAAE,eAAe,EAAI,EAAE,EAAE,uBAAe,CAAC,KAAK,EAAM,SAAS,EAAE,OAAO,EAAE;YAChH,EAAE,IAAI,EAAE,uBAAe,CAAC,IAAI,EAAO,KAAK,EAAE,SAAS,EAAU,EAAE,EAAE,uBAAe,CAAC,OAAO,EAAI,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,OAAO,EAAI,KAAK,EAAE,gBAAgB,EAAG,EAAE,EAAE,uBAAe,CAAC,MAAM,EAAK,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,OAAO,EAAI,KAAK,EAAE,gBAAgB,EAAG,EAAE,EAAE,uBAAe,CAAC,KAAK,EAAM,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,MAAM,EAAK,KAAK,EAAE,UAAU,EAAS,EAAE,EAAE,uBAAe,CAAC,OAAO,EAAI,SAAS,EAAE,GAAG,EAAE;YAC5G,EAAE,IAAI,EAAE,uBAAe,CAAC,MAAM,EAAK,KAAK,EAAE,UAAU,EAAS,EAAE,EAAE,uBAAe,CAAC,OAAO,EAAI,SAAS,EAAE,GAAG,EAAE;YAC5G,EAAE,IAAI,EAAE,uBAAe,CAAC,OAAO,EAAI,KAAK,EAAE,WAAW,EAAQ,EAAE,EAAE,uBAAe,CAAC,QAAQ,EAAG,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,KAAK,EAAM,KAAK,EAAE,OAAO,EAAY,EAAE,EAAE,uBAAe,CAAC,MAAM,EAAK,SAAS,EAAE,IAAI,EAAE;YAC7G,EAAE,IAAI,EAAE,uBAAe,CAAC,KAAK,EAAM,KAAK,EAAE,OAAO,EAAY,EAAE,EAAE,uBAAe,CAAC,QAAQ,EAAG,SAAS,EAAE,IAAI,EAAE;SAC9G;QACD,YAAY,EAAE,uBAAe,CAAC,MAAM;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAG,OAAO,CAAC,WAAW;KAClC,CAAC,CAAC;AACL,CAAC"}
|