easyoref 1.18.5 → 1.21.1

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.
Files changed (86) hide show
  1. package/dist/agent/extract.d.ts +5 -5
  2. package/dist/agent/extract.d.ts.map +1 -1
  3. package/dist/agent/extract.js +86 -129
  4. package/dist/agent/extract.js.map +1 -1
  5. package/dist/agent/types.d.ts +6 -217
  6. package/dist/agent/types.d.ts.map +1 -1
  7. package/dist/agent/types.js +3 -32
  8. package/dist/agent/types.js.map +1 -1
  9. package/dist/bot.d.ts +1 -1
  10. package/dist/bot.js +39 -42
  11. package/dist/bot.js.map +1 -1
  12. package/dist/gif-state.js +1 -1
  13. package/dist/gif-state.js.map +1 -1
  14. package/dist/init.js +1 -1
  15. package/dist/init.js.map +1 -1
  16. package/package.json +5 -9
  17. package/dist/agent/auth.d.ts +0 -11
  18. package/dist/agent/auth.d.ts.map +0 -1
  19. package/dist/agent/auth.js +0 -54
  20. package/dist/agent/auth.js.map +0 -1
  21. package/dist/agent/clarify.d.ts +0 -44
  22. package/dist/agent/clarify.d.ts.map +0 -1
  23. package/dist/agent/clarify.js +0 -285
  24. package/dist/agent/clarify.js.map +0 -1
  25. package/dist/agent/dry-run.d.ts +0 -12
  26. package/dist/agent/dry-run.d.ts.map +0 -1
  27. package/dist/agent/dry-run.js +0 -236
  28. package/dist/agent/dry-run.js.map +0 -1
  29. package/dist/agent/filters.d.ts +0 -48
  30. package/dist/agent/filters.d.ts.map +0 -1
  31. package/dist/agent/filters.js +0 -124
  32. package/dist/agent/filters.js.map +0 -1
  33. package/dist/agent/gramjs-monitor.d.ts +0 -26
  34. package/dist/agent/gramjs-monitor.d.ts.map +0 -1
  35. package/dist/agent/gramjs-monitor.js +0 -325
  36. package/dist/agent/gramjs-monitor.js.map +0 -1
  37. package/dist/agent/graph.d.ts +0 -30
  38. package/dist/agent/graph.d.ts.map +0 -1
  39. package/dist/agent/graph.js +0 -240
  40. package/dist/agent/graph.js.map +0 -1
  41. package/dist/agent/helpers.d.ts +0 -6
  42. package/dist/agent/helpers.d.ts.map +0 -1
  43. package/dist/agent/helpers.js +0 -15
  44. package/dist/agent/helpers.js.map +0 -1
  45. package/dist/agent/message.d.ts +0 -69
  46. package/dist/agent/message.d.ts.map +0 -1
  47. package/dist/agent/message.js +0 -479
  48. package/dist/agent/message.js.map +0 -1
  49. package/dist/agent/queue.d.ts +0 -15
  50. package/dist/agent/queue.d.ts.map +0 -1
  51. package/dist/agent/queue.js +0 -41
  52. package/dist/agent/queue.js.map +0 -1
  53. package/dist/agent/redis.d.ts +0 -8
  54. package/dist/agent/redis.d.ts.map +0 -1
  55. package/dist/agent/redis.js +0 -33
  56. package/dist/agent/redis.js.map +0 -1
  57. package/dist/agent/store.d.ts +0 -93
  58. package/dist/agent/store.d.ts.map +0 -1
  59. package/dist/agent/store.js +0 -145
  60. package/dist/agent/store.js.map +0 -1
  61. package/dist/agent/tools.d.ts +0 -159
  62. package/dist/agent/tools.d.ts.map +0 -1
  63. package/dist/agent/tools.js +0 -439
  64. package/dist/agent/tools.js.map +0 -1
  65. package/dist/agent/vote.d.ts +0 -13
  66. package/dist/agent/vote.d.ts.map +0 -1
  67. package/dist/agent/vote.js +0 -246
  68. package/dist/agent/vote.js.map +0 -1
  69. package/dist/agent/worker.d.ts +0 -14
  70. package/dist/agent/worker.d.ts.map +0 -1
  71. package/dist/agent/worker.js +0 -137
  72. package/dist/agent/worker.js.map +0 -1
  73. package/dist/config.d.ts +0 -129
  74. package/dist/config.d.ts.map +0 -1
  75. package/dist/config.js +0 -157
  76. package/dist/config.js.map +0 -1
  77. package/dist/i18n.d.ts +0 -49
  78. package/dist/i18n.d.ts.map +0 -1
  79. package/dist/i18n.js +0 -229
  80. package/dist/i18n.js.map +0 -1
  81. package/dist/logger.d.ts +0 -14
  82. package/dist/logger.d.ts.map +0 -1
  83. package/dist/logger.js +0 -45
  84. package/dist/logger.js.map +0 -1
  85. package/dist/service.js +0 -165
  86. package/dist/service.js.map +0 -1
@@ -1,218 +1,7 @@
1
- /** Shared types for the agent subsystem */
2
- export type AlertType = "early_warning" | "siren" | "resolved";
3
- export interface TrackedMessage {
4
- timestamp: number;
5
- text: string;
6
- url?: string;
7
- channel: string;
8
- }
9
- export interface ChannelWithUpdates {
10
- channel: string;
11
- /** Posts from session start to last enrichment job (already processed) */
12
- prev_tracked_messages: TrackedMessage[];
13
- /** Posts since last enrichment job (new, need processing) */
14
- last_tracked_messages: TrackedMessage[];
15
- }
16
- export interface ChannelTracking {
17
- track_start_timestamp: number;
18
- last_update_timestamp: number;
19
- channels_with_updates: ChannelWithUpdates[];
20
- }
21
- /**
22
- * Qualitative count descriptor — used when channels report without exact numbers.
23
- * "none" is only shown if confidence > 0.95 and explicitly stated in source.
24
- */
25
- export type QualCount = "all" | "most" | "many" | "few" | "exists" | "none" | "more_than" | "less_than";
26
- export interface RelevanceCheck {
27
- channel: string;
28
- text: string;
29
- ts: number;
30
- /** true if post passed keyword/region pre-filter */
31
- relevant: boolean;
32
- }
33
- export interface ExtractionResult {
34
- channel: string;
35
- /** V1: region relevance (0-1) — does post mention our alert region? */
36
- region_relevance: number;
37
- /** V2: source trust (0-1) — factual reporting vs rumors/panic? */
38
- source_trust: number;
39
- /** Extracted data */
40
- country_origin: string | null;
41
- rocket_count: number | null;
42
- is_cassette: boolean | null;
43
- /** Rocket breakdown: intercepted by Iron Dome */
44
- intercepted: number | null;
45
- /** Qualitative descriptor when no exact number is stated (null if exact number given) */
46
- intercepted_qual: QualCount | null;
47
- intercepted_qual_num: number | null;
48
- /** Rocket breakdown: fell in sea/empty area */
49
- sea_impact: number | null;
50
- sea_impact_qual: QualCount | null;
51
- sea_impact_qual_num: number | null;
52
- /** Rocket breakdown: hit open/populated ground */
53
- open_area_impact: number | null;
54
- open_area_impact_qual: QualCount | null;
55
- open_area_impact_qual_num: number | null;
56
- hits_confirmed: number | null;
57
- /** Region where impact occurred (in UI language) */
58
- hit_location?: string | null;
59
- /** Type of impact */
60
- hit_type?: "direct" | "shrapnel" | null;
61
- /** Impact detail: where/how (e.g. "open area", "building", "sea", "no damage"). In UI language. */
62
- hit_detail?: string | null;
63
- /** Casualties reported (injured/killed) — primarily resolved phase */
64
- casualties: number | null;
65
- injuries: number | null;
66
- /** Cause of injuries: rocket fragment/direct hit vs panic/rushing to shelter */
67
- injuries_cause: "rocket" | "rushing_to_shelter" | null;
68
- eta_refined_minutes: number | null;
69
- /** Verbatim per-region rocket breakdown (e.g. "2 center, 3 north") */
70
- rocket_detail: string | null;
71
- /** V3: tone — "calm"|"neutral"|"alarmist" */
72
- tone: "calm" | "neutral" | "alarmist";
73
- /** Overall extraction confidence (0-1) */
74
- confidence: number;
75
- /**
76
- * Time relevance (0-1) — does this post discuss the CURRENT attack?
77
- * LLM sets: 0 = clearly about a previous/different event, 1 = current event.
78
- * Post-filter rejects posts with time_relevance < 0.5.
79
- */
80
- time_relevance: number;
81
- }
82
- export interface ValidatedExtraction extends ExtractionResult {
83
- /** Passed all three validators? */
84
- valid: boolean;
85
- /** Reason if rejected */
86
- reject_reason?: string;
87
- /** Link to original Telegram post (from ChannelPost.messageUrl) */
88
- messageUrl?: string;
89
- }
90
- export interface CitedSource {
91
- /** 1-based citation index */
92
- index: number;
93
- channel: string;
94
- messageUrl: string | null;
95
- }
96
- export interface VotedResult {
97
- /** ETA in minutes (highest-confidence source) */
98
- eta_refined_minutes: number | null;
99
- /** Citation indices that provided ETA */
100
- eta_citations: number[];
101
- /** Unique origin countries with per-country citation indices */
102
- country_origins: Array<{
103
- name: string;
104
- citations: number[];
105
- }> | null;
106
- /** Rocket count range across sources (min == max → exact) */
107
- rocket_count_min: number | null;
108
- rocket_count_max: number | null;
109
- rocket_citations: number[];
110
- /** Avg weighted confidence of sources reporting rocket count (for uncertainty marker) */
111
- rocket_confidence: number;
112
- /** Verbatim per-region rocket breakdown if sources split by region */
113
- rocket_detail: string | null;
114
- is_cassette: boolean | null;
115
- /** Avg weighted confidence of sources confirming cassette munitions */
116
- is_cassette_confidence: number;
117
- /** Rocket breakdown (median values; null if no sources reported) */
118
- intercepted: number | null;
119
- intercepted_qual: QualCount | null;
120
- intercepted_qual_num: number | null;
121
- /** Avg weighted confidence of sources reporting intercepted count */
122
- intercepted_confidence: number;
123
- sea_impact: number | null;
124
- sea_impact_qual: QualCount | null;
125
- sea_impact_qual_num: number | null;
126
- sea_confidence: number;
127
- open_area_impact: number | null;
128
- open_area_impact_qual: QualCount | null;
129
- open_area_impact_qual_num: number | null;
130
- open_area_confidence: number;
131
- hits_confirmed: number | null;
132
- /** Citation indices that provided hits data */
133
- hits_citations: number[];
134
- /** Avg weighted confidence of sources reporting confirmed hits */
135
- hits_confidence: number;
136
- /** Region where impact occurred (in UI language, from highest-confidence source) */
137
- hit_location: string | null;
138
- /** Type of impact: direct or shrapnel/debris */
139
- hit_type: "direct" | "shrapnel" | null;
140
- /** Impact detail: where/how (e.g. "на открытой местности", "здание", "в море") */
141
- hit_detail: string | null;
142
- /** Sources explicitly confirm NO impacts ("прилетов нет") */
143
- no_impacts: boolean;
144
- no_impacts_citations: number[];
145
- /** Citation indices for intercepted data */
146
- intercepted_citations: number[];
147
- casualties: number | null;
148
- casualties_citations: number[];
149
- casualties_confidence: number;
150
- injuries: number | null;
151
- injuries_cause: "rocket" | "rushing_to_shelter" | null;
152
- injuries_citations: number[];
153
- injuries_confidence: number;
154
- confidence: number;
155
- sources_count: number;
156
- /** All valid sources, ordered by citation index */
157
- citedSources: CitedSource[];
158
- }
159
- /**
160
- * Cross-phase enrichment data persisted in Redis.
161
- * Each phase writes its findings; the next phase reads and carries forward.
162
- * This is the "single track" — results flow: early → siren → resolved.
163
- *
164
- * Inline citations are stored as arrays of {url, channel} for rendering
165
- * as [[1]](url), [[2]](url) inline after each data point.
166
- */
167
- export interface InlineCite {
168
- url: string;
169
- channel: string;
170
- }
171
- export interface EnrichmentData {
172
- /** Origin country (from early_warning or siren) */
173
- origin: string | null;
174
- originCites: InlineCite[];
175
- /** ETA absolute time string (e.g. "~17:42") */
176
- etaAbsolute: string | null;
177
- etaCites: InlineCite[];
178
- /** Rocket count display string (e.g. "~5–7") */
179
- rocketCount: string | null;
180
- rocketCites: InlineCite[];
181
- /** Is cassette munitions */
182
- isCassette: boolean | null;
183
- /** Interception data display string (e.g. "3", "большинство") */
184
- intercepted: string | null;
185
- interceptedCites: InlineCite[];
186
- /** Sea impact display string */
187
- seaImpact: string | null;
188
- /** Open area impact display string */
189
- openAreaImpact: string | null;
190
- /** Confirmed hits on structures */
191
- hitsConfirmed: string | null;
192
- hitsCites: InlineCite[];
193
- /** Region where impact occurred (in UI language) */
194
- hitLocation: string | null;
195
- /** Type of impact: "direct" | "shrapnel" */
196
- hitType: string | null;
197
- /** Impact detail: where/how (e.g. "на открытой местности", "здание") */
198
- hitDetail: string | null;
199
- /** Explicitly confirmed no impacts */
200
- noImpacts: boolean;
201
- noImpactsCites: InlineCite[];
202
- /** Verbatim per-region rocket breakdown */
203
- rocketDetail: string | null;
204
- /** Casualties / injuries (from resolved) */
205
- casualties: string | null;
206
- casualtiesCites: InlineCite[];
207
- injuries: string | null;
208
- /** Cause display string — set only if injuries came from rushing to shelter */
209
- injuriesCause: "rocket" | "rushing_to_shelter" | null;
210
- injuriesCites: InlineCite[];
211
- /** Time early_warning was received (for siren "Раннее: было в HH:MM") */
212
- earlyWarningTime: string | null;
213
- /** Hash of last enriched text to detect "message not modified" before sending */
214
- lastEditHash: string | null;
215
- }
216
- /** Empty enrichment data template */
217
- export declare function emptyEnrichmentData(): EnrichmentData;
1
+ /** Re-export types from shared and agent packages */
2
+ export type { ActiveSession, AlertMeta, AlertType, AlertTypeConfig, ChannelPost, ChannelTracking, NewsChannelWithUpdates, NewsMessage, CitedSource, ClarifyInput, ClarifyOutput, EnrichmentData, ExtractContext, ExtractionResult, GifMode, InlineCite, QualitativeCount, RelevanceCheck, RunEnrichmentInput, TelegramMessage, ValidatedExtraction, VotedResult, } from "@easyoref/shared";
3
+ export type { AgentStateType } from "@easyoref/agent";
4
+ export { AgentState } from "@easyoref/agent";
5
+ import { createEmptyEnrichmentData } from "@easyoref/shared";
6
+ export declare const emptyEnrichmentData: typeof createEmptyEnrichmentData;
218
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,YAAY,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,eAAe,EACf,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,eAAO,MAAM,mBAAmB,kCAA4B,CAAC"}
@@ -1,33 +1,4 @@
1
- /** Shared types for the agent subsystem */
2
- /** Empty enrichment data template */
3
- export function emptyEnrichmentData() {
4
- return {
5
- origin: null,
6
- originCites: [],
7
- etaAbsolute: null,
8
- etaCites: [],
9
- rocketCount: null,
10
- rocketCites: [],
11
- isCassette: null,
12
- intercepted: null,
13
- interceptedCites: [],
14
- seaImpact: null,
15
- openAreaImpact: null,
16
- hitsConfirmed: null,
17
- hitsCites: [],
18
- hitLocation: null,
19
- hitType: null,
20
- hitDetail: null,
21
- noImpacts: false,
22
- noImpactsCites: [],
23
- rocketDetail: null,
24
- casualties: null,
25
- casualtiesCites: [],
26
- injuries: null,
27
- injuriesCause: null,
28
- injuriesCites: [],
29
- earlyWarningTime: null,
30
- lastEditHash: null,
31
- };
32
- }
1
+ export { AgentState } from "@easyoref/agent";
2
+ import { createEmptyEnrichmentData } from "@easyoref/shared";
3
+ export const emptyEnrichmentData = createEmptyEnrichmentData;
33
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AA6P3C,qCAAqC;AACrC,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,EAAE;QACnB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC"}
package/dist/bot.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * Flow:
8
8
  * 1. Poll oref.org.il every 2 seconds for active alerts
9
9
  * 2. Match areas against configured regions (Hebrew names)
10
- * 3. Classify alert type: early warning / siren / incident over
10
+ * 3. Classify alert type: early warning / red_alert / incident over
11
11
  * 4. If relevant → send calm message to configured Telegram chat
12
12
  *
13
13
  * No LLM needed — purely deterministic matching for <1s latency.
package/dist/bot.js CHANGED
@@ -7,23 +7,18 @@
7
7
  * Flow:
8
8
  * 1. Poll oref.org.il every 2 seconds for active alerts
9
9
  * 2. Match areas against configured regions (Hebrew names)
10
- * 3. Classify alert type: early warning / siren / incident over
10
+ * 3. Classify alert type: early warning / red_alert / incident over
11
11
  * 4. If relevant → send calm message to configured Telegram chat
12
12
  *
13
13
  * No LLM needed — purely deterministic matching for <1s latency.
14
14
  */
15
+ import { buildEnrichedMessage, enqueueEnrich, MONITORING_RE, startEnrichWorker, stopEnrichWorker, stripMonitoring, } from "@easyoref/agent";
16
+ import { startMonitor, stopMonitor } from "@easyoref/gramjs";
17
+ import * as logger from "@easyoref/monitoring";
18
+ import { clearSession, closeRedis, config, getActiveSession, getEnrichmentData, getLanguagePack, initTranslations, PHASE_ENRICH_DELAY_MS, PHASE_INITIAL_DELAY_MS, resolveCityIds, saveAlertMeta, setActiveSession, translateAreas, } from "@easyoref/shared";
15
19
  import { Bot } from "grammy";
16
20
  import { createServer } from "node:http";
17
- import { startMonitor, stopMonitor } from "./agent/gramjs-monitor.js";
18
- import { enqueueEnrich } from "./agent/queue.js";
19
- import { closeRedis } from "./agent/redis.js";
20
- import { buildEnrichedMessage, MONITORING_RE, stripMonitoring, } from "./agent/message.js";
21
- import { clearSession, getActiveSession, getEnrichmentData, PHASE_ENRICH_DELAY_MS, PHASE_INITIAL_DELAY_MS, saveAlertMeta, setActiveSession, } from "./agent/store.js";
22
- import { startEnrichWorker, stopEnrichWorker } from "./agent/worker.js";
23
- import { config } from "./config.js";
24
21
  import { initGifState, pickGif } from "./gif-state.js";
25
- import { getLanguagePack, initTranslations, resolveCityIds, translateAreas, } from "./i18n.js";
26
- import * as logger from "./logger.js";
27
22
  const langPack = getLanguagePack(config.language);
28
23
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
29
24
  // Area Filter (configurable via AREAS env var)
@@ -45,10 +40,13 @@ function matchedAreaLabel(alertAreas) {
45
40
  ? matched.join(", ")
46
41
  : alertAreas.slice(0, 3).join(", ");
47
42
  }
43
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
44
+ // Alert Type Classification
45
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
48
46
  /** Map internal AlertType → YAML config key */
49
47
  const ALERT_TYPE_TO_CONFIG = {
50
48
  early_warning: "early",
51
- siren: "siren",
49
+ red_alert: "red_alert",
52
50
  resolved: "resolved",
53
51
  };
54
52
  function classifyAlertType(title) {
@@ -56,18 +54,18 @@ function classifyAlertType(title) {
56
54
  return "resolved";
57
55
  if (title.includes("בדקות הקרובות") || title.includes("צפויות להתקבל"))
58
56
  return "early_warning";
59
- return "siren";
57
+ return "red_alert";
60
58
  }
61
59
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
62
60
  // Cooldown / Dedup
63
61
  // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
62
  const COOLDOWN_EARLY_MS = 2 * 60 * 1000; // 2 min (Oref sends multiple IDs per wave)
65
- const COOLDOWN_SIREN_MS = 90 * 1000; // 1.5 min (no prior early warning)
66
- const COOLDOWN_SIREN_AFTER_EARLY_MS = 3 * 60 * 1000; // 3 min (early warning already sent)
63
+ const COOLDOWN_RED_ALERT_MS = 90 * 1000; // 1.5 min (no prior early warning)
64
+ const COOLDOWN_RED_ALERT_AFTER_EARLY_MS = 3 * 60 * 1000; // 3 min (early warning already sent)
67
65
  const COOLDOWN_RESOLVED_MS = 5 * 60 * 1000; // 5 min
68
66
  const lastSent = {
69
67
  early_warning: 0,
70
- siren: 0,
68
+ red_alert: 0,
71
69
  resolved: 0,
72
70
  };
73
71
  function shouldSend(type) {
@@ -77,12 +75,11 @@ function shouldSend(type) {
77
75
  return elapsed >= COOLDOWN_EARLY_MS;
78
76
  case "resolved":
79
77
  return elapsed >= COOLDOWN_RESOLVED_MS;
80
- case "siren": {
81
- // If early warning was already sent this cycle → longer cooldown (user already informed)
82
- const sirenCd = lastSent.early_warning > 0
83
- ? COOLDOWN_SIREN_AFTER_EARLY_MS
84
- : COOLDOWN_SIREN_MS;
85
- return elapsed >= sirenCd;
78
+ case "red_alert": {
79
+ const cd = lastSent.early_warning > 0
80
+ ? COOLDOWN_RED_ALERT_AFTER_EARLY_MS
81
+ : COOLDOWN_RED_ALERT_MS;
82
+ return elapsed >= cd;
86
83
  }
87
84
  }
88
85
  }
@@ -92,10 +89,10 @@ function markSent(type) {
92
89
  // After resolved → reset ALL others (new attack cycle)
93
90
  if (type === "resolved") {
94
91
  lastSent.early_warning = 0;
95
- lastSent.siren = 0;
92
+ lastSent.red_alert = 0;
96
93
  }
97
- // After siren → allow new early_warning (next wave) and resolved
98
- if (type === "siren") {
94
+ // After red_alert → allow new early_warning (next wave) and resolved
95
+ if (type === "red_alert") {
99
96
  lastSent.early_warning = 0;
100
97
  lastSent.resolved = 0;
101
98
  }
@@ -178,7 +175,7 @@ const CATS_EARLY_WARNING_NIGHT = [
178
175
  "https://media1.tenor.com/m/S5N8d-OpyNEAAAAC/extasyxx.gif",
179
176
  "https://media1.tenor.com/m/-1dJGIwOFo8AAAAC/wake-up-hooman-husky.gif",
180
177
  ];
181
- const CATS_SIREN = [
178
+ const CATS_RED_ALERT = [
182
179
  "https://media1.tenor.com/m/9vcHsGLyJmgAAAAd/cat-alarm-alarm.mp4",
183
180
  "https://media.tenor.com/Wx3bGh80AWkAAAPo/siren-cat.mp4",
184
181
  "https://media.giphy.com/media/WLGJGG9JjpUrmUWkYf/giphy.gif",
@@ -200,7 +197,7 @@ const GIF_POOLS = {
200
197
  funny_cats: {
201
198
  early: CATS_EARLY_WARNING,
202
199
  earlyNight: [...CATS_EARLY_WARNING, ...CATS_EARLY_WARNING_NIGHT],
203
- siren: CATS_SIREN,
200
+ red_alert: CATS_RED_ALERT,
204
201
  resolved: CATS_RESOLVED,
205
202
  },
206
203
  };
@@ -225,8 +222,8 @@ function getGifUrl(alertType) {
225
222
  const pool = isNightInIsrael() ? pools.earlyNight : pools.early;
226
223
  return pickGif(pool, isNightInIsrael() ? `${mode}_early_night` : `${mode}_early`);
227
224
  }
228
- case "siren":
229
- return pickGif(pools.siren, `${mode}_siren`);
225
+ case "red_alert":
226
+ return pickGif(pools.red_alert, `${mode}_red_alert`);
230
227
  case "resolved":
231
228
  return pickGif(pools.resolved, `${mode}_resolved`);
232
229
  }
@@ -277,8 +274,8 @@ function formatMessage(alertType, areas) {
277
274
  if (alertType === "early_warning") {
278
275
  lines.push(`<b>${labels.timeToImpact}:</b> ${labels.earlyEta}`);
279
276
  }
280
- else if (alertType === "siren") {
281
- lines.push(`<b>${labels.timeToImpact}:</b> ${labels.sirenEta}`);
277
+ else if (alertType === "red_alert") {
278
+ lines.push(`<b>${labels.timeToImpact}:</b> ${labels.redAlertEta}`);
282
279
  }
283
280
  lines.push("</blockquote>");
284
281
  // Monitoring indicator for active enrichment phases
@@ -374,7 +371,7 @@ async function removeMonitoringFromAll(botInst, session) {
374
371
  if (!MONITORING_RE.test(session.currentText))
375
372
  return;
376
373
  const cleaned = stripMonitoring(session.currentText);
377
- const targets = session.chatMessages ?? [
374
+ const targets = session.telegramMessages ?? [
378
375
  {
379
376
  chatId: session.chatId,
380
377
  messageId: session.latestMessageId,
@@ -447,7 +444,7 @@ async function processAlert(alert) {
447
444
  (alertType === "resolved" || existingForReply.phase !== "resolved");
448
445
  if (shouldReply) {
449
446
  // Build per-chat reply targets
450
- const cms = existingForReply.chatMessages ?? [
447
+ const cms = existingForReply.telegramMessages ?? [
451
448
  {
452
449
  chatId: existingForReply.chatId,
453
450
  messageId: existingForReply.latestMessageId,
@@ -468,21 +465,21 @@ async function processAlert(alert) {
468
465
  }
469
466
  try {
470
467
  // ── Send to all configured chats ──
471
- const chatMessages = [];
468
+ const telegramMessages = [];
472
469
  for (const cid of config.chatIds) {
473
470
  const replyTo = replyToMap.get(cid);
474
471
  const sent = await sendTelegram(cid, alertType, message, replyTo);
475
472
  if (sent) {
476
- chatMessages.push({
473
+ telegramMessages.push({
477
474
  chatId: cid,
478
475
  messageId: sent.messageId,
479
476
  isCaption: sent.isCaption,
480
477
  });
481
478
  }
482
479
  }
483
- if (chatMessages.length === 0)
480
+ if (telegramMessages.length === 0)
484
481
  return;
485
- const primary = chatMessages[0];
482
+ const primary = telegramMessages[0];
486
483
  // ── Session-based enrichment lifecycle ──
487
484
  if (config.agent.enabled) {
488
485
  const existingSession = await getActiveSession();
@@ -513,7 +510,7 @@ async function processAlert(alert) {
513
510
  isCaption: primary.isCaption,
514
511
  currentText: message,
515
512
  baseText: baseMessage,
516
- chatMessages,
513
+ telegramMessages,
517
514
  };
518
515
  await setActiveSession(updated);
519
516
  const delay = PHASE_ENRICH_DELAY_MS.resolved;
@@ -530,9 +527,9 @@ async function processAlert(alert) {
530
527
  }
531
528
  }
532
529
  else {
533
- // ── Early warning / Siren ──
530
+ // ── Early warning / Red Alert ──
534
531
  if (existingSession && existingSession.phase !== "resolved") {
535
- // Upgrade session phase (early → siren, or same-type refresh)
532
+ // Upgrade session phase (early → red_alert, or same-type refresh)
536
533
  if (bot)
537
534
  await removeMonitoringFromAll(bot, existingSession);
538
535
  const updated = {
@@ -547,7 +544,7 @@ async function processAlert(alert) {
547
544
  currentText: message,
548
545
  baseText: baseMessage,
549
546
  alertAreas: alert.data,
550
- chatMessages,
547
+ telegramMessages,
551
548
  };
552
549
  await setActiveSession(updated);
553
550
  logger.info("Session: upgraded phase", {
@@ -575,13 +572,13 @@ async function processAlert(alert) {
575
572
  currentText: message,
576
573
  baseText: baseMessage,
577
574
  alertAreas: alert.data,
578
- chatMessages,
575
+ telegramMessages,
579
576
  };
580
577
  await setActiveSession(session);
581
578
  logger.info("Session: started", {
582
579
  sessionId: alert.id,
583
580
  phase: alertType,
584
- chatCount: chatMessages.length,
581
+ chatCount: telegramMessages.length,
585
582
  });
586
583
  }
587
584
  const delay = PHASE_INITIAL_DELAY_MS[alertType];
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/dist/gif-state.js CHANGED
@@ -4,9 +4,9 @@
4
4
  * Stores which GIFs have been shown to avoid repeats.
5
5
  * State survives restarts + redeploys via JSON file.
6
6
  */
7
+ import * as logger from "@easyoref/monitoring";
7
8
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
9
  import { join } from "node:path";
9
- import * as logger from "./logger.js";
10
10
  let gifBags = {};
11
11
  let stateFilePath = "";
12
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gif-state.js","sourceRoot":"","sources":["../src/gif-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAWtC,IAAI,OAAO,GAAY,EAAE,CAAC;AAC1B,IAAI,aAAa,GAAG,EAAE,CAAC;AAEvB;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;YAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAC9B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;oBAClC,IAAI,EAAE,aAAa;iBACpB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC;QACH,MAAM,KAAK,GAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC1D,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,OAAe;IACrD,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;IACzB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAG,CAAC;IACvB,OAAO,EAAE,CAAC;IACV,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"gif-state.js","sourceRoot":"","sources":["../src/gif-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWjC,IAAI,OAAO,GAAY,EAAE,CAAC;AAC1B,IAAI,aAAa,GAAG,EAAE,CAAC;AAEvB;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;YAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAC9B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;oBAClC,IAAI,EAAE,aAAa;iBACpB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC;QACH,MAAM,KAAK,GAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC1D,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,OAAe;IACrD,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;IACzB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAG,CAAC;IACvB,OAAO,EAAE,CAAC;IACV,OAAO,GAAG,CAAC;AACb,CAAC"}