easyoref 1.13.0 → 1.14.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/auth.d.ts +11 -0
- package/dist/agent/auth.d.ts.map +1 -0
- package/dist/agent/auth.js +54 -0
- package/dist/agent/auth.js.map +1 -0
- package/dist/agent/clarify.d.ts +44 -0
- package/dist/agent/clarify.d.ts.map +1 -0
- package/dist/agent/clarify.js +283 -0
- package/dist/agent/clarify.js.map +1 -0
- package/dist/agent/dry-run.d.ts +12 -0
- package/dist/agent/dry-run.d.ts.map +1 -0
- package/dist/agent/dry-run.js +229 -0
- package/dist/agent/dry-run.js.map +1 -0
- package/dist/agent/gramjs-monitor.d.ts +26 -0
- package/dist/agent/gramjs-monitor.d.ts.map +1 -0
- package/dist/agent/gramjs-monitor.js +320 -0
- package/dist/agent/gramjs-monitor.js.map +1 -0
- package/dist/agent/graph.d.ts +111 -0
- package/dist/agent/graph.d.ts.map +1 -0
- package/dist/agent/graph.js +1142 -0
- package/dist/agent/graph.js.map +1 -0
- package/dist/agent/queue.d.ts +15 -0
- package/dist/agent/queue.d.ts.map +1 -0
- package/dist/agent/queue.js +41 -0
- package/dist/agent/queue.js.map +1 -0
- package/dist/agent/redis.d.ts +8 -0
- package/dist/agent/redis.d.ts.map +1 -0
- package/dist/agent/redis.js +33 -0
- package/dist/agent/redis.js.map +1 -0
- package/dist/agent/store.d.ts +71 -0
- package/dist/agent/store.d.ts.map +1 -0
- package/dist/agent/store.js +104 -0
- package/dist/agent/store.js.map +1 -0
- package/dist/agent/tools.d.ts +159 -0
- package/dist/agent/tools.d.ts.map +1 -0
- package/dist/agent/tools.js +439 -0
- package/dist/agent/tools.js.map +1 -0
- package/dist/agent/types.d.ts +163 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +26 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/agent/worker.d.ts +14 -0
- package/dist/agent/worker.d.ts.map +1 -0
- package/dist/agent/worker.js +90 -0
- package/dist/agent/worker.js.map +1 -0
- package/dist/bin.d.ts +17 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +82 -0
- package/dist/bin.js.map +1 -0
- package/dist/bot.d.ts +16 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +600 -0
- package/dist/bot.js.map +1 -0
- package/dist/config.d.ts +125 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +145 -0
- package/dist/config.js.map +1 -0
- package/dist/gif-state.d.ts +17 -0
- package/dist/gif-state.d.ts.map +1 -0
- package/dist/gif-state.js +67 -0
- package/dist/gif-state.js.map +1 -0
- package/dist/i18n.d.ts +49 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +229 -0
- package/dist/i18n.js.map +1 -0
- package/dist/init.d.ts +7 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +163 -0
- package/dist/init.js.map +1 -0
- package/dist/logger.d.ts +14 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +45 -0
- package/dist/logger.js.map +1 -0
- package/dist/service.d.ts +19 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +165 -0
- package/dist/service.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/agent/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,wBAAgB,iBAAiB,IAAI,IAAI,CA6ExC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
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 { Worker } from "bullmq";
|
|
13
|
+
import { config } from "../config.js";
|
|
14
|
+
import * as logger from "../logger.js";
|
|
15
|
+
import { runEnrichment } from "./graph.js";
|
|
16
|
+
import { enqueueEnrich } from "./queue.js";
|
|
17
|
+
import { clearSession, getActiveSession, isPhaseExpired, PHASE_ENRICH_DELAY_MS, } from "./store.js";
|
|
18
|
+
let _worker = null;
|
|
19
|
+
export function startEnrichWorker() {
|
|
20
|
+
if (!config.agent.enabled)
|
|
21
|
+
return;
|
|
22
|
+
const connection = {
|
|
23
|
+
host: new URL(config.agent.redisUrl).hostname,
|
|
24
|
+
port: Number(new URL(config.agent.redisUrl).port || 6379),
|
|
25
|
+
password: new URL(config.agent.redisUrl).password || undefined,
|
|
26
|
+
};
|
|
27
|
+
_worker = new Worker("enrich-alert", async (job) => {
|
|
28
|
+
const { alertId } = job.data;
|
|
29
|
+
logger.info("Enrich worker: processing job", { alertId, jobId: job.id });
|
|
30
|
+
const session = await getActiveSession();
|
|
31
|
+
if (!session) {
|
|
32
|
+
logger.info("Enrich worker: no active session — skipping", { alertId });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// Phase expired → end session
|
|
36
|
+
if (isPhaseExpired(session)) {
|
|
37
|
+
logger.info("Enrich worker: phase expired — ending session", {
|
|
38
|
+
alertId: session.latestAlertId,
|
|
39
|
+
phase: session.phase,
|
|
40
|
+
});
|
|
41
|
+
await clearSession();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Run enrichment using latest alert's message as edit target
|
|
45
|
+
await runEnrichment({
|
|
46
|
+
alertId: session.latestAlertId,
|
|
47
|
+
alertTs: session.latestAlertTs,
|
|
48
|
+
alertType: session.phase,
|
|
49
|
+
alertAreas: session.alertAreas,
|
|
50
|
+
chatId: session.chatId,
|
|
51
|
+
messageId: session.latestMessageId,
|
|
52
|
+
isCaption: session.isCaption,
|
|
53
|
+
currentText: session.currentText,
|
|
54
|
+
});
|
|
55
|
+
// Re-check session after enrichment (may have changed phase)
|
|
56
|
+
const after = await getActiveSession();
|
|
57
|
+
if (!after)
|
|
58
|
+
return;
|
|
59
|
+
if (isPhaseExpired(after)) {
|
|
60
|
+
logger.info("Enrich worker: phase expired post-enrich — ending session", {
|
|
61
|
+
phase: after.phase,
|
|
62
|
+
});
|
|
63
|
+
await clearSession();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
// Re-enqueue with phase-appropriate delay
|
|
67
|
+
const delay = PHASE_ENRICH_DELAY_MS[after.phase];
|
|
68
|
+
await enqueueEnrich(after.latestAlertId, after.latestAlertTs, delay);
|
|
69
|
+
}, {
|
|
70
|
+
connection,
|
|
71
|
+
concurrency: 1,
|
|
72
|
+
});
|
|
73
|
+
_worker.on("completed", (job) => {
|
|
74
|
+
logger.info("Enrich worker: job completed", { jobId: job.id });
|
|
75
|
+
});
|
|
76
|
+
_worker.on("failed", (job, err) => {
|
|
77
|
+
logger.error("Enrich worker: job failed", {
|
|
78
|
+
jobId: job?.id,
|
|
79
|
+
error: String(err),
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
logger.info("Enrich worker started");
|
|
83
|
+
}
|
|
84
|
+
export async function stopEnrichWorker() {
|
|
85
|
+
if (_worker) {
|
|
86
|
+
await _worker.close();
|
|
87
|
+
_worker = null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/agent/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
const command = process.argv[2];
|
|
17
|
+
switch (command) {
|
|
18
|
+
case "init": {
|
|
19
|
+
const { init } = await import("./init.js");
|
|
20
|
+
await init();
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
case "install": {
|
|
24
|
+
const svc = await import("./service.js");
|
|
25
|
+
svc.install();
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
case "uninstall": {
|
|
29
|
+
const svc = await import("./service.js");
|
|
30
|
+
svc.uninstall();
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
case "start": {
|
|
34
|
+
const svc = await import("./service.js");
|
|
35
|
+
svc.start();
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case "stop": {
|
|
39
|
+
const svc = await import("./service.js");
|
|
40
|
+
svc.stop();
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case "restart": {
|
|
44
|
+
const svc = await import("./service.js");
|
|
45
|
+
svc.restart();
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case "status": {
|
|
49
|
+
const svc = await import("./service.js");
|
|
50
|
+
svc.status();
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
case "logs": {
|
|
54
|
+
const svc = await import("./service.js");
|
|
55
|
+
svc.logs();
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case "--help":
|
|
59
|
+
case "-h":
|
|
60
|
+
console.log(`
|
|
61
|
+
EasyOref — Telegram alert bot for Israeli civil defense
|
|
62
|
+
|
|
63
|
+
Usage:
|
|
64
|
+
easyoref Run the bot (foreground)
|
|
65
|
+
easyoref init Interactive setup wizard
|
|
66
|
+
|
|
67
|
+
Service management:
|
|
68
|
+
easyoref install Create systemd service & start
|
|
69
|
+
easyoref uninstall Remove systemd service
|
|
70
|
+
easyoref start Start service (auto-install if needed)
|
|
71
|
+
easyoref stop Stop service
|
|
72
|
+
easyoref restart Restart service
|
|
73
|
+
easyoref status Show service status
|
|
74
|
+
easyoref logs Follow service logs
|
|
75
|
+
`);
|
|
76
|
+
break;
|
|
77
|
+
case "run":
|
|
78
|
+
default:
|
|
79
|
+
await import("./bot.js");
|
|
80
|
+
}
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAEH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,CAAC,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,IAAI,EAAE,CAAC;QACb,MAAM;IACR,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,MAAM;IACR,CAAC;IAED,KAAK,WAAW,CAAC,CAAC,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM;IACR,CAAC;IAED,KAAK,OAAO,CAAC,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM;IACR,CAAC;IAED,KAAK,MAAM,CAAC,CAAC,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,MAAM;IACR,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,MAAM;IACR,CAAC;IAED,KAAK,QAAQ,CAAC,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,MAAM;IACR,CAAC;IAED,KAAK,MAAM,CAAC,CAAC,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,MAAM;IACR,CAAC;IAED,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI;QACP,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAef,CAAC,CAAC;QACC,MAAM;IAER,KAAK,KAAK,CAAC;IACX;QACE,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/bot.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
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 family Telegram chat
|
|
12
|
+
*
|
|
13
|
+
* No LLM needed — purely deterministic matching for <1s latency.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=bot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|