@obsidicore/cascade-engine 0.2.0 → 0.2.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/db/index.js +8 -1
- package/dist/db/index.js.map +1 -1
- package/dist/index.js +109 -105
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/db/index.js
CHANGED
|
@@ -29,7 +29,14 @@ export function __setTestDb(db) {
|
|
|
29
29
|
export function getDb(options) {
|
|
30
30
|
if (_db)
|
|
31
31
|
return _db;
|
|
32
|
-
const
|
|
32
|
+
const rawDbPath = options?.dbPath || process.env.CASCADE_DB_PATH || getDefaultDbPath();
|
|
33
|
+
const dbPath = join(rawDbPath); // Normalize
|
|
34
|
+
// Validate DB path — reject system directories
|
|
35
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
36
|
+
const forbidden = ['/etc', '/sys', '/proc', '/dev', 'C:\\Windows', 'C:\\Program Files'];
|
|
37
|
+
if (forbidden.some(f => dbPath.toLowerCase().startsWith(f.toLowerCase()))) {
|
|
38
|
+
throw new Error(`Refusing to create database in system directory: ${dbPath}`);
|
|
39
|
+
}
|
|
33
40
|
const dbDir = dirname(dbPath);
|
|
34
41
|
if (!existsSync(dbDir)) {
|
|
35
42
|
mkdirSync(dbDir, { recursive: true });
|
package/dist/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAOvD,IAAI,GAAG,GAA6B,IAAI,CAAC;AAEzC,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AACnC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,EAA4B;IACtD,GAAG,GAAG,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAyB;IAC7C,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAEpB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,13 @@ import { consolidateRound } from './memory/consolidation.js';
|
|
|
16
16
|
import { checkInterventions } from './hitl/interventions.js';
|
|
17
17
|
import { renderDashboard, buildDashboardData } from './hitl/dashboard.js';
|
|
18
18
|
import { createNote, linkNotes, extractNotesFromFinding, updateMaturity, getNoteStats, searchNotes } from './graph/amem.js';
|
|
19
|
+
// --- Input length limits (security) ---
|
|
20
|
+
const MAX_ID = 100;
|
|
21
|
+
const MAX_SHORT = 500; // names, types, filters, keywords
|
|
22
|
+
const MAX_CLAIM = 10000; // claims, evidence, statements
|
|
23
|
+
const MAX_QUESTION = 2000;
|
|
24
|
+
const MAX_URL = 2000;
|
|
25
|
+
const MAX_SNAPSHOT = 50000; // checkpoint state snapshots
|
|
19
26
|
const server = new McpServer({
|
|
20
27
|
name: 'cascade-engine',
|
|
21
28
|
version: '0.1.0',
|
|
@@ -24,11 +31,11 @@ const server = new McpServer({
|
|
|
24
31
|
// TOOL 1: store_plan — Save immutable research plan
|
|
25
32
|
// ============================================================
|
|
26
33
|
server.tool('store_plan', 'Save an immutable research plan for a cascade. Locks questions and criteria at round start to prevent HARKing.', {
|
|
27
|
-
cascade_id: z.string().describe('Cascade ID to attach the plan to'),
|
|
34
|
+
cascade_id: z.string().max(MAX_ID).describe('Cascade ID to attach the plan to'),
|
|
28
35
|
plan: z.object({
|
|
29
|
-
questions: z.array(z.string()).describe('Research questions to investigate'),
|
|
30
|
-
success_criteria: z.array(z.string()).describe('How we know when we have a good answer'),
|
|
31
|
-
scope_boundaries: z.array(z.string()).optional().describe('What is explicitly out of scope'),
|
|
36
|
+
questions: z.array(z.string().max(MAX_QUESTION)).max(20).describe('Research questions to investigate'),
|
|
37
|
+
success_criteria: z.array(z.string().max(MAX_SHORT)).max(20).describe('How we know when we have a good answer'),
|
|
38
|
+
scope_boundaries: z.array(z.string().max(MAX_SHORT)).optional().describe('What is explicitly out of scope'),
|
|
32
39
|
max_rounds: z.number().optional().default(5),
|
|
33
40
|
token_budget: z.number().optional().default(500000),
|
|
34
41
|
}).describe('The research plan to lock in'),
|
|
@@ -56,11 +63,11 @@ server.tool('store_plan', 'Save an immutable research plan for a cascade. Locks
|
|
|
56
63
|
// TOOL 2: store_finding — Ingest finding with trust scoring
|
|
57
64
|
// ============================================================
|
|
58
65
|
server.tool('store_finding', 'Store a research finding. Generates content-addressable ID. Trust scoring applied automatically.', {
|
|
59
|
-
cascade_id: z.string(),
|
|
60
|
-
thread_id: z.string().optional(),
|
|
61
|
-
claim: z.string().describe('The factual claim or finding'),
|
|
62
|
-
evidence: z.string().optional().describe('Supporting evidence or context'),
|
|
63
|
-
source_url: z.string().optional(),
|
|
66
|
+
cascade_id: z.string().max(MAX_ID),
|
|
67
|
+
thread_id: z.string().max(MAX_ID).optional(),
|
|
68
|
+
claim: z.string().max(MAX_CLAIM).describe('The factual claim or finding'),
|
|
69
|
+
evidence: z.string().max(MAX_CLAIM).optional().describe('Supporting evidence or context'),
|
|
70
|
+
source_url: z.string().max(MAX_URL).optional(),
|
|
64
71
|
source_type: z.enum(['primary', 'secondary', 'tertiary']).optional(),
|
|
65
72
|
confidence: z.number().min(0).max(1).optional().default(0.5),
|
|
66
73
|
cascade_round: z.number(),
|
|
@@ -77,8 +84,8 @@ server.tool('store_finding', 'Store a research finding. Generates content-addres
|
|
|
77
84
|
// TOOL 3: get_findings — Query findings (FTS + filters)
|
|
78
85
|
// ============================================================
|
|
79
86
|
server.tool('get_findings', 'Query stored findings using full-text search and/or filters.', {
|
|
80
|
-
cascade_id: z.string().optional(),
|
|
81
|
-
query: z.string().optional().describe('FTS search query'),
|
|
87
|
+
cascade_id: z.string().max(MAX_ID).optional(),
|
|
88
|
+
query: z.string().max(MAX_SHORT).optional().describe('FTS search query'),
|
|
82
89
|
min_confidence: z.number().min(0).max(1).optional(),
|
|
83
90
|
include_quarantined: z.boolean().optional().default(false),
|
|
84
91
|
round: z.number().optional(),
|
|
@@ -117,7 +124,13 @@ server.tool('get_findings', 'Query stored findings using full-text search and/or
|
|
|
117
124
|
}
|
|
118
125
|
sql += ' ORDER BY confidence DESC LIMIT ?';
|
|
119
126
|
params.push(limit);
|
|
120
|
-
|
|
127
|
+
let findings;
|
|
128
|
+
try {
|
|
129
|
+
findings = db.prepare(sql).all(...params);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
return { content: [{ type: 'text', text: `Query error: ${err.message}. If using FTS, ensure proper syntax (AND, OR, NOT, "quoted phrases").` }] };
|
|
133
|
+
}
|
|
121
134
|
return {
|
|
122
135
|
content: [{ type: 'text', text: JSON.stringify(findings, null, 2) }],
|
|
123
136
|
};
|
|
@@ -126,9 +139,9 @@ server.tool('get_findings', 'Query stored findings using full-text search and/or
|
|
|
126
139
|
// TOOL 4: add_entity — Add KG entity
|
|
127
140
|
// ============================================================
|
|
128
141
|
server.tool('add_entity', 'Add an entity to the knowledge graph. Upserts on (name, entity_type).', {
|
|
129
|
-
name: z.string(),
|
|
130
|
-
entity_type: z.string().describe('e.g., concept, person, tool, technique, paper'),
|
|
131
|
-
properties: z.record(z.
|
|
142
|
+
name: z.string().max(MAX_SHORT),
|
|
143
|
+
entity_type: z.string().max(MAX_SHORT).describe('e.g., concept, person, tool, technique, paper'),
|
|
144
|
+
properties: z.record(z.unknown()).optional().default({}),
|
|
132
145
|
tier: z.enum(['peripheral', 'working', 'core']).optional().default('working'),
|
|
133
146
|
importance: z.number().min(0).max(1).optional().default(0.5),
|
|
134
147
|
}, async ({ name, entity_type, properties, tier, importance }) => {
|
|
@@ -151,13 +164,13 @@ server.tool('add_entity', 'Add an entity to the knowledge graph. Upserts on (nam
|
|
|
151
164
|
// TOOL 5: add_link — Add KG edge
|
|
152
165
|
// ============================================================
|
|
153
166
|
server.tool('add_link', 'Add a directional link between two knowledge graph entities.', {
|
|
154
|
-
source_name: z.string(),
|
|
155
|
-
source_type: z.string(),
|
|
156
|
-
target_name: z.string(),
|
|
157
|
-
target_type: z.string(),
|
|
158
|
-
relation_type: z.string().describe('e.g., relates_to, causes, contradicts, supports, uses, part_of'),
|
|
167
|
+
source_name: z.string().max(MAX_SHORT),
|
|
168
|
+
source_type: z.string().max(MAX_SHORT),
|
|
169
|
+
target_name: z.string().max(MAX_SHORT),
|
|
170
|
+
target_type: z.string().max(MAX_SHORT),
|
|
171
|
+
relation_type: z.string().max(MAX_SHORT).describe('e.g., relates_to, causes, contradicts, supports, uses, part_of'),
|
|
159
172
|
weight: z.number().min(0).max(1).optional().default(1.0),
|
|
160
|
-
properties: z.record(z.
|
|
173
|
+
properties: z.record(z.unknown()).optional().default({}),
|
|
161
174
|
}, async ({ source_name, source_type, target_name, target_type, relation_type, weight, properties }) => {
|
|
162
175
|
const db = getDb();
|
|
163
176
|
const source = db.prepare('SELECT id FROM kg_entities WHERE name = ? AND entity_type = ?')
|
|
@@ -183,76 +196,66 @@ server.tool('add_link', 'Add a directional link between two knowledge graph enti
|
|
|
183
196
|
// TOOL 6: query_graph — Recursive CTE traversal (≤3 hops)
|
|
184
197
|
// ============================================================
|
|
185
198
|
server.tool('query_graph', 'Traverse the knowledge graph from a starting entity. Uses recursive CTE, bounded to 3 hops max. Follows edges in both directions by default.', {
|
|
186
|
-
start_name: z.string(),
|
|
187
|
-
start_type: z.string(),
|
|
199
|
+
start_name: z.string().max(MAX_SHORT),
|
|
200
|
+
start_type: z.string().max(MAX_SHORT),
|
|
188
201
|
max_hops: z.number().min(1).max(3).optional().default(2),
|
|
189
202
|
direction: z.enum(['outgoing', 'incoming', 'both']).optional().default('both').describe('Edge direction to follow'),
|
|
190
|
-
relation_filter: z.string().optional().describe('Filter edges by relation type'),
|
|
203
|
+
relation_filter: z.string().max(MAX_SHORT).optional().describe('Filter edges by relation type'),
|
|
191
204
|
min_weight: z.number().min(0).max(1).optional().default(0.0),
|
|
192
205
|
}, async ({ start_name, start_type, max_hops, direction, relation_filter, min_weight }) => {
|
|
193
206
|
const db = getDb();
|
|
194
|
-
const start = db.prepare('SELECT id FROM kg_entities WHERE name = ? AND entity_type = ?')
|
|
207
|
+
const start = db.prepare('SELECT id, name FROM kg_entities WHERE name = ? AND entity_type = ?')
|
|
195
208
|
.get(start_name, start_type);
|
|
196
209
|
if (!start)
|
|
197
210
|
return { content: [{ type: 'text', text: `Entity "${start_name}" (${start_type}) not found.` }] };
|
|
198
|
-
|
|
211
|
+
// Validate relation_filter against actual relation types in DB (whitelist approach)
|
|
199
212
|
if (relation_filter) {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
edgeJoins = `
|
|
206
|
-
SELECT e.target_id, t.depth + 1,
|
|
207
|
-
t.path || ' -[' || e.relation_type || ']-> ' || tgt.name,
|
|
208
|
-
t.visited || ',' || CAST(e.target_id AS TEXT)
|
|
209
|
-
FROM traverse t
|
|
210
|
-
JOIN kg_edges e ON e.source_id = t.entity_id
|
|
211
|
-
JOIN kg_entities tgt ON tgt.id = e.target_id
|
|
212
|
-
WHERE t.depth < ${max_hops} AND e.weight >= ${min_weight}
|
|
213
|
-
AND t.visited NOT LIKE '%,' || CAST(e.target_id AS TEXT) || ',%'
|
|
214
|
-
${relationClause}`;
|
|
213
|
+
const validRelations = db.prepare('SELECT DISTINCT relation_type FROM kg_edges').all();
|
|
214
|
+
const validSet = new Set(validRelations.map((r) => r.relation_type));
|
|
215
|
+
if (!validSet.has(relation_filter)) {
|
|
216
|
+
return { content: [{ type: 'text', text: `Unknown relation type "${relation_filter}". Valid types: ${[...validSet].join(', ')}` }] };
|
|
217
|
+
}
|
|
215
218
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
219
|
+
// Use a filtered edges temp approach: pre-filter edges, then traverse
|
|
220
|
+
// This avoids string interpolation in the recursive CTE entirely
|
|
221
|
+
const startId = start.id;
|
|
222
|
+
const startLabel = start.name;
|
|
223
|
+
// Pre-filter edges into a temp table for safe parameterized traversal
|
|
224
|
+
db.exec('CREATE TEMP TABLE IF NOT EXISTS _trav_edges (source_id INTEGER, target_id INTEGER, relation_type TEXT, weight REAL)');
|
|
225
|
+
db.exec('DELETE FROM _trav_edges');
|
|
226
|
+
if (relation_filter) {
|
|
227
|
+
if (direction === 'outgoing' || direction === 'both') {
|
|
228
|
+
db.prepare('INSERT INTO _trav_edges SELECT source_id, target_id, relation_type, weight FROM kg_edges WHERE weight >= ? AND relation_type = ?')
|
|
229
|
+
.run(min_weight, relation_filter);
|
|
230
|
+
}
|
|
231
|
+
if (direction === 'incoming' || direction === 'both') {
|
|
232
|
+
// For incoming: swap source/target so the CTE always follows source→target
|
|
233
|
+
db.prepare('INSERT INTO _trav_edges SELECT target_id, source_id, relation_type, weight FROM kg_edges WHERE weight >= ? AND relation_type = ?')
|
|
234
|
+
.run(min_weight, relation_filter);
|
|
235
|
+
}
|
|
227
236
|
}
|
|
228
237
|
else {
|
|
229
|
-
|
|
230
|
-
|
|
238
|
+
if (direction === 'outgoing' || direction === 'both') {
|
|
239
|
+
db.prepare('INSERT INTO _trav_edges SELECT source_id, target_id, relation_type, weight FROM kg_edges WHERE weight >= ?')
|
|
240
|
+
.run(min_weight);
|
|
241
|
+
}
|
|
242
|
+
if (direction === 'incoming' || direction === 'both') {
|
|
243
|
+
db.prepare('INSERT INTO _trav_edges SELECT target_id, source_id, relation_type, weight FROM kg_edges WHERE weight >= ?')
|
|
244
|
+
.run(min_weight);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// Now the CTE uses only integer IDs from our own tables — no user strings in SQL
|
|
248
|
+
const results = db.prepare(`
|
|
249
|
+
WITH RECURSIVE traverse(entity_id, depth, path, visited) AS (
|
|
250
|
+
SELECT ?, 0, ?, ?
|
|
251
|
+
UNION ALL
|
|
231
252
|
SELECT e.target_id, t.depth + 1,
|
|
232
|
-
t.path || '
|
|
253
|
+
t.path || ' -> ' || (SELECT name FROM kg_entities WHERE id = e.target_id),
|
|
233
254
|
t.visited || ',' || CAST(e.target_id AS TEXT)
|
|
234
255
|
FROM traverse t
|
|
235
|
-
JOIN
|
|
236
|
-
|
|
237
|
-
WHERE t.depth < ${max_hops} AND e.weight >= ${min_weight}
|
|
256
|
+
JOIN _trav_edges e ON e.source_id = t.entity_id
|
|
257
|
+
WHERE t.depth < ?
|
|
238
258
|
AND t.visited NOT LIKE '%,' || CAST(e.target_id AS TEXT) || ',%'
|
|
239
|
-
${relationClause}
|
|
240
|
-
UNION ALL
|
|
241
|
-
SELECT e.source_id, t.depth + 1,
|
|
242
|
-
t.path || ' <-[' || e.relation_type || ']- ' || src.name,
|
|
243
|
-
t.visited || ',' || CAST(e.source_id AS TEXT)
|
|
244
|
-
FROM traverse t
|
|
245
|
-
JOIN kg_edges e ON e.target_id = t.entity_id
|
|
246
|
-
JOIN kg_entities src ON src.id = e.source_id
|
|
247
|
-
WHERE t.depth < ${max_hops} AND e.weight >= ${min_weight}
|
|
248
|
-
AND t.visited NOT LIKE '%,' || CAST(e.source_id AS TEXT) || ',%'
|
|
249
|
-
${relationClause}`;
|
|
250
|
-
}
|
|
251
|
-
const sql = `
|
|
252
|
-
WITH RECURSIVE traverse(entity_id, depth, path, visited) AS (
|
|
253
|
-
SELECT ${start.id}, 0, '${start_name.replace(/'/g, "''")}', ',${start.id},'
|
|
254
|
-
UNION ALL
|
|
255
|
-
${edgeJoins}
|
|
256
259
|
)
|
|
257
260
|
SELECT DISTINCT
|
|
258
261
|
ent.id, ent.name, ent.entity_type, ent.tier,
|
|
@@ -261,11 +264,12 @@ server.tool('query_graph', 'Traverse the knowledge graph from a starting entity.
|
|
|
261
264
|
FROM traverse t
|
|
262
265
|
JOIN kg_entities ent ON ent.id = t.entity_id
|
|
263
266
|
WHERE t.depth > 0
|
|
264
|
-
ORDER BY t.depth, ent.importance DESC
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
267
|
+
ORDER BY t.depth, ent.importance DESC
|
|
268
|
+
`).all(startId, startLabel, `,${startId},`, max_hops);
|
|
269
|
+
db.exec('DELETE FROM _trav_edges');
|
|
270
|
+
// Update activation counts
|
|
271
|
+
db.prepare('UPDATE kg_edges SET activation_count = activation_count + 1, last_activated = datetime(\'now\') WHERE source_id = ? OR target_id = ?')
|
|
272
|
+
.run(startId, startId);
|
|
269
273
|
return {
|
|
270
274
|
content: [{ type: 'text', text: JSON.stringify(results, null, 2) }],
|
|
271
275
|
};
|
|
@@ -274,13 +278,13 @@ server.tool('query_graph', 'Traverse the knowledge graph from a starting entity.
|
|
|
274
278
|
// TOOL 7: store_hypothesis — Add/update hypothesis
|
|
275
279
|
// ============================================================
|
|
276
280
|
server.tool('store_hypothesis', 'Store or update a research hypothesis in the cascade.', {
|
|
277
|
-
cascade_id: z.string(),
|
|
278
|
-
statement: z.string(),
|
|
279
|
-
parent_id: z.string().optional(),
|
|
281
|
+
cascade_id: z.string().max(MAX_ID),
|
|
282
|
+
statement: z.string().max(MAX_CLAIM),
|
|
283
|
+
parent_id: z.string().max(MAX_ID).optional(),
|
|
280
284
|
affinity: z.number().min(0).max(1).optional().default(0.5),
|
|
281
285
|
status: z.enum(['proposed', 'testing', 'supported', 'refuted', 'uncertain', 'archived']).optional().default('proposed'),
|
|
282
|
-
supporting_ids: z.array(z.string()).optional().default([]),
|
|
283
|
-
contradicting_ids: z.array(z.string()).optional().default([]),
|
|
286
|
+
supporting_ids: z.array(z.string().max(MAX_ID)).max(50).optional().default([]),
|
|
287
|
+
contradicting_ids: z.array(z.string().max(MAX_ID)).max(50).optional().default([]),
|
|
284
288
|
}, async ({ cascade_id, statement, parent_id, affinity, status, supporting_ids, contradicting_ids }) => {
|
|
285
289
|
const db = getDb();
|
|
286
290
|
const id = contentHash(statement);
|
|
@@ -316,7 +320,7 @@ server.tool('store_hypothesis', 'Store or update a research hypothesis in the ca
|
|
|
316
320
|
// TOOL 8: get_hypotheses — Query hypothesis population
|
|
317
321
|
// ============================================================
|
|
318
322
|
server.tool('get_hypotheses', 'Query hypotheses for a cascade, optionally filtered by status.', {
|
|
319
|
-
cascade_id: z.string(),
|
|
323
|
+
cascade_id: z.string().max(MAX_ID),
|
|
320
324
|
status: z.enum(['proposed', 'testing', 'supported', 'refuted', 'uncertain', 'archived']).optional(),
|
|
321
325
|
min_affinity: z.number().min(0).max(1).optional(),
|
|
322
326
|
}, async ({ cascade_id, status, min_affinity }) => {
|
|
@@ -341,7 +345,7 @@ server.tool('get_hypotheses', 'Query hypotheses for a cascade, optionally filter
|
|
|
341
345
|
// TOOL 9: cascade_init — Initialize a new research cascade
|
|
342
346
|
// ============================================================
|
|
343
347
|
server.tool('cascade_init', 'Initialize a new research cascade with a question. Returns cascade ID.', {
|
|
344
|
-
question: z.string().describe('The research question to investigate'),
|
|
348
|
+
question: z.string().max(MAX_QUESTION).describe('The research question to investigate'),
|
|
345
349
|
max_rounds: z.number().optional().default(5),
|
|
346
350
|
token_budget: z.number().optional().default(500000),
|
|
347
351
|
}, async ({ question, max_rounds, token_budget }) => {
|
|
@@ -358,7 +362,7 @@ server.tool('cascade_init', 'Initialize a new research cascade with a question.
|
|
|
358
362
|
// TOOL 10: get_status — Cascade state + metrics
|
|
359
363
|
// ============================================================
|
|
360
364
|
server.tool('get_status', 'Get current cascade status including progress, findings count, hypothesis count, and PID state.', {
|
|
361
|
-
cascade_id: z.string().optional().describe('Specific cascade ID, or omit for all active cascades'),
|
|
365
|
+
cascade_id: z.string().max(MAX_ID).optional().describe('Specific cascade ID, or omit for all active cascades'),
|
|
362
366
|
}, async ({ cascade_id }) => {
|
|
363
367
|
const db = getDb();
|
|
364
368
|
if (cascade_id) {
|
|
@@ -407,7 +411,7 @@ server.tool('get_status', 'Get current cascade status including progress, findin
|
|
|
407
411
|
// TOOL 11: update_status — Advance phase/round
|
|
408
412
|
// ============================================================
|
|
409
413
|
server.tool('update_status', 'Update cascade status and/or advance to next round.', {
|
|
410
|
-
cascade_id: z.string(),
|
|
414
|
+
cascade_id: z.string().max(MAX_ID),
|
|
411
415
|
status: z.enum(['planning', 'investigating', 'validating', 'synthesizing', 'complete', 'stalled']).optional(),
|
|
412
416
|
advance_round: z.boolean().optional().default(false).describe('Increment current_round by 1'),
|
|
413
417
|
pid_state: z.object({
|
|
@@ -479,7 +483,7 @@ server.tool('update_status', 'Update cascade status and/or advance to next round
|
|
|
479
483
|
// TOOL 12: get_metrics — Information-theoretic dashboard
|
|
480
484
|
// ============================================================
|
|
481
485
|
server.tool('get_metrics', 'Get cascade quality metrics: coverage, depth, confidence distribution, source diversity.', {
|
|
482
|
-
cascade_id: z.string(),
|
|
486
|
+
cascade_id: z.string().max(MAX_ID),
|
|
483
487
|
}, async ({ cascade_id }) => {
|
|
484
488
|
const db = getDb();
|
|
485
489
|
const cascade = db.prepare('SELECT * FROM cascades WHERE id = ?').get(cascade_id);
|
|
@@ -568,13 +572,13 @@ server.tool('get_metrics', 'Get cascade quality metrics: coverage, depth, confid
|
|
|
568
572
|
// TOOL 13: store_checkpoint — Step-level checkpointing
|
|
569
573
|
// ============================================================
|
|
570
574
|
server.tool('store_checkpoint', 'Save a checkpoint for crash recovery. Each step is checkpointed independently.', {
|
|
571
|
-
task_id: z.string(),
|
|
575
|
+
task_id: z.string().max(MAX_ID),
|
|
572
576
|
round_index: z.number(),
|
|
573
577
|
step_index: z.number(),
|
|
574
|
-
step_name: z.string(),
|
|
578
|
+
step_name: z.string().max(MAX_SHORT),
|
|
575
579
|
status: z.enum(['pending', 'running', 'done', 'failed', 'skipped']),
|
|
576
|
-
state_snapshot: z.string().optional().describe('JSON state to restore from'),
|
|
577
|
-
error_message: z.string().optional(),
|
|
580
|
+
state_snapshot: z.string().max(MAX_SNAPSHOT).optional().describe('JSON state to restore from'),
|
|
581
|
+
error_message: z.string().max(MAX_CLAIM).optional(),
|
|
578
582
|
}, async ({ task_id, round_index, step_index, step_name, status, state_snapshot, error_message }) => {
|
|
579
583
|
const db = getDb();
|
|
580
584
|
const idempotencyKey = `${task_id}:${round_index}:${step_index}:${step_name}`;
|
|
@@ -594,10 +598,10 @@ server.tool('store_checkpoint', 'Save a checkpoint for crash recovery. Each step
|
|
|
594
598
|
// TOOL 14: steer — Submit human steering event
|
|
595
599
|
// ============================================================
|
|
596
600
|
server.tool('steer', 'Submit a steering event to redirect an active cascade.', {
|
|
597
|
-
cascade_id: z.string(),
|
|
601
|
+
cascade_id: z.string().max(MAX_ID),
|
|
598
602
|
event_type: z.enum(['redirect', 'narrow', 'broaden', 'add_question', 'drop_hypothesis', 'approve', 'reject']),
|
|
599
|
-
instruction: z.string(),
|
|
600
|
-
target_id: z.string().optional().describe('ID of hypothesis or finding to target'),
|
|
603
|
+
instruction: z.string().max(MAX_QUESTION),
|
|
604
|
+
target_id: z.string().max(MAX_ID).optional().describe('ID of hypothesis or finding to target'),
|
|
601
605
|
}, async ({ cascade_id, event_type, instruction, target_id }) => {
|
|
602
606
|
const db = getDb();
|
|
603
607
|
db.prepare('INSERT INTO steer_events (cascade_id, event_type, instruction, target_id) VALUES (?, ?, ?, ?)')
|
|
@@ -610,9 +614,9 @@ server.tool('steer', 'Submit a steering event to redirect an active cascade.', {
|
|
|
610
614
|
// TOOL 15: record_metric — Store a metric value
|
|
611
615
|
// ============================================================
|
|
612
616
|
server.tool('record_metric', 'Record a metric value for tracking cascade health over time.', {
|
|
613
|
-
cascade_id: z.string(),
|
|
617
|
+
cascade_id: z.string().max(MAX_ID),
|
|
614
618
|
round_index: z.number().optional(),
|
|
615
|
-
metric_name: z.string().describe('e.g., entropy, coverage, confidence_avg, pid_error, ncd_dedup_ratio'),
|
|
619
|
+
metric_name: z.string().max(MAX_SHORT).describe('e.g., entropy, coverage, confidence_avg, pid_error, ncd_dedup_ratio'),
|
|
616
620
|
metric_value: z.number(),
|
|
617
621
|
}, async ({ cascade_id, round_index, metric_name, metric_value }) => {
|
|
618
622
|
const db = getDb();
|
|
@@ -626,11 +630,11 @@ server.tool('record_metric', 'Record a metric value for tracking cascade health
|
|
|
626
630
|
// TOOL 16: create_note — A-MEM atomic note creation
|
|
627
631
|
// ============================================================
|
|
628
632
|
server.tool('create_note', 'Create an atomic Zettelkasten note from an insight. Auto-links to related notes by keyword overlap. Content-addressable (idempotent).', {
|
|
629
|
-
content: z.string().describe('The atomic insight or observation'),
|
|
633
|
+
content: z.string().max(MAX_CLAIM).describe('The atomic insight or observation'),
|
|
630
634
|
note_type: z.enum(['insight', 'connection', 'question', 'contradiction', 'synthesis']).optional().default('insight'),
|
|
631
|
-
keywords: z.array(z.string()).optional().default([]),
|
|
632
|
-
source_finding_id: z.string().optional(),
|
|
633
|
-
cascade_id: z.string().optional(),
|
|
635
|
+
keywords: z.array(z.string().max(MAX_SHORT)).max(20).optional().default([]),
|
|
636
|
+
source_finding_id: z.string().max(MAX_ID).optional(),
|
|
637
|
+
cascade_id: z.string().max(MAX_ID).optional(),
|
|
634
638
|
cascade_round: z.number().optional(),
|
|
635
639
|
}, async ({ content, note_type, keywords, source_finding_id, cascade_id, cascade_round }) => {
|
|
636
640
|
const noteId = createNote(content, note_type, keywords, source_finding_id, undefined, cascade_id, cascade_round);
|
|
@@ -665,8 +669,8 @@ server.tool('create_note', 'Create an atomic Zettelkasten note from an insight.
|
|
|
665
669
|
// TOOL 17: search_notes — Search Zettelkasten notes
|
|
666
670
|
// ============================================================
|
|
667
671
|
server.tool('search_notes', 'Search atomic notes by keyword. Returns notes sorted by access frequency.', {
|
|
668
|
-
keyword: z.string(),
|
|
669
|
-
limit: z.number().optional().default(10),
|
|
672
|
+
keyword: z.string().max(MAX_SHORT),
|
|
673
|
+
limit: z.number().min(1).max(100).optional().default(10),
|
|
670
674
|
}, async ({ keyword, limit }) => {
|
|
671
675
|
const notes = searchNotes(keyword, limit);
|
|
672
676
|
return { content: [{ type: 'text', text: JSON.stringify(notes, null, 2) }] };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5H,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,gHAAgH,EAChH;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC5E,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACxF,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KACpD,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC5C,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAQ,CAAC;IACtG,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0CAA0C,UAAU,2CAA2C,EAAE,CAAC,EAAE,CAAC;IACzJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,QAAQ,EAAE,CAAC;QACb,EAAE,CAAC,OAAO,CAAC,kHAAkH,CAAC;aAC3H,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,OAAO,CAAC,iGAAiG,CAAC;aAC1G,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,mBAAmB,IAAI,CAAC,UAAU,YAAY,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;KAC3L,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,4DAA4D;AAC5D,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,kGAAkG,EAClG;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;IACvG,4CAA4C;IAC5C,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EACpD,UAAU,EAAE,aAAa,EAAE,SAAS,CACrC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,MAAM,CAAC,SAAS,KAAK,UAAU,YAAY,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,UAAU,sBAAsB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;KACja,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,wDAAwD;AACxD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,cAAc,EACd,8DAA8D,EAC9D;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IACjF,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,IAAI,GAAW,CAAC;IAEhB,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,GAAG;;;;wCAI4B,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,GAAG,GAAG;;qCAEyB,CAAC;IAClC,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAAC,GAAG,IAAI,qBAAqB,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAAC,CAAC;IAC1E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,IAAI,sBAAsB,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAAC,CAAC;IACjG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAAC,GAAG,IAAI,sBAAsB,CAAC;IAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,IAAI,wBAAwB,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAEjF,GAAG,IAAI,mCAAmC,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAEhD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,qCAAqC;AACrC,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,uEAAuE,EACvE;IACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACjF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;CAC7D,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;wCAKU,CAAC;SAClC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC;SACvF,GAAG,CAAC,IAAI,EAAE,WAAW,CAAQ,CAAC;IAEjC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,EAAE,MAAM,IAAI,MAAM,WAAW,WAAW,IAAI,GAAG,EAAE,CAAC;KAC7G,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,UAAU,EACV,8DAA8D,EAC9D;IACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IACpG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;IAClG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC;SACvF,GAAG,CAAC,WAAW,EAAE,WAAW,CAAQ,CAAC;IACxC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC;SACvF,GAAG,CAAC,WAAW,EAAE,WAAW,CAAQ,CAAC;IAExC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,WAAW,MAAM,WAAW,4BAA4B,EAAE,CAAC,EAAE,CAAC;IACtJ,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,WAAW,MAAM,WAAW,4BAA4B,EAAE,CAAC,EAAE,CAAC;IAEtJ,EAAE,CAAC,OAAO,CAAC;;;;;yCAK0B,CAAC;SACnC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IAExF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,WAAW,OAAO,aAAa,QAAQ,WAAW,cAAc,MAAM,GAAG,EAAE,CAAC;KAChI,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,0DAA0D;AAC1D,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,aAAa,EACb,8IAA8I,EAC9I;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;CAC7D,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EAAE;IACrF,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC;SACtF,GAAG,CAAC,UAAU,EAAE,UAAU,CAAQ,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,UAAU,MAAM,UAAU,cAAc,EAAE,CAAC,EAAE,CAAC;IAEvH,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,eAAe,EAAE,CAAC;QACpB,cAAc,GAAG,0BAA0B,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACpF,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,SAAS,GAAG;;;;;;;0BAOQ,QAAQ,oBAAoB,UAAU;;YAEpD,cAAc,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,SAAS,GAAG;;;;;;;0BAOQ,QAAQ,oBAAoB,UAAU;;YAEpD,cAAc,EAAE,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,SAAS,GAAG;;;;;;;0BAOQ,QAAQ,oBAAoB,UAAU;;YAEpD,cAAc;;;;;;;;0BAQA,QAAQ,oBAAoB,UAAU;;YAEpD,cAAc,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG;;iBAEC,KAAK,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;;UAEtE,SAAS;;;;;;;;;4CASyB,CAAC;IAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAEtC,+CAA+C;IAC/C,EAAE,CAAC,OAAO,CAAC;2CAC4B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEjE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,uDAAuD,EACvD;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACvH,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC9D,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE;IAClG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;IAErF,IAAI,QAAQ,EAAE,CAAC;QACb,wDAAwD;QACxD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QAC3G,MAAM,kBAAkB,GAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAC5E,MAAM,qBAAqB,GAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;QAElF,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAE3F,EAAE,CAAC,OAAO,CAAC;;;;;qBAKI,CAAC;aACb,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC,CAAE,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAS,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC;YAC7G,CAAC,CAAC,CAAC,CAAC;QAEN,EAAE,CAAC,OAAO,CAAC;2CAC0B,CAAC;aACnC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,QAAQ,aAAa,MAAM,GAAG,EAAE,CAAC;KAC1I,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,uDAAuD;AACvD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gEAAgE,EAChE;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClD,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,IAAI,GAAG,GAAG,+CAA+C,CAAC;IAC1D,MAAM,MAAM,GAAU,CAAC,UAAU,CAAC,CAAC;IAEnC,IAAI,MAAM,EAAE,CAAC;QAAC,GAAG,IAAI,iBAAiB,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAC9D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,IAAI,oBAAoB,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAAC,CAAC;IAE3F,GAAG,IAAI,yBAAyB,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,2DAA2D;AAC3D,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,cAAc,EACd,wEAAwE,EACxE;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACpD,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAExB,EAAE,CAAC,OAAO,CAAC;sCACuB,CAAC;SAChC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,EAAE,eAAe,QAAQ,iBAAiB,UAAU,mBAAmB,YAAY,8EAA8E,EAAE,CAAC;KACtO,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,gDAAgD;AAChD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,iGAAiG,EACjG;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CACnG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACvB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAQ,CAAC;QACzF,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,UAAU,aAAa,EAAE,CAAC,EAAE,CAAC;QAExG,MAAM,aAAa,GAAI,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAS,CAAC,CAAC,CAAC;QACvH,MAAM,gBAAgB,GAAI,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,CAAC,UAAU,CAAS,CAAC,CAAC,CAAC;QAC9I,MAAM,eAAe,GAAI,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAC,UAAU,CAAS,CAAC,CAAC,CAAC;QAC3H,MAAM,YAAY,GAAI,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAS,CAAC,CAAC,CAAC;QACrH,MAAM,WAAW,GAAI,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAI,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC,CAAC;QAEpF,kCAAkC;QAClC,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC,GAAG,CAAC,UAAU,CAAU,CAAC;QACjJ,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QAChF,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QAEhF,aAAa;QACb,MAAM,SAAS,GAAI,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,UAAU,CAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QAE7H,MAAM,MAAM,GAAG;YACb,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;YAC7E,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9D,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACjL,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACpE,aAAa,EAAE,qBAAqB,CAAC,MAAM,GAAG,CAAC;gBAC7C,CAAC,CAAC,EAAE,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;gBACtH,CAAC,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;oBAChC,CAAC,CAAC,EAAE,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;oBAC7D,CAAC,CAAC,SAAS;YACf,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;SAChF,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,4IAA4I,CAAC,CAAC,GAAG,EAAE,CAAC;IAChL,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qDAAqD,EACrD;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7G,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7F,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACzB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACzB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC1B,CAAC,CAAC,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC1E,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IACtE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAQ,CAAC;IACzF,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,UAAU,aAAa,EAAE,CAAC,EAAE,CAAC;IAExG,MAAM,OAAO,GAAa,CAAC,8BAA8B,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAU,EAAE,CAAC;IAEzB,IAAI,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAChE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,EAAE,CAAC,OAAO,CAAC,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAEpF,sEAAsE;IACtE,IAAI,mBAAuC,CAAC;IAC5C,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACnE,2CAA2C;YAC3C,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,wFAAwF,CAAC;iBACvH,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAU,CAAC;YACnD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjF,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;YACD,uBAAuB;YACvB,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC;YAExC,mBAAmB,GAAG,wBAAwB,MAAM,CAAC,OAAO,CAAC,OAAO,aAAa,MAAM,CAAC,WAAW,CAAC,QAAQ,cAAc,MAAM,CAAC,WAAW,CAAC,OAAO,aAAa,MAAM,CAAC,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,SAAS,wBAAwB,YAAY,mBAAmB,cAAc,CAAC,QAAQ,cAAc,MAAM,CAAC,UAAU,KAAK,CAAC;QACxU,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,mBAAmB,GAAG,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,oGAAoG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAQ,CAAC;IACxJ,MAAM,QAAQ,GAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IACrC,IAAI,mBAAmB;QAAE,QAAQ,CAAC,aAAa,GAAG,mBAAmB,CAAC;IAEtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,yDAAyD;AACzD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,aAAa,EACb,0FAA0F,EAC1F;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACvB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAQ,CAAC;IACzF,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,UAAU,aAAa,EAAE,CAAC,EAAE,CAAC;IAExG,oBAAoB;IACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,mIAAmI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAU,CAAC;IAE1L,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1H,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnI,mBAAmB;IACnB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;QAC9C,IAAI,CAAC;YAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAClF,CAAC,CAAC,CAAC,CAAC;IAEJ,0BAA0B;IAC1B,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG;YAAE,WAAW,CAAC,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG;YAAE,WAAW,CAAC,MAAM,EAAE,CAAC;;YAC9C,WAAW,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC;QACtC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,oBAAoB;IACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjI,cAAc;IACd,MAAM,WAAW,GAAI,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC,CAAC;IACzF,MAAM,SAAS,GAAI,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,oCAAoC;IACpC,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;8DACyB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE5E,aAAa;IACb,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,wBAAwB;IACxB,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAAC;4DACmB,CAAC;SACtD,GAAG,CAAC,UAAU,CAAQ,CAAC;IAE1B,oBAAoB;IACpB,MAAM,MAAM,GAAI,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC,CAAC;IAE1H,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE;QAChH,OAAO,EAAE;YACP,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,IAAI;YACtD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI;YAC5C,sBAAsB,EAAE,WAAW;YACnC,iBAAiB,EAAE,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,IAAI;SAC9B;QACD,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;QAChG,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;gBACrC,QAAQ,EAAE,iBAAiB,CAAC,cAAc;gBAC1C,OAAO,EAAE,iBAAiB,CAAC,aAAa;gBACxC,MAAM,EAAE,iBAAiB,CAAC,YAAY;gBACtC,UAAU,EAAE,iBAAiB,CAAC,WAAW;aAC1C,CAAC,CAAC,CAAC,IAAI;YACR,WAAW,EAAE,MAAM;SACpB;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE;QAC1H,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;QAC9E,aAAa;KACd,CAAC;IAEF,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,uDAAuD;AACvD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gFAAgF,EAChF;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC5E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE;IAC/F,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,GAAG,OAAO,IAAI,WAAW,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;IAE9E,EAAE,CAAC,OAAO,CAAC;;;;;;mHAMoG,CAAC;SAC7G,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE3G,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,OAAO,MAAM,EAAE,EAAE,CAAC;KAC9H,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,OAAO,EACP,wDAAwD,EACxD;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACnF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,EAAE,CAAC,OAAO,CAAC,+FAA+F,CAAC;SACxG,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,UAAU,OAAO,WAAW,+CAA+C,EAAE,CAAC;KAC/I,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,gDAAgD;AAChD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8DAA8D,EAC9D;IACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IACvG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE;IAC/D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,EAAE,CAAC,OAAO,CAAC,8FAA8F,CAAC;SACvG,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,WAAW,MAAM,YAAY,EAAE,EAAE,CAAC;KAChG,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,aAAa,EACb,uIAAuI,EACvI;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACpH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAEjH,6BAA6B;IAC7B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC;aAC1G,GAAG,CAAC,MAAM,EAAE,UAAU,CAAU,CAAC;QAEpC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3F,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACzG,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,OAAO,EAAE,CAAC;YAAC,CAAC;YACnE,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;gBACxE,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,MAAM,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,SAAS,KAAK,YAAY,cAAc,EAAE,CAAC;SACtI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,MAAM,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,SAAS,GAAG,EAAE,CAAC;KAC1G,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;AAC/D,MAAM,CAAC,IAAI,CACT,cAAc,EACd,2EAA2E,EAC3E;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACxF,CAAC,CACF,CAAC;AAEF,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,wDAAwD;IACxD,IAAI,CAAC;QACH,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAChE,CAAC;AAED,wCAAwC;AACxC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,IAAI,WAAW,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@obsidicore/cascade-engine",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Progressive deep research engine with knowledge graph, trust scoring, and self-regulation. MCP server for Claude Code, OpenClaw, or any MCP client.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|