euparliamentmonitor 0.8.5 → 0.8.6
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/package.json +1 -1
- package/scripts/generators/news-enhanced.d.ts.map +1 -1
- package/scripts/generators/news-enhanced.js +175 -4
- package/scripts/generators/news-enhanced.js.map +1 -1
- package/scripts/generators/pipeline/analysis-stage.d.ts +100 -0
- package/scripts/generators/pipeline/analysis-stage.d.ts.map +1 -0
- package/scripts/generators/pipeline/analysis-stage.js +1060 -0
- package/scripts/generators/pipeline/analysis-stage.js.map +1 -0
- package/scripts/index.d.ts +5 -0
- package/scripts/index.d.ts.map +1 -1
- package/scripts/index.js +8 -0
- package/scripts/index.js.map +1 -1
- package/scripts/types/index.d.ts +4 -0
- package/scripts/types/index.d.ts.map +1 -1
- package/scripts/types/index.js +1 -0
- package/scripts/types/index.js.map +1 -1
- package/scripts/types/political-classification.d.ts +286 -0
- package/scripts/types/political-classification.d.ts.map +1 -0
- package/scripts/types/political-classification.js +26 -0
- package/scripts/types/political-classification.js.map +1 -0
- package/scripts/types/political-risk.d.ts +277 -0
- package/scripts/types/political-risk.d.ts.map +1 -0
- package/scripts/types/political-risk.js +4 -0
- package/scripts/types/political-risk.js.map +1 -0
- package/scripts/types/political-threats.d.ts +214 -0
- package/scripts/types/political-threats.d.ts.map +1 -0
- package/scripts/types/political-threats.js +4 -0
- package/scripts/types/political-threats.js.map +1 -0
- package/scripts/utils/political-classification.d.ts +181 -0
- package/scripts/utils/political-classification.d.ts.map +1 -0
- package/scripts/utils/political-classification.js +851 -0
- package/scripts/utils/political-classification.js.map +1 -0
- package/scripts/utils/political-risk-assessment.d.ts +146 -0
- package/scripts/utils/political-risk-assessment.d.ts.map +1 -0
- package/scripts/utils/political-risk-assessment.js +841 -0
- package/scripts/utils/political-risk-assessment.js.map +1 -0
- package/scripts/utils/political-threat-assessment.d.ts +78 -0
- package/scripts/utils/political-threat-assessment.d.ts.map +1 -0
- package/scripts/utils/political-threat-assessment.js +1306 -0
- package/scripts/utils/political-threat-assessment.js.map +1 -0
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"news-enhanced.d.ts","sourceRoot":"","sources":["../../src/generators/news-enhanced.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"news-enhanced.d.ts","sourceRoot":"","sources":["../../src/generators/news-enhanced.ts"],"names":[],"mappings":";AA0EA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,GAChC,CAAC;AACF,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,GAC/B,CAAC;AACF,OAAO,EAAE,wBAAwB,EAAE,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -5,12 +5,18 @@
|
|
|
5
5
|
* @module Generators/NewsEnhanced
|
|
6
6
|
* @description CLI orchestrator for European Parliament news generation.
|
|
7
7
|
*
|
|
8
|
-
* Coordinates the
|
|
8
|
+
* Coordinates the four-stage pipeline (fetch → analysis → generate → output)
|
|
9
9
|
* via dedicated pipeline-stage modules and a strategy registry. Each article
|
|
10
10
|
* type is handled by its own {@link ArticleStrategy} implementation.
|
|
11
11
|
*
|
|
12
|
+
* When the `--analysis` flag is supplied (all 9 agentic workflows do this),
|
|
13
|
+
* the analysis stage runs **before** article generation, producing structured
|
|
14
|
+
* political intelligence artifacts under `analysis-output/{date}/`. These
|
|
15
|
+
* artifacts are committed to the repository for review and improvement.
|
|
16
|
+
*
|
|
12
17
|
* Pipeline stages:
|
|
13
18
|
* - {@link module:Generators/Pipeline/FetchStage}
|
|
19
|
+
* - {@link module:Generators/Pipeline/AnalysisStage} (political intelligence: classification, threat assessment, risk scoring)
|
|
14
20
|
* - {@link module:Generators/Pipeline/GenerateStage}
|
|
15
21
|
* - {@link module:Generators/Pipeline/OutputStage}
|
|
16
22
|
*
|
|
@@ -38,9 +44,10 @@ import { ALL_LANGUAGES, LANGUAGE_PRESETS, isSupportedLanguage } from '../constan
|
|
|
38
44
|
import { closeEPMCPClient } from '../mcp/ep-mcp-client.js';
|
|
39
45
|
import { ensureDirectoryExists } from '../utils/file-utils.js';
|
|
40
46
|
// ─── Pipeline-stage imports ───────────────────────────────────────────────────
|
|
41
|
-
import { initializeMCPClient } from './pipeline/fetch-stage.js';
|
|
47
|
+
import { initializeMCPClient, fetchEPFeedData } from './pipeline/fetch-stage.js';
|
|
42
48
|
import { createStrategyRegistry, generateArticleForStrategy } from './pipeline/generate-stage.js';
|
|
43
49
|
import { writeGenerationMetadata } from './pipeline/output-stage.js';
|
|
50
|
+
import { runAnalysisStage, ALL_ANALYSIS_METHODS } from './pipeline/analysis-stage.js';
|
|
44
51
|
// ─── Content-module imports (bounded contexts) ───────────────────────────────
|
|
45
52
|
import { parsePlenarySessions, parseEPEvents, parseCommitteeMeetings, parseLegislativeDocuments, parseLegislativePipeline, parseParliamentaryQuestions, buildWeekAheadContent, buildKeywords, PLACEHOLDER_EVENTS, buildWhatToWatchSection, buildStakeholderImpactMatrix, computeWeekPoliticalTemperature, } from './week-ahead-content.js';
|
|
46
53
|
import { buildBreakingNewsContent, scoreBreakingNewsSignificance, SIGNIFICANCE_THRESHOLD, } from './breaking-content.js';
|
|
@@ -61,6 +68,11 @@ const languagesArg = args.find((arg) => arg.startsWith('--languages='));
|
|
|
61
68
|
const feedDataArg = args.find((arg) => arg.startsWith('--feed-data='));
|
|
62
69
|
const dryRunArg = args.includes('--dry-run');
|
|
63
70
|
const skipExistingArg = args.includes('--skip-existing');
|
|
71
|
+
const runAnalysisArg = args.includes('--analysis');
|
|
72
|
+
const analysisOnlyArg = args.includes('--analysis-only');
|
|
73
|
+
const analysisVerboseArg = args.includes('--analysis-verbose');
|
|
74
|
+
const analysisDirArg = args.find((arg) => arg.startsWith('--analysis-dir='));
|
|
75
|
+
const analysisMethodsArg = args.find((arg) => arg.startsWith('--analysis-methods='));
|
|
64
76
|
/** Path to a JSON file containing pre-fetched EP feed data (optional). */
|
|
65
77
|
const feedDataPath = feedDataArg?.startsWith('--feed-data=')
|
|
66
78
|
? feedDataArg.slice('--feed-data='.length).trim()
|
|
@@ -93,6 +105,9 @@ console.log('Article types:', articleTypes.join(', '));
|
|
|
93
105
|
console.log('Languages:', languages.join(', '));
|
|
94
106
|
console.log('Dry run:', dryRunArg ? 'Yes (no files written)' : 'No');
|
|
95
107
|
console.log('Skip existing:', skipExistingArg ? 'Yes' : 'No');
|
|
108
|
+
if (runAnalysisArg || analysisOnlyArg) {
|
|
109
|
+
console.log('Analysis stage:', analysisOnlyArg ? 'Analysis only (no article generation)' : 'Enabled');
|
|
110
|
+
}
|
|
96
111
|
if (feedDataPath) {
|
|
97
112
|
console.log('Feed data file:', feedDataPath);
|
|
98
113
|
}
|
|
@@ -110,8 +125,150 @@ const stats = {
|
|
|
110
125
|
};
|
|
111
126
|
// ─── Main orchestration ───────────────────────────────────────────────────────
|
|
112
127
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
128
|
+
* Parse the `--analysis-methods=` CLI flag into a validated, deduplicated list.
|
|
129
|
+
* Warns on unrecognised method names and falls back to all methods when no valid
|
|
130
|
+
* names remain.
|
|
131
|
+
*
|
|
132
|
+
* @returns Validated list of analysis methods
|
|
133
|
+
*/
|
|
134
|
+
function parseAnalysisMethods() {
|
|
135
|
+
const raw = analysisMethodsArg?.split(ARG_SEPARATOR)[1]?.trim();
|
|
136
|
+
if (!raw)
|
|
137
|
+
return ALL_ANALYSIS_METHODS;
|
|
138
|
+
const requestedNames = raw
|
|
139
|
+
.split(',')
|
|
140
|
+
.map((m) => m.trim())
|
|
141
|
+
.filter((m) => m.length > 0);
|
|
142
|
+
if (requestedNames.length === 0)
|
|
143
|
+
return ALL_ANALYSIS_METHODS;
|
|
144
|
+
const validMethods = new Set();
|
|
145
|
+
const unknownMethods = [];
|
|
146
|
+
for (const name of requestedNames) {
|
|
147
|
+
if (ALL_ANALYSIS_METHODS.includes(name)) {
|
|
148
|
+
validMethods.add(name);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
unknownMethods.push(name);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (unknownMethods.length > 0) {
|
|
155
|
+
console.warn(`⚠️ Unknown analysis methods ignored: ${unknownMethods.join(', ')}`);
|
|
156
|
+
}
|
|
157
|
+
const methods = Array.from(validMethods);
|
|
158
|
+
if (methods.length === 0) {
|
|
159
|
+
console.warn('⚠️ No valid analysis methods specified; defaulting to all analysis methods.');
|
|
160
|
+
return ALL_ANALYSIS_METHODS;
|
|
161
|
+
}
|
|
162
|
+
return methods;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Run the optional analysis stage (Fetch → Analysis) before article generation.
|
|
166
|
+
*
|
|
167
|
+
* This function is **side-effect-only**: it writes analysis markdown and a
|
|
168
|
+
* `manifest.json` to disk under `analysis-output/{date}/`. The returned
|
|
169
|
+
* {@link AnalysisContext} is informational; strategies read analysis output
|
|
170
|
+
* from disk rather than consuming the context object in-memory. Analysis
|
|
171
|
+
* artifacts are committed to the repository for review and political
|
|
172
|
+
* intelligence improvement.
|
|
173
|
+
*
|
|
174
|
+
* The feed timeframe is derived from the requested article types: if any
|
|
175
|
+
* month-level types (month-ahead, month-in-review, committee-reports, motions)
|
|
176
|
+
* are present, the stage fetches 'one-month' of data; otherwise 'one-week'.
|
|
177
|
+
*
|
|
178
|
+
* **Note:** The analysis stage fetches EP feed data independently of the
|
|
179
|
+
* generation stage. Strategies also call `fetchEPFeedData()` during their own
|
|
180
|
+
* `fetchData()`. Sharing a single fetch result between analysis and generation
|
|
181
|
+
* is a planned optimisation (tracked separately) to reduce MCP traffic.
|
|
182
|
+
*
|
|
183
|
+
* @param date - ISO date string (YYYY-MM-DD)
|
|
184
|
+
* @param client - Connected MCP client or null
|
|
185
|
+
* @returns Analysis context or null
|
|
186
|
+
*/
|
|
187
|
+
async function maybeRunAnalysis(date, client) {
|
|
188
|
+
if (!runAnalysisArg && !analysisOnlyArg)
|
|
189
|
+
return null;
|
|
190
|
+
const rawAnalysisDirBase = analysisDirArg?.split(ARG_SEPARATOR)[1];
|
|
191
|
+
const trimmedAnalysisDirBase = rawAnalysisDirBase?.trim();
|
|
192
|
+
const analysisDirBase = trimmedAnalysisDirBase && trimmedAnalysisDirBase.length > 0
|
|
193
|
+
? trimmedAnalysisDirBase
|
|
194
|
+
: 'analysis-output';
|
|
195
|
+
const enabledMethods = parseAnalysisMethods();
|
|
196
|
+
console.log('');
|
|
197
|
+
console.log('🔬 Running analysis stage...');
|
|
198
|
+
console.log(` Output dir: ${analysisDirBase}/${date}`);
|
|
199
|
+
console.log(` Methods: ${enabledMethods.length} enabled`);
|
|
200
|
+
console.log('');
|
|
201
|
+
// Derive the feed timeframe from the requested article types so the analysis
|
|
202
|
+
// window matches the generation window. Month-level types need 'one-month'.
|
|
203
|
+
const MONTH_LEVEL_TYPES = ['month-ahead', 'month-in-review', 'committee-reports', 'motions'];
|
|
204
|
+
const normalizedArticleTypes = articleTypes.map((t) => t.trim());
|
|
205
|
+
const needsMonthData = normalizedArticleTypes.some((t) => MONTH_LEVEL_TYPES.includes(t));
|
|
206
|
+
const feedTimeframe = needsMonthData ? 'one-month' : 'one-week';
|
|
207
|
+
// Fetch comprehensive EP feed data. fetchEPFeedData handles a null client
|
|
208
|
+
// gracefully (returns undefined) and also loads from EP_FEED_DATA_FILE when
|
|
209
|
+
// set, so we call it unconditionally.
|
|
210
|
+
//
|
|
211
|
+
// Always initialise voting-derived keys (`patterns`, `votingRecords`) to
|
|
212
|
+
// empty arrays so coalition/voting/cross-session analyses never receive
|
|
213
|
+
// undefined. These feeds are not yet exposed by fetchEPFeedData, so they
|
|
214
|
+
// stay empty until a future MCP voting-records endpoint is available.
|
|
215
|
+
const fetchedData = {
|
|
216
|
+
date,
|
|
217
|
+
patterns: [],
|
|
218
|
+
votingRecords: [],
|
|
219
|
+
};
|
|
220
|
+
const feedData = await fetchEPFeedData(client, feedTimeframe);
|
|
221
|
+
if (feedData) {
|
|
222
|
+
fetchedData['events'] = feedData.events ?? [];
|
|
223
|
+
fetchedData['documents'] = feedData.documents ?? [];
|
|
224
|
+
fetchedData['adoptedTexts'] = feedData.adoptedTexts ?? [];
|
|
225
|
+
fetchedData['procedures'] = feedData.procedures ?? [];
|
|
226
|
+
fetchedData['mepUpdates'] = feedData.mepUpdates ?? [];
|
|
227
|
+
fetchedData['plenaryDocuments'] = feedData.plenaryDocuments ?? [];
|
|
228
|
+
fetchedData['committeeDocuments'] = feedData.committeeDocuments ?? [];
|
|
229
|
+
fetchedData['plenarySessionDocuments'] = feedData.plenarySessionDocuments ?? [];
|
|
230
|
+
fetchedData['externalDocuments'] = feedData.externalDocuments ?? [];
|
|
231
|
+
fetchedData['questions'] = feedData.questions ?? [];
|
|
232
|
+
fetchedData['declarations'] = feedData.declarations ?? [];
|
|
233
|
+
fetchedData['corporateBodies'] = feedData.corporateBodies ?? [];
|
|
234
|
+
}
|
|
235
|
+
if (!fetchedData['events']) {
|
|
236
|
+
// No MCP or feed-data file available — populate empty arrays so builders don't fail
|
|
237
|
+
fetchedData['events'] = [];
|
|
238
|
+
fetchedData['sessions'] = [];
|
|
239
|
+
fetchedData['documents'] = [];
|
|
240
|
+
}
|
|
241
|
+
try {
|
|
242
|
+
const validArticleTypes = normalizedArticleTypes.filter((t) => VALID_ARTICLE_CATEGORIES.includes(t));
|
|
243
|
+
const ctx = await runAnalysisStage(fetchedData, {
|
|
244
|
+
articleTypes: validArticleTypes,
|
|
245
|
+
date,
|
|
246
|
+
outputDir: analysisDirBase,
|
|
247
|
+
enabledMethods,
|
|
248
|
+
skipCompleted: true,
|
|
249
|
+
verbose: analysisVerboseArg,
|
|
250
|
+
});
|
|
251
|
+
const totalMethods = ctx.manifest.methods.length;
|
|
252
|
+
const completedCount = ctx.manifest.methods.filter((method) => method.status === 'completed').length;
|
|
253
|
+
const skippedCount = ctx.manifest.methods.filter((method) => method.status === 'skipped').length;
|
|
254
|
+
console.log('');
|
|
255
|
+
console.log(`🔬 Analysis complete: ${completedCount} methods completed, ${skippedCount} skipped (of ${totalMethods})`);
|
|
256
|
+
console.log(` Confidence: ${ctx.manifest.overallConfidence}`);
|
|
257
|
+
console.log(` Manifest: ${ctx.outputDir}/manifest.json`);
|
|
258
|
+
console.log('');
|
|
259
|
+
return ctx;
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
263
|
+
console.error(`❌ Analysis stage failed: ${message}`);
|
|
264
|
+
// Analysis failure does not block article generation
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Main execution: initialise the MCP client, optionally run analysis stage,
|
|
270
|
+
* iterate over requested article types, delegate to the appropriate strategy,
|
|
271
|
+
* then persist metadata.
|
|
115
272
|
*/
|
|
116
273
|
async function main() {
|
|
117
274
|
console.log('');
|
|
@@ -124,6 +281,20 @@ async function main() {
|
|
|
124
281
|
console.log(`📂 Pre-fetched feed data will be loaded from: ${feedDataPath}`);
|
|
125
282
|
}
|
|
126
283
|
const client = await initializeMCPClient(useMCP);
|
|
284
|
+
// Determine today's date for the analysis stage
|
|
285
|
+
// split('T')[0] on a valid ISO string always returns the date portion
|
|
286
|
+
const isoToday = new Date().toISOString();
|
|
287
|
+
const todayDate = isoToday.slice(0, 10);
|
|
288
|
+
// Run optional analysis stage (Fetch → Analysis)
|
|
289
|
+
// Writes markdown + manifest to analysis-output/{date}/ — committed for review
|
|
290
|
+
await maybeRunAnalysis(todayDate, client);
|
|
291
|
+
// If --analysis-only, skip article generation
|
|
292
|
+
if (analysisOnlyArg) {
|
|
293
|
+
console.log('ℹ️ --analysis-only specified. Skipping article generation.');
|
|
294
|
+
if (client)
|
|
295
|
+
await closeEPMCPClient();
|
|
296
|
+
process.exit(0);
|
|
297
|
+
}
|
|
127
298
|
const outputOptions = {
|
|
128
299
|
dryRun: dryRunArg,
|
|
129
300
|
skipExisting: skipExistingArg,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"news-enhanced.js","sourceRoot":"","sources":["../../src/generators/news-enhanced.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"news-enhanced.js","sourceRoot":"","sources":["../../src/generators/news-enhanced.ts"],"names":[],"mappings":";AAEA,8CAA8C;AAC9C,sCAAsC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,iFAAiF;AAEjF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGtF,gFAAgF;AAEhF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,gFAAgF;AAEhF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,GAChC,CAAC;AACF,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,GAC/B,CAAC;AACF,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAGpC,iFAAiF;AAEjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC;AAErD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AACvE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC7E,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAErF,0EAA0E;AAC1E,MAAM,YAAY,GAAG,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;IAC1D,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;IACjD,CAAC,CAAC,EAAE,CAAC;AAEP,MAAM,YAAY,GAAG,QAAQ;IAC3B,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAE9B,IAAI,cAAc,GAAG,YAAY;IAC/B,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;IACnE,CAAC,CAAC,IAAI,CAAC;AAET,iBAAiB;AACjB,IAAI,gBAAgB,CAAC,cAAgC,CAAC,EAAE,CAAC;IACvD,cAAc,GAAG,gBAAgB,CAAC,cAAgC,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,SAAS,GAAmB,cAAc;KAC7C,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACpB,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yBAAyB;AACzB,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAqB,CAAC,CACvE,CAAC;AACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,qCAAqC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACrE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CACT,iBAAiB,EACjB,eAAe,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;AACJ,CAAC;AACD,IAAI,YAAY,EAAE,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,2BAA2B;AAC3B,qBAAqB,CAAC,YAAY,CAAC,CAAC;AACpC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEhC,wBAAwB;AACxB,MAAM,KAAK,GAAoB;IAC7B,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CACpC,CAAC;AAEF,iFAAiF;AAEjF;;;;;;GAMG;AACH,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC,GAAG;QAAE,OAAO,oBAAoB,CAAC;IAEtC,MAAM,cAAc,GAAG,GAAG;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAE7D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAK,oBAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,YAAY,CAAC,GAAG,CAAC,IAAsB,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,wCAAwC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC5F,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,MAA0C;IAE1C,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,kBAAkB,GAAG,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,sBAAsB,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC1D,MAAM,eAAe,GACnB,sBAAsB,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,iBAAiB,CAAC;IACxB,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAe,IAAI,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,CAAC,MAAM,UAAU,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAC7F,MAAM,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAEhE,2EAA2E;IAC3E,4EAA4E;IAC5E,sCAAsC;IACtC,EAAE;IACF,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,WAAW,GAA4B;QAC3C,IAAI;QACJ,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9C,WAAW,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QACpD,WAAW,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC1D,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QACtD,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QACtD,WAAW,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAClE,WAAW,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACtE,WAAW,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,uBAAuB,IAAI,EAAE,CAAC;QAChF,WAAW,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACpE,WAAW,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QACpD,WAAW,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC1D,WAAW,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,oFAAoF;QACpF,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3B,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7B,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAClF,wBAAwB,CAAC,QAAQ,CAAC,CAAoB,CAAC,CAC1B,CAAC;QAEhC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE;YAC9C,YAAY,EAAE,iBAAiB;YAC/B,IAAI;YACJ,SAAS,EAAE,eAAe;YAC1B,cAAc;YACd,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAChD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAC1C,CAAC,MAAM,CAAC;QACT,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC9C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CACxC,CAAC,MAAM,CAAC;QAET,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,yBAAyB,cAAc,uBAAuB,YAAY,gBAAgB,YAAY,GAAG,CAC1G,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,SAAS,gBAAgB,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACrD,qDAAqD;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,iDAAiD,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEjD,gDAAgD;IAChD,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAExC,iDAAiD;IACjD,+EAA+E;IAC/E,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE1C,8CAA8C;IAC9C,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,IAAI,MAAM;YAAE,MAAM,gBAAgB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAkB;QACnC,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;KAChC,CAAC;IAEF,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAA8B,CAAC,EAAE,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,WAA8B,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,uBAAuB,CAAC,CAAC;gBACpE,SAAS;YACX,CAAC;YAED,OAAO,CAAC,IAAI,CACV,MAAM,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CACpF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,SAAS,WAAW,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;QACvD,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,MAAM,gBAAgB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,2DAA2D;AAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxF,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ArticleCategory } from '../../types/index.js';
|
|
2
|
+
import type { ConfidenceLevel } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* All analysis methods supported by the analysis pipeline stage.
|
|
5
|
+
*
|
|
6
|
+
* Methods prefixed with a group label:
|
|
7
|
+
* - Classification (#804): significance-classification, impact-matrix, actor-mapping, forces-analysis
|
|
8
|
+
* - Threat Assessment (#805): political-stride, actor-threat-profiling, consequence-trees, legislative-disruption
|
|
9
|
+
* - Risk Scoring (#806): risk-matrix, political-capital-risk, quantitative-swot, legislative-velocity-risk, agent-risk-workflow
|
|
10
|
+
* - Existing: deep-analysis, stakeholder-analysis, coalition-analysis, voting-patterns, cross-session-intelligence
|
|
11
|
+
*/
|
|
12
|
+
export type AnalysisMethod = 'significance-classification' | 'impact-matrix' | 'actor-mapping' | 'forces-analysis' | 'political-stride' | 'actor-threat-profiling' | 'consequence-trees' | 'legislative-disruption' | 'risk-matrix' | 'political-capital-risk' | 'quantitative-swot' | 'legislative-velocity-risk' | 'agent-risk-workflow' | 'deep-analysis' | 'stakeholder-analysis' | 'coalition-analysis' | 'voting-patterns' | 'cross-session-intelligence';
|
|
13
|
+
/** All analysis methods in default execution order */
|
|
14
|
+
export declare const ALL_ANALYSIS_METHODS: readonly AnalysisMethod[];
|
|
15
|
+
/** Configuration for the analysis pipeline stage */
|
|
16
|
+
export interface AnalysisStageOptions {
|
|
17
|
+
/** Article categories to analyse */
|
|
18
|
+
readonly articleTypes: readonly ArticleCategory[];
|
|
19
|
+
/** ISO date string (YYYY-MM-DD) for this analysis run */
|
|
20
|
+
readonly date: string;
|
|
21
|
+
/** Base output directory (e.g. 'analysis-output') */
|
|
22
|
+
readonly outputDir: string;
|
|
23
|
+
/** Which methods to run; defaults to {@link ALL_ANALYSIS_METHODS} */
|
|
24
|
+
readonly enabledMethods?: readonly AnalysisMethod[];
|
|
25
|
+
/** When true, skip already-completed methods from a prior run on the same date */
|
|
26
|
+
readonly skipCompleted?: boolean;
|
|
27
|
+
/** Emit verbose progress messages to stdout */
|
|
28
|
+
readonly verbose?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Status record written into the manifest for each method */
|
|
31
|
+
export interface AnalysisMethodStatus {
|
|
32
|
+
/** The analysis method */
|
|
33
|
+
readonly method: AnalysisMethod;
|
|
34
|
+
/** Whether the method completed, was skipped, or failed */
|
|
35
|
+
readonly status: 'completed' | 'skipped' | 'failed';
|
|
36
|
+
/** Path to the markdown output file */
|
|
37
|
+
readonly outputFile: string;
|
|
38
|
+
/** Confidence level of the result */
|
|
39
|
+
readonly confidence: ConfidenceLevel;
|
|
40
|
+
/** Wall-clock duration in milliseconds */
|
|
41
|
+
readonly duration: number;
|
|
42
|
+
/** One-line human-readable summary */
|
|
43
|
+
readonly summary: string;
|
|
44
|
+
}
|
|
45
|
+
/** Metadata record written to manifest.json for each analysis run */
|
|
46
|
+
export interface AnalysisManifest {
|
|
47
|
+
/** Unique identifier for this analysis run */
|
|
48
|
+
readonly runId: string;
|
|
49
|
+
/** ISO date of the analysis */
|
|
50
|
+
readonly date: string;
|
|
51
|
+
/** ISO 8601 start timestamp */
|
|
52
|
+
readonly startTime: string;
|
|
53
|
+
/** ISO 8601 end timestamp */
|
|
54
|
+
readonly endTime: string;
|
|
55
|
+
/** Article types included in this run */
|
|
56
|
+
readonly articleTypes: readonly ArticleCategory[];
|
|
57
|
+
/** Per-method status entries */
|
|
58
|
+
readonly methods: readonly AnalysisMethodStatus[];
|
|
59
|
+
/** Aggregated confidence across all completed methods */
|
|
60
|
+
readonly overallConfidence: ConfidenceLevel;
|
|
61
|
+
/** Data source identifiers used during the run */
|
|
62
|
+
readonly dataSourcesUsed: readonly string[];
|
|
63
|
+
}
|
|
64
|
+
/** Result context passed from the analysis stage to article generation strategies */
|
|
65
|
+
export interface AnalysisContext {
|
|
66
|
+
/** ISO date of the analysis */
|
|
67
|
+
readonly date: string;
|
|
68
|
+
/** Absolute path to the date-scoped output directory */
|
|
69
|
+
readonly outputDir: string;
|
|
70
|
+
/** Methods that completed successfully or were skipped */
|
|
71
|
+
readonly completedMethods: readonly AnalysisMethod[];
|
|
72
|
+
/** Detailed results keyed by method */
|
|
73
|
+
readonly results: ReadonlyMap<AnalysisMethod, AnalysisMethodStatus>;
|
|
74
|
+
/** Manifest written to disk */
|
|
75
|
+
readonly manifest: AnalysisManifest;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Run the full analysis pipeline stage.
|
|
79
|
+
*
|
|
80
|
+
* Executes all enabled analysis methods sequentially, writing markdown files
|
|
81
|
+
* to `outputDir/{date}/` and a `manifest.json` summary. Individual method
|
|
82
|
+
* failures are isolated — other methods continue regardless.
|
|
83
|
+
*
|
|
84
|
+
* @param fetchedData - Raw EP data fetched by the fetch stage (keyed by data type)
|
|
85
|
+
* @param options - Analysis stage configuration
|
|
86
|
+
* @returns Analysis context object for consumption by the generate stage
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* const ctx = await runAnalysisStage(fetchedData, {
|
|
91
|
+
* articleTypes: [ArticleCategory.WEEK_AHEAD],
|
|
92
|
+
* date: '2026-03-26',
|
|
93
|
+
* outputDir: 'analysis-output',
|
|
94
|
+
* skipCompleted: true,
|
|
95
|
+
* verbose: true,
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare function runAnalysisStage(fetchedData: Record<string, unknown>, options: AnalysisStageOptions): Promise<AnalysisContext>;
|
|
100
|
+
//# sourceMappingURL=analysis-stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis-stage.d.ts","sourceRoot":"","sources":["../../../src/generators/pipeline/analysis-stage.ts"],"names":[],"mappings":"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"}
|