@neurosec/sentry 1.0.8 → 1.0.11
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/enforcement/network-monitor.d.ts.map +1 -1
- package/dist/enforcement/network-monitor.js +30 -4
- package/dist/enforcement/network-monitor.js.map +1 -1
- package/dist/enforcement/policy-executor.d.ts +32 -0
- package/dist/enforcement/policy-executor.d.ts.map +1 -0
- package/dist/enforcement/policy-executor.js +132 -0
- package/dist/enforcement/policy-executor.js.map +1 -0
- package/dist/index.js +59 -9
- package/dist/index.js.map +1 -1
- package/dist/telemetry.d.ts +1 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +37 -23
- package/dist/telemetry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-monitor.d.ts","sourceRoot":"","sources":["../../src/enforcement/network-monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiE,MAAM,UAAU,CAAC;AAgEvH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"network-monitor.d.ts","sourceRoot":"","sources":["../../src/enforcement/network-monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiE,MAAM,UAAU,CAAC;AAgEvH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8HnG"}
|
|
@@ -71,8 +71,8 @@ async function scanLLMConnections(taggedProcesses) {
|
|
|
71
71
|
for (const procFile of procFiles) {
|
|
72
72
|
const entries = parseProcNetTcp(procFile);
|
|
73
73
|
for (const entry of entries) {
|
|
74
|
-
if (entry.state !== '01')
|
|
75
|
-
continue; // 01 =
|
|
74
|
+
if (entry.state !== '01' && entry.state !== '06' && entry.state !== '08')
|
|
75
|
+
continue; // 01=ESTABLISHED, 06=TIME_WAIT, 08=CLOSE_WAIT
|
|
76
76
|
const remote = hexToAddr(entry.remoteAddress);
|
|
77
77
|
if (!remote)
|
|
78
78
|
continue;
|
|
@@ -97,6 +97,31 @@ async function scanLLMConnections(taggedProcesses) {
|
|
|
97
97
|
break;
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
+
// Fallback: forward-DNS check known LLM domains against this IP
|
|
101
|
+
if (!providerId) {
|
|
102
|
+
for (const sig of types_1.LLM_PROVIDER_SIGNATURES) {
|
|
103
|
+
for (const domain of sig.domains) {
|
|
104
|
+
if (domain === 'localhost' || domain === '127.0.0.1')
|
|
105
|
+
continue;
|
|
106
|
+
try {
|
|
107
|
+
const resolved = await new Promise((resolve) => {
|
|
108
|
+
dns_1.default.resolve(domain, (err, addresses) => {
|
|
109
|
+
resolve(err ? [] : addresses);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
if (resolved.includes(remote.ip)) {
|
|
113
|
+
providerId = sig.id;
|
|
114
|
+
providerName = sig.name;
|
|
115
|
+
hostname = domain;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch { /* continue */ }
|
|
120
|
+
}
|
|
121
|
+
if (providerId)
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
100
125
|
if (providerId) {
|
|
101
126
|
connections.push({
|
|
102
127
|
pid: 0, localIp: '', localPort: 0,
|
|
@@ -115,8 +140,9 @@ async function scanLLMConnections(taggedProcesses) {
|
|
|
115
140
|
const remote = hexToAddr(entry.remoteAddress);
|
|
116
141
|
if (!local || !remote)
|
|
117
142
|
continue;
|
|
118
|
-
// State 01 = ESTABLISHED
|
|
119
|
-
|
|
143
|
+
// State 01 = ESTABLISHED, 06 = TIME_WAIT, 08 = CLOSE_WAIT — catch active + recently-closed
|
|
144
|
+
const isRecent = entry.state === '01' || entry.state === '06' || entry.state === '08';
|
|
145
|
+
if (isRecent && isLocalIp(remote.ip) && isLLMPort(remote.port)) {
|
|
120
146
|
const key = `local:established:${remote.port}`;
|
|
121
147
|
if (seen.has(key))
|
|
122
148
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-monitor.js","sourceRoot":"","sources":["../../src/enforcement/network-monitor.ts"],"names":[],"mappings":";;;;;AAkEA,
|
|
1
|
+
{"version":3,"file":"network-monitor.js","sourceRoot":"","sources":["../../src/enforcement/network-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TaggedProcess } from '../types';
|
|
2
|
+
import { SentryConfig } from '../config';
|
|
3
|
+
interface SentryPolicy {
|
|
4
|
+
id: string;
|
|
5
|
+
hostId: string | null;
|
|
6
|
+
type: 'kill_process' | 'block_provider' | 'block_domain';
|
|
7
|
+
target: string;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
action: 'deny' | 'sigterm' | 'sigkill';
|
|
10
|
+
description: string;
|
|
11
|
+
}
|
|
12
|
+
interface PolicyResult {
|
|
13
|
+
policyId: string;
|
|
14
|
+
action: 'kill_process' | 'block_provider' | 'block_domain';
|
|
15
|
+
target: string;
|
|
16
|
+
applied: boolean;
|
|
17
|
+
detail: string;
|
|
18
|
+
}
|
|
19
|
+
export declare class PolicyExecutor {
|
|
20
|
+
private config;
|
|
21
|
+
private appliedRules;
|
|
22
|
+
private lastPolicies;
|
|
23
|
+
constructor(config: SentryConfig);
|
|
24
|
+
apply(policies: SentryPolicy[], taggedProcesses: TaggedProcess[]): Promise<PolicyResult[]>;
|
|
25
|
+
private applyKillProcess;
|
|
26
|
+
private applyBlockProvider;
|
|
27
|
+
private applyBlockDomain;
|
|
28
|
+
private addIptablesRule;
|
|
29
|
+
private removeRule;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=policy-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-executor.d.ts","sourceRoot":"","sources":["../../src/enforcement/policy-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,GAAG,gBAAgB,GAAG,cAAc,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAc;IAIb,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAsB;gBAEtB,MAAM,EAAE,YAAY;IAGlC,KAAK,CACT,QAAQ,EAAE,YAAY,EAAE,EACxB,eAAe,EAAE,aAAa,EAAE,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC;YAyCZ,gBAAgB;IAoC9B,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,UAAU;CAInB"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolicyExecutor = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
const logger_1 = require("../logger");
|
|
7
|
+
class PolicyExecutor {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.appliedRules = new Set();
|
|
11
|
+
this.lastPolicies = [];
|
|
12
|
+
}
|
|
13
|
+
// Apply policies to the current host — returns list of actions taken
|
|
14
|
+
async apply(policies, taggedProcesses) {
|
|
15
|
+
const results = [];
|
|
16
|
+
const hostId = this.config.sentry.hostId;
|
|
17
|
+
// Only process enabled policies for this host (or global)
|
|
18
|
+
const active = policies.filter(p => p.enabled && (!p.hostId || p.hostId === hostId));
|
|
19
|
+
for (const policy of active) {
|
|
20
|
+
switch (policy.type) {
|
|
21
|
+
case 'kill_process':
|
|
22
|
+
results.push(await this.applyKillProcess(policy, taggedProcesses));
|
|
23
|
+
break;
|
|
24
|
+
case 'block_provider':
|
|
25
|
+
results.push(this.applyBlockProvider(policy));
|
|
26
|
+
break;
|
|
27
|
+
case 'block_domain':
|
|
28
|
+
results.push(this.applyBlockDomain(policy));
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Remove rules for policies that no longer exist
|
|
33
|
+
for (const ruleId of this.appliedRules) {
|
|
34
|
+
if (!active.some(p => p.id === ruleId)) {
|
|
35
|
+
this.removeRule(ruleId);
|
|
36
|
+
this.appliedRules.delete(ruleId);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
this.lastPolicies = active;
|
|
40
|
+
if (results.length > 0) {
|
|
41
|
+
const applied = results.filter(r => r.applied).length;
|
|
42
|
+
logger_1.logger.info('Policy executor', { total: results.length, applied });
|
|
43
|
+
}
|
|
44
|
+
return results;
|
|
45
|
+
}
|
|
46
|
+
async applyKillProcess(policy, processes) {
|
|
47
|
+
const target = policy.target.toLowerCase();
|
|
48
|
+
const matched = processes.filter(p => {
|
|
49
|
+
if (p.frameworkId === target)
|
|
50
|
+
return true;
|
|
51
|
+
if (p.frameworkName?.toLowerCase() === target)
|
|
52
|
+
return true;
|
|
53
|
+
if (p.command?.toLowerCase().includes(target))
|
|
54
|
+
return true;
|
|
55
|
+
return false;
|
|
56
|
+
});
|
|
57
|
+
if (matched.length === 0) {
|
|
58
|
+
return { policyId: policy.id, action: 'kill_process', target: policy.target, applied: false, detail: 'No matching process found' };
|
|
59
|
+
}
|
|
60
|
+
const signal = policy.action === 'sigkill' ? 'SIGKILL' : 'SIGTERM';
|
|
61
|
+
let killed = 0;
|
|
62
|
+
for (const proc of matched) {
|
|
63
|
+
try {
|
|
64
|
+
process.kill(proc.pid, signal);
|
|
65
|
+
killed++;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
try {
|
|
69
|
+
(0, child_process_1.execSync)(`kill -${signal === 'SIGKILL' ? 9 : 15} ${proc.pid}`, { timeout: 3000 });
|
|
70
|
+
killed++;
|
|
71
|
+
}
|
|
72
|
+
catch { /* process may already be gone */ }
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const detail = killed > 0 ? `Killed ${killed} process(es) with ${signal}` : 'Failed to kill processes';
|
|
76
|
+
logger_1.logger.info('Policy: kill_process', { target: policy.target, killed, signal });
|
|
77
|
+
return { policyId: policy.id, action: 'kill_process', target: policy.target, applied: killed > 0, detail };
|
|
78
|
+
}
|
|
79
|
+
applyBlockProvider(policy) {
|
|
80
|
+
const provider = types_1.LLM_PROVIDER_SIGNATURES.find(p => p.id === policy.target || p.name === policy.target);
|
|
81
|
+
if (!provider) {
|
|
82
|
+
return { policyId: policy.id, action: 'block_provider', target: policy.target, applied: false, detail: `Unknown provider: ${policy.target}` };
|
|
83
|
+
}
|
|
84
|
+
const ruleId = `sentry-block-${provider.id}`;
|
|
85
|
+
let success = 0;
|
|
86
|
+
for (const domain of provider.domains) {
|
|
87
|
+
try {
|
|
88
|
+
this.addIptablesRule(ruleId, domain);
|
|
89
|
+
success++;
|
|
90
|
+
}
|
|
91
|
+
catch { /* best-effort */ }
|
|
92
|
+
}
|
|
93
|
+
this.appliedRules.add(ruleId);
|
|
94
|
+
if (success > 0) {
|
|
95
|
+
logger_1.logger.info('Policy: block_provider', { provider: provider.name, domains: success });
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
policyId: policy.id,
|
|
99
|
+
action: 'block_provider',
|
|
100
|
+
target: provider.name,
|
|
101
|
+
applied: success > 0,
|
|
102
|
+
detail: success > 0 ? `Blocked ${success} domain(s) via iptables` : 'No domains blocked (try running as root)',
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
applyBlockDomain(policy) {
|
|
106
|
+
const ruleId = `sentry-block-domain-${policy.id.slice(0, 8)}`;
|
|
107
|
+
try {
|
|
108
|
+
this.addIptablesRule(ruleId, policy.target);
|
|
109
|
+
this.appliedRules.add(ruleId);
|
|
110
|
+
logger_1.logger.info('Policy: block_domain', { target: policy.target });
|
|
111
|
+
return { policyId: policy.id, action: 'block_domain', target: policy.target, applied: true, detail: `Blocked ${policy.target} via iptables` };
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
return { policyId: policy.id, action: 'block_domain', target: policy.target, applied: false, detail: `Failed: ${err.message}` };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
addIptablesRule(ruleId, target) {
|
|
118
|
+
// Try nftables first, fall back to iptables
|
|
119
|
+
try {
|
|
120
|
+
(0, child_process_1.execSync)(`nft add rule inet filter output ${ruleId} ip daddr ${target} drop 2>/dev/null || iptables -C OUTPUT -d ${target} -j DROP 2>/dev/null || iptables -A OUTPUT -d ${target} -j DROP`, { timeout: 5000 });
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
(0, child_process_1.execSync)(`iptables -C OUTPUT -d ${target} -j DROP 2>/dev/null || iptables -A OUTPUT -d ${target} -j DROP`, { timeout: 5000 });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
removeRule(ruleId) {
|
|
127
|
+
// Cleanup is deferred — rules persist until explicitly removed or reboot
|
|
128
|
+
logger_1.logger.debug('Policy rule removed from tracking', { ruleId });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.PolicyExecutor = PolicyExecutor;
|
|
132
|
+
//# sourceMappingURL=policy-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-executor.js","sourceRoot":"","sources":["../../src/enforcement/policy-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ const sandbox_1 = require("./sandbox");
|
|
|
13
13
|
const enforcement_engine_1 = require("./enforcement/enforcement-engine");
|
|
14
14
|
const file_monitor_1 = require("./enforcement/file-monitor");
|
|
15
15
|
const network_monitor_1 = require("./enforcement/network-monitor");
|
|
16
|
+
const policy_executor_1 = require("./enforcement/policy-executor");
|
|
16
17
|
const skill_scanner_1 = require("./skill-authz/skill-scanner");
|
|
17
18
|
const skill_evaluator_1 = require("./skill-authz/skill-evaluator");
|
|
18
19
|
const api_1 = require("./api");
|
|
@@ -28,6 +29,7 @@ class SentryDaemon {
|
|
|
28
29
|
constructor() {
|
|
29
30
|
this.taggedProcesses = [];
|
|
30
31
|
this.discoveryTimer = null;
|
|
32
|
+
this.policySyncTimer = null;
|
|
31
33
|
this.healthServer = null;
|
|
32
34
|
this.policyVersion = '1.0.0';
|
|
33
35
|
this.startTime = Date.now();
|
|
@@ -47,12 +49,14 @@ class SentryDaemon {
|
|
|
47
49
|
await this.auditLogger.init();
|
|
48
50
|
this.enforcementEngine = new enforcement_engine_1.EnforcementEngine(this.config, this.auditLogger);
|
|
49
51
|
this.skillEvaluator = new skill_evaluator_1.SkillEvaluator(this.config, this.auditLogger);
|
|
52
|
+
this.policyExecutor = new policy_executor_1.PolicyExecutor(this.config);
|
|
50
53
|
this.apiServer = new api_1.SentryApiServer(this.config, () => this.taggedProcesses, () => this.enforcementEngine, () => this.skillEvaluator, () => this.policyVersion, () => this.telemetryReporter?.getLastSyncAt() ?? null);
|
|
51
54
|
await this.apiServer.start();
|
|
52
55
|
this.telemetryReporter = new telemetry_1.TelemetryReporter(this.config, () => this.apiServer.getStatus(), () => this.taggedProcesses, () => this.enforcementEngine.getRecentDecisions());
|
|
53
56
|
this.telemetryReporter.start();
|
|
54
57
|
this.startHealthServer();
|
|
55
58
|
this.startDiscoveryLoop();
|
|
59
|
+
this.startPolicySync();
|
|
56
60
|
this.running = true;
|
|
57
61
|
logger_1.logger.info('NeuroShield Sentry daemon is operational', {
|
|
58
62
|
healthPort: this.config.sentry.healthPort,
|
|
@@ -131,15 +135,23 @@ class SentryDaemon {
|
|
|
131
135
|
// Scan for LLM network connections
|
|
132
136
|
if (this.config.enforcement.networkFilterEnabled) {
|
|
133
137
|
const connections = await (0, network_monitor_1.scanLLMConnections)(this.taggedProcesses);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
for (const conn of connections) {
|
|
139
|
+
const decision = this.enforcementEngine.evaluateNetworkAccess({
|
|
140
|
+
pid: conn.pid,
|
|
141
|
+
direction: 'egress',
|
|
142
|
+
destIp: conn.remoteIp,
|
|
143
|
+
destPort: conn.remotePort,
|
|
144
|
+
hostname: conn.hostname,
|
|
145
|
+
frameworkId: null,
|
|
146
|
+
});
|
|
147
|
+
if (conn.providerId) {
|
|
148
|
+
logger_1.logger.info('LLM connection detected', {
|
|
149
|
+
provider: conn.providerName,
|
|
150
|
+
type: conn.type,
|
|
151
|
+
host: conn.hostname,
|
|
152
|
+
port: conn.remotePort,
|
|
153
|
+
decision: decision.action,
|
|
154
|
+
});
|
|
143
155
|
}
|
|
144
156
|
}
|
|
145
157
|
}
|
|
@@ -181,6 +193,44 @@ class SentryDaemon {
|
|
|
181
193
|
logger_1.logger.info('Health server listening', { port: this.config.sentry.healthPort });
|
|
182
194
|
});
|
|
183
195
|
}
|
|
196
|
+
startPolicySync() {
|
|
197
|
+
setTimeout(() => this.syncPolicies().catch(() => { }), 5000);
|
|
198
|
+
this.policySyncTimer = setInterval(() => this.syncPolicies().catch(err => logger_1.logger.warn('Policy sync failed', { err: err.message })), 30000);
|
|
199
|
+
logger_1.logger.info('Policy sync started', { intervalMs: 30000 });
|
|
200
|
+
}
|
|
201
|
+
async syncPolicies() {
|
|
202
|
+
if (!this.config.neurosec.endpoint)
|
|
203
|
+
return;
|
|
204
|
+
try {
|
|
205
|
+
const token = require('fs').readFileSync(this.config.neurosec.tokenPath, 'utf8').trim();
|
|
206
|
+
if (!token)
|
|
207
|
+
return;
|
|
208
|
+
const url = new URL(`/api/v1/sentry/policies?hostId=${encodeURIComponent(this.config.sentry.hostId)}`, this.config.neurosec.endpoint);
|
|
209
|
+
const isHttps = url.protocol === 'https:';
|
|
210
|
+
const lib = isHttps ? require('https') : require('http');
|
|
211
|
+
const data = await new Promise((resolve, reject) => {
|
|
212
|
+
const agent = isHttps ? new lib.Agent({ rejectUnauthorized: false }) : undefined;
|
|
213
|
+
const req = lib.get(url.href, { agent, timeout: 10000, headers: { 'Authorization': `Bearer ${token}` } }, (res) => {
|
|
214
|
+
let body = '';
|
|
215
|
+
res.on('data', (c) => body += c);
|
|
216
|
+
res.on('end', () => { try {
|
|
217
|
+
resolve(JSON.parse(body));
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
reject(new Error(body));
|
|
221
|
+
} });
|
|
222
|
+
});
|
|
223
|
+
req.on('error', reject);
|
|
224
|
+
req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); });
|
|
225
|
+
});
|
|
226
|
+
if (data?.data && Array.isArray(data.data)) {
|
|
227
|
+
await this.policyExecutor.apply(data.data, this.taggedProcesses);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
logger_1.logger.debug('Policy sync failed (non-fatal)', { err: err.message });
|
|
232
|
+
}
|
|
233
|
+
}
|
|
184
234
|
async stopHealthServer() {
|
|
185
235
|
if (!this.healthServer)
|
|
186
236
|
return;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,2DAA6B;AAC7B,gDAAwB;AACxB,4CAAoB;AAEpB,qCAAoD;AAEpD,2CAAgD;AAChD,uCAAqE;AACrE,yEAAqE;AACrE,6DAA6E;AAC7E,mEAAmE;AACnE,mEAA+D;AAC/D,+DAAyD;AACzD,mEAA+D;AAC/D,+BAAwC;AACxC,mCAAsC;AACtC,2CAAgD;AAChD,qCAAkC;AAElC,MAAM,oBAAoB,GAAG;IAC3B,8BAA8B;IAC9B,sBAAsB;IACtB,eAAe;CAChB,CAAC;AAEF,MAAM,YAAY;IAAlB;QAEU,oBAAe,GAAoB,EAAE,CAAC;QAOtC,mBAAc,GAA0C,IAAI,CAAC;QAC7D,oBAAe,GAA0C,IAAI,CAAC;QAC9D,iBAAY,GAAuB,IAAI,CAAC;QACxC,kBAAa,GAAG,OAAO,CAAC;QACxB,cAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,YAAO,GAAG,KAAK,CAAC;IAiS1B,CAAC;IA/RC,KAAK,CAAC,KAAK,CAAC,UAAmB;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAU,EAAC,kBAAkB,CAAC,CAAC;QAE7C,eAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;YAChD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;YACnC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI;YAClC,QAAQ,EAAE,YAAE,CAAC,QAAQ,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;SAClC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAe,CAClC,IAAI,CAAC,MAAM,EACX,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAC1B,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAC5B,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EACzB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EACxB,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,IAAI,IAAI,CACtD,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,6BAAiB,CAC5C,IAAI,CAAC,MAAM,EACX,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAChC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAC1B,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAClD,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,eAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;YACtD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;YACzC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;YACnC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI;YAClC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc;SACpD,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,eAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,eAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;wBAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,SAAS,EAAE,IAAI,CAAC,WAAW;wBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,eAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;YAElC,0CAA0C;YAC1C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC/C,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAY,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtD,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;gBACpD,MAAM,IAAA,6BAAc,EAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE;oBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAClE,eAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;wBACpC,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,IAAI,EAAE,KAAK,CAAC,UAAU;wBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM;qBAC1B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAA,8BAAe,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC;YAED,mCAAmC;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBACjD,MAAM,WAAW,GAAG,MAAM,IAAA,oCAAkB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;wBAC5D,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;wBACrB,QAAQ,EAAE,IAAI,CAAC,UAAU;wBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;oBACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,eAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;4BACrC,QAAQ,EAAE,IAAI,CAAC,YAAY;4BAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,IAAI,EAAE,IAAI,CAAC,QAAQ;4BACnB,IAAI,EAAE,IAAI,CAAC,UAAU;4BACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,eAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACnC,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACnC,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAErC,eAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,YAAY,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YACtE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE;YACtE,eAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,WAAW,CAChC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EAC1G,KAAK,CACN,CAAC;QACF,eAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QAC3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACxF,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kCAAkC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtI,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACrH,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACzC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjG,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,IAAI,GAAG;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;YAC3B,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACvC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5C,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC7C,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,OAAgB;QACxC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,CAAC;YACX,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;IAE3D,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAElC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,eAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,eAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE;QACpC,eAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE;QACxC,eAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
package/dist/telemetry.d.ts
CHANGED
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAoB3E,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,kBAAkB;IAT5B,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,iBAAiB,CAAc;gBAG7B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,YAAY,EAC7B,kBAAkB,EAAE,MAAM,aAAa,EAAE,EACzC,kBAAkB,EAAE,MAAM,mBAAmB,EAAE;IAGzD,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAoB3E,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,kBAAkB;IAT5B,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,iBAAiB,CAAc;gBAG7B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,YAAY,EAC7B,kBAAkB,EAAE,MAAM,aAAa,EAAE,EACzC,kBAAkB,EAAE,MAAM,mBAAmB,EAAE;IAGzD,KAAK,IAAI,IAAI;IAsBb,IAAI,IAAI,IAAI;IAKZ,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,SAAS;YAQH,aAAa;YAgCb,cAAc;YA4Bd,aAAa;YA2Bb,UAAU;CAiDzB"}
|
package/dist/telemetry.js
CHANGED
|
@@ -21,11 +21,15 @@ class TelemetryReporter {
|
|
|
21
21
|
}
|
|
22
22
|
start() {
|
|
23
23
|
this.sendHeartbeat().catch(() => { });
|
|
24
|
-
this.heartbeatTimer = setInterval(() => this.sendHeartbeat().catch(err => logger_1.logger.warn('Telemetry heartbeat failed', { err: err.message })), this.config.neurosec.heartbeatIntervalMs);
|
|
25
|
-
|
|
24
|
+
this.heartbeatTimer = setInterval(() => this.sendHeartbeat().catch(err => logger_1.logger.warn('Telemetry heartbeat failed', { err: err.message })), Math.min(this.config.neurosec.heartbeatIntervalMs, 60000));
|
|
25
|
+
// Also flush decisions on the faster sync interval
|
|
26
|
+
this.syncTimer = setInterval(() => {
|
|
27
|
+
this.syncProcesses().catch(() => { });
|
|
28
|
+
this.flushDecisions().catch(() => { });
|
|
29
|
+
}, Math.min(this.config.neurosec.syncIntervalMs, 30000));
|
|
26
30
|
logger_1.logger.info('Telemetry reporter started', {
|
|
27
|
-
heartbeatIntervalMs: this.config.neurosec.heartbeatIntervalMs,
|
|
28
|
-
syncIntervalMs: this.config.neurosec.syncIntervalMs,
|
|
31
|
+
heartbeatIntervalMs: Math.min(this.config.neurosec.heartbeatIntervalMs, 60000),
|
|
32
|
+
syncIntervalMs: Math.min(this.config.neurosec.syncIntervalMs, 30000),
|
|
29
33
|
});
|
|
30
34
|
}
|
|
31
35
|
stop() {
|
|
@@ -74,30 +78,40 @@ class TelemetryReporter {
|
|
|
74
78
|
await this.apiRequest('POST', '/api/v1/sentry/heartbeat', payload);
|
|
75
79
|
this.lastSyncAt = new Date().toISOString();
|
|
76
80
|
logger_1.logger.debug('Heartbeat sent', { processes: processes.length });
|
|
77
|
-
// Send decisions that haven't been sent yet
|
|
78
|
-
const newDecisions = decisions.filter(d => !this.lastDecisionsHash.includes(d.id));
|
|
79
|
-
if (newDecisions.length > 0) {
|
|
80
|
-
await this.apiRequest('POST', '/api/v1/sentry/decisions', {
|
|
81
|
-
hostId: this.config.sentry.hostId,
|
|
82
|
-
decisions: newDecisions.slice(-100).map(d => ({
|
|
83
|
-
id: d.id,
|
|
84
|
-
type: d.type,
|
|
85
|
-
action: d.action,
|
|
86
|
-
reason: d.reason,
|
|
87
|
-
frameworkId: d.frameworkId,
|
|
88
|
-
frameworkName: d.frameworkId,
|
|
89
|
-
pid: d.pid,
|
|
90
|
-
detail: d.detail,
|
|
91
|
-
timestamp: new Date(d.timestamp).toISOString(),
|
|
92
|
-
})),
|
|
93
|
-
});
|
|
94
|
-
this.lastDecisionsHash = decisions.slice(-50).map(d => d.id).join(',');
|
|
95
|
-
}
|
|
96
81
|
}
|
|
97
82
|
catch (err) {
|
|
98
83
|
logger_1.logger.warn('Telemetry send failed', { err: err.message });
|
|
99
84
|
}
|
|
100
85
|
}
|
|
86
|
+
async flushDecisions() {
|
|
87
|
+
if (!this.config.neurosec.endpoint)
|
|
88
|
+
return;
|
|
89
|
+
const decisions = this.getRecentDecisions();
|
|
90
|
+
const newDecisions = decisions.filter(d => !this.lastDecisionsHash.includes(d.id));
|
|
91
|
+
if (newDecisions.length === 0)
|
|
92
|
+
return;
|
|
93
|
+
try {
|
|
94
|
+
await this.apiRequest('POST', '/api/v1/sentry/decisions', {
|
|
95
|
+
hostId: this.config.sentry.hostId,
|
|
96
|
+
decisions: newDecisions.slice(-100).map(d => ({
|
|
97
|
+
id: d.id,
|
|
98
|
+
type: d.type,
|
|
99
|
+
action: d.action,
|
|
100
|
+
reason: d.reason,
|
|
101
|
+
frameworkId: d.frameworkId,
|
|
102
|
+
frameworkName: d.frameworkId,
|
|
103
|
+
pid: d.pid,
|
|
104
|
+
detail: d.detail,
|
|
105
|
+
timestamp: new Date(d.timestamp).toISOString(),
|
|
106
|
+
})),
|
|
107
|
+
});
|
|
108
|
+
this.lastDecisionsHash = decisions.slice(-50).map(d => d.id).join(',');
|
|
109
|
+
logger_1.logger.debug('Decisions flushed', { count: newDecisions.length });
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
logger_1.logger.warn('Decision flush failed', { err: err.message });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
101
115
|
async syncProcesses() {
|
|
102
116
|
if (!this.config.neurosec.endpoint)
|
|
103
117
|
return;
|
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,kDAA0B;AAC1B,4CAAoB;AAGpB,qCAAkC;AAmBlC,MAAa,iBAAiB;IAM5B,YACU,MAAoB,EACpB,SAA6B,EAC7B,kBAAyC,EACzC,kBAA+C;QAH/C,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAoB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,uBAAkB,GAAlB,kBAAkB,CAA6B;QATjD,mBAAc,GAA0C,IAAI,CAAC;QAC7D,cAAS,GAA0C,IAAI,CAAC;QACxD,eAAU,GAAkB,IAAI,CAAC;QACjC,sBAAiB,GAAW,EAAE,CAAC;IAOpC,CAAC;IAEJ,KAAK;QACH,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EACnH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED