@panguard-ai/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/adapter-registry.d.ts +150 -0
- package/dist/adapters/adapter-registry.d.ts.map +1 -0
- package/dist/adapters/adapter-registry.js +271 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/base-adapter.d.ts +101 -0
- package/dist/adapters/base-adapter.d.ts.map +1 -0
- package/dist/adapters/base-adapter.js +160 -0
- package/dist/adapters/base-adapter.js.map +1 -0
- package/dist/adapters/defender-adapter.d.ts +90 -0
- package/dist/adapters/defender-adapter.d.ts.map +1 -0
- package/dist/adapters/defender-adapter.js +227 -0
- package/dist/adapters/defender-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +22 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +23 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/syslog-adapter.d.ts +207 -0
- package/dist/adapters/syslog-adapter.d.ts.map +1 -0
- package/dist/adapters/syslog-adapter.js +432 -0
- package/dist/adapters/syslog-adapter.js.map +1 -0
- package/dist/adapters/types.d.ts +135 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +13 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/wazuh-adapter.d.ts +120 -0
- package/dist/adapters/wazuh-adapter.d.ts.map +1 -0
- package/dist/adapters/wazuh-adapter.js +266 -0
- package/dist/adapters/wazuh-adapter.js.map +1 -0
- package/dist/ai/claude-provider.d.ts +66 -0
- package/dist/ai/claude-provider.d.ts.map +1 -0
- package/dist/ai/claude-provider.js +166 -0
- package/dist/ai/claude-provider.js.map +1 -0
- package/dist/ai/funnel-router.d.ts +75 -0
- package/dist/ai/funnel-router.d.ts.map +1 -0
- package/dist/ai/funnel-router.js +173 -0
- package/dist/ai/funnel-router.js.map +1 -0
- package/dist/ai/index.d.ts +77 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +95 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/ollama-provider.d.ts +73 -0
- package/dist/ai/ollama-provider.d.ts.map +1 -0
- package/dist/ai/ollama-provider.js +200 -0
- package/dist/ai/ollama-provider.js.map +1 -0
- package/dist/ai/openai-provider.d.ts +70 -0
- package/dist/ai/openai-provider.d.ts.map +1 -0
- package/dist/ai/openai-provider.js +175 -0
- package/dist/ai/openai-provider.js.map +1 -0
- package/dist/ai/prompts/event-classifier.d.ts +25 -0
- package/dist/ai/prompts/event-classifier.d.ts.map +1 -0
- package/dist/ai/prompts/event-classifier.js +94 -0
- package/dist/ai/prompts/event-classifier.js.map +1 -0
- package/dist/ai/prompts/index.d.ts +13 -0
- package/dist/ai/prompts/index.d.ts.map +1 -0
- package/dist/ai/prompts/index.js +13 -0
- package/dist/ai/prompts/index.js.map +1 -0
- package/dist/ai/prompts/report-generator.d.ts +25 -0
- package/dist/ai/prompts/report-generator.d.ts.map +1 -0
- package/dist/ai/prompts/report-generator.js +131 -0
- package/dist/ai/prompts/report-generator.js.map +1 -0
- package/dist/ai/prompts/threat-analyzer.d.ts +26 -0
- package/dist/ai/prompts/threat-analyzer.d.ts.map +1 -0
- package/dist/ai/prompts/threat-analyzer.js +75 -0
- package/dist/ai/prompts/threat-analyzer.js.map +1 -0
- package/dist/ai/provider-base.d.ts +100 -0
- package/dist/ai/provider-base.d.ts.map +1 -0
- package/dist/ai/provider-base.js +166 -0
- package/dist/ai/provider-base.js.map +1 -0
- package/dist/ai/response-parser.d.ts +36 -0
- package/dist/ai/response-parser.d.ts.map +1 -0
- package/dist/ai/response-parser.js +195 -0
- package/dist/ai/response-parser.js.map +1 -0
- package/dist/ai/token-tracker.d.ts +72 -0
- package/dist/ai/token-tracker.d.ts.map +1 -0
- package/dist/ai/token-tracker.js +145 -0
- package/dist/ai/token-tracker.js.map +1 -0
- package/dist/ai/types.d.ts +138 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +12 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/cli/index.d.ts +146 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +515 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/prompts.d.ts +58 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +327 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/cli/wizard.d.ts +58 -0
- package/dist/cli/wizard.d.ts.map +1 -0
- package/dist/cli/wizard.js +200 -0
- package/dist/cli/wizard.js.map +1 -0
- package/dist/discovery/firewall-checker.d.ts +28 -0
- package/dist/discovery/firewall-checker.d.ts.map +1 -0
- package/dist/discovery/firewall-checker.js +379 -0
- package/dist/discovery/firewall-checker.js.map +1 -0
- package/dist/discovery/index.d.ts +23 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +29 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/network-scanner.d.ts +60 -0
- package/dist/discovery/network-scanner.d.ts.map +1 -0
- package/dist/discovery/network-scanner.js +640 -0
- package/dist/discovery/network-scanner.js.map +1 -0
- package/dist/discovery/os-detector.d.ts +24 -0
- package/dist/discovery/os-detector.d.ts.map +1 -0
- package/dist/discovery/os-detector.js +253 -0
- package/dist/discovery/os-detector.js.map +1 -0
- package/dist/discovery/osquery-provider.d.ts +127 -0
- package/dist/discovery/osquery-provider.d.ts.map +1 -0
- package/dist/discovery/osquery-provider.js +214 -0
- package/dist/discovery/osquery-provider.js.map +1 -0
- package/dist/discovery/risk-scorer.d.ts +66 -0
- package/dist/discovery/risk-scorer.d.ts.map +1 -0
- package/dist/discovery/risk-scorer.js +294 -0
- package/dist/discovery/risk-scorer.js.map +1 -0
- package/dist/discovery/security-tools.d.ts +31 -0
- package/dist/discovery/security-tools.d.ts.map +1 -0
- package/dist/discovery/security-tools.js +346 -0
- package/dist/discovery/security-tools.js.map +1 -0
- package/dist/discovery/service-detector.d.ts +28 -0
- package/dist/discovery/service-detector.d.ts.map +1 -0
- package/dist/discovery/service-detector.js +300 -0
- package/dist/discovery/service-detector.js.map +1 -0
- package/dist/discovery/types.d.ts +502 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +12 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/discovery/user-auditor.d.ts +28 -0
- package/dist/discovery/user-auditor.d.ts.map +1 -0
- package/dist/discovery/user-auditor.js +385 -0
- package/dist/discovery/user-auditor.js.map +1 -0
- package/dist/i18n/config.d.ts +45 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/config.js +135 -0
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/index.d.ts +8 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +8 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/monitor/event-normalizer.d.ts +102 -0
- package/dist/monitor/event-normalizer.d.ts.map +1 -0
- package/dist/monitor/event-normalizer.js +195 -0
- package/dist/monitor/event-normalizer.js.map +1 -0
- package/dist/monitor/file-monitor.d.ts +90 -0
- package/dist/monitor/file-monitor.d.ts.map +1 -0
- package/dist/monitor/file-monitor.js +222 -0
- package/dist/monitor/file-monitor.js.map +1 -0
- package/dist/monitor/index.d.ts +147 -0
- package/dist/monitor/index.d.ts.map +1 -0
- package/dist/monitor/index.js +293 -0
- package/dist/monitor/index.js.map +1 -0
- package/dist/monitor/log-monitor.d.ts +102 -0
- package/dist/monitor/log-monitor.d.ts.map +1 -0
- package/dist/monitor/log-monitor.js +245 -0
- package/dist/monitor/log-monitor.js.map +1 -0
- package/dist/monitor/network-monitor.d.ts +103 -0
- package/dist/monitor/network-monitor.d.ts.map +1 -0
- package/dist/monitor/network-monitor.js +336 -0
- package/dist/monitor/network-monitor.js.map +1 -0
- package/dist/monitor/process-monitor.d.ts +108 -0
- package/dist/monitor/process-monitor.d.ts.map +1 -0
- package/dist/monitor/process-monitor.js +245 -0
- package/dist/monitor/process-monitor.js.map +1 -0
- package/dist/monitor/threat-intel-feeds.d.ts +141 -0
- package/dist/monitor/threat-intel-feeds.d.ts.map +1 -0
- package/dist/monitor/threat-intel-feeds.js +430 -0
- package/dist/monitor/threat-intel-feeds.js.map +1 -0
- package/dist/monitor/threat-intel.d.ts +83 -0
- package/dist/monitor/threat-intel.d.ts.map +1 -0
- package/dist/monitor/threat-intel.js +215 -0
- package/dist/monitor/threat-intel.js.map +1 -0
- package/dist/monitor/types.d.ts +65 -0
- package/dist/monitor/types.d.ts.map +1 -0
- package/dist/monitor/types.js +20 -0
- package/dist/monitor/types.js.map +1 -0
- package/dist/rules/index.d.ts +115 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +244 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/rule-loader.d.ts +54 -0
- package/dist/rules/rule-loader.d.ts.map +1 -0
- package/dist/rules/rule-loader.js +167 -0
- package/dist/rules/rule-loader.js.map +1 -0
- package/dist/rules/sigma-matcher.d.ts +40 -0
- package/dist/rules/sigma-matcher.d.ts.map +1 -0
- package/dist/rules/sigma-matcher.js +447 -0
- package/dist/rules/sigma-matcher.js.map +1 -0
- package/dist/rules/sigma-parser.d.ts +36 -0
- package/dist/rules/sigma-parser.d.ts.map +1 -0
- package/dist/rules/sigma-parser.js +180 -0
- package/dist/rules/sigma-parser.js.map +1 -0
- package/dist/rules/types.d.ts +112 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +11 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/rules/yara-scanner.d.ts +103 -0
- package/dist/rules/yara-scanner.d.ts.map +1 -0
- package/dist/rules/yara-scanner.js +421 -0
- package/dist/rules/yara-scanner.js.map +1 -0
- package/dist/scoring/achievements.d.ts +76 -0
- package/dist/scoring/achievements.d.ts.map +1 -0
- package/dist/scoring/achievements.js +211 -0
- package/dist/scoring/achievements.js.map +1 -0
- package/dist/scoring/index.d.ts +3 -0
- package/dist/scoring/index.d.ts.map +1 -0
- package/dist/scoring/index.js +3 -0
- package/dist/scoring/index.js.map +1 -0
- package/dist/scoring/security-score.d.ts +60 -0
- package/dist/scoring/security-score.d.ts.map +1 -0
- package/dist/scoring/security-score.js +211 -0
- package/dist/scoring/security-score.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +38 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +71 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validation.d.ts +35 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +56 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-monitor.js","sourceRoot":"","sources":["../../src/monitor/file-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Monitoring Engine
|
|
3
|
+
* 系統監控引擎
|
|
4
|
+
*
|
|
5
|
+
* Real-time monitoring of system events including log monitoring,
|
|
6
|
+
* network connections, process activity, and file integrity.
|
|
7
|
+
* Aggregates all sub-monitors into a single MonitorEngine with
|
|
8
|
+
* unified event emission and threat intelligence correlation.
|
|
9
|
+
* 即時監控系統事件,包括日誌監控、網路連線、程序活動和檔案完整性。
|
|
10
|
+
* 將所有子監控器彙整到單一 MonitorEngine,具備統一事件發送和威脅情報關聯。
|
|
11
|
+
*
|
|
12
|
+
* @module @panguard-ai/core/monitor
|
|
13
|
+
*/
|
|
14
|
+
import { EventEmitter } from 'node:events';
|
|
15
|
+
import type { MonitorConfig, MonitorStatus } from './types.js';
|
|
16
|
+
/** Monitor engine version / 監控引擎版本 */
|
|
17
|
+
export declare const MONITOR_VERSION = "0.1.0";
|
|
18
|
+
/**
|
|
19
|
+
* MonitorEngine - unified system monitoring engine
|
|
20
|
+
* MonitorEngine - 統一系統監控引擎
|
|
21
|
+
*
|
|
22
|
+
* Orchestrates all sub-monitors (log, network, process, file) and provides
|
|
23
|
+
* a single event stream with integrated threat intelligence correlation.
|
|
24
|
+
* 統籌所有子監控器(日誌、網路、程序、檔案),提供整合威脅情報關聯的
|
|
25
|
+
* 單一事件串流。
|
|
26
|
+
*
|
|
27
|
+
* Events emitted:
|
|
28
|
+
* - 'event': SecurityEvent - for all normalized security events / 所有正規化的安全事件
|
|
29
|
+
* - 'threat': { event: SecurityEvent, threat: ThreatIntelEntry } - when a threat match is found / 當找到威脅比對時
|
|
30
|
+
* - 'error': Error - when a sub-monitor encounters an error / 當子監控器遇到錯誤時
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const engine = new MonitorEngine({
|
|
35
|
+
* logMonitor: true,
|
|
36
|
+
* networkMonitor: true,
|
|
37
|
+
* processMonitor: true,
|
|
38
|
+
* fileMonitor: false,
|
|
39
|
+
* networkPollInterval: 30000,
|
|
40
|
+
* processPollInterval: 15000,
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* engine.on('event', (event) => console.log('Event:', event));
|
|
44
|
+
* engine.on('threat', ({ event, threat }) => console.log('THREAT:', threat));
|
|
45
|
+
*
|
|
46
|
+
* engine.start();
|
|
47
|
+
* // ... later ...
|
|
48
|
+
* engine.stop();
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare class MonitorEngine extends EventEmitter {
|
|
52
|
+
/** Log monitor instance / 日誌監控器實例 */
|
|
53
|
+
private logMonitor?;
|
|
54
|
+
/** Network monitor instance / 網路監控器實例 */
|
|
55
|
+
private networkMonitor?;
|
|
56
|
+
/** Process monitor instance / 程序監控器實例 */
|
|
57
|
+
private processMonitor?;
|
|
58
|
+
/** File monitor instance / 檔案監控器實例 */
|
|
59
|
+
private fileMonitor?;
|
|
60
|
+
/** Current engine status / 目前引擎狀態 */
|
|
61
|
+
private status;
|
|
62
|
+
/** Resolved configuration / 解析後的配置 */
|
|
63
|
+
private config;
|
|
64
|
+
/**
|
|
65
|
+
* Create a new MonitorEngine instance
|
|
66
|
+
* 建立新的 MonitorEngine 實例
|
|
67
|
+
*
|
|
68
|
+
* @param config - Partial monitor configuration (merged with defaults) / 部分監控配置(與預設值合併)
|
|
69
|
+
*/
|
|
70
|
+
constructor(config?: Partial<MonitorConfig>);
|
|
71
|
+
/**
|
|
72
|
+
* Start all enabled monitors
|
|
73
|
+
* 啟動所有已啟用的監控器
|
|
74
|
+
*
|
|
75
|
+
* Initializes and starts each sub-monitor based on configuration,
|
|
76
|
+
* wires up event forwarding, and applies threat intelligence checks
|
|
77
|
+
* to all incoming events.
|
|
78
|
+
* 根據配置初始化並啟動每個子監控器,連接事件轉發,並對所有
|
|
79
|
+
* 傳入事件套用威脅情報檢查。
|
|
80
|
+
*/
|
|
81
|
+
start(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Stop all running monitors and clean up resources
|
|
84
|
+
* 停止所有執行中的監控器並清理資源
|
|
85
|
+
*/
|
|
86
|
+
stop(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Get the current engine status
|
|
89
|
+
* 取得目前引擎狀態
|
|
90
|
+
*
|
|
91
|
+
* @returns Current monitor status / 目前監控狀態
|
|
92
|
+
*/
|
|
93
|
+
getStatus(): MonitorStatus;
|
|
94
|
+
/**
|
|
95
|
+
* Get the current configuration
|
|
96
|
+
* 取得目前配置
|
|
97
|
+
*
|
|
98
|
+
* @returns Current monitor configuration / 目前監控配置
|
|
99
|
+
*/
|
|
100
|
+
getConfig(): Readonly<MonitorConfig>;
|
|
101
|
+
/**
|
|
102
|
+
* Process an incoming event: emit it and check against threat intelligence
|
|
103
|
+
* 處理傳入事件:發送事件並對照威脅情報檢查
|
|
104
|
+
*
|
|
105
|
+
* @param event - Security event to process / 要處理的安全事件
|
|
106
|
+
*/
|
|
107
|
+
private processEvent;
|
|
108
|
+
/**
|
|
109
|
+
* Forward errors from sub-monitors
|
|
110
|
+
* 從子監控器轉發錯誤
|
|
111
|
+
*
|
|
112
|
+
* @param source - Sub-monitor name / 子監控器名稱
|
|
113
|
+
* @param err - Error instance / 錯誤實例
|
|
114
|
+
*/
|
|
115
|
+
private handleSubMonitorError;
|
|
116
|
+
/**
|
|
117
|
+
* Initialize and start the log monitor
|
|
118
|
+
* 初始化並啟動日誌監控器
|
|
119
|
+
*/
|
|
120
|
+
private startLogMonitor;
|
|
121
|
+
/**
|
|
122
|
+
* Initialize and start the network monitor
|
|
123
|
+
* 初始化並啟動網路監控器
|
|
124
|
+
*/
|
|
125
|
+
private startNetworkMonitor;
|
|
126
|
+
/**
|
|
127
|
+
* Initialize and start the process monitor
|
|
128
|
+
* 初始化並啟動程序監控器
|
|
129
|
+
*/
|
|
130
|
+
private startProcessMonitor;
|
|
131
|
+
/**
|
|
132
|
+
* Initialize and start the file monitor
|
|
133
|
+
* 初始化並啟動檔案監控器
|
|
134
|
+
*/
|
|
135
|
+
private startFileMonitor;
|
|
136
|
+
}
|
|
137
|
+
export { LogMonitor } from './log-monitor.js';
|
|
138
|
+
export { NetworkMonitor } from './network-monitor.js';
|
|
139
|
+
export { ProcessMonitor } from './process-monitor.js';
|
|
140
|
+
export type { ProcessListEntry } from './process-monitor.js';
|
|
141
|
+
export { FileMonitor } from './file-monitor.js';
|
|
142
|
+
export { checkThreatIntel, isPrivateIP, addThreatIntelEntry, getThreatIntelEntries, setFeedManager, getFeedManager, } from './threat-intel.js';
|
|
143
|
+
export { normalizeLogEvent, normalizeNetworkEvent, normalizeProcessEvent, normalizeFileEvent, } from './event-normalizer.js';
|
|
144
|
+
export { ThreatIntelFeedManager, type IoC, type FeedSource, type FeedUpdateResult, type FeedManagerConfig, } from './threat-intel-feeds.js';
|
|
145
|
+
export type { MonitorConfig, MonitorStatus, ThreatIntelEntry, FileHashRecord } from './types.js';
|
|
146
|
+
export { DEFAULT_MONITOR_CONFIG } from './types.js';
|
|
147
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/monitor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAU/D,sCAAsC;AACtC,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,yCAAyC;IACzC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,yCAAyC;IACzC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,sCAAsC;IACtC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,qCAAqC;IACrC,OAAO,CAAC,MAAM,CAA4B;IAC1C,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAgB;IAE9B;;;;;OAKG;gBACS,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAK/C;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;IAuCb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAoCZ;;;;;OAKG;IACH,SAAS,IAAI,aAAa;IAI1B;;;;;OAKG;IACH,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC;IAIpC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAmBpB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAevB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAuBzB;AAGD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,sBAAsB,EACtB,KAAK,GAAG,EACR,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Monitoring Engine
|
|
3
|
+
* 系統監控引擎
|
|
4
|
+
*
|
|
5
|
+
* Real-time monitoring of system events including log monitoring,
|
|
6
|
+
* network connections, process activity, and file integrity.
|
|
7
|
+
* Aggregates all sub-monitors into a single MonitorEngine with
|
|
8
|
+
* unified event emission and threat intelligence correlation.
|
|
9
|
+
* 即時監控系統事件,包括日誌監控、網路連線、程序活動和檔案完整性。
|
|
10
|
+
* 將所有子監控器彙整到單一 MonitorEngine,具備統一事件發送和威脅情報關聯。
|
|
11
|
+
*
|
|
12
|
+
* @module @panguard-ai/core/monitor
|
|
13
|
+
*/
|
|
14
|
+
import { EventEmitter } from 'node:events';
|
|
15
|
+
import { createLogger } from '../utils/index.js';
|
|
16
|
+
import { DEFAULT_MONITOR_CONFIG } from './types.js';
|
|
17
|
+
import { LogMonitor } from './log-monitor.js';
|
|
18
|
+
import { NetworkMonitor } from './network-monitor.js';
|
|
19
|
+
import { ProcessMonitor } from './process-monitor.js';
|
|
20
|
+
import { FileMonitor } from './file-monitor.js';
|
|
21
|
+
import { checkThreatIntel } from './threat-intel.js';
|
|
22
|
+
const logger = createLogger('monitor-engine');
|
|
23
|
+
/** Monitor engine version / 監控引擎版本 */
|
|
24
|
+
export const MONITOR_VERSION = '0.1.0';
|
|
25
|
+
/**
|
|
26
|
+
* MonitorEngine - unified system monitoring engine
|
|
27
|
+
* MonitorEngine - 統一系統監控引擎
|
|
28
|
+
*
|
|
29
|
+
* Orchestrates all sub-monitors (log, network, process, file) and provides
|
|
30
|
+
* a single event stream with integrated threat intelligence correlation.
|
|
31
|
+
* 統籌所有子監控器(日誌、網路、程序、檔案),提供整合威脅情報關聯的
|
|
32
|
+
* 單一事件串流。
|
|
33
|
+
*
|
|
34
|
+
* Events emitted:
|
|
35
|
+
* - 'event': SecurityEvent - for all normalized security events / 所有正規化的安全事件
|
|
36
|
+
* - 'threat': { event: SecurityEvent, threat: ThreatIntelEntry } - when a threat match is found / 當找到威脅比對時
|
|
37
|
+
* - 'error': Error - when a sub-monitor encounters an error / 當子監控器遇到錯誤時
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const engine = new MonitorEngine({
|
|
42
|
+
* logMonitor: true,
|
|
43
|
+
* networkMonitor: true,
|
|
44
|
+
* processMonitor: true,
|
|
45
|
+
* fileMonitor: false,
|
|
46
|
+
* networkPollInterval: 30000,
|
|
47
|
+
* processPollInterval: 15000,
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* engine.on('event', (event) => console.log('Event:', event));
|
|
51
|
+
* engine.on('threat', ({ event, threat }) => console.log('THREAT:', threat));
|
|
52
|
+
*
|
|
53
|
+
* engine.start();
|
|
54
|
+
* // ... later ...
|
|
55
|
+
* engine.stop();
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export class MonitorEngine extends EventEmitter {
|
|
59
|
+
/** Log monitor instance / 日誌監控器實例 */
|
|
60
|
+
logMonitor;
|
|
61
|
+
/** Network monitor instance / 網路監控器實例 */
|
|
62
|
+
networkMonitor;
|
|
63
|
+
/** Process monitor instance / 程序監控器實例 */
|
|
64
|
+
processMonitor;
|
|
65
|
+
/** File monitor instance / 檔案監控器實例 */
|
|
66
|
+
fileMonitor;
|
|
67
|
+
/** Current engine status / 目前引擎狀態 */
|
|
68
|
+
status = 'stopped';
|
|
69
|
+
/** Resolved configuration / 解析後的配置 */
|
|
70
|
+
config;
|
|
71
|
+
/**
|
|
72
|
+
* Create a new MonitorEngine instance
|
|
73
|
+
* 建立新的 MonitorEngine 實例
|
|
74
|
+
*
|
|
75
|
+
* @param config - Partial monitor configuration (merged with defaults) / 部分監控配置(與預設值合併)
|
|
76
|
+
*/
|
|
77
|
+
constructor(config = {}) {
|
|
78
|
+
super();
|
|
79
|
+
this.config = { ...DEFAULT_MONITOR_CONFIG, ...config };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Start all enabled monitors
|
|
83
|
+
* 啟動所有已啟用的監控器
|
|
84
|
+
*
|
|
85
|
+
* Initializes and starts each sub-monitor based on configuration,
|
|
86
|
+
* wires up event forwarding, and applies threat intelligence checks
|
|
87
|
+
* to all incoming events.
|
|
88
|
+
* 根據配置初始化並啟動每個子監控器,連接事件轉發,並對所有
|
|
89
|
+
* 傳入事件套用威脅情報檢查。
|
|
90
|
+
*/
|
|
91
|
+
start() {
|
|
92
|
+
if (this.status === 'running') {
|
|
93
|
+
logger.warn('MonitorEngine is already running');
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
logger.info('Starting MonitorEngine', {
|
|
97
|
+
logMonitor: this.config.logMonitor,
|
|
98
|
+
networkMonitor: this.config.networkMonitor,
|
|
99
|
+
processMonitor: this.config.processMonitor,
|
|
100
|
+
fileMonitor: this.config.fileMonitor,
|
|
101
|
+
});
|
|
102
|
+
try {
|
|
103
|
+
if (this.config.logMonitor) {
|
|
104
|
+
this.startLogMonitor();
|
|
105
|
+
}
|
|
106
|
+
if (this.config.networkMonitor) {
|
|
107
|
+
this.startNetworkMonitor();
|
|
108
|
+
}
|
|
109
|
+
if (this.config.processMonitor) {
|
|
110
|
+
this.startProcessMonitor();
|
|
111
|
+
}
|
|
112
|
+
if (this.config.fileMonitor && this.config.watchPaths && this.config.watchPaths.length > 0) {
|
|
113
|
+
this.startFileMonitor();
|
|
114
|
+
}
|
|
115
|
+
this.status = 'running';
|
|
116
|
+
logger.info('MonitorEngine started successfully');
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
this.status = 'error';
|
|
120
|
+
logger.error('Failed to start MonitorEngine', { error: String(err) });
|
|
121
|
+
this.emit('error', err instanceof Error ? err : new Error(String(err)));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Stop all running monitors and clean up resources
|
|
126
|
+
* 停止所有執行中的監控器並清理資源
|
|
127
|
+
*/
|
|
128
|
+
stop() {
|
|
129
|
+
if (this.status === 'stopped') {
|
|
130
|
+
logger.warn('MonitorEngine is already stopped');
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
logger.info('Stopping MonitorEngine');
|
|
134
|
+
if (this.logMonitor) {
|
|
135
|
+
this.logMonitor.removeAllListeners();
|
|
136
|
+
this.logMonitor.stop();
|
|
137
|
+
this.logMonitor = undefined;
|
|
138
|
+
}
|
|
139
|
+
if (this.networkMonitor) {
|
|
140
|
+
this.networkMonitor.removeAllListeners();
|
|
141
|
+
this.networkMonitor.stop();
|
|
142
|
+
this.networkMonitor = undefined;
|
|
143
|
+
}
|
|
144
|
+
if (this.processMonitor) {
|
|
145
|
+
this.processMonitor.removeAllListeners();
|
|
146
|
+
this.processMonitor.stop();
|
|
147
|
+
this.processMonitor = undefined;
|
|
148
|
+
}
|
|
149
|
+
if (this.fileMonitor) {
|
|
150
|
+
this.fileMonitor.removeAllListeners();
|
|
151
|
+
this.fileMonitor.stop();
|
|
152
|
+
this.fileMonitor = undefined;
|
|
153
|
+
}
|
|
154
|
+
this.status = 'stopped';
|
|
155
|
+
logger.info('MonitorEngine stopped');
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get the current engine status
|
|
159
|
+
* 取得目前引擎狀態
|
|
160
|
+
*
|
|
161
|
+
* @returns Current monitor status / 目前監控狀態
|
|
162
|
+
*/
|
|
163
|
+
getStatus() {
|
|
164
|
+
return this.status;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get the current configuration
|
|
168
|
+
* 取得目前配置
|
|
169
|
+
*
|
|
170
|
+
* @returns Current monitor configuration / 目前監控配置
|
|
171
|
+
*/
|
|
172
|
+
getConfig() {
|
|
173
|
+
return this.config;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Process an incoming event: emit it and check against threat intelligence
|
|
177
|
+
* 處理傳入事件:發送事件並對照威脅情報檢查
|
|
178
|
+
*
|
|
179
|
+
* @param event - Security event to process / 要處理的安全事件
|
|
180
|
+
*/
|
|
181
|
+
processEvent(event) {
|
|
182
|
+
// Emit the raw event / 發送原始事件
|
|
183
|
+
this.emit('event', event);
|
|
184
|
+
// Check for threat intelligence matches on network events
|
|
185
|
+
// 對網路事件檢查威脅情報比對
|
|
186
|
+
if (event.source === 'network' && event.metadata['remoteAddr']) {
|
|
187
|
+
const remoteAddr = String(event.metadata['remoteAddr']);
|
|
188
|
+
const threat = checkThreatIntel(remoteAddr);
|
|
189
|
+
if (threat) {
|
|
190
|
+
logger.warn(`Threat intelligence match: ${remoteAddr}`, {
|
|
191
|
+
type: threat.type,
|
|
192
|
+
source: threat.source,
|
|
193
|
+
});
|
|
194
|
+
this.emit('threat', { event, threat });
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Forward errors from sub-monitors
|
|
200
|
+
* 從子監控器轉發錯誤
|
|
201
|
+
*
|
|
202
|
+
* @param source - Sub-monitor name / 子監控器名稱
|
|
203
|
+
* @param err - Error instance / 錯誤實例
|
|
204
|
+
*/
|
|
205
|
+
handleSubMonitorError(source, err) {
|
|
206
|
+
logger.error(`Error from ${source}`, { error: err.message });
|
|
207
|
+
this.emit('error', err);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Initialize and start the log monitor
|
|
211
|
+
* 初始化並啟動日誌監控器
|
|
212
|
+
*/
|
|
213
|
+
startLogMonitor() {
|
|
214
|
+
this.logMonitor = new LogMonitor();
|
|
215
|
+
this.logMonitor.on('event', (event) => {
|
|
216
|
+
this.processEvent(event);
|
|
217
|
+
});
|
|
218
|
+
this.logMonitor.on('error', (err) => {
|
|
219
|
+
this.handleSubMonitorError('LogMonitor', err);
|
|
220
|
+
});
|
|
221
|
+
this.logMonitor.start();
|
|
222
|
+
logger.info('LogMonitor sub-module started');
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Initialize and start the network monitor
|
|
226
|
+
* 初始化並啟動網路監控器
|
|
227
|
+
*/
|
|
228
|
+
startNetworkMonitor() {
|
|
229
|
+
this.networkMonitor = new NetworkMonitor(this.config.networkPollInterval);
|
|
230
|
+
this.networkMonitor.on('new_connection', (event) => {
|
|
231
|
+
this.processEvent(event);
|
|
232
|
+
});
|
|
233
|
+
this.networkMonitor.on('closed_connection', (event) => {
|
|
234
|
+
this.processEvent(event);
|
|
235
|
+
});
|
|
236
|
+
this.networkMonitor.on('error', (err) => {
|
|
237
|
+
this.handleSubMonitorError('NetworkMonitor', err);
|
|
238
|
+
});
|
|
239
|
+
this.networkMonitor.start();
|
|
240
|
+
logger.info('NetworkMonitor sub-module started');
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Initialize and start the process monitor
|
|
244
|
+
* 初始化並啟動程序監控器
|
|
245
|
+
*/
|
|
246
|
+
startProcessMonitor() {
|
|
247
|
+
this.processMonitor = new ProcessMonitor(this.config.processPollInterval);
|
|
248
|
+
this.processMonitor.on('process_started', (event) => {
|
|
249
|
+
this.processEvent(event);
|
|
250
|
+
});
|
|
251
|
+
this.processMonitor.on('process_stopped', (event) => {
|
|
252
|
+
this.processEvent(event);
|
|
253
|
+
});
|
|
254
|
+
this.processMonitor.on('error', (err) => {
|
|
255
|
+
this.handleSubMonitorError('ProcessMonitor', err);
|
|
256
|
+
});
|
|
257
|
+
this.processMonitor.start();
|
|
258
|
+
logger.info('ProcessMonitor sub-module started');
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Initialize and start the file monitor
|
|
262
|
+
* 初始化並啟動檔案監控器
|
|
263
|
+
*/
|
|
264
|
+
startFileMonitor() {
|
|
265
|
+
const watchPaths = this.config.watchPaths ?? [];
|
|
266
|
+
this.fileMonitor = new FileMonitor(watchPaths);
|
|
267
|
+
this.fileMonitor.on('file_changed', (event) => {
|
|
268
|
+
this.processEvent(event);
|
|
269
|
+
});
|
|
270
|
+
this.fileMonitor.on('file_created', (event) => {
|
|
271
|
+
this.processEvent(event);
|
|
272
|
+
});
|
|
273
|
+
this.fileMonitor.on('file_deleted', (event) => {
|
|
274
|
+
this.processEvent(event);
|
|
275
|
+
});
|
|
276
|
+
this.fileMonitor.on('error', (err) => {
|
|
277
|
+
this.handleSubMonitorError('FileMonitor', err);
|
|
278
|
+
});
|
|
279
|
+
this.fileMonitor.start();
|
|
280
|
+
logger.info('FileMonitor sub-module started');
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
// Re-export sub-modules / 重新匯出子模組
|
|
284
|
+
export { LogMonitor } from './log-monitor.js';
|
|
285
|
+
export { NetworkMonitor } from './network-monitor.js';
|
|
286
|
+
export { ProcessMonitor } from './process-monitor.js';
|
|
287
|
+
export { FileMonitor } from './file-monitor.js';
|
|
288
|
+
export { checkThreatIntel, isPrivateIP, addThreatIntelEntry, getThreatIntelEntries, setFeedManager, getFeedManager, } from './threat-intel.js';
|
|
289
|
+
export { normalizeLogEvent, normalizeNetworkEvent, normalizeProcessEvent, normalizeFileEvent, } from './event-normalizer.js';
|
|
290
|
+
// Re-export threat intel feeds / 重新匯出威脅情報饋送
|
|
291
|
+
export { ThreatIntelFeedManager, } from './threat-intel-feeds.js';
|
|
292
|
+
export { DEFAULT_MONITOR_CONFIG } from './types.js';
|
|
293
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/monitor/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System log monitoring via native OS log streams
|
|
3
|
+
* 透過原生作業系統日誌串流進行系統日誌監控
|
|
4
|
+
*
|
|
5
|
+
* Supports macOS (log stream), Linux (tail -F), and Windows (wevtutil).
|
|
6
|
+
* 支援 macOS (log stream)、Linux (tail -F) 和 Windows (wevtutil)。
|
|
7
|
+
*
|
|
8
|
+
* @module @panguard-ai/core/monitor/log-monitor
|
|
9
|
+
*/
|
|
10
|
+
import { EventEmitter } from 'node:events';
|
|
11
|
+
/**
|
|
12
|
+
* Log monitor configuration
|
|
13
|
+
* 日誌監控配置
|
|
14
|
+
*/
|
|
15
|
+
interface LogMonitorConfig {
|
|
16
|
+
/** Custom log paths to monitor (Linux only) / 自訂要監控的日誌路徑(僅 Linux) */
|
|
17
|
+
logPaths?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* LogMonitor - monitors system logs in real-time using OS-native tools
|
|
21
|
+
* LogMonitor - 使用作業系統原生工具即時監控系統日誌
|
|
22
|
+
*
|
|
23
|
+
* Events emitted:
|
|
24
|
+
* - 'event': SecurityEvent - when a log line is captured / 當擷取到日誌行時
|
|
25
|
+
* - 'error': Error - when the monitoring process encounters an error / 當監控程序遇到錯誤時
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const monitor = new LogMonitor();
|
|
30
|
+
* monitor.on('event', (event) => console.log(event));
|
|
31
|
+
* monitor.start();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class LogMonitor extends EventEmitter {
|
|
35
|
+
/** Whether the monitor is currently running / 監控器是否正在執行 */
|
|
36
|
+
private running;
|
|
37
|
+
/** Child process for log streaming / 用於日誌串流的子程序 */
|
|
38
|
+
private childProcess?;
|
|
39
|
+
/** Monitor configuration / 監控配置 */
|
|
40
|
+
private config;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new LogMonitor instance
|
|
43
|
+
* 建立新的 LogMonitor 實例
|
|
44
|
+
*
|
|
45
|
+
* @param config - Optional configuration / 可選配置
|
|
46
|
+
*/
|
|
47
|
+
constructor(config?: LogMonitorConfig);
|
|
48
|
+
/**
|
|
49
|
+
* Start monitoring system logs
|
|
50
|
+
* 開始監控系統日誌
|
|
51
|
+
*
|
|
52
|
+
* Spawns the appropriate OS-level log monitoring process:
|
|
53
|
+
* 產生適當的作業系統級日誌監控程序:
|
|
54
|
+
* - macOS: `log stream --style json --predicate 'eventType == logEvent'`
|
|
55
|
+
* - Linux: `tail -F /var/log/auth.log /var/log/syslog`
|
|
56
|
+
* - Windows: `wevtutil qe Security /f:text /rd:true /c:1`
|
|
57
|
+
*/
|
|
58
|
+
start(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Stop monitoring system logs and clean up child processes
|
|
61
|
+
* 停止監控系統日誌並清理子程序
|
|
62
|
+
*/
|
|
63
|
+
stop(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Check if the monitor is currently running
|
|
66
|
+
* 檢查監控器是否正在執行
|
|
67
|
+
*
|
|
68
|
+
* @returns True if running / 如果正在執行則為 true
|
|
69
|
+
*/
|
|
70
|
+
isRunning(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Start macOS log stream monitoring
|
|
73
|
+
* 啟動 macOS 日誌串流監控
|
|
74
|
+
*/
|
|
75
|
+
private startMacOS;
|
|
76
|
+
/**
|
|
77
|
+
* Start Linux log tail monitoring
|
|
78
|
+
* 啟動 Linux 日誌尾部監控
|
|
79
|
+
*/
|
|
80
|
+
private startLinux;
|
|
81
|
+
/**
|
|
82
|
+
* Start Windows event log monitoring
|
|
83
|
+
* 啟動 Windows 事件日誌監控
|
|
84
|
+
*/
|
|
85
|
+
private startWindows;
|
|
86
|
+
/**
|
|
87
|
+
* Attach error and exit handlers to the child process
|
|
88
|
+
* 將錯誤和退出處理器附加到子程序
|
|
89
|
+
*
|
|
90
|
+
* @param label - Label for logging / 用於日誌記錄的標籤
|
|
91
|
+
*/
|
|
92
|
+
private attachProcessHandlers;
|
|
93
|
+
/**
|
|
94
|
+
* Parse stdout from the child process line by line
|
|
95
|
+
* 逐行解析子程序的標準輸出
|
|
96
|
+
*
|
|
97
|
+
* @param handler - Callback for each line / 每行的回呼函式
|
|
98
|
+
*/
|
|
99
|
+
private parseOutputStream;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
|
102
|
+
//# sourceMappingURL=log-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-monitor.d.ts","sourceRoot":"","sources":["../../src/monitor/log-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C;;;GAGG;AACH,UAAU,gBAAgB;IACxB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,2DAA2D;IAC3D,OAAO,CAAC,OAAO,CAAS;IACxB,mDAAmD;IACnD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;IA8Bb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAqCZ;;;;;OAKG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAqClB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAiBlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAc1B"}
|