easyoref 1.12.0 → 1.13.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.
@@ -1,33 +1,39 @@
1
1
  /**
2
- * LangGraph.js enrichment pipeline — tiered validation.
2
+ * LangGraph.js enrichment pipeline — tiered validation + tool calling.
3
3
  *
4
4
  * Design: minimize tokens, maximize confidence.
5
+ * When confidence is low, offer tools — agent decides if they help.
5
6
  *
6
7
  * ┌──────────────────────────────────────────────────────────────┐
7
8
  * │ Tier 0: preFilter (deterministic, 0 tokens) │
8
9
  * │ → keyword + region check on raw post text │
9
10
  * │ │
10
11
  * │ Tier 1: extractAndValidate (1 LLM call per post) │
11
- * │ → combined extraction + 3 validators in single JSON:
12
- * │ V1: region_relevance (is post about our area?) │
13
- * │ V2: source_trust (factual vs rumor/panic?) │
14
- * │ V3: tone (calm/neutral/alarmist?) │
15
- * │ → structured output, all validation in one prompt │
12
+ * │ → combined extraction + 3 validators in single JSON
16
13
  * │ │
17
14
  * │ Tier 2: postFilter (deterministic, 0 tokens) │
18
- * │ → reject: region_relevance < 0.5
19
- * │ → reject: source_trust < 0.4 │
20
- * │ → reject: tone === "alarmist" │
21
- * │ → reject: all data fields null │
15
+ * │ → reject low relevance / trust / alarmist / empty
22
16
  * │ │
23
17
  * │ Tier 3: vote (deterministic, 0 tokens) │
24
18
  * │ → majority consensus across validated sources │
25
19
  * │ │
20
+ * │ Tier 3.5: shouldClarify (conditional edge) │
21
+ * │ → if confidence < threshold AND tools enabled: │
22
+ * │ → clarify: LLM sees voted result + 4 tools │
23
+ * │ • read_telegram_sources (1-4 channel posts) │
24
+ * │ • alert_history (Oref history verification) │
25
+ * │ • resolve_area (defense-zone proximity check) │
26
+ * │ • betterstack_log (query recent pipeline logs) │
27
+ * │ LLM decides: call 0, 1, 2, or 3+ tools. │
28
+ * │ → revote with merged extractions │
29
+ * │ → else: proceed to editMessage │
30
+ * │ │
26
31
  * │ Tier 4: editMessage (deterministic, 0 tokens) │
27
32
  * │ → inline update of existing key:value pairs │
28
33
  * └──────────────────────────────────────────────────────────────┘
29
34
  *
30
- * Total LLM cost: 1 call × N posts (max 8). GPT-4o-mini $0.0001/post.
35
+ * Checkpointer: MemorySaver session-level state persistence.
36
+ * Total LLM cost: 1 call × N posts + (optional) 1 clarify call + 0-N tools.
31
37
  */
32
38
  import type { AlertType } from "./types.js";
33
39
  export interface RunEnrichmentInput {
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/agent/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH,OAAO,KAAK,EACV,SAAS,EAMV,MAAM,YAAY,CAAC;AAq2BpB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/agent/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAUH,OAAO,KAAK,EACV,SAAS,EAMV,MAAM,YAAY,CAAC;AAi9BpB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB5E"}
@@ -1,39 +1,46 @@
1
1
  /**
2
- * LangGraph.js enrichment pipeline — tiered validation.
2
+ * LangGraph.js enrichment pipeline — tiered validation + tool calling.
3
3
  *
4
4
  * Design: minimize tokens, maximize confidence.
5
+ * When confidence is low, offer tools — agent decides if they help.
5
6
  *
6
7
  * ┌──────────────────────────────────────────────────────────────┐
7
8
  * │ Tier 0: preFilter (deterministic, 0 tokens) │
8
9
  * │ → keyword + region check on raw post text │
9
10
  * │ │
10
11
  * │ Tier 1: extractAndValidate (1 LLM call per post) │
11
- * │ → combined extraction + 3 validators in single JSON:
12
- * │ V1: region_relevance (is post about our area?) │
13
- * │ V2: source_trust (factual vs rumor/panic?) │
14
- * │ V3: tone (calm/neutral/alarmist?) │
15
- * │ → structured output, all validation in one prompt │
12
+ * │ → combined extraction + 3 validators in single JSON
16
13
  * │ │
17
14
  * │ Tier 2: postFilter (deterministic, 0 tokens) │
18
- * │ → reject: region_relevance < 0.5
19
- * │ → reject: source_trust < 0.4 │
20
- * │ → reject: tone === "alarmist" │
21
- * │ → reject: all data fields null │
15
+ * │ → reject low relevance / trust / alarmist / empty
22
16
  * │ │
23
17
  * │ Tier 3: vote (deterministic, 0 tokens) │
24
18
  * │ → majority consensus across validated sources │
25
19
  * │ │
20
+ * │ Tier 3.5: shouldClarify (conditional edge) │
21
+ * │ → if confidence < threshold AND tools enabled: │
22
+ * │ → clarify: LLM sees voted result + 4 tools │
23
+ * │ • read_telegram_sources (1-4 channel posts) │
24
+ * │ • alert_history (Oref history verification) │
25
+ * │ • resolve_area (defense-zone proximity check) │
26
+ * │ • betterstack_log (query recent pipeline logs) │
27
+ * │ LLM decides: call 0, 1, 2, or 3+ tools. │
28
+ * │ → revote with merged extractions │
29
+ * │ → else: proceed to editMessage │
30
+ * │ │
26
31
  * │ Tier 4: editMessage (deterministic, 0 tokens) │
27
32
  * │ → inline update of existing key:value pairs │
28
33
  * └──────────────────────────────────────────────────────────────┘
29
34
  *
30
- * Total LLM cost: 1 call × N posts (max 8). GPT-4o-mini $0.0001/post.
35
+ * Checkpointer: MemorySaver session-level state persistence.
36
+ * Total LLM cost: 1 call × N posts + (optional) 1 clarify call + 0-N tools.
31
37
  */
32
- import { Annotation, StateGraph } from "@langchain/langgraph";
38
+ import { Annotation, MemorySaver, StateGraph } from "@langchain/langgraph";
33
39
  import { ChatOpenAI } from "@langchain/openai";
34
40
  import { Bot } from "grammy";
35
41
  import { config } from "../config.js";
36
42
  import * as logger from "../logger.js";
43
+ import { runClarify } from "./clarify.js";
37
44
  import { getChannelPosts } from "./store.js";
38
45
  // ── State ──────────────────────────────────────────────
39
46
  const AgentState = Annotation.Root({
@@ -49,6 +56,8 @@ const AgentState = Annotation.Root({
49
56
  filteredPosts: Annotation({ reducer: (_, b) => b }),
50
57
  extractions: Annotation({ reducer: (_, b) => b }),
51
58
  votedResult: Annotation({ reducer: (_, b) => b }),
59
+ /** Tracks whether clarify has already run (prevents infinite loop) */
60
+ clarifyAttempted: Annotation({ reducer: (_, b) => b }),
52
61
  });
53
62
  // ── LLM ───────────────────────────────────────────────
54
63
  function getLLM() {
@@ -673,21 +682,103 @@ async function editMessage(state) {
673
682
  }
674
683
  return {};
675
684
  }
685
+ // ─────────────────────────────────────────────────────────
686
+ // Clarify Node — MCP tool calling via ReAct (conditional)
687
+ // ─────────────────────────────────────────────────────────
688
+ async function clarifyNode(state) {
689
+ const { votedResult, extractions, alertId, alertAreas, alertType, messageId, currentText, } = state;
690
+ if (!votedResult) {
691
+ logger.info("Agent: clarify skipped — no voted result", { alertId });
692
+ return { clarifyAttempted: true };
693
+ }
694
+ logger.info("Agent: clarify triggered", {
695
+ alertId,
696
+ confidence: votedResult.confidence,
697
+ threshold: config.agent.confidenceThreshold,
698
+ });
699
+ try {
700
+ const result = await runClarify({
701
+ alertId,
702
+ alertAreas,
703
+ alertType,
704
+ messageId,
705
+ currentText,
706
+ extractions,
707
+ votedResult,
708
+ });
709
+ // Merge new extractions with existing valid ones
710
+ const mergedExtractions = [...extractions, ...result.newExtractions];
711
+ logger.info("Agent: clarify completed", {
712
+ alertId,
713
+ toolCalls: result.toolCallCount,
714
+ clarified: result.clarified,
715
+ newExtractions: result.newExtractions.length,
716
+ newPosts: result.newPosts.length,
717
+ });
718
+ return {
719
+ extractions: mergedExtractions,
720
+ // Reset votedResult so vote() re-runs with merged data
721
+ votedResult: null,
722
+ clarifyAttempted: true,
723
+ };
724
+ }
725
+ catch (err) {
726
+ logger.error("Agent: clarify failed", {
727
+ alertId,
728
+ error: String(err),
729
+ });
730
+ return { clarifyAttempted: true };
731
+ }
732
+ }
733
+ // ── Conditional routing after vote ─────────────────────
734
+ function shouldClarify(state) {
735
+ // Only clarify once per pipeline run (prevents infinite loop)
736
+ if (state.clarifyAttempted) {
737
+ return "editMessage";
738
+ }
739
+ // MCP tools must be enabled
740
+ if (!config.agent.mcpTools) {
741
+ return "editMessage";
742
+ }
743
+ // No voted result → nothing to clarify
744
+ if (!state.votedResult) {
745
+ return "editMessage";
746
+ }
747
+ // Confidence below threshold → clarify
748
+ if (state.votedResult.confidence < config.agent.confidenceThreshold) {
749
+ logger.info("Agent: routing to clarify (low confidence)", {
750
+ confidence: state.votedResult.confidence,
751
+ threshold: config.agent.confidenceThreshold,
752
+ });
753
+ return "clarify";
754
+ }
755
+ return "editMessage";
756
+ }
676
757
  // ── Build graph ────────────────────────────────────────
758
+ /** MemorySaver checkpointer — session-level state persistence */
759
+ const checkpointer = new MemorySaver();
677
760
  function buildGraph() {
678
761
  const graph = new StateGraph(AgentState)
679
762
  .addNode("collectAndPreFilter", collectAndPreFilter)
680
763
  .addNode("extractAndValidate", extractAndValidate)
681
764
  .addNode("postFilter", postFilter)
682
765
  .addNode("vote", vote)
766
+ .addNode("clarify", clarifyNode)
767
+ .addNode("revote", vote) // Re-run vote after clarify with merged data
683
768
  .addNode("editMessage", editMessage)
684
769
  .addEdge("__start__", "collectAndPreFilter")
685
770
  .addEdge("collectAndPreFilter", "extractAndValidate")
686
771
  .addEdge("extractAndValidate", "postFilter")
687
772
  .addEdge("postFilter", "vote")
688
- .addEdge("vote", "editMessage")
773
+ // Conditional edge: vote → clarify (low conf) or editMessage (high conf)
774
+ .addConditionalEdges("vote", shouldClarify, {
775
+ clarify: "clarify",
776
+ editMessage: "editMessage",
777
+ })
778
+ .addEdge("clarify", "revote")
779
+ .addEdge("revote", "editMessage")
689
780
  .addEdge("editMessage", "__end__");
690
- return graph.compile();
781
+ return graph.compile({ checkpointer });
691
782
  }
692
783
  export async function runEnrichment(input) {
693
784
  const app = buildGraph();
@@ -704,6 +795,9 @@ export async function runEnrichment(input) {
704
795
  filteredPosts: [],
705
796
  extractions: [],
706
797
  votedResult: null,
707
- });
798
+ clarifyAttempted: false,
799
+ },
800
+ // Thread ID for MemorySaver — enables session-level state persistence
801
+ { configurable: { thread_id: input.alertId } });
708
802
  }
709
803
  //# sourceMappingURL=graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/agent/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/agent/graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * LangChain tool definitions for agentic clarification.
3
+ *
4
+ * 4 tools the LLM can choose to call (or not):
5
+ *
6
+ * 1. read_telegram_sources
7
+ * → Fetch last 1-4 posts from a Telegram news channel via MTProto.
8
+ * Returns actual message texts — the LLM extracts data from them.
9
+ * Rate-limited: max 4 posts/call, anti-flood jitter.
10
+ *
11
+ * 2. alert_history
12
+ * → Get recent alert history from Pikud HaOref.
13
+ * Answers: "was there really an alert in area X recently?"
14
+ * More useful than active alerts (bot already has those).
15
+ *
16
+ * 3. resolve_area
17
+ * → Determine if a mentioned location is relevant to user's
18
+ * monitored areas. "попадание в Петах Тикве" → relevant for
19
+ * Герцлия? (same defense zone / Gush Dan).
20
+ *
21
+ * 4. betterstack_log
22
+ * → Query recent EasyOref logs from Better Stack.
23
+ * Answers: "what happened in the enrichment pipeline recently?"
24
+ * Uses existing Logtail token (observability.betterstack_token).
25
+ *
26
+ * Each tool returns a JSON string consumable by the LLM.
27
+ * Error handling: tool failures return { error, retry } objects.
28
+ */
29
+ import { z } from "zod";
30
+ /**
31
+ * Resolve whether a mentioned location is in the same defense zone
32
+ * as any of the user's monitored areas.
33
+ */
34
+ declare function resolveAreaProximity(mentioned: string, monitoredAreas: string[]): {
35
+ relevant: boolean;
36
+ sameZone: string | null;
37
+ monitoredMatch: string[];
38
+ reasoning: string;
39
+ };
40
+ export { resolveAreaProximity as _resolveAreaProximity };
41
+ export declare const readSourcesTool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
42
+ channel: z.ZodString;
43
+ limit: z.ZodDefault<z.ZodNumber>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ limit: number;
46
+ channel: string;
47
+ }, {
48
+ channel: string;
49
+ limit?: number | undefined;
50
+ }>, {
51
+ channel: string;
52
+ limit: number;
53
+ }, {
54
+ channel: string;
55
+ limit?: number | undefined;
56
+ }, string, "read_telegram_sources">;
57
+ export declare const alertHistoryTool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
58
+ area: z.ZodString;
59
+ last_minutes: z.ZodDefault<z.ZodNumber>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ area: string;
62
+ last_minutes: number;
63
+ }, {
64
+ area: string;
65
+ last_minutes?: number | undefined;
66
+ }>, {
67
+ area: string;
68
+ last_minutes: number;
69
+ }, {
70
+ area: string;
71
+ last_minutes?: number | undefined;
72
+ }, string, "alert_history">;
73
+ export declare const resolveAreaTool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
74
+ location: z.ZodString;
75
+ }, "strip", z.ZodTypeAny, {
76
+ location: string;
77
+ }, {
78
+ location: string;
79
+ }>, {
80
+ location: string;
81
+ }, {
82
+ location: string;
83
+ }, string, "resolve_area">;
84
+ /** Format date as DD.MM.YYYY for Oref history API */
85
+ declare function formatOrefDate(d: Date): string;
86
+ export { formatOrefDate as _formatOrefDate };
87
+ export declare const betterstackLogTool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
88
+ query: z.ZodString;
89
+ last_minutes: z.ZodDefault<z.ZodNumber>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ last_minutes: number;
92
+ query: string;
93
+ }, {
94
+ query: string;
95
+ last_minutes?: number | undefined;
96
+ }>, {
97
+ query: string;
98
+ last_minutes: number;
99
+ }, {
100
+ query: string;
101
+ last_minutes?: number | undefined;
102
+ }, string, "betterstack_log">;
103
+ export declare const clarifyTools: (import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
104
+ channel: z.ZodString;
105
+ limit: z.ZodDefault<z.ZodNumber>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ limit: number;
108
+ channel: string;
109
+ }, {
110
+ channel: string;
111
+ limit?: number | undefined;
112
+ }>, {
113
+ channel: string;
114
+ limit: number;
115
+ }, {
116
+ channel: string;
117
+ limit?: number | undefined;
118
+ }, string, "read_telegram_sources"> | import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
119
+ area: z.ZodString;
120
+ last_minutes: z.ZodDefault<z.ZodNumber>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ area: string;
123
+ last_minutes: number;
124
+ }, {
125
+ area: string;
126
+ last_minutes?: number | undefined;
127
+ }>, {
128
+ area: string;
129
+ last_minutes: number;
130
+ }, {
131
+ area: string;
132
+ last_minutes?: number | undefined;
133
+ }, string, "alert_history"> | import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
134
+ location: z.ZodString;
135
+ }, "strip", z.ZodTypeAny, {
136
+ location: string;
137
+ }, {
138
+ location: string;
139
+ }>, {
140
+ location: string;
141
+ }, {
142
+ location: string;
143
+ }, string, "resolve_area"> | import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
144
+ query: z.ZodString;
145
+ last_minutes: z.ZodDefault<z.ZodNumber>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ last_minutes: number;
148
+ query: string;
149
+ }, {
150
+ query: string;
151
+ last_minutes?: number | undefined;
152
+ }>, {
153
+ query: string;
154
+ last_minutes: number;
155
+ }, {
156
+ query: string;
157
+ last_minutes?: number | undefined;
158
+ }, string, "betterstack_log">)[];
159
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/agent/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8DxB;;;GAGG;AACH,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EAAE,GACvB;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAmFA;AAID,OAAO,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;AAIzD,eAAO,MAAM,eAAe;;;;;;;;;;aAKf,MAAM;WACR,MAAM;;;;mCAmEhB,CAAC;AAIF,eAAO,MAAM,gBAAgB;;;;;;;;;;UAKnB,MAAM;kBACE,MAAM;;;;2BA+FvB,CAAC;AAIF,eAAO,MAAM,eAAe;;;;;;;cACO,MAAM;;;0BA0CxC,CAAC;AAIF,qDAAqD;AACrD,iBAAS,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAKvC;AAED,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,CAAC;AAI7C,eAAO,MAAM,kBAAkB;;;;;;;;;;WAKpB,MAAM;kBACC,MAAM;;;;6BAkGvB,CAAC;AAIF,eAAO,MAAM,YAAY;;;;;;;;;;aAxVZ,MAAM;WACR,MAAM;;;;;;;;;;;;;;UA4EP,MAAM;kBACE,MAAM;;;;;;;;;;;cAoGW,MAAM;;;;;;;;;;;;;WA+D9B,MAAM;kBACC,MAAM;;;;gCA2GvB,CAAC"}