@panguard-ai/panguard-chat 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/agent/chat-agent.d.ts +69 -0
- package/dist/agent/chat-agent.d.ts.map +1 -0
- package/dist/agent/chat-agent.js +477 -0
- package/dist/agent/chat-agent.js.map +1 -0
- package/dist/agent/formatter.d.ts +59 -0
- package/dist/agent/formatter.d.ts.map +1 -0
- package/dist/agent/formatter.js +399 -0
- package/dist/agent/formatter.js.map +1 -0
- package/dist/agent/index.d.ts +10 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +10 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/prompts.d.ts +27 -0
- package/dist/agent/prompts.d.ts.map +1 -0
- package/dist/agent/prompts.js +164 -0
- package/dist/agent/prompts.js.map +1 -0
- package/dist/channels/email.d.ts +47 -0
- package/dist/channels/email.d.ts.map +1 -0
- package/dist/channels/email.js +250 -0
- package/dist/channels/email.js.map +1 -0
- package/dist/channels/index.d.ts +11 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +11 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/channels/line.d.ts.map +1 -0
- package/dist/channels/slack.d.ts +67 -0
- package/dist/channels/slack.d.ts.map +1 -0
- package/dist/channels/slack.js +269 -0
- package/dist/channels/slack.js.map +1 -0
- package/dist/channels/telegram.d.ts +69 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/channels/telegram.js +244 -0
- package/dist/channels/telegram.js.map +1 -0
- package/dist/channels/webhook.d.ts +70 -0
- package/dist/channels/webhook.d.ts.map +1 -0
- package/dist/channels/webhook.js +224 -0
- package/dist/channels/webhook.js.map +1 -0
- package/dist/cli/index.d.ts +22 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +337 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/onboarding/index.d.ts +9 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +8 -0
- package/dist/onboarding/index.js.map +1 -0
- package/dist/onboarding/setup-flow.d.ts +65 -0
- package/dist/onboarding/setup-flow.d.ts.map +1 -0
- package/dist/onboarding/setup-flow.js +362 -0
- package/dist/onboarding/setup-flow.js.map +1 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/webhook-server.d.ts +46 -0
- package/dist/server/webhook-server.d.ts.map +1 -0
- package/dist/server/webhook-server.js +150 -0
- package/dist/server/webhook-server.js.map +1 -0
- package/dist/skills/index.d.ts +47 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +313 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/templates/alert-templates.d.ts +40 -0
- package/dist/templates/alert-templates.d.ts.map +1 -0
- package/dist/templates/alert-templates.js +159 -0
- package/dist/templates/alert-templates.js.map +1 -0
- package/dist/templates/index.d.ts +9 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +8 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/types.d.ts +246 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PanguardChat - AI Security Communication Assistant
|
|
3
|
+
* PanguardChat - AI 資安通訊助手
|
|
4
|
+
*
|
|
5
|
+
* Panguard Chat - the user-facing communication layer of Panguard AI.
|
|
6
|
+
* Translates technical security events into human-readable messages
|
|
7
|
+
* and manages bidirectional communication via messaging platforms.
|
|
8
|
+
* Panguard Chat - Panguard AI 的用戶端通訊層。
|
|
9
|
+
* 將技術安全事件翻譯為人話,並透過通訊平台管理雙向通訊。
|
|
10
|
+
*
|
|
11
|
+
* @module @panguard-ai/panguard-chat
|
|
12
|
+
*/
|
|
13
|
+
/** Package version / 套件版本 */
|
|
14
|
+
export declare const PANGUARD_CHAT_VERSION = "0.1.0";
|
|
15
|
+
export declare const CLAWCHAT_NAME = "PanguardChat";
|
|
16
|
+
export type { UserType, ChannelType, MessageLanguage, AlertSeverity, NotificationPreferences, UserProfile, QuickReply, MessageAttachment, FormattedMessage, ThreatAlert, SummaryReport, AttackSource, ActionSummary, TrendComparison, LearningProgress, ConfirmationRequest, ConfirmationResponse, FollowUpContext, ConversationTurn, MessagingChannel, ReplyHandler, ChannelResult, WebhookAuthMethod, WebhookConfig, ChatConfig, ChannelConfigs, TelegramChannelConfig, SlackChannelConfig, EmailChannelConfig, } from './types.js';
|
|
17
|
+
export { ChatAgent } from './agent/index.js';
|
|
18
|
+
export { buildSystemPrompt, getUserTypeInstructions } from './agent/index.js';
|
|
19
|
+
export { formatAlert, formatSummary, formatLearningProgress, formatConfirmation, formatPeacefulReport, } from './agent/index.js';
|
|
20
|
+
export { TelegramChannel } from './channels/index.js';
|
|
21
|
+
export { SlackChannel } from './channels/index.js';
|
|
22
|
+
export { EmailChannel } from './channels/index.js';
|
|
23
|
+
export { WebhookChannel } from './channels/index.js';
|
|
24
|
+
export { ALERT_TEMPLATES, findAlertTemplate, getHumanSummary } from './templates/index.js';
|
|
25
|
+
export type { AlertTemplate } from './templates/index.js';
|
|
26
|
+
export { SETUP_STEPS, getChannelConfigSteps, buildConfigFromAnswers, getWelcomeMessage, DEFAULT_PREFERENCES, } from './onboarding/index.js';
|
|
27
|
+
export type { SetupStep, SetupOption, SetupAnswers } from './onboarding/index.js';
|
|
28
|
+
export { runCLI, CLI_VERSION } from './cli/index.js';
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6BAA6B;AAC7B,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAM5C,YAAY,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMlF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PanguardChat - AI Security Communication Assistant
|
|
3
|
+
* PanguardChat - AI 資安通訊助手
|
|
4
|
+
*
|
|
5
|
+
* Panguard Chat - the user-facing communication layer of Panguard AI.
|
|
6
|
+
* Translates technical security events into human-readable messages
|
|
7
|
+
* and manages bidirectional communication via messaging platforms.
|
|
8
|
+
* Panguard Chat - Panguard AI 的用戶端通訊層。
|
|
9
|
+
* 將技術安全事件翻譯為人話,並透過通訊平台管理雙向通訊。
|
|
10
|
+
*
|
|
11
|
+
* @module @panguard-ai/panguard-chat
|
|
12
|
+
*/
|
|
13
|
+
/** Package version / 套件版本 */
|
|
14
|
+
export const PANGUARD_CHAT_VERSION = '0.1.0';
|
|
15
|
+
export const CLAWCHAT_NAME = 'PanguardChat';
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Chat Agent / Chat Agent
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
export { ChatAgent } from './agent/index.js';
|
|
20
|
+
export { buildSystemPrompt, getUserTypeInstructions } from './agent/index.js';
|
|
21
|
+
export { formatAlert, formatSummary, formatLearningProgress, formatConfirmation, formatPeacefulReport, } from './agent/index.js';
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Messaging Channels / 通訊管道
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
export { TelegramChannel } from './channels/index.js';
|
|
26
|
+
export { SlackChannel } from './channels/index.js';
|
|
27
|
+
export { EmailChannel } from './channels/index.js';
|
|
28
|
+
export { WebhookChannel } from './channels/index.js';
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Templates / 模板
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
export { ALERT_TEMPLATES, findAlertTemplate, getHumanSummary } from './templates/index.js';
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Onboarding / 安裝引導
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
export { SETUP_STEPS, getChannelConfigSteps, buildConfigFromAnswers, getWelcomeMessage, DEFAULT_PREFERENCES, } from './onboarding/index.js';
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// CLI / 命令列
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
export { runCLI, CLI_VERSION } from './cli/index.js';
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAsC5C,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG3F,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Module
|
|
3
|
+
* 安裝引導模組
|
|
4
|
+
*
|
|
5
|
+
* @module @panguard-ai/panguard-chat/onboarding
|
|
6
|
+
*/
|
|
7
|
+
export { SETUP_STEPS, getChannelConfigSteps, buildConfigFromAnswers, getWelcomeMessage, DEFAULT_PREFERENCES, } from './setup-flow.js';
|
|
8
|
+
export type { SetupStep, SetupOption, SetupAnswers } from './setup-flow.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Module
|
|
3
|
+
* 安裝引導模組
|
|
4
|
+
*
|
|
5
|
+
* @module @panguard-ai/panguard-chat/onboarding
|
|
6
|
+
*/
|
|
7
|
+
export { SETUP_STEPS, getChannelConfigSteps, buildConfigFromAnswers, getWelcomeMessage, DEFAULT_PREFERENCES, } from './setup-flow.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Setup Flow
|
|
3
|
+
* 安裝引導流程
|
|
4
|
+
*
|
|
5
|
+
* Guides users through setting up Panguard AI:
|
|
6
|
+
* 1. Choose notification channel (Telegram / Slack / Email)
|
|
7
|
+
* 2. Configure channel credentials
|
|
8
|
+
* 3. Set user type (developer / boss / IT admin)
|
|
9
|
+
* 4. Set language preference
|
|
10
|
+
* 5. Send test notification
|
|
11
|
+
*
|
|
12
|
+
* 引導用戶完成 Panguard AI 設定:
|
|
13
|
+
* 1. 選擇通知管道(Telegram / Slack / Email)
|
|
14
|
+
* 2. 配置管道憑證
|
|
15
|
+
* 3. 設定用戶類型
|
|
16
|
+
* 4. 設定語言偏好
|
|
17
|
+
* 5. 發送測試通知
|
|
18
|
+
*
|
|
19
|
+
* @module @panguard-ai/panguard-chat/onboarding/setup-flow
|
|
20
|
+
*/
|
|
21
|
+
import type { UserType, ChannelType, MessageLanguage, NotificationPreferences, ChatConfig } from '../types.js';
|
|
22
|
+
/** A single setup step / 一個設定步驟 */
|
|
23
|
+
export interface SetupStep {
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly title: Record<MessageLanguage, string>;
|
|
26
|
+
readonly description: Record<MessageLanguage, string>;
|
|
27
|
+
readonly options?: readonly SetupOption[];
|
|
28
|
+
readonly inputType?: 'text' | 'select';
|
|
29
|
+
}
|
|
30
|
+
/** An option within a setup step / 設定步驟中的一個選項 */
|
|
31
|
+
export interface SetupOption {
|
|
32
|
+
readonly value: string;
|
|
33
|
+
readonly label: Record<MessageLanguage, string>;
|
|
34
|
+
readonly description: Record<MessageLanguage, string>;
|
|
35
|
+
}
|
|
36
|
+
/** Collected setup answers / 收集的設定答案 */
|
|
37
|
+
export interface SetupAnswers {
|
|
38
|
+
channel: ChannelType;
|
|
39
|
+
userType: UserType;
|
|
40
|
+
language: MessageLanguage;
|
|
41
|
+
channelConfig: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/** All onboarding steps / 所有安裝引導步驟 */
|
|
44
|
+
export declare const SETUP_STEPS: readonly SetupStep[];
|
|
45
|
+
/** Get channel-specific configuration prompts / 取得管道專屬配置提示 */
|
|
46
|
+
export declare function getChannelConfigSteps(channel: ChannelType): readonly SetupStep[];
|
|
47
|
+
/**
|
|
48
|
+
* Build a ChatConfig from setup answers
|
|
49
|
+
* 從設定答案建構 ChatConfig
|
|
50
|
+
*
|
|
51
|
+
* @param answers - Collected setup answers / 收集的設定答案
|
|
52
|
+
* @returns Chat configuration / Chat 配置
|
|
53
|
+
*/
|
|
54
|
+
export declare function buildConfigFromAnswers(answers: SetupAnswers): ChatConfig;
|
|
55
|
+
/** Default notification preferences / 預設通知偏好 */
|
|
56
|
+
export declare const DEFAULT_PREFERENCES: NotificationPreferences;
|
|
57
|
+
/**
|
|
58
|
+
* Generate a welcome message for new users
|
|
59
|
+
* 為新用戶產生歡迎訊息
|
|
60
|
+
*
|
|
61
|
+
* @param language - Target language / 目標語言
|
|
62
|
+
* @returns Welcome message / 歡迎訊息
|
|
63
|
+
*/
|
|
64
|
+
export declare function getWelcomeMessage(language: MessageLanguage): string;
|
|
65
|
+
//# sourceMappingURL=setup-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-flow.d.ts","sourceRoot":"","sources":["../../src/onboarding/setup-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EAEf,uBAAuB,EACvB,UAAU,EACX,MAAM,aAAa,CAAC;AASrB,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACxC;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;CACvD;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAOD,sCAAsC;AACtC,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EA6G3C,CAAC;AAOF,8DAA8D;AAC9D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,SAAS,EAAE,CA+IhF;AAOD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAoBxE;AAED,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,EAAE,uBAKjC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAkCnE"}
|
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Setup Flow
|
|
3
|
+
* 安裝引導流程
|
|
4
|
+
*
|
|
5
|
+
* Guides users through setting up Panguard AI:
|
|
6
|
+
* 1. Choose notification channel (Telegram / Slack / Email)
|
|
7
|
+
* 2. Configure channel credentials
|
|
8
|
+
* 3. Set user type (developer / boss / IT admin)
|
|
9
|
+
* 4. Set language preference
|
|
10
|
+
* 5. Send test notification
|
|
11
|
+
*
|
|
12
|
+
* 引導用戶完成 Panguard AI 設定:
|
|
13
|
+
* 1. 選擇通知管道(Telegram / Slack / Email)
|
|
14
|
+
* 2. 配置管道憑證
|
|
15
|
+
* 3. 設定用戶類型
|
|
16
|
+
* 4. 設定語言偏好
|
|
17
|
+
* 5. 發送測試通知
|
|
18
|
+
*
|
|
19
|
+
* @module @panguard-ai/panguard-chat/onboarding/setup-flow
|
|
20
|
+
*/
|
|
21
|
+
import { createLogger } from '@panguard-ai/core';
|
|
22
|
+
const logger = createLogger('panguard-chat:onboarding');
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Setup Steps Definition
|
|
25
|
+
// 設定步驟定義
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/** All onboarding steps / 所有安裝引導步驟 */
|
|
28
|
+
export const SETUP_STEPS = [
|
|
29
|
+
{
|
|
30
|
+
id: 'channel',
|
|
31
|
+
title: {
|
|
32
|
+
'zh-TW': '選擇通知管道',
|
|
33
|
+
en: 'Choose Notification Channel',
|
|
34
|
+
},
|
|
35
|
+
description: {
|
|
36
|
+
'zh-TW': '你想透過哪個管道接收安全通知?',
|
|
37
|
+
en: 'Which channel would you like to receive security notifications through?',
|
|
38
|
+
},
|
|
39
|
+
inputType: 'select',
|
|
40
|
+
options: [
|
|
41
|
+
{
|
|
42
|
+
value: 'telegram',
|
|
43
|
+
label: { 'zh-TW': 'Telegram', en: 'Telegram' },
|
|
44
|
+
description: {
|
|
45
|
+
'zh-TW': '適合個人開發者,全球通用的通訊軟體',
|
|
46
|
+
en: 'Best for individual developers, globally used messaging app',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
value: 'slack',
|
|
51
|
+
label: { 'zh-TW': 'Slack', en: 'Slack' },
|
|
52
|
+
description: {
|
|
53
|
+
'zh-TW': '適合企業團隊,可整合到工作流程',
|
|
54
|
+
en: 'Best for business teams, integrates into workflows',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
value: 'email',
|
|
59
|
+
label: { 'zh-TW': 'Email', en: 'Email' },
|
|
60
|
+
description: {
|
|
61
|
+
'zh-TW': '傳統方式,適合需要存檔記錄的場景',
|
|
62
|
+
en: 'Traditional approach, best when records need to be archived',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
value: 'webhook',
|
|
67
|
+
label: { 'zh-TW': 'Webhook(企業級)', en: 'Webhook (Enterprise)' },
|
|
68
|
+
description: {
|
|
69
|
+
'zh-TW': '整合到 SIEM / 工單系統,支援 mTLS',
|
|
70
|
+
en: 'Integrate with SIEM / ticketing systems, supports mTLS',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'userType',
|
|
77
|
+
title: {
|
|
78
|
+
'zh-TW': '你的角色是?',
|
|
79
|
+
en: 'What is your role?',
|
|
80
|
+
},
|
|
81
|
+
description: {
|
|
82
|
+
'zh-TW': '這會影響通知的語氣和技術程度',
|
|
83
|
+
en: 'This will affect the tone and technical depth of notifications',
|
|
84
|
+
},
|
|
85
|
+
inputType: 'select',
|
|
86
|
+
options: [
|
|
87
|
+
{
|
|
88
|
+
value: 'developer',
|
|
89
|
+
label: { 'zh-TW': '開發者', en: 'Developer' },
|
|
90
|
+
description: {
|
|
91
|
+
'zh-TW': '包含技術細節、CLI 指令、CVE 編號',
|
|
92
|
+
en: 'Includes technical details, CLI commands, CVE numbers',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
value: 'boss',
|
|
97
|
+
label: { 'zh-TW': '老闆 / 管理者', en: 'Boss / Manager' },
|
|
98
|
+
description: {
|
|
99
|
+
'zh-TW': '只講結果和影響,不講技術細節',
|
|
100
|
+
en: 'Focus on outcomes and impact, no technical jargon',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
value: 'it_admin',
|
|
105
|
+
label: { 'zh-TW': 'IT 管理者', en: 'IT Admin' },
|
|
106
|
+
description: {
|
|
107
|
+
'zh-TW': '技術細節 + 管理建議 + 合規參考',
|
|
108
|
+
en: 'Technical details + management advice + compliance references',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: 'language',
|
|
115
|
+
title: {
|
|
116
|
+
'zh-TW': '通知語言',
|
|
117
|
+
en: 'Notification Language',
|
|
118
|
+
},
|
|
119
|
+
description: {
|
|
120
|
+
'zh-TW': '選擇通知訊息的語言',
|
|
121
|
+
en: 'Choose the language for notification messages',
|
|
122
|
+
},
|
|
123
|
+
inputType: 'select',
|
|
124
|
+
options: [
|
|
125
|
+
{
|
|
126
|
+
value: 'zh-TW',
|
|
127
|
+
label: { 'zh-TW': '繁體中文', en: 'Traditional Chinese' },
|
|
128
|
+
description: { 'zh-TW': '繁體中文通知', en: 'Notifications in Traditional Chinese' },
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
value: 'en',
|
|
132
|
+
label: { 'zh-TW': 'English', en: 'English' },
|
|
133
|
+
description: { 'zh-TW': '英文通知', en: 'Notifications in English' },
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
// Channel Configuration Steps
|
|
140
|
+
// 管道配置步驟
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
142
|
+
/** Get channel-specific configuration prompts / 取得管道專屬配置提示 */
|
|
143
|
+
export function getChannelConfigSteps(channel) {
|
|
144
|
+
switch (channel) {
|
|
145
|
+
case 'telegram':
|
|
146
|
+
return [
|
|
147
|
+
{
|
|
148
|
+
id: 'telegramBotToken',
|
|
149
|
+
title: { 'zh-TW': 'Telegram Bot Token', en: 'Telegram Bot Token' },
|
|
150
|
+
description: {
|
|
151
|
+
'zh-TW': '從 @BotFather 取得 Bot Token',
|
|
152
|
+
en: 'Get your Bot Token from @BotFather',
|
|
153
|
+
},
|
|
154
|
+
inputType: 'text',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
id: 'telegramChatId',
|
|
158
|
+
title: { 'zh-TW': 'Telegram Chat ID', en: 'Telegram Chat ID' },
|
|
159
|
+
description: {
|
|
160
|
+
'zh-TW': '你的 Telegram Chat ID(可用 @userinfobot 查詢)',
|
|
161
|
+
en: 'Your Telegram Chat ID (use @userinfobot to find it)',
|
|
162
|
+
},
|
|
163
|
+
inputType: 'text',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
case 'slack':
|
|
167
|
+
return [
|
|
168
|
+
{
|
|
169
|
+
id: 'slackBotToken',
|
|
170
|
+
title: { 'zh-TW': 'Slack Bot Token', en: 'Slack Bot Token' },
|
|
171
|
+
description: {
|
|
172
|
+
'zh-TW': '在 Slack API 建立 App 後取得 Bot Token (xoxb-...)',
|
|
173
|
+
en: 'Get your Bot Token after creating a Slack App (xoxb-...)',
|
|
174
|
+
},
|
|
175
|
+
inputType: 'text',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
id: 'slackSigningSecret',
|
|
179
|
+
title: { 'zh-TW': 'Slack Signing Secret', en: 'Slack Signing Secret' },
|
|
180
|
+
description: {
|
|
181
|
+
'zh-TW': '在 Slack App 設定頁取得 Signing Secret',
|
|
182
|
+
en: 'Get your Signing Secret from the Slack App settings page',
|
|
183
|
+
},
|
|
184
|
+
inputType: 'text',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
id: 'slackDefaultChannel',
|
|
188
|
+
title: { 'zh-TW': '預設頻道', en: 'Default Channel' },
|
|
189
|
+
description: {
|
|
190
|
+
'zh-TW': '安全通知要發送到哪個頻道?(例如 #security-alerts)',
|
|
191
|
+
en: 'Which channel should security notifications be sent to? (e.g. #security-alerts)',
|
|
192
|
+
},
|
|
193
|
+
inputType: 'text',
|
|
194
|
+
},
|
|
195
|
+
];
|
|
196
|
+
case 'email':
|
|
197
|
+
return [
|
|
198
|
+
{
|
|
199
|
+
id: 'emailHost',
|
|
200
|
+
title: { 'zh-TW': 'SMTP 主機', en: 'SMTP Host' },
|
|
201
|
+
description: { 'zh-TW': 'SMTP 伺服器地址', en: 'SMTP server address' },
|
|
202
|
+
inputType: 'text',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
id: 'emailPort',
|
|
206
|
+
title: { 'zh-TW': 'SMTP 端口', en: 'SMTP Port' },
|
|
207
|
+
description: {
|
|
208
|
+
'zh-TW': 'SMTP 端口(常用: 587, 465)',
|
|
209
|
+
en: 'SMTP port (common: 587, 465)',
|
|
210
|
+
},
|
|
211
|
+
inputType: 'text',
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
id: 'emailUser',
|
|
215
|
+
title: { 'zh-TW': 'SMTP 帳號', en: 'SMTP Username' },
|
|
216
|
+
description: { 'zh-TW': 'SMTP 登入帳號', en: 'SMTP login username' },
|
|
217
|
+
inputType: 'text',
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
id: 'emailPass',
|
|
221
|
+
title: { 'zh-TW': 'SMTP 密碼', en: 'SMTP Password' },
|
|
222
|
+
description: { 'zh-TW': 'SMTP 登入密碼', en: 'SMTP login password' },
|
|
223
|
+
inputType: 'text',
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
id: 'emailFrom',
|
|
227
|
+
title: { 'zh-TW': '寄件人地址', en: 'From Address' },
|
|
228
|
+
description: { 'zh-TW': '通知郵件的寄件人', en: 'Sender address for notifications' },
|
|
229
|
+
inputType: 'text',
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
id: 'emailTo',
|
|
233
|
+
title: { 'zh-TW': '收件人地址', en: 'To Address' },
|
|
234
|
+
description: {
|
|
235
|
+
'zh-TW': '接收通知的郵件地址',
|
|
236
|
+
en: 'Email address to receive notifications',
|
|
237
|
+
},
|
|
238
|
+
inputType: 'text',
|
|
239
|
+
},
|
|
240
|
+
];
|
|
241
|
+
case 'webhook':
|
|
242
|
+
return [
|
|
243
|
+
{
|
|
244
|
+
id: 'webhookEndpoint',
|
|
245
|
+
title: { 'zh-TW': 'Webhook URL', en: 'Webhook URL' },
|
|
246
|
+
description: {
|
|
247
|
+
'zh-TW': '接收安全事件的 Webhook 端點',
|
|
248
|
+
en: 'Webhook endpoint to receive security events',
|
|
249
|
+
},
|
|
250
|
+
inputType: 'text',
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: 'webhookAuthMethod',
|
|
254
|
+
title: { 'zh-TW': '認證方式', en: 'Authentication Method' },
|
|
255
|
+
description: { 'zh-TW': '選擇認證方式', en: 'Choose authentication method' },
|
|
256
|
+
inputType: 'select',
|
|
257
|
+
options: [
|
|
258
|
+
{
|
|
259
|
+
value: 'bearer_token',
|
|
260
|
+
label: { 'zh-TW': 'Bearer Token', en: 'Bearer Token' },
|
|
261
|
+
description: { 'zh-TW': '使用 Bearer Token', en: 'Use Bearer Token' },
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
value: 'hmac_signature',
|
|
265
|
+
label: { 'zh-TW': 'HMAC 簽名', en: 'HMAC Signature' },
|
|
266
|
+
description: { 'zh-TW': '使用 HMAC 簽名', en: 'Use HMAC Signature' },
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
value: 'mtls',
|
|
270
|
+
label: { 'zh-TW': 'mTLS', en: 'mTLS' },
|
|
271
|
+
description: { 'zh-TW': '雙向 TLS 認證', en: 'Mutual TLS authentication' },
|
|
272
|
+
},
|
|
273
|
+
],
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: 'webhookSecret',
|
|
277
|
+
title: { 'zh-TW': '密鑰 / Token', en: 'Secret / Token' },
|
|
278
|
+
description: {
|
|
279
|
+
'zh-TW': 'Bearer Token 或 HMAC Secret',
|
|
280
|
+
en: 'Bearer Token or HMAC Secret',
|
|
281
|
+
},
|
|
282
|
+
inputType: 'text',
|
|
283
|
+
},
|
|
284
|
+
];
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// ---------------------------------------------------------------------------
|
|
288
|
+
// Setup Flow Logic
|
|
289
|
+
// 設定流程邏輯
|
|
290
|
+
// ---------------------------------------------------------------------------
|
|
291
|
+
/**
|
|
292
|
+
* Build a ChatConfig from setup answers
|
|
293
|
+
* 從設定答案建構 ChatConfig
|
|
294
|
+
*
|
|
295
|
+
* @param answers - Collected setup answers / 收集的設定答案
|
|
296
|
+
* @returns Chat configuration / Chat 配置
|
|
297
|
+
*/
|
|
298
|
+
export function buildConfigFromAnswers(answers) {
|
|
299
|
+
const userProfile = {
|
|
300
|
+
type: answers.userType,
|
|
301
|
+
language: answers.language,
|
|
302
|
+
notificationChannel: answers.channel,
|
|
303
|
+
preferences: DEFAULT_PREFERENCES,
|
|
304
|
+
};
|
|
305
|
+
const config = {
|
|
306
|
+
userProfile,
|
|
307
|
+
channels: {},
|
|
308
|
+
maxFollowUpTokens: 2000,
|
|
309
|
+
};
|
|
310
|
+
logger.info(`Config built: ${answers.userType}/${answers.language}/${answers.channel} / ` +
|
|
311
|
+
`配置已建構: ${answers.userType}/${answers.language}/${answers.channel}`);
|
|
312
|
+
return config;
|
|
313
|
+
}
|
|
314
|
+
/** Default notification preferences / 預設通知偏好 */
|
|
315
|
+
export const DEFAULT_PREFERENCES = {
|
|
316
|
+
criticalAlerts: true,
|
|
317
|
+
dailySummary: true,
|
|
318
|
+
weeklySummary: true,
|
|
319
|
+
peacefulReport: true,
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* Generate a welcome message for new users
|
|
323
|
+
* 為新用戶產生歡迎訊息
|
|
324
|
+
*
|
|
325
|
+
* @param language - Target language / 目標語言
|
|
326
|
+
* @returns Welcome message / 歡迎訊息
|
|
327
|
+
*/
|
|
328
|
+
export function getWelcomeMessage(language) {
|
|
329
|
+
if (language === 'zh-TW') {
|
|
330
|
+
return [
|
|
331
|
+
'Panguard AI 設定完成!',
|
|
332
|
+
'',
|
|
333
|
+
'你的 AI 保鑣已經開始工作了。以下是你會收到的通知:',
|
|
334
|
+
'',
|
|
335
|
+
'- 即時威脅告警(有攻擊時才通知)',
|
|
336
|
+
'- 每日安全摘要',
|
|
337
|
+
'- 每週安全報告',
|
|
338
|
+
'- 平安報告(沒事的時候也會告訴你)',
|
|
339
|
+
'',
|
|
340
|
+
'你隨時可以回覆訊息來追問任何告警的細節。',
|
|
341
|
+
'',
|
|
342
|
+
'目前系統處於學習期(7天),學習你的環境正常行為。',
|
|
343
|
+
'學習期間不會推送即時告警(已知攻擊除外),只在日報中彙報。',
|
|
344
|
+
].join('\n');
|
|
345
|
+
}
|
|
346
|
+
return [
|
|
347
|
+
'Panguard AI setup complete!',
|
|
348
|
+
'',
|
|
349
|
+
"Your AI bodyguard is now on duty. Here's what you'll receive:",
|
|
350
|
+
'',
|
|
351
|
+
'- Real-time threat alerts (only when attacks are detected)',
|
|
352
|
+
'- Daily security summaries',
|
|
353
|
+
'- Weekly security reports',
|
|
354
|
+
"- Peace reports (we'll let you know when everything's fine too)",
|
|
355
|
+
'',
|
|
356
|
+
'You can reply to any alert message to ask follow-up questions.',
|
|
357
|
+
'',
|
|
358
|
+
'The system is currently in learning mode (7 days), learning your normal environment behavior.',
|
|
359
|
+
'During this period, real-time alerts are suppressed (except known attacks) and included in daily summaries only.',
|
|
360
|
+
].join('\n');
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=setup-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-flow.js","sourceRoot":"","sources":["../../src/onboarding/setup-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook Server for receiving messages from Telegram/Slack
|
|
3
|
+
* Webhook 伺服器 - 接收來自 Telegram/Slack 的訊息
|
|
4
|
+
*
|
|
5
|
+
* Provides a single HTTP endpoint that routes incoming webhooks
|
|
6
|
+
* to the appropriate channel handler.
|
|
7
|
+
*
|
|
8
|
+
* @module @panguard-ai/panguard-chat/server/webhook-server
|
|
9
|
+
*/
|
|
10
|
+
/** Webhook handler function / Webhook 處理函數 */
|
|
11
|
+
export type WebhookHandler = (body: unknown, headers: Record<string, string>) => Promise<void>;
|
|
12
|
+
/** Webhook server configuration / Webhook 伺服器配置 */
|
|
13
|
+
export interface WebhookServerConfig {
|
|
14
|
+
/** Listen port / 監聽埠 */
|
|
15
|
+
port: number;
|
|
16
|
+
/** Listen host (default: 127.0.0.1) / 監聽主機 */
|
|
17
|
+
host?: string;
|
|
18
|
+
/** Channel webhook handlers / 頻道 webhook 處理器 */
|
|
19
|
+
handlers: Map<string, WebhookHandler>;
|
|
20
|
+
/** Slack signing secret for verification / Slack 簽章密鑰 */
|
|
21
|
+
slackSigningSecret?: string;
|
|
22
|
+
/** Telegram bot secret for verification / Telegram 機器人密鑰 */
|
|
23
|
+
telegramSecret?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Webhook server that receives and routes messages from messaging platforms
|
|
27
|
+
* 接收並路由來自通訊平台訊息的 Webhook 伺服器
|
|
28
|
+
*/
|
|
29
|
+
export declare class WebhookServer {
|
|
30
|
+
private server;
|
|
31
|
+
private readonly config;
|
|
32
|
+
constructor(config: WebhookServerConfig);
|
|
33
|
+
/**
|
|
34
|
+
* Start the webhook server / 啟動 webhook 伺服器
|
|
35
|
+
*/
|
|
36
|
+
start(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Stop the webhook server / 停止 webhook 伺服器
|
|
39
|
+
*/
|
|
40
|
+
stop(): Promise<void>;
|
|
41
|
+
private handleRequest;
|
|
42
|
+
private readBody;
|
|
43
|
+
private flattenHeaders;
|
|
44
|
+
private verifySlackSignature;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=webhook-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-server.d.ts","sourceRoot":"","sources":["../../src/server/webhook-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/F,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBAEjC,MAAM,EAAE,mBAAmB;IAIvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAab,aAAa;IA4D3B,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,oBAAoB;CAiB7B"}
|