openclaw-event-server-plugin 1.0.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/LICENSE +21 -0
- package/README.md +473 -0
- package/config.example.json +203 -0
- package/dist/broadcast/index.d.ts +3 -0
- package/dist/broadcast/index.d.ts.map +1 -0
- package/dist/broadcast/index.js +19 -0
- package/dist/broadcast/index.js.map +1 -0
- package/dist/broadcast/queue.d.ts +63 -0
- package/dist/broadcast/queue.d.ts.map +1 -0
- package/dist/broadcast/queue.js +259 -0
- package/dist/broadcast/queue.js.map +1 -0
- package/dist/broadcast/webhook.d.ts +30 -0
- package/dist/broadcast/webhook.d.ts.map +1 -0
- package/dist/broadcast/webhook.js +184 -0
- package/dist/broadcast/webhook.js.map +1 -0
- package/dist/broadcast/websocketServer.d.ts +90 -0
- package/dist/broadcast/websocketServer.d.ts.map +1 -0
- package/dist/broadcast/websocketServer.js +403 -0
- package/dist/broadcast/websocketServer.js.map +1 -0
- package/dist/config/config-types.d.ts +280 -0
- package/dist/config/config-types.d.ts.map +1 -0
- package/dist/config/config-types.js +3 -0
- package/dist/config/config-types.js.map +1 -0
- package/dist/config/default-config.d.ts +3 -0
- package/dist/config/default-config.d.ts.map +1 -0
- package/dist/config/default-config.js +136 -0
- package/dist/config/default-config.js.map +1 -0
- package/dist/config/env.d.ts +6 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +160 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/event-types.d.ts +5 -0
- package/dist/config/event-types.d.ts.map +1 -0
- package/dist/config/event-types.js +54 -0
- package/dist/config/event-types.js.map +1 -0
- package/dist/config/handler.d.ts +9 -0
- package/dist/config/handler.d.ts.map +1 -0
- package/dist/config/handler.js +17 -0
- package/dist/config/handler.js.map +1 -0
- package/dist/config/helpers.d.ts +5 -0
- package/dist/config/helpers.d.ts.map +1 -0
- package/dist/config/helpers.js +40 -0
- package/dist/config/helpers.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +19 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge.d.ts +6 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/merge.js +108 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/schema-hook-bridge.d.ts +594 -0
- package/dist/config/schema-hook-bridge.d.ts.map +1 -0
- package/dist/config/schema-hook-bridge.js +423 -0
- package/dist/config/schema-hook-bridge.js.map +1 -0
- package/dist/config/schema.d.ts +915 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +323 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/types.d.ts +9 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +28 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validate-hook-bridge.d.ts +3 -0
- package/dist/config/validate-hook-bridge.d.ts.map +1 -0
- package/dist/config/validate-hook-bridge.js +246 -0
- package/dist/config/validate-hook-bridge.js.map +1 -0
- package/dist/config/validate.d.ts +17 -0
- package/dist/config/validate.d.ts.map +1 -0
- package/dist/config/validate.js +194 -0
- package/dist/config/validate.js.map +1 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +20 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/redaction.d.ts +5 -0
- package/dist/events/redaction.d.ts.map +1 -0
- package/dist/events/redaction.js +46 -0
- package/dist/events/redaction.js.map +1 -0
- package/dist/events/signing.d.ts +8 -0
- package/dist/events/signing.d.ts.map +1 -0
- package/dist/events/signing.js +35 -0
- package/dist/events/signing.js.map +1 -0
- package/dist/events/types.d.ts +125 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +9 -0
- package/dist/events/types.js.map +1 -0
- package/dist/hooks/agent-hooks.d.ts +59 -0
- package/dist/hooks/agent-hooks.d.ts.map +1 -0
- package/dist/hooks/agent-hooks.js +116 -0
- package/dist/hooks/agent-hooks.js.map +1 -0
- package/dist/hooks/command-hooks.d.ts +13 -0
- package/dist/hooks/command-hooks.d.ts.map +1 -0
- package/dist/hooks/command-hooks.js +26 -0
- package/dist/hooks/command-hooks.js.map +1 -0
- package/dist/hooks/event-factory.d.ts +21 -0
- package/dist/hooks/event-factory.d.ts.map +1 -0
- package/dist/hooks/event-factory.js +31 -0
- package/dist/hooks/event-factory.js.map +1 -0
- package/dist/hooks/gateway-hooks.d.ts +14 -0
- package/dist/hooks/gateway-hooks.d.ts.map +1 -0
- package/dist/hooks/gateway-hooks.js +43 -0
- package/dist/hooks/gateway-hooks.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +26 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/message-hooks.d.ts +33 -0
- package/dist/hooks/message-hooks.d.ts.map +1 -0
- package/dist/hooks/message-hooks.js +208 -0
- package/dist/hooks/message-hooks.js.map +1 -0
- package/dist/hooks/session-hooks.d.ts +89 -0
- package/dist/hooks/session-hooks.d.ts.map +1 -0
- package/dist/hooks/session-hooks.js +253 -0
- package/dist/hooks/session-hooks.js.map +1 -0
- package/dist/hooks/status-reducer.d.ts +30 -0
- package/dist/hooks/status-reducer.d.ts.map +1 -0
- package/dist/hooks/status-reducer.js +157 -0
- package/dist/hooks/status-reducer.js.map +1 -0
- package/dist/hooks/subagent-hooks.d.ts +37 -0
- package/dist/hooks/subagent-hooks.d.ts.map +1 -0
- package/dist/hooks/subagent-hooks.js +79 -0
- package/dist/hooks/subagent-hooks.js.map +1 -0
- package/dist/hooks/subagent-tracker.d.ts +33 -0
- package/dist/hooks/subagent-tracker.d.ts.map +1 -0
- package/dist/hooks/subagent-tracker.js +73 -0
- package/dist/hooks/subagent-tracker.js.map +1 -0
- package/dist/hooks/tool-hooks.d.ts +132 -0
- package/dist/hooks/tool-hooks.d.ts.map +1 -0
- package/dist/hooks/tool-hooks.js +215 -0
- package/dist/hooks/tool-hooks.js.map +1 -0
- package/dist/index.d.ts +929 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +236 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/event-file-logger.d.ts +21 -0
- package/dist/logging/event-file-logger.d.ts.map +1 -0
- package/dist/logging/event-file-logger.js +167 -0
- package/dist/logging/event-file-logger.js.map +1 -0
- package/dist/logging/index.d.ts +3 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +19 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/runtime-logger.d.ts +12 -0
- package/dist/logging/runtime-logger.d.ts.map +1 -0
- package/dist/logging/runtime-logger.js +45 -0
- package/dist/logging/runtime-logger.js.map +1 -0
- package/dist/runtime/hook-bridge-actions.d.ts +9 -0
- package/dist/runtime/hook-bridge-actions.d.ts.map +1 -0
- package/dist/runtime/hook-bridge-actions.js +248 -0
- package/dist/runtime/hook-bridge-actions.js.map +1 -0
- package/dist/runtime/hook-bridge-dispatch-engine.d.ts +42 -0
- package/dist/runtime/hook-bridge-dispatch-engine.d.ts.map +1 -0
- package/dist/runtime/hook-bridge-dispatch-engine.js +233 -0
- package/dist/runtime/hook-bridge-dispatch-engine.js.map +1 -0
- package/dist/runtime/hook-bridge-tool-guard.d.ts +16 -0
- package/dist/runtime/hook-bridge-tool-guard.d.ts.map +1 -0
- package/dist/runtime/hook-bridge-tool-guard.js +236 -0
- package/dist/runtime/hook-bridge-tool-guard.js.map +1 -0
- package/dist/runtime/hook-bridge-utils.d.ts +11 -0
- package/dist/runtime/hook-bridge-utils.d.ts.map +1 -0
- package/dist/runtime/hook-bridge-utils.js +116 -0
- package/dist/runtime/hook-bridge-utils.js.map +1 -0
- package/dist/runtime/hook-bridge.d.ts +33 -0
- package/dist/runtime/hook-bridge.d.ts.map +1 -0
- package/dist/runtime/hook-bridge.js +359 -0
- package/dist/runtime/hook-bridge.js.map +1 -0
- package/dist/runtime/internal-handlers.d.ts +20 -0
- package/dist/runtime/internal-handlers.d.ts.map +1 -0
- package/dist/runtime/internal-handlers.js +225 -0
- package/dist/runtime/internal-handlers.js.map +1 -0
- package/dist/runtime/register-gateway-hooks.d.ts +4 -0
- package/dist/runtime/register-gateway-hooks.d.ts.map +1 -0
- package/dist/runtime/register-gateway-hooks.js +27 -0
- package/dist/runtime/register-gateway-hooks.js.map +1 -0
- package/dist/runtime/register-session-hooks.d.ts +4 -0
- package/dist/runtime/register-session-hooks.d.ts.map +1 -0
- package/dist/runtime/register-session-hooks.js +88 -0
- package/dist/runtime/register-session-hooks.js.map +1 -0
- package/dist/runtime/register-subagent-hooks.d.ts +4 -0
- package/dist/runtime/register-subagent-hooks.d.ts.map +1 -0
- package/dist/runtime/register-subagent-hooks.js +143 -0
- package/dist/runtime/register-subagent-hooks.js.map +1 -0
- package/dist/runtime/register-tool-hooks.d.ts +4 -0
- package/dist/runtime/register-tool-hooks.d.ts.map +1 -0
- package/dist/runtime/register-tool-hooks.js +348 -0
- package/dist/runtime/register-tool-hooks.js.map +1 -0
- package/dist/runtime/runtime-events.d.ts +14 -0
- package/dist/runtime/runtime-events.d.ts.map +1 -0
- package/dist/runtime/runtime-events.js +166 -0
- package/dist/runtime/runtime-events.js.map +1 -0
- package/dist/runtime/typed-hooks.d.ts +9 -0
- package/dist/runtime/typed-hooks.d.ts.map +1 -0
- package/dist/runtime/typed-hooks.js +14 -0
- package/dist/runtime/typed-hooks.js.map +1 -0
- package/dist/runtime/types.d.ts +91 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +3 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/runtime/utils.d.ts +47 -0
- package/dist/runtime/utils.d.ts.map +1 -0
- package/dist/runtime/utils.js +166 -0
- package/dist/runtime/utils.js.map +1 -0
- package/dist/tools/replay-tool-guard.d.ts +3 -0
- package/dist/tools/replay-tool-guard.d.ts.map +1 -0
- package/dist/tools/replay-tool-guard.js +96 -0
- package/dist/tools/replay-tool-guard.js.map +1 -0
- package/openclaw.plugin.json +847 -0
- package/package.json +63 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { EventFilter, QueueConfig, RetryConfig, WebhookConfig } from '../events/types';
|
|
2
|
+
export interface PluginConfig {
|
|
3
|
+
/** Enable/disable the plugin */
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
/** Webhook endpoints to broadcast to */
|
|
6
|
+
webhooks: WebhookConfig[];
|
|
7
|
+
/** Event filtering configuration */
|
|
8
|
+
filters: EventFilter;
|
|
9
|
+
/** Retry configuration for failed webhooks */
|
|
10
|
+
retry: RetryConfig;
|
|
11
|
+
/** Event queue configuration */
|
|
12
|
+
queue: QueueConfig;
|
|
13
|
+
/** Logging configuration */
|
|
14
|
+
logging: LoggingConfig;
|
|
15
|
+
/** Synthetic status reducer settings */
|
|
16
|
+
status: StatusConfig;
|
|
17
|
+
/** Optional payload redaction before broadcast */
|
|
18
|
+
redaction: RedactionConfig;
|
|
19
|
+
/** Event file logging configuration */
|
|
20
|
+
eventLog: EventLogConfig;
|
|
21
|
+
/** Security configuration for WS and event signatures */
|
|
22
|
+
security: SecurityConfig;
|
|
23
|
+
/** Correlation ID header name */
|
|
24
|
+
correlationIdHeader: string;
|
|
25
|
+
/** Timeout for webhook requests in milliseconds */
|
|
26
|
+
webhookTimeoutMs: number;
|
|
27
|
+
/** Optional event-driven automation bridge */
|
|
28
|
+
hookBridge: HookBridgeConfig;
|
|
29
|
+
}
|
|
30
|
+
export interface HookBridgeConfig {
|
|
31
|
+
/** Enable rule-based action dispatch from emitted events */
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
/** When true, matching rules are logged but actions are not executed */
|
|
34
|
+
dryRun: boolean;
|
|
35
|
+
/** Allow local script actions only from these absolute directories */
|
|
36
|
+
allowedActionDirs: string[];
|
|
37
|
+
/** Default limits for local script actions */
|
|
38
|
+
localScriptDefaults: LocalScriptDefaults;
|
|
39
|
+
/** Action registry */
|
|
40
|
+
actions: Record<string, HookBridgeAction>;
|
|
41
|
+
/** Rule list */
|
|
42
|
+
rules: HookBridgeRule[];
|
|
43
|
+
/** Optional synchronous tool-call guard (before_tool_call) */
|
|
44
|
+
toolGuard: HookBridgeToolGuardConfig;
|
|
45
|
+
/** Runtime queue/backpressure controls */
|
|
46
|
+
runtime: HookBridgeRuntimeConfig;
|
|
47
|
+
/** Operational telemetry thresholds */
|
|
48
|
+
telemetry: HookBridgeTelemetryConfig;
|
|
49
|
+
}
|
|
50
|
+
export interface HookBridgeToolGuardConfig {
|
|
51
|
+
/** Enable synchronous policy checks in before_tool_call */
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
/** When true, guard decisions are logged but never enforced */
|
|
54
|
+
dryRun: boolean;
|
|
55
|
+
/** Timeout applied when action does not specify one */
|
|
56
|
+
timeoutMs: number;
|
|
57
|
+
/** Behavior when guard action fails or times out */
|
|
58
|
+
onError: 'allow' | 'block';
|
|
59
|
+
/** Key format for retry/backoff and approval cache scopes */
|
|
60
|
+
scopeKeyBy?: 'tool' | 'tool_and_params';
|
|
61
|
+
/** Enforce minimum delay between repeated blocked retries for same scope */
|
|
62
|
+
retryBackoffMs: number;
|
|
63
|
+
/** Override block reason used while in forced backoff window */
|
|
64
|
+
retryBackoffReason?: string;
|
|
65
|
+
/** Cache allow decisions for repeat calls within TTL */
|
|
66
|
+
approvalCacheTtlMs: number;
|
|
67
|
+
/** Stop evaluating additional rules when a match produces no decision (decision matches always short-circuit) */
|
|
68
|
+
stopOnMatchDefault?: boolean;
|
|
69
|
+
/** Optional redaction applied to tool.guard.* event payload params */
|
|
70
|
+
redaction: HookBridgeToolGuardRedactionConfig;
|
|
71
|
+
/** Rule list for synchronous tool guard checks */
|
|
72
|
+
rules: HookBridgeToolGuardRule[];
|
|
73
|
+
}
|
|
74
|
+
export interface HookBridgeToolGuardRedactionConfig {
|
|
75
|
+
/** Redact tool.guard.* event params before broadcast */
|
|
76
|
+
enabled: boolean;
|
|
77
|
+
/** Replacement string for redacted values */
|
|
78
|
+
replacement: string;
|
|
79
|
+
/** Case-insensitive key names to redact recursively */
|
|
80
|
+
fields: string[];
|
|
81
|
+
}
|
|
82
|
+
export interface HookBridgeToolGuardRule {
|
|
83
|
+
/** Stable identifier for cooldown and debugging */
|
|
84
|
+
id: string;
|
|
85
|
+
/** Optional toggle for incremental rollout */
|
|
86
|
+
enabled?: boolean;
|
|
87
|
+
/** Higher values evaluate first (ties keep config order) */
|
|
88
|
+
priority?: number;
|
|
89
|
+
/** Matcher criteria against tool-call context */
|
|
90
|
+
when: HookBridgeRuleWhen;
|
|
91
|
+
/** Action ID to execute */
|
|
92
|
+
action?: string;
|
|
93
|
+
/** Optional static decision (no action execution) */
|
|
94
|
+
decision?: HookBridgeGuardDecision;
|
|
95
|
+
/** Stop rule chain after this rule matches with no decision (default inherited from toolGuard.stopOnMatchDefault) */
|
|
96
|
+
stopOnMatch?: boolean;
|
|
97
|
+
/** Suppress repeated triggers for this many milliseconds */
|
|
98
|
+
cooldownMs?: number;
|
|
99
|
+
}
|
|
100
|
+
export interface HookBridgeGuardDecision {
|
|
101
|
+
/** Block the tool call when true */
|
|
102
|
+
block?: boolean;
|
|
103
|
+
/** Guidance shown when blocked */
|
|
104
|
+
blockReason?: string;
|
|
105
|
+
/** Optional param patch merged by OpenClaw before tool execute */
|
|
106
|
+
params?: Record<string, unknown>;
|
|
107
|
+
/** Optional template for dynamic block guidance */
|
|
108
|
+
blockReasonTemplate?: string;
|
|
109
|
+
}
|
|
110
|
+
export interface HookBridgeRuntimeConfig {
|
|
111
|
+
/** Max pending hook tasks in memory */
|
|
112
|
+
maxPendingEvents: number;
|
|
113
|
+
/** Number of concurrent action workers */
|
|
114
|
+
concurrency: number;
|
|
115
|
+
/** Queue handling policy when full */
|
|
116
|
+
dropPolicy: 'drop_oldest' | 'drop_newest';
|
|
117
|
+
}
|
|
118
|
+
export interface HookBridgeTelemetryConfig {
|
|
119
|
+
/** Queue utilization percentages that emit high-watermark warnings */
|
|
120
|
+
highWatermarks: number[];
|
|
121
|
+
/** Emit slow-action warning when duration exceeds this threshold */
|
|
122
|
+
slowActionMs: number;
|
|
123
|
+
/** Rolling window size used to evaluate failure-rate warnings */
|
|
124
|
+
failureRateWindowMs: number;
|
|
125
|
+
/** Failure-rate warning threshold as percentage [0, 100] */
|
|
126
|
+
failureRateThresholdPct: number;
|
|
127
|
+
/** Minimum sample count before failure-rate warning logic applies */
|
|
128
|
+
failureRateMinSamples: number;
|
|
129
|
+
/** Duration queue must remain full before backpressure active warning */
|
|
130
|
+
saturationWindowMs: number;
|
|
131
|
+
}
|
|
132
|
+
export interface LocalScriptDefaults {
|
|
133
|
+
/** Max runtime for local script actions */
|
|
134
|
+
timeoutMs: number;
|
|
135
|
+
/** Max JSON payload size sent over stdin */
|
|
136
|
+
maxPayloadBytes: number;
|
|
137
|
+
}
|
|
138
|
+
export type HookBridgeAction = HookBridgeWebhookAction | HookBridgeLocalScriptAction;
|
|
139
|
+
export interface HookBridgeWebhookAction {
|
|
140
|
+
type: 'webhook';
|
|
141
|
+
url: string;
|
|
142
|
+
method?: 'POST' | 'PUT' | 'PATCH';
|
|
143
|
+
headers?: Record<string, string>;
|
|
144
|
+
authToken?: string;
|
|
145
|
+
timeoutMs?: number;
|
|
146
|
+
}
|
|
147
|
+
export interface HookBridgeLocalScriptAction {
|
|
148
|
+
type: 'local_script';
|
|
149
|
+
path: string;
|
|
150
|
+
args?: string[];
|
|
151
|
+
timeoutMs?: number;
|
|
152
|
+
maxPayloadBytes?: number;
|
|
153
|
+
}
|
|
154
|
+
export interface HookBridgeRule {
|
|
155
|
+
/** Stable identifier for cooldown and debugging */
|
|
156
|
+
id: string;
|
|
157
|
+
/** Optional toggle for incremental rollout */
|
|
158
|
+
enabled?: boolean;
|
|
159
|
+
/** Matcher criteria */
|
|
160
|
+
when: HookBridgeRuleWhen;
|
|
161
|
+
/** Action ID to execute */
|
|
162
|
+
action: string;
|
|
163
|
+
/** Suppress repeated triggers for this many milliseconds */
|
|
164
|
+
cooldownMs?: number;
|
|
165
|
+
/** Optional duplicate-event coalescing for this rule */
|
|
166
|
+
coalesce?: HookBridgeRuleCoalesce;
|
|
167
|
+
}
|
|
168
|
+
export interface HookBridgeRuleCoalesce {
|
|
169
|
+
/** Enable event coalescing for this rule */
|
|
170
|
+
enabled: boolean;
|
|
171
|
+
/** Dotted event paths used to compute coalesce key */
|
|
172
|
+
keyFields?: string[];
|
|
173
|
+
/** Coalescing window in milliseconds */
|
|
174
|
+
windowMs?: number;
|
|
175
|
+
/** Whether first or latest payload wins during coalescing */
|
|
176
|
+
strategy?: 'first' | 'latest';
|
|
177
|
+
}
|
|
178
|
+
export interface HookBridgeRuleWhen {
|
|
179
|
+
eventType?: string | string[];
|
|
180
|
+
toolName?: string | string[];
|
|
181
|
+
agentId?: string | string[];
|
|
182
|
+
sessionId?: string | string[];
|
|
183
|
+
sessionKey?: string | string[];
|
|
184
|
+
/** String containment checks using dotted paths (for example data.params.command) */
|
|
185
|
+
contains?: Record<string, string>;
|
|
186
|
+
/** Exact checks using dotted paths */
|
|
187
|
+
equals?: Record<string, string | number | boolean>;
|
|
188
|
+
/** Required path existence checks */
|
|
189
|
+
requiredPaths?: string[];
|
|
190
|
+
/** Type checks using dotted paths */
|
|
191
|
+
typeChecks?: Record<string, 'string' | 'number' | 'boolean' | 'object' | 'array'>;
|
|
192
|
+
/** Exact inclusion checks using dotted paths */
|
|
193
|
+
inList?: Record<string, Array<string | number | boolean>>;
|
|
194
|
+
/** Exact exclusion checks using dotted paths */
|
|
195
|
+
notInList?: Record<string, Array<string | number | boolean>>;
|
|
196
|
+
/** Regex checks using dotted paths (value must match pattern) */
|
|
197
|
+
matchesRegex?: Record<string, string>;
|
|
198
|
+
/** Regex checks using dotted paths (value must NOT match pattern) */
|
|
199
|
+
notMatchesRegex?: Record<string, string>;
|
|
200
|
+
/** Domain allowlist against URL field (default data.params.url) */
|
|
201
|
+
domainAllowlist?: string[];
|
|
202
|
+
/** Domain denylist against URL field (default data.params.url) */
|
|
203
|
+
domainBlocklist?: string[];
|
|
204
|
+
/** Dotted path to URL field used by domain lists */
|
|
205
|
+
domainPath?: string;
|
|
206
|
+
/** Threshold check for numeric idle fields */
|
|
207
|
+
idleForMsGte?: number;
|
|
208
|
+
/** Required parent-agent status for subagent-origin events */
|
|
209
|
+
parentStatus?: string;
|
|
210
|
+
}
|
|
211
|
+
export interface LoggingConfig {
|
|
212
|
+
/** Enable debug logging */
|
|
213
|
+
debug: boolean;
|
|
214
|
+
/** Log successful webhook deliveries */
|
|
215
|
+
logSuccess: boolean;
|
|
216
|
+
/** Log failed webhook deliveries */
|
|
217
|
+
logErrors: boolean;
|
|
218
|
+
/** Log queue operations */
|
|
219
|
+
logQueue: boolean;
|
|
220
|
+
}
|
|
221
|
+
export interface StatusConfig {
|
|
222
|
+
/** Events within this window are treated as active/working */
|
|
223
|
+
workingWindowMs: number;
|
|
224
|
+
/** Inactivity beyond this window is treated as sleeping */
|
|
225
|
+
sleepingWindowMs: number;
|
|
226
|
+
/** Status transition evaluation interval */
|
|
227
|
+
tickIntervalMs: number;
|
|
228
|
+
/** Subagent idle transition threshold */
|
|
229
|
+
subagentIdleWindowMs: number;
|
|
230
|
+
}
|
|
231
|
+
export interface RedactionConfig {
|
|
232
|
+
/** When true, redaction runs before WS/webhook broadcast */
|
|
233
|
+
enabled: boolean;
|
|
234
|
+
/** Replacement string for redacted fields */
|
|
235
|
+
replacement: string;
|
|
236
|
+
/** Case-insensitive key names to redact recursively */
|
|
237
|
+
fields: string[];
|
|
238
|
+
}
|
|
239
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
240
|
+
export interface EventLogConfig {
|
|
241
|
+
/** Enable event/runtime file logging */
|
|
242
|
+
enabled: boolean;
|
|
243
|
+
/** NDJSON output file path */
|
|
244
|
+
path: string;
|
|
245
|
+
/** Maximum size of the log file before truncation rollover */
|
|
246
|
+
maxFileSizeMb: number;
|
|
247
|
+
/** Serialization mode for event records */
|
|
248
|
+
format: 'full-json' | 'summary';
|
|
249
|
+
/** Minimum runtime log level to persist */
|
|
250
|
+
minLevel: LogLevel;
|
|
251
|
+
/** Include runtime log records in file output */
|
|
252
|
+
includeRuntimeLogs: boolean;
|
|
253
|
+
}
|
|
254
|
+
export interface WsSecurityConfig {
|
|
255
|
+
/** Host bind address for WS server */
|
|
256
|
+
bindAddress: string;
|
|
257
|
+
/** Require client token auth for WS connections */
|
|
258
|
+
requireAuth: boolean;
|
|
259
|
+
/** Shared WS auth token */
|
|
260
|
+
authToken?: string;
|
|
261
|
+
/** Allowed WS Origin values; empty allows all */
|
|
262
|
+
allowedOrigins: string[];
|
|
263
|
+
/** Allowed client IPs; empty allows all */
|
|
264
|
+
allowedIps: string[];
|
|
265
|
+
}
|
|
266
|
+
export interface HmacSecurityConfig {
|
|
267
|
+
/** Enable event signature generation */
|
|
268
|
+
enabled: boolean;
|
|
269
|
+
/** Shared secret used to sign payloads */
|
|
270
|
+
secret?: string;
|
|
271
|
+
/** Optional local file path for secret loading */
|
|
272
|
+
secretFilePath?: string;
|
|
273
|
+
/** HMAC algorithm */
|
|
274
|
+
algorithm: 'sha256' | 'sha512';
|
|
275
|
+
}
|
|
276
|
+
export interface SecurityConfig {
|
|
277
|
+
ws: WsSecurityConfig;
|
|
278
|
+
hmac: HmacSecurityConfig;
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=config-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../src/config/config-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-types.js","sourceRoot":"","sources":["../../src/config/config-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAE,YAmI5B,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_CONFIG = void 0;
|
|
4
|
+
exports.DEFAULT_CONFIG = {
|
|
5
|
+
enabled: true,
|
|
6
|
+
webhooks: [],
|
|
7
|
+
filters: {
|
|
8
|
+
includeTypes: [],
|
|
9
|
+
excludeTypes: [],
|
|
10
|
+
},
|
|
11
|
+
retry: {
|
|
12
|
+
maxAttempts: 3,
|
|
13
|
+
initialDelayMs: 1000,
|
|
14
|
+
maxDelayMs: 30000,
|
|
15
|
+
backoffMultiplier: 2,
|
|
16
|
+
},
|
|
17
|
+
queue: {
|
|
18
|
+
maxSize: 1000,
|
|
19
|
+
flushIntervalMs: 5000,
|
|
20
|
+
persistToDisk: false,
|
|
21
|
+
},
|
|
22
|
+
logging: {
|
|
23
|
+
debug: false,
|
|
24
|
+
logSuccess: false,
|
|
25
|
+
logErrors: true,
|
|
26
|
+
logQueue: false,
|
|
27
|
+
},
|
|
28
|
+
status: {
|
|
29
|
+
workingWindowMs: 30_000,
|
|
30
|
+
sleepingWindowMs: 10 * 60_000,
|
|
31
|
+
tickIntervalMs: 5_000,
|
|
32
|
+
subagentIdleWindowMs: 5 * 60_000,
|
|
33
|
+
},
|
|
34
|
+
redaction: {
|
|
35
|
+
enabled: false,
|
|
36
|
+
replacement: '[REDACTED]',
|
|
37
|
+
fields: [
|
|
38
|
+
'content',
|
|
39
|
+
'newContent',
|
|
40
|
+
'originalContent',
|
|
41
|
+
'transcript',
|
|
42
|
+
'normalizedText',
|
|
43
|
+
'params',
|
|
44
|
+
'arguments',
|
|
45
|
+
'token',
|
|
46
|
+
'apiKey',
|
|
47
|
+
'api_key',
|
|
48
|
+
'authorization',
|
|
49
|
+
'authToken',
|
|
50
|
+
'password',
|
|
51
|
+
'secret',
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
eventLog: {
|
|
55
|
+
enabled: true,
|
|
56
|
+
path: '.event-server/events.ndjson',
|
|
57
|
+
maxFileSizeMb: 30,
|
|
58
|
+
format: 'full-json',
|
|
59
|
+
minLevel: 'debug',
|
|
60
|
+
includeRuntimeLogs: true,
|
|
61
|
+
},
|
|
62
|
+
security: {
|
|
63
|
+
ws: {
|
|
64
|
+
bindAddress: '127.0.0.1',
|
|
65
|
+
requireAuth: false,
|
|
66
|
+
authToken: undefined,
|
|
67
|
+
allowedOrigins: [],
|
|
68
|
+
allowedIps: [],
|
|
69
|
+
},
|
|
70
|
+
hmac: {
|
|
71
|
+
enabled: false,
|
|
72
|
+
secret: undefined,
|
|
73
|
+
secretFilePath: '.event-plugin-hmac.secret',
|
|
74
|
+
algorithm: 'sha256',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
correlationIdHeader: 'X-Correlation-ID',
|
|
78
|
+
webhookTimeoutMs: 10000,
|
|
79
|
+
hookBridge: {
|
|
80
|
+
enabled: false,
|
|
81
|
+
dryRun: false,
|
|
82
|
+
allowedActionDirs: [],
|
|
83
|
+
localScriptDefaults: {
|
|
84
|
+
timeoutMs: 10000,
|
|
85
|
+
maxPayloadBytes: 65536,
|
|
86
|
+
},
|
|
87
|
+
actions: {},
|
|
88
|
+
rules: [],
|
|
89
|
+
toolGuard: {
|
|
90
|
+
enabled: false,
|
|
91
|
+
dryRun: false,
|
|
92
|
+
timeoutMs: 15000,
|
|
93
|
+
onError: 'allow',
|
|
94
|
+
scopeKeyBy: 'tool_and_params',
|
|
95
|
+
retryBackoffMs: 10000,
|
|
96
|
+
retryBackoffReason: 'Retry blocked. Back off briefly before retrying this tool call.',
|
|
97
|
+
approvalCacheTtlMs: 60000,
|
|
98
|
+
stopOnMatchDefault: false,
|
|
99
|
+
redaction: {
|
|
100
|
+
enabled: false,
|
|
101
|
+
replacement: '[REDACTED]',
|
|
102
|
+
fields: [
|
|
103
|
+
'content',
|
|
104
|
+
'newContent',
|
|
105
|
+
'originalContent',
|
|
106
|
+
'transcript',
|
|
107
|
+
'normalizedText',
|
|
108
|
+
'params',
|
|
109
|
+
'arguments',
|
|
110
|
+
'token',
|
|
111
|
+
'apiKey',
|
|
112
|
+
'api_key',
|
|
113
|
+
'authorization',
|
|
114
|
+
'authToken',
|
|
115
|
+
'password',
|
|
116
|
+
'secret',
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
rules: [],
|
|
120
|
+
},
|
|
121
|
+
runtime: {
|
|
122
|
+
maxPendingEvents: 1000,
|
|
123
|
+
concurrency: 8,
|
|
124
|
+
dropPolicy: 'drop_oldest',
|
|
125
|
+
},
|
|
126
|
+
telemetry: {
|
|
127
|
+
highWatermarks: [70, 90, 100],
|
|
128
|
+
slowActionMs: 2000,
|
|
129
|
+
failureRateWindowMs: 60000,
|
|
130
|
+
failureRateThresholdPct: 20,
|
|
131
|
+
failureRateMinSamples: 10,
|
|
132
|
+
saturationWindowMs: 10000,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=default-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,CAkKrD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadEnvConfig = loadEnvConfig;
|
|
4
|
+
const default_config_1 = require("./default-config");
|
|
5
|
+
const event_types_1 = require("./event-types");
|
|
6
|
+
const helpers_1 = require("./helpers");
|
|
7
|
+
/**
|
|
8
|
+
* Load configuration from environment variables
|
|
9
|
+
*/
|
|
10
|
+
function loadEnvConfig() {
|
|
11
|
+
const config = {};
|
|
12
|
+
// Webhook URLs from environment
|
|
13
|
+
const webhookUrls = process.env.EVENT_PLUGIN_WEBHOOKS;
|
|
14
|
+
if (webhookUrls) {
|
|
15
|
+
config.webhooks = webhookUrls.split(',').map((url) => ({
|
|
16
|
+
url: url.trim(),
|
|
17
|
+
method: 'POST',
|
|
18
|
+
includeFullPayload: true,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
// Auth token
|
|
22
|
+
const authToken = process.env.EVENT_PLUGIN_AUTH_TOKEN;
|
|
23
|
+
if (authToken && config.webhooks) {
|
|
24
|
+
config.webhooks = config.webhooks.map((webhook) => ({
|
|
25
|
+
...webhook,
|
|
26
|
+
authToken,
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
// Debug logging
|
|
30
|
+
const debug = process.env.EVENT_PLUGIN_DEBUG;
|
|
31
|
+
if (debug) {
|
|
32
|
+
config.logging = {
|
|
33
|
+
...default_config_1.DEFAULT_CONFIG.logging,
|
|
34
|
+
debug: (0, helpers_1.isTrue)(debug),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// Filter by event types
|
|
38
|
+
const includeTypes = process.env.EVENT_PLUGIN_INCLUDE_TYPES;
|
|
39
|
+
const excludeTypes = process.env.EVENT_PLUGIN_EXCLUDE_TYPES;
|
|
40
|
+
if (includeTypes ?? excludeTypes) {
|
|
41
|
+
config.filters = {
|
|
42
|
+
...default_config_1.DEFAULT_CONFIG.filters,
|
|
43
|
+
includeTypes: includeTypes ? (0, event_types_1.parseEventTypes)(includeTypes) : [],
|
|
44
|
+
excludeTypes: excludeTypes ? (0, event_types_1.parseEventTypes)(excludeTypes) : [],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
// Enabled flag
|
|
48
|
+
const enabled = process.env.EVENT_PLUGIN_ENABLED;
|
|
49
|
+
if (enabled !== undefined) {
|
|
50
|
+
config.enabled = (0, helpers_1.isTrue)(enabled);
|
|
51
|
+
}
|
|
52
|
+
// Synthetic status windows
|
|
53
|
+
const workingWindowMs = (0, helpers_1.parsePositiveInt)(process.env.EVENT_PLUGIN_STATUS_WORKING_WINDOW_MS);
|
|
54
|
+
const sleepingWindowMs = (0, helpers_1.parsePositiveInt)(process.env.EVENT_PLUGIN_STATUS_SLEEPING_WINDOW_MS);
|
|
55
|
+
const tickIntervalMs = (0, helpers_1.parsePositiveInt)(process.env.EVENT_PLUGIN_STATUS_TICK_INTERVAL_MS);
|
|
56
|
+
const subagentIdleWindowMs = (0, helpers_1.parsePositiveInt)(process.env.EVENT_PLUGIN_STATUS_SUBAGENT_IDLE_WINDOW_MS);
|
|
57
|
+
if (workingWindowMs ?? sleepingWindowMs ?? tickIntervalMs ?? subagentIdleWindowMs) {
|
|
58
|
+
config.status = {
|
|
59
|
+
...default_config_1.DEFAULT_CONFIG.status,
|
|
60
|
+
...(workingWindowMs !== undefined ? { workingWindowMs } : {}),
|
|
61
|
+
...(sleepingWindowMs !== undefined ? { sleepingWindowMs } : {}),
|
|
62
|
+
...(tickIntervalMs !== undefined ? { tickIntervalMs } : {}),
|
|
63
|
+
...(subagentIdleWindowMs !== undefined ? { subagentIdleWindowMs } : {}),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// Payload redaction
|
|
67
|
+
const redactionEnabled = process.env.EVENT_PLUGIN_REDACTION_ENABLED;
|
|
68
|
+
const redactionReplacement = process.env.EVENT_PLUGIN_REDACTION_REPLACEMENT;
|
|
69
|
+
const redactionFields = process.env.EVENT_PLUGIN_REDACTION_FIELDS;
|
|
70
|
+
if (redactionEnabled ?? redactionReplacement ?? redactionFields) {
|
|
71
|
+
config.redaction = {
|
|
72
|
+
...default_config_1.DEFAULT_CONFIG.redaction,
|
|
73
|
+
...(redactionEnabled !== undefined ? { enabled: (0, helpers_1.isTrue)(redactionEnabled) } : {}),
|
|
74
|
+
...(redactionReplacement !== undefined ? { replacement: redactionReplacement } : {}),
|
|
75
|
+
...(redactionFields !== undefined
|
|
76
|
+
? {
|
|
77
|
+
fields: redactionFields
|
|
78
|
+
.split(',')
|
|
79
|
+
.map((value) => value.trim())
|
|
80
|
+
.filter((value) => value.length > 0),
|
|
81
|
+
}
|
|
82
|
+
: {}),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// Event file logging
|
|
86
|
+
const eventLogEnabled = process.env.EVENT_PLUGIN_EVENT_LOG_ENABLED;
|
|
87
|
+
const eventLogPath = process.env.EVENT_PLUGIN_EVENT_LOG_PATH;
|
|
88
|
+
const eventLogMaxFileMb = (0, helpers_1.parsePositiveInt)(process.env.EVENT_PLUGIN_EVENT_LOG_MAX_FILE_MB);
|
|
89
|
+
const eventLogFormat = process.env.EVENT_PLUGIN_EVENT_LOG_FORMAT;
|
|
90
|
+
const eventLogMinLevel = process.env.EVENT_PLUGIN_EVENT_LOG_MIN_LEVEL;
|
|
91
|
+
const includeRuntimeLogs = process.env.EVENT_PLUGIN_EVENT_LOG_RUNTIME;
|
|
92
|
+
if (eventLogEnabled ??
|
|
93
|
+
eventLogPath ??
|
|
94
|
+
eventLogMaxFileMb ??
|
|
95
|
+
eventLogFormat ??
|
|
96
|
+
eventLogMinLevel ??
|
|
97
|
+
includeRuntimeLogs) {
|
|
98
|
+
config.eventLog = {
|
|
99
|
+
...default_config_1.DEFAULT_CONFIG.eventLog,
|
|
100
|
+
...(eventLogEnabled !== undefined ? { enabled: (0, helpers_1.isTrue)(eventLogEnabled) } : {}),
|
|
101
|
+
...(eventLogPath !== undefined ? { path: eventLogPath } : {}),
|
|
102
|
+
...(eventLogMaxFileMb !== undefined ? { maxFileSizeMb: eventLogMaxFileMb } : {}),
|
|
103
|
+
...(eventLogFormat === 'full-json' || eventLogFormat === 'summary' ? { format: eventLogFormat } : {}),
|
|
104
|
+
...(eventLogMinLevel === 'debug' ||
|
|
105
|
+
eventLogMinLevel === 'info' ||
|
|
106
|
+
eventLogMinLevel === 'warn' ||
|
|
107
|
+
eventLogMinLevel === 'error'
|
|
108
|
+
? { minLevel: eventLogMinLevel }
|
|
109
|
+
: {}),
|
|
110
|
+
...(includeRuntimeLogs !== undefined ? { includeRuntimeLogs: (0, helpers_1.isTrue)(includeRuntimeLogs) } : {}),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
// WS security
|
|
114
|
+
const wsBindAddress = process.env.EVENT_PLUGIN_WS_BIND_ADDRESS;
|
|
115
|
+
const wsRequireAuth = process.env.EVENT_PLUGIN_WS_REQUIRE_AUTH;
|
|
116
|
+
const wsAuthToken = process.env.EVENT_PLUGIN_WS_AUTH_TOKEN;
|
|
117
|
+
const wsAllowedOrigins = (0, helpers_1.parseCsv)(process.env.EVENT_PLUGIN_WS_ALLOWED_ORIGINS);
|
|
118
|
+
const wsAllowedIps = (0, helpers_1.parseCsv)(process.env.EVENT_PLUGIN_WS_ALLOWED_IPS);
|
|
119
|
+
if (wsBindAddress ?? wsRequireAuth ?? wsAuthToken ?? wsAllowedOrigins ?? wsAllowedIps) {
|
|
120
|
+
config.security = {
|
|
121
|
+
...default_config_1.DEFAULT_CONFIG.security,
|
|
122
|
+
ws: {
|
|
123
|
+
...default_config_1.DEFAULT_CONFIG.security.ws,
|
|
124
|
+
...(wsBindAddress !== undefined ? { bindAddress: wsBindAddress } : {}),
|
|
125
|
+
...(wsRequireAuth !== undefined ? { requireAuth: (0, helpers_1.isTrue)(wsRequireAuth) } : {}),
|
|
126
|
+
...(wsAuthToken !== undefined ? { authToken: wsAuthToken } : {}),
|
|
127
|
+
...(wsAllowedOrigins !== undefined ? { allowedOrigins: wsAllowedOrigins } : {}),
|
|
128
|
+
...(wsAllowedIps !== undefined ? { allowedIps: wsAllowedIps } : {}),
|
|
129
|
+
},
|
|
130
|
+
hmac: {
|
|
131
|
+
...default_config_1.DEFAULT_CONFIG.security.hmac,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
// HMAC signing
|
|
136
|
+
const hmacEnabled = process.env.EVENT_PLUGIN_HMAC_ENABLED;
|
|
137
|
+
const hmacSecret = process.env.EVENT_PLUGIN_HMAC_SECRET;
|
|
138
|
+
const hmacSecretFilePath = process.env.EVENT_PLUGIN_HMAC_SECRET_FILE;
|
|
139
|
+
const hmacAlgorithm = process.env.EVENT_PLUGIN_HMAC_ALGORITHM;
|
|
140
|
+
if (hmacEnabled ?? hmacSecret ?? hmacSecretFilePath ?? hmacAlgorithm) {
|
|
141
|
+
const secretFromFile = (0, helpers_1.loadSecretFromFile)(hmacSecretFilePath);
|
|
142
|
+
config.security = {
|
|
143
|
+
...(config.security ?? default_config_1.DEFAULT_CONFIG.security),
|
|
144
|
+
ws: {
|
|
145
|
+
...(config.security?.ws ?? default_config_1.DEFAULT_CONFIG.security.ws),
|
|
146
|
+
},
|
|
147
|
+
hmac: {
|
|
148
|
+
...default_config_1.DEFAULT_CONFIG.security.hmac,
|
|
149
|
+
...(config.security?.hmac ?? {}),
|
|
150
|
+
...(hmacEnabled !== undefined ? { enabled: (0, helpers_1.isTrue)(hmacEnabled) } : {}),
|
|
151
|
+
...(hmacSecret !== undefined ? { secret: hmacSecret } : {}),
|
|
152
|
+
...(hmacSecretFilePath !== undefined ? { secretFilePath: hmacSecretFilePath } : {}),
|
|
153
|
+
...(hmacAlgorithm === 'sha256' || hmacAlgorithm === 'sha512' ? { algorithm: hmacAlgorithm } : {}),
|
|
154
|
+
...(secretFromFile !== undefined ? { secret: secretFromFile } : {}),
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
return config;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":";;AAQA,sCAkKC;AAzKD,qDAAkD;AAClD,+CAAgD;AAChD,uCAAmF;AAEnF;;GAEG;AACH,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,gCAAgC;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACtD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;YACf,MAAM,EAAE,MAAM;YACd,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,aAAa;IACb,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACtD,IAAI,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAClD,GAAG,OAAO;YACV,SAAS;SACV,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,OAAO,GAAG;YACf,GAAG,+BAAc,CAAC,OAAO;YACzB,KAAK,EAAE,IAAA,gBAAM,EAAC,KAAK,CAAC;SACrB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC5D,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,GAAG;YACf,GAAG,+BAAc,CAAC,OAAO;YACzB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAA,6BAAe,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAA,6BAAe,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;SAChE,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,GAAG,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,2BAA2B;IAC3B,MAAM,eAAe,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAC9F,MAAM,cAAc,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC1F,MAAM,oBAAoB,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACvG,IAAI,eAAe,IAAI,gBAAgB,IAAI,cAAc,IAAI,oBAAoB,EAAE,CAAC;QAClF,MAAM,CAAC,MAAM,GAAG;YACd,GAAG,+BAAc,CAAC,MAAM;YACxB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACpE,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAClE,IAAI,gBAAgB,IAAI,oBAAoB,IAAI,eAAe,EAAE,CAAC;QAChE,MAAM,CAAC,SAAS,GAAG;YACjB,GAAG,+BAAc,CAAC,SAAS;YAC3B,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAA,gBAAM,EAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,eAAe,KAAK,SAAS;gBAC/B,CAAC,CAAC;oBACE,MAAM,EAAE,eAAe;yBACpB,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;yBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACvC;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACnE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAC7D,MAAM,iBAAiB,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAC3F,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACtE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACtE,IACE,eAAe;QACf,YAAY;QACZ,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,kBAAkB,EAClB,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,+BAAc,CAAC,QAAQ;YAC1B,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAA,gBAAM,EAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,cAAc,KAAK,WAAW,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,GAAG,CAAC,gBAAgB,KAAK,OAAO;gBAChC,gBAAgB,KAAK,MAAM;gBAC3B,gBAAgB,KAAK,MAAM;gBAC3B,gBAAgB,KAAK,OAAO;gBAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE;gBAChC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAA,gBAAM,EAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC;IACJ,CAAC;IAED,cAAc;IACd,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACvE,IAAI,aAAa,IAAI,aAAa,IAAI,WAAW,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;QACtF,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,+BAAc,CAAC,QAAQ;YAC1B,EAAE,EAAE;gBACF,GAAG,+BAAc,CAAC,QAAQ,CAAC,EAAE;gBAC7B,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAA,gBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE;YACD,IAAI,EAAE;gBACJ,GAAG,+BAAc,CAAC,QAAQ,CAAC,IAAI;aAChC;SACF,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACxD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAC9D,IAAI,WAAW,IAAI,UAAU,IAAI,kBAAkB,IAAI,aAAa,EAAE,CAAC;QACrE,MAAM,cAAc,GAAG,IAAA,4BAAkB,EAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,+BAAc,CAAC,QAAQ,CAAC;YAC/C,EAAE,EAAE;gBACF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,+BAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;aACvD;YACD,IAAI,EAAE;gBACJ,GAAG,+BAAc,CAAC,QAAQ,CAAC,IAAI;gBAC/B,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAA,gBAAM,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjG,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE;SACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EventType } from '../events/types';
|
|
2
|
+
export declare const VALID_EVENT_TYPES: ReadonlyArray<EventType>;
|
|
3
|
+
export declare function isEventType(value: string): value is EventType;
|
|
4
|
+
export declare function parseEventTypes(raw: string): EventType[];
|
|
5
|
+
//# sourceMappingURL=event-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/config/event-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAqCtD,CAAC;AAIF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAKxD"}
|