easyoref 1.18.4 → 1.20.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/extract.d.ts +5 -5
- package/dist/agent/extract.d.ts.map +1 -1
- package/dist/agent/extract.js +86 -110
- package/dist/agent/extract.js.map +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +21 -30
- package/dist/agent/types.js.map +1 -1
- package/dist/bot.js +17 -19
- package/dist/bot.js.map +1 -1
- package/dist/gif-state.js +1 -1
- package/dist/gif-state.js.map +1 -1
- package/dist/init.js +1 -1
- package/dist/init.js.map +1 -1
- package/package.json +5 -9
- package/dist/agent/auth.d.ts +0 -11
- package/dist/agent/auth.d.ts.map +0 -1
- package/dist/agent/auth.js +0 -54
- package/dist/agent/auth.js.map +0 -1
- package/dist/agent/clarify.d.ts +0 -44
- package/dist/agent/clarify.d.ts.map +0 -1
- package/dist/agent/clarify.js +0 -284
- package/dist/agent/clarify.js.map +0 -1
- package/dist/agent/dry-run.d.ts +0 -12
- package/dist/agent/dry-run.d.ts.map +0 -1
- package/dist/agent/dry-run.js +0 -236
- package/dist/agent/dry-run.js.map +0 -1
- package/dist/agent/filters.d.ts +0 -48
- package/dist/agent/filters.d.ts.map +0 -1
- package/dist/agent/filters.js +0 -124
- package/dist/agent/filters.js.map +0 -1
- package/dist/agent/gramjs-monitor.d.ts +0 -26
- package/dist/agent/gramjs-monitor.d.ts.map +0 -1
- package/dist/agent/gramjs-monitor.js +0 -324
- package/dist/agent/gramjs-monitor.js.map +0 -1
- package/dist/agent/graph.d.ts +0 -30
- package/dist/agent/graph.d.ts.map +0 -1
- package/dist/agent/graph.js +0 -240
- package/dist/agent/graph.js.map +0 -1
- package/dist/agent/helpers.d.ts +0 -6
- package/dist/agent/helpers.d.ts.map +0 -1
- package/dist/agent/helpers.js +0 -15
- package/dist/agent/helpers.js.map +0 -1
- package/dist/agent/message.d.ts +0 -69
- package/dist/agent/message.d.ts.map +0 -1
- package/dist/agent/message.js +0 -464
- package/dist/agent/message.js.map +0 -1
- package/dist/agent/queue.d.ts +0 -15
- package/dist/agent/queue.d.ts.map +0 -1
- package/dist/agent/queue.js +0 -41
- package/dist/agent/queue.js.map +0 -1
- package/dist/agent/redis.d.ts +0 -8
- package/dist/agent/redis.d.ts.map +0 -1
- package/dist/agent/redis.js +0 -33
- package/dist/agent/redis.js.map +0 -1
- package/dist/agent/store.d.ts +0 -93
- package/dist/agent/store.d.ts.map +0 -1
- package/dist/agent/store.js +0 -145
- package/dist/agent/store.js.map +0 -1
- package/dist/agent/tools.d.ts +0 -159
- package/dist/agent/tools.d.ts.map +0 -1
- package/dist/agent/tools.js +0 -439
- package/dist/agent/tools.js.map +0 -1
- package/dist/agent/types.d.ts +0 -213
- package/dist/agent/vote.d.ts +0 -13
- package/dist/agent/vote.d.ts.map +0 -1
- package/dist/agent/vote.js +0 -226
- package/dist/agent/vote.js.map +0 -1
- package/dist/agent/worker.d.ts +0 -14
- package/dist/agent/worker.d.ts.map +0 -1
- package/dist/agent/worker.js +0 -137
- package/dist/agent/worker.js.map +0 -1
- package/dist/bin.d.ts +0 -17
- package/dist/bot.d.ts +0 -16
- package/dist/config.d.ts +0 -129
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -157
- package/dist/config.js.map +0 -1
- package/dist/gif-state.d.ts +0 -17
- package/dist/i18n.d.ts +0 -49
- package/dist/i18n.d.ts.map +0 -1
- package/dist/i18n.js +0 -229
- package/dist/i18n.js.map +0 -1
- package/dist/init.d.ts +0 -7
- package/dist/logger.d.ts +0 -14
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -45
- package/dist/logger.js.map +0 -1
- package/dist/service.d.ts +0 -19
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -165
- package/dist/service.js.map +0 -1
package/dist/agent/vote.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Consensus voting — deterministic, 0 tokens.
|
|
3
|
-
*
|
|
4
|
-
* Aggregates extraction results from multiple sources into a single
|
|
5
|
-
* voted consensus using median, majority, and weighted confidence.
|
|
6
|
-
*/
|
|
7
|
-
import type { ValidatedExtraction, VotedResult } from "./types.js";
|
|
8
|
-
/**
|
|
9
|
-
* Aggregate valid extractions into a single consensus result.
|
|
10
|
-
* Returns null if no valid extractions.
|
|
11
|
-
*/
|
|
12
|
-
export declare function vote(extractions: ValidatedExtraction[], alertId: string): VotedResult | null;
|
|
13
|
-
//# sourceMappingURL=vote.d.ts.map
|
package/dist/agent/vote.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vote.d.ts","sourceRoot":"","sources":["../../src/agent/vote.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAGV,mBAAmB,EACnB,WAAW,EACZ,MAAM,YAAY,CAAC;AA0CpB;;;GAGG;AACH,wBAAgB,IAAI,CAClB,WAAW,EAAE,mBAAmB,EAAE,EAClC,OAAO,EAAE,MAAM,GACd,WAAW,GAAG,IAAI,CA4OpB"}
|
package/dist/agent/vote.js
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Consensus voting — deterministic, 0 tokens.
|
|
3
|
-
*
|
|
4
|
-
* Aggregates extraction results from multiple sources into a single
|
|
5
|
-
* voted consensus using median, majority, and weighted confidence.
|
|
6
|
-
*/
|
|
7
|
-
import * as logger from "../logger.js";
|
|
8
|
-
// ── Helpers ────────────────────────────────────────────
|
|
9
|
-
/** Average weighted confidence across sources */
|
|
10
|
-
function fieldConf(srcs) {
|
|
11
|
-
if (srcs.length === 0)
|
|
12
|
-
return 0;
|
|
13
|
-
return (srcs.reduce((s, e) => s + e.source_trust * e.confidence, 0) / srcs.length);
|
|
14
|
-
}
|
|
15
|
-
/** Mode (most frequent value) for QualCount fields */
|
|
16
|
-
function modeQual(srcs, key) {
|
|
17
|
-
const vals = srcs
|
|
18
|
-
.map((e) => e[key])
|
|
19
|
-
.filter((v) => v !== null);
|
|
20
|
-
if (vals.length === 0)
|
|
21
|
-
return null;
|
|
22
|
-
const freq = new Map();
|
|
23
|
-
for (const v of vals)
|
|
24
|
-
freq.set(v, (freq.get(v) ?? 0) + 1);
|
|
25
|
-
return [...freq.entries()].sort((a, b) => b[1] - a[1])[0][0];
|
|
26
|
-
}
|
|
27
|
-
/** Median reference number for qual fields */
|
|
28
|
-
function medianQualNum(srcs, key) {
|
|
29
|
-
const vals = srcs
|
|
30
|
-
.map((e) => e[key])
|
|
31
|
-
.filter((v) => v !== null)
|
|
32
|
-
.sort((a, b) => a - b);
|
|
33
|
-
return vals.length > 0 ? vals[Math.floor(vals.length / 2)] : null;
|
|
34
|
-
}
|
|
35
|
-
// ── Vote ───────────────────────────────────────────────
|
|
36
|
-
/**
|
|
37
|
-
* Aggregate valid extractions into a single consensus result.
|
|
38
|
-
* Returns null if no valid extractions.
|
|
39
|
-
*/
|
|
40
|
-
export function vote(extractions, alertId) {
|
|
41
|
-
const valid = extractions.filter((e) => e.valid);
|
|
42
|
-
if (valid.length === 0)
|
|
43
|
-
return null;
|
|
44
|
-
// Assign 1-based citation indices
|
|
45
|
-
const indexed = valid.map((e, i) => ({ ...e, idx: i + 1 }));
|
|
46
|
-
const citedSources = indexed.map((e) => ({
|
|
47
|
-
index: e.idx,
|
|
48
|
-
channel: e.channel,
|
|
49
|
-
messageUrl: e.messageUrl ?? null,
|
|
50
|
-
}));
|
|
51
|
-
// ETA: highest confidence source
|
|
52
|
-
const withEta = indexed
|
|
53
|
-
.filter((e) => e.eta_refined_minutes !== null)
|
|
54
|
-
.sort((a, b) => b.confidence - a.confidence);
|
|
55
|
-
const bestEta = withEta[0] ?? null;
|
|
56
|
-
// Country: group unique values
|
|
57
|
-
const countryMap = new Map();
|
|
58
|
-
for (const e of indexed) {
|
|
59
|
-
if (e.country_origin) {
|
|
60
|
-
const list = countryMap.get(e.country_origin) ?? [];
|
|
61
|
-
list.push(e.idx);
|
|
62
|
-
countryMap.set(e.country_origin, list);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const country_origins = countryMap.size > 0
|
|
66
|
-
? Array.from(countryMap.entries()).map(([name, citations]) => ({
|
|
67
|
-
name,
|
|
68
|
-
citations,
|
|
69
|
-
}))
|
|
70
|
-
: null;
|
|
71
|
-
// Rocket count: range
|
|
72
|
-
const rocketSrcs = indexed.filter((e) => e.rocket_count !== null);
|
|
73
|
-
const rocketVals = rocketSrcs.map((e) => e.rocket_count);
|
|
74
|
-
const rocket_count_min = rocketVals.length > 0 ? Math.min(...rocketVals) : null;
|
|
75
|
-
const rocket_count_max = rocketVals.length > 0 ? Math.max(...rocketVals) : null;
|
|
76
|
-
const rocket_citations = rocketSrcs.map((e) => e.idx);
|
|
77
|
-
const rocket_confidence = fieldConf(rocketSrcs);
|
|
78
|
-
// Rocket detail: pick from highest-confidence source with a detail string
|
|
79
|
-
const detailSrcs = indexed
|
|
80
|
-
.filter((e) => e.rocket_detail)
|
|
81
|
-
.sort((a, b) => b.confidence - a.confidence);
|
|
82
|
-
const rocket_detail = detailSrcs[0]?.rocket_detail ?? null;
|
|
83
|
-
// Cassette: majority
|
|
84
|
-
const cassSrcs = indexed.filter((e) => e.is_cassette !== null);
|
|
85
|
-
const cassVals = cassSrcs.map((e) => e.is_cassette);
|
|
86
|
-
const is_cassette = cassVals.length > 0
|
|
87
|
-
? cassVals.filter(Boolean).length > cassVals.length / 2
|
|
88
|
-
: null;
|
|
89
|
-
const is_cassette_confidence = fieldConf(cassSrcs);
|
|
90
|
-
// Intercepted: median / qual
|
|
91
|
-
const interceptedSrcs = indexed.filter((e) => e.intercepted !== null);
|
|
92
|
-
const interceptedQualSrcs = indexed.filter((e) => e.intercepted_qual !== null);
|
|
93
|
-
const interceptedVals = interceptedSrcs
|
|
94
|
-
.map((e) => e.intercepted)
|
|
95
|
-
.sort((a, b) => a - b);
|
|
96
|
-
const intercepted = interceptedVals.length > 0
|
|
97
|
-
? interceptedVals[Math.floor(interceptedVals.length / 2)]
|
|
98
|
-
: null;
|
|
99
|
-
const intercepted_qual = intercepted === null
|
|
100
|
-
? modeQual(interceptedQualSrcs, "intercepted_qual")
|
|
101
|
-
: null;
|
|
102
|
-
const intercepted_qual_num = intercepted_qual !== null
|
|
103
|
-
? medianQualNum(interceptedQualSrcs, "intercepted_qual_num")
|
|
104
|
-
: null;
|
|
105
|
-
const intercepted_confidence = fieldConf(interceptedSrcs.length > 0 ? interceptedSrcs : interceptedQualSrcs);
|
|
106
|
-
// Sea impact
|
|
107
|
-
const seaSrcs = indexed.filter((e) => e.sea_impact !== null);
|
|
108
|
-
const seaQualSrcs = indexed.filter((e) => e.sea_impact_qual !== null);
|
|
109
|
-
const seaVals = seaSrcs
|
|
110
|
-
.map((e) => e.sea_impact)
|
|
111
|
-
.sort((a, b) => a - b);
|
|
112
|
-
const sea_impact = seaVals.length > 0 ? seaVals[Math.floor(seaVals.length / 2)] : null;
|
|
113
|
-
const sea_impact_qual = sea_impact === null ? modeQual(seaQualSrcs, "sea_impact_qual") : null;
|
|
114
|
-
const sea_impact_qual_num = sea_impact_qual !== null
|
|
115
|
-
? medianQualNum(seaQualSrcs, "sea_impact_qual_num")
|
|
116
|
-
: null;
|
|
117
|
-
const sea_confidence = fieldConf(seaSrcs.length > 0 ? seaSrcs : seaQualSrcs);
|
|
118
|
-
// Open area impact
|
|
119
|
-
const openSrcs = indexed.filter((e) => e.open_area_impact !== null);
|
|
120
|
-
const openQualSrcs = indexed.filter((e) => e.open_area_impact_qual !== null);
|
|
121
|
-
const openVals = openSrcs
|
|
122
|
-
.map((e) => e.open_area_impact)
|
|
123
|
-
.sort((a, b) => a - b);
|
|
124
|
-
const open_area_impact = openVals.length > 0 ? openVals[Math.floor(openVals.length / 2)] : null;
|
|
125
|
-
const open_area_impact_qual = open_area_impact === null
|
|
126
|
-
? modeQual(openQualSrcs, "open_area_impact_qual")
|
|
127
|
-
: null;
|
|
128
|
-
const open_area_impact_qual_num = open_area_impact_qual !== null
|
|
129
|
-
? medianQualNum(openQualSrcs, "open_area_impact_qual_num")
|
|
130
|
-
: null;
|
|
131
|
-
const open_area_confidence = fieldConf(openSrcs.length > 0 ? openSrcs : openQualSrcs);
|
|
132
|
-
// Hits
|
|
133
|
-
const allHitsSrcs = indexed.filter((e) => e.hits_confirmed !== null);
|
|
134
|
-
const hitsVals = allHitsSrcs
|
|
135
|
-
.map((e) => e.hits_confirmed)
|
|
136
|
-
.sort((a, b) => a - b);
|
|
137
|
-
const hits_confirmed = hitsVals.length > 0 ? hitsVals[Math.floor(hitsVals.length / 2)] : null;
|
|
138
|
-
const hitsSrcs = allHitsSrcs.filter((e) => e.hits_confirmed > 0);
|
|
139
|
-
const hits_citations = hitsSrcs.length > 0
|
|
140
|
-
? hitsSrcs.map((e) => e.idx)
|
|
141
|
-
: allHitsSrcs.map((e) => e.idx);
|
|
142
|
-
const hits_confidence = fieldConf(allHitsSrcs);
|
|
143
|
-
// Hit location & type & detail: highest-confidence source with hits > 0
|
|
144
|
-
const hitsWithLoc = hitsSrcs
|
|
145
|
-
.filter((e) => e.hit_location)
|
|
146
|
-
.sort((a, b) => b.confidence - a.confidence);
|
|
147
|
-
const hit_location = hitsWithLoc[0]?.hit_location ?? null;
|
|
148
|
-
const hit_type = hitsWithLoc[0]?.hit_type ?? null;
|
|
149
|
-
// hit_detail: from highest-confidence source that has one
|
|
150
|
-
const hitsWithDetail = hitsSrcs
|
|
151
|
-
.filter((e) => e.hit_detail)
|
|
152
|
-
.sort((a, b) => b.confidence - a.confidence);
|
|
153
|
-
const hit_detail = hitsWithDetail[0]?.hit_detail ?? null;
|
|
154
|
-
// No impacts: explicit confirmation from sources
|
|
155
|
-
const noImpactSrcs = allHitsSrcs.filter((e) => e.hits_confirmed === 0);
|
|
156
|
-
const no_impacts = noImpactSrcs.length > 0 && hits_confirmed === 0;
|
|
157
|
-
const no_impacts_citations = noImpactSrcs.map((e) => e.idx);
|
|
158
|
-
// Casualties
|
|
159
|
-
const casualtySrcs = indexed.filter((e) => e.casualties !== null && e.casualties > 0);
|
|
160
|
-
const casualtyVals = casualtySrcs
|
|
161
|
-
.map((e) => e.casualties)
|
|
162
|
-
.sort((a, b) => a - b);
|
|
163
|
-
const casualties = casualtyVals.length > 0
|
|
164
|
-
? casualtyVals[Math.floor(casualtyVals.length / 2)]
|
|
165
|
-
: null;
|
|
166
|
-
const casualties_citations = casualtySrcs.map((e) => e.idx);
|
|
167
|
-
const casualties_confidence = fieldConf(casualtySrcs);
|
|
168
|
-
// Injuries
|
|
169
|
-
const injurySrcs = indexed.filter((e) => e.injuries !== null && e.injuries > 0);
|
|
170
|
-
const injuryVals = injurySrcs
|
|
171
|
-
.map((e) => e.injuries)
|
|
172
|
-
.sort((a, b) => a - b);
|
|
173
|
-
const injuries = injuryVals.length > 0
|
|
174
|
-
? injuryVals[Math.floor(injuryVals.length / 2)]
|
|
175
|
-
: null;
|
|
176
|
-
const injuries_citations = injurySrcs.map((e) => e.idx);
|
|
177
|
-
const injuries_confidence = fieldConf(injurySrcs);
|
|
178
|
-
// Overall weighted confidence
|
|
179
|
-
const totalWeight = indexed.reduce((s, e) => s + e.source_trust * e.confidence, 0);
|
|
180
|
-
const weightedConf = totalWeight / indexed.length;
|
|
181
|
-
const voted = {
|
|
182
|
-
eta_refined_minutes: bestEta?.eta_refined_minutes ?? null,
|
|
183
|
-
eta_citations: bestEta ? [bestEta.idx] : [],
|
|
184
|
-
country_origins,
|
|
185
|
-
rocket_count_min,
|
|
186
|
-
rocket_count_max,
|
|
187
|
-
rocket_citations,
|
|
188
|
-
rocket_confidence,
|
|
189
|
-
rocket_detail,
|
|
190
|
-
is_cassette,
|
|
191
|
-
is_cassette_confidence,
|
|
192
|
-
intercepted,
|
|
193
|
-
intercepted_qual,
|
|
194
|
-
intercepted_qual_num,
|
|
195
|
-
intercepted_confidence,
|
|
196
|
-
sea_impact,
|
|
197
|
-
sea_impact_qual,
|
|
198
|
-
sea_impact_qual_num,
|
|
199
|
-
sea_confidence,
|
|
200
|
-
open_area_impact,
|
|
201
|
-
open_area_impact_qual,
|
|
202
|
-
open_area_impact_qual_num,
|
|
203
|
-
open_area_confidence,
|
|
204
|
-
hits_confirmed,
|
|
205
|
-
hits_citations,
|
|
206
|
-
hits_confidence,
|
|
207
|
-
hit_location,
|
|
208
|
-
hit_type,
|
|
209
|
-
hit_detail,
|
|
210
|
-
no_impacts,
|
|
211
|
-
no_impacts_citations,
|
|
212
|
-
intercepted_citations: interceptedSrcs.map((e) => e.idx),
|
|
213
|
-
casualties,
|
|
214
|
-
casualties_citations,
|
|
215
|
-
casualties_confidence,
|
|
216
|
-
injuries,
|
|
217
|
-
injuries_citations,
|
|
218
|
-
injuries_confidence,
|
|
219
|
-
confidence: Math.round(weightedConf * 100) / 100,
|
|
220
|
-
sources_count: indexed.length,
|
|
221
|
-
citedSources,
|
|
222
|
-
};
|
|
223
|
-
logger.info("Agent: voted", { alertId, voted });
|
|
224
|
-
return voted;
|
|
225
|
-
}
|
|
226
|
-
//# sourceMappingURL=vote.js.map
|
package/dist/agent/vote.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vote.js","sourceRoot":"","sources":["../../src/agent/vote.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/worker.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BullMQ worker — processes "enrich-alert" jobs.
|
|
3
|
-
*
|
|
4
|
-
* Session-aware scheduling:
|
|
5
|
-
* early_warning → every 20s, up to 30 min
|
|
6
|
-
* siren → every 20s, up to 15 min
|
|
7
|
-
* resolved → every 60s, up to 10 min (tail — detailed intel)
|
|
8
|
-
*
|
|
9
|
-
* After each job, checks the session phase and re-enqueues
|
|
10
|
-
* with the appropriate delay. Stops when phase expires.
|
|
11
|
-
*/
|
|
12
|
-
export declare function startEnrichWorker(): void;
|
|
13
|
-
export declare function stopEnrichWorker(): Promise<void>;
|
|
14
|
-
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/agent/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgEH,wBAAgB,iBAAiB,IAAI,IAAI,CAsFxC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD"}
|
package/dist/agent/worker.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BullMQ worker — processes "enrich-alert" jobs.
|
|
3
|
-
*
|
|
4
|
-
* Session-aware scheduling:
|
|
5
|
-
* early_warning → every 20s, up to 30 min
|
|
6
|
-
* siren → every 20s, up to 15 min
|
|
7
|
-
* resolved → every 60s, up to 10 min (tail — detailed intel)
|
|
8
|
-
*
|
|
9
|
-
* After each job, checks the session phase and re-enqueues
|
|
10
|
-
* with the appropriate delay. Stops when phase expires.
|
|
11
|
-
*/
|
|
12
|
-
import { Bot } from "grammy";
|
|
13
|
-
import { Worker } from "bullmq";
|
|
14
|
-
import { config } from "../config.js";
|
|
15
|
-
import { getLanguagePack } from "../i18n.js";
|
|
16
|
-
import * as logger from "../logger.js";
|
|
17
|
-
import { runEnrichment } from "./graph.js";
|
|
18
|
-
import { MONITORING_RE, stripMonitoring } from "./message.js";
|
|
19
|
-
import { enqueueEnrich } from "./queue.js";
|
|
20
|
-
import { clearSession, getActiveSession, isPhaseExpired, PHASE_ENRICH_DELAY_MS, } from "./store.js";
|
|
21
|
-
let _worker = null;
|
|
22
|
-
/** Remove ⏳ monitoring indicator from all chat messages (best-effort) */
|
|
23
|
-
async function removeMonitoringIndicator(session) {
|
|
24
|
-
if (!config.botToken || !MONITORING_RE.test(session.currentText))
|
|
25
|
-
return;
|
|
26
|
-
const cleaned = stripMonitoring(session.currentText);
|
|
27
|
-
const tgBot = new Bot(config.botToken);
|
|
28
|
-
const targets = session.chatMessages ?? [
|
|
29
|
-
{
|
|
30
|
-
chatId: session.chatId,
|
|
31
|
-
messageId: session.latestMessageId,
|
|
32
|
-
isCaption: session.isCaption,
|
|
33
|
-
},
|
|
34
|
-
];
|
|
35
|
-
for (const cm of targets) {
|
|
36
|
-
try {
|
|
37
|
-
if (cm.isCaption) {
|
|
38
|
-
await tgBot.api.editMessageCaption(cm.chatId, cm.messageId, {
|
|
39
|
-
caption: cleaned,
|
|
40
|
-
parse_mode: "HTML",
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
await tgBot.api.editMessageText(cm.chatId, cm.messageId, cleaned, {
|
|
45
|
-
parse_mode: "HTML",
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
const errStr = String(err);
|
|
51
|
-
if (!errStr.includes("message is not modified")) {
|
|
52
|
-
logger.error("Failed to remove monitoring indicator", {
|
|
53
|
-
error: errStr,
|
|
54
|
-
chatId: cm.chatId,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
logger.info("Removed monitoring indicator", { targets: targets.length });
|
|
60
|
-
}
|
|
61
|
-
export function startEnrichWorker() {
|
|
62
|
-
if (!config.agent.enabled)
|
|
63
|
-
return;
|
|
64
|
-
const connection = {
|
|
65
|
-
host: new URL(config.agent.redisUrl).hostname,
|
|
66
|
-
port: Number(new URL(config.agent.redisUrl).port || 6379),
|
|
67
|
-
password: new URL(config.agent.redisUrl).password || undefined,
|
|
68
|
-
};
|
|
69
|
-
_worker = new Worker("enrich-alert", async (job) => {
|
|
70
|
-
const { alertId } = job.data;
|
|
71
|
-
logger.info("Enrich worker: processing job", { alertId, jobId: job.id });
|
|
72
|
-
const session = await getActiveSession();
|
|
73
|
-
if (!session) {
|
|
74
|
-
logger.info("Enrich worker: no active session — skipping", { alertId });
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// Phase expired → end session
|
|
78
|
-
if (isPhaseExpired(session)) {
|
|
79
|
-
logger.info("Enrich worker: phase expired — ending session", {
|
|
80
|
-
alertId: session.latestAlertId,
|
|
81
|
-
phase: session.phase,
|
|
82
|
-
});
|
|
83
|
-
await removeMonitoringIndicator(session);
|
|
84
|
-
await clearSession();
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const langPack = getLanguagePack(config.language);
|
|
88
|
-
// Run enrichment using latest alert's message as edit target
|
|
89
|
-
await runEnrichment({
|
|
90
|
-
alertId: session.latestAlertId,
|
|
91
|
-
alertTs: session.latestAlertTs,
|
|
92
|
-
alertType: session.phase,
|
|
93
|
-
alertAreas: session.alertAreas,
|
|
94
|
-
chatId: session.chatId,
|
|
95
|
-
messageId: session.latestMessageId,
|
|
96
|
-
isCaption: session.isCaption,
|
|
97
|
-
chatMessages: session.chatMessages,
|
|
98
|
-
currentText: session.baseText ?? session.currentText,
|
|
99
|
-
monitoringLabel: langPack.labels.monitoring,
|
|
100
|
-
});
|
|
101
|
-
// Re-check session after enrichment (may have changed phase)
|
|
102
|
-
const after = await getActiveSession();
|
|
103
|
-
if (!after)
|
|
104
|
-
return;
|
|
105
|
-
if (isPhaseExpired(after)) {
|
|
106
|
-
logger.info("Enrich worker: phase expired post-enrich — ending session", {
|
|
107
|
-
phase: after.phase,
|
|
108
|
-
});
|
|
109
|
-
await removeMonitoringIndicator(after);
|
|
110
|
-
await clearSession();
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
// Re-enqueue with phase-appropriate delay
|
|
114
|
-
const delay = PHASE_ENRICH_DELAY_MS[after.phase];
|
|
115
|
-
await enqueueEnrich(after.latestAlertId, after.latestAlertTs, delay);
|
|
116
|
-
}, {
|
|
117
|
-
connection,
|
|
118
|
-
concurrency: 1,
|
|
119
|
-
});
|
|
120
|
-
_worker.on("completed", (job) => {
|
|
121
|
-
logger.info("Enrich worker: job completed", { jobId: job.id });
|
|
122
|
-
});
|
|
123
|
-
_worker.on("failed", (job, err) => {
|
|
124
|
-
logger.error("Enrich worker: job failed", {
|
|
125
|
-
jobId: job?.id,
|
|
126
|
-
error: String(err),
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
logger.info("Enrich worker started");
|
|
130
|
-
}
|
|
131
|
-
export async function stopEnrichWorker() {
|
|
132
|
-
if (_worker) {
|
|
133
|
-
await _worker.close();
|
|
134
|
-
_worker = null;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=worker.js.map
|
package/dist/agent/worker.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/agent/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* EasyOref CLI entrypoint.
|
|
4
|
-
*
|
|
5
|
-
* easyoref — run the bot (foreground)
|
|
6
|
-
* easyoref run — same as above
|
|
7
|
-
* easyoref init — interactive setup wizard
|
|
8
|
-
* easyoref install — create systemd service + start
|
|
9
|
-
* easyoref uninstall — remove systemd service
|
|
10
|
-
* easyoref start — start service (install if needed)
|
|
11
|
-
* easyoref stop — stop service
|
|
12
|
-
* easyoref restart — restart service
|
|
13
|
-
* easyoref status — show service status
|
|
14
|
-
* easyoref logs — follow service logs
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=bin.d.ts.map
|
package/dist/bot.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EasyOref — Real-time Israeli Red Alert Filter Bot
|
|
3
|
-
*
|
|
4
|
-
* Architecture:
|
|
5
|
-
* oref.org.il API → local filter (area map) → Telegram (grammY)
|
|
6
|
-
*
|
|
7
|
-
* Flow:
|
|
8
|
-
* 1. Poll oref.org.il every 2 seconds for active alerts
|
|
9
|
-
* 2. Match areas against configured regions (Hebrew names)
|
|
10
|
-
* 3. Classify alert type: early warning / siren / incident over
|
|
11
|
-
* 4. If relevant → send calm message to configured Telegram chat
|
|
12
|
-
*
|
|
13
|
-
* No LLM needed — purely deterministic matching for <1s latency.
|
|
14
|
-
*/
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=bot.d.ts.map
|
package/dist/config.d.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EasyOref — Centralized Configuration
|
|
3
|
-
*
|
|
4
|
-
* Primary: config.yaml (searched in cwd, /app, /etc/easyoref)
|
|
5
|
-
* Fallback: environment variables + Docker secrets (for backward compat)
|
|
6
|
-
*
|
|
7
|
-
* See config.yaml.example for all available options.
|
|
8
|
-
*/
|
|
9
|
-
import { type Language } from "./i18n.js";
|
|
10
|
-
export type AlertTypeConfig = "early" | "siren" | "resolved";
|
|
11
|
-
export type GifMode = "funny_cats" | "none";
|
|
12
|
-
/** Raw YAML schema */
|
|
13
|
-
interface ConfigYaml {
|
|
14
|
-
alert_types?: AlertTypeConfig[];
|
|
15
|
-
city_ids?: number[];
|
|
16
|
-
language?: string;
|
|
17
|
-
gif_mode?: string;
|
|
18
|
-
emoji_override?: Partial<Record<AlertTypeConfig, string>>;
|
|
19
|
-
title_override?: Partial<Record<AlertTypeConfig, string>>;
|
|
20
|
-
description_override?: Partial<Record<AlertTypeConfig, string>>;
|
|
21
|
-
observability?: {
|
|
22
|
-
betterstack_token?: string;
|
|
23
|
-
};
|
|
24
|
-
telegram?: {
|
|
25
|
-
bot_token?: string;
|
|
26
|
-
chat_id?: string | string[];
|
|
27
|
-
};
|
|
28
|
-
health_port?: number;
|
|
29
|
-
poll_interval_ms?: number;
|
|
30
|
-
data_dir?: string;
|
|
31
|
-
oref_api_url?: string;
|
|
32
|
-
oref_history_url?: string;
|
|
33
|
-
ai?: ConfigYamlAi;
|
|
34
|
-
}
|
|
35
|
-
interface ConfigYamlAi {
|
|
36
|
-
enabled?: boolean;
|
|
37
|
-
openrouter_api_key?: string;
|
|
38
|
-
openrouter_filter_model?: string;
|
|
39
|
-
openrouter_extract_model?: string;
|
|
40
|
-
redis_url?: string;
|
|
41
|
-
socks5_proxy?: string;
|
|
42
|
-
enrich_delay_ms?: number;
|
|
43
|
-
confidence_threshold?: number;
|
|
44
|
-
window_minutes?: number;
|
|
45
|
-
timeout_minutes?: number;
|
|
46
|
-
/** Enable MCP tool calling for low-confidence clarification */
|
|
47
|
-
mcp_tools?: boolean;
|
|
48
|
-
/** Number of recent posts to fetch per channel during clarify (1-4) */
|
|
49
|
-
clarify_fetch_count?: number;
|
|
50
|
-
mtproto?: {
|
|
51
|
-
api_id?: number;
|
|
52
|
-
api_hash?: string;
|
|
53
|
-
session_string?: string;
|
|
54
|
-
};
|
|
55
|
-
channels?: string[];
|
|
56
|
-
/** Map monitored area prefix → human-readable region label */
|
|
57
|
-
area_labels?: Record<string, string>;
|
|
58
|
-
}
|
|
59
|
-
/** Config dir in user home — ~/.easyoref/ */
|
|
60
|
-
export declare const CONFIG_DIR: string;
|
|
61
|
-
export declare const HOME_CONFIG_PATH: string;
|
|
62
|
-
declare function loadYaml(): ConfigYaml;
|
|
63
|
-
declare function parseAlertTypes(raw?: AlertTypeConfig[]): AlertTypeConfig[];
|
|
64
|
-
export declare const config: {
|
|
65
|
-
/** Telegram bot token */
|
|
66
|
-
botToken: string;
|
|
67
|
-
/** All Telegram chat IDs to broadcast to */
|
|
68
|
-
chatIds: string[];
|
|
69
|
-
/** Primary Telegram chat ID (first in the list) */
|
|
70
|
-
chatId: string;
|
|
71
|
-
/** City IDs to monitor (resolved to Hebrew names at startup via cities.json) */
|
|
72
|
-
cityIds: number[];
|
|
73
|
-
/**
|
|
74
|
-
* Hebrew area names — legacy fallback for AREAS env var.
|
|
75
|
-
* Populated at startup from cityIds OR from AREAS env if no cityIds.
|
|
76
|
-
*/
|
|
77
|
-
areas: string[];
|
|
78
|
-
/** Which alert types to send */
|
|
79
|
-
alertTypes: AlertTypeConfig[];
|
|
80
|
-
/** Message language */
|
|
81
|
-
language: Language;
|
|
82
|
-
/** Emoji overrides per alert type */
|
|
83
|
-
emojiOverride: Partial<Record<AlertTypeConfig, string>>;
|
|
84
|
-
/** Title overrides per alert type */
|
|
85
|
-
titleOverride: Partial<Record<AlertTypeConfig, string>>;
|
|
86
|
-
/** Description overrides per alert type */
|
|
87
|
-
descriptionOverride: Partial<Record<AlertTypeConfig, string>>;
|
|
88
|
-
/** Oref API polling interval (ms) */
|
|
89
|
-
pollIntervalMs: number;
|
|
90
|
-
/** Health endpoint port */
|
|
91
|
-
healthPort: number;
|
|
92
|
-
/** Oref API URL */
|
|
93
|
-
orefApiUrl: string;
|
|
94
|
-
/** Oref alert history URL (base, without date params) */
|
|
95
|
-
orefHistoryUrl: string;
|
|
96
|
-
/** Better Stack Logtail token */
|
|
97
|
-
logtailToken: string;
|
|
98
|
-
/** GIF mode */
|
|
99
|
-
gifMode: GifMode;
|
|
100
|
-
/** Path for persistent data */
|
|
101
|
-
dataDir: string;
|
|
102
|
-
/** AI enrichment config (YAML key: `ai`) */
|
|
103
|
-
agent: {
|
|
104
|
-
enabled: boolean;
|
|
105
|
-
apiKey: string;
|
|
106
|
-
filterModel: string;
|
|
107
|
-
extractModel: string;
|
|
108
|
-
redisUrl: string;
|
|
109
|
-
socks5Proxy: string;
|
|
110
|
-
enrichDelayMs: number;
|
|
111
|
-
confidenceThreshold: number;
|
|
112
|
-
windowMinutes: number;
|
|
113
|
-
timeoutMinutes: number;
|
|
114
|
-
mtproto: {
|
|
115
|
-
apiId: number;
|
|
116
|
-
apiHash: string;
|
|
117
|
-
sessionString: string;
|
|
118
|
-
};
|
|
119
|
-
channels: string[];
|
|
120
|
-
areaLabels: Record<string, string>;
|
|
121
|
-
/** Enable MCP tool calling — deterministic fan-out on low confidence */
|
|
122
|
-
mcpTools: boolean;
|
|
123
|
-
/** Posts per channel to fetch during clarify (1-4, default 3) */
|
|
124
|
-
clarifyFetchCount: number;
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
/** Exported for testing */
|
|
128
|
-
export { loadYaml as _loadYaml, parseAlertTypes as _parseAlertTypes, type ConfigYaml, };
|
|
129
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|