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/extract.d.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* 2. Expensive model: per-post — "extract structured data"
|
|
6
6
|
* 3. Post-filter: deterministic validation on extraction results.
|
|
7
7
|
*/
|
|
8
|
+
import type { AlertType, ChannelTracking, EnrichmentData, TrackedMessage, ValidatedExtraction } from "@easyoref/shared";
|
|
8
9
|
import { ChatOpenAI } from "@langchain/openai";
|
|
9
|
-
import type { AlertType, ChannelTracking, TrackedMessage, ValidatedExtraction } from "./types.js";
|
|
10
10
|
/** Cheap model for channel pre-filtering (single call, short output) */
|
|
11
11
|
export declare function getFilterLLM(): ChatOpenAI;
|
|
12
12
|
/** Expensive model for structured data extraction (per-post) */
|
|
@@ -17,8 +17,8 @@ export declare function getExtractLLM(): ChatOpenAI;
|
|
|
17
17
|
*/
|
|
18
18
|
export declare function filterChannelsCheap(tracking: ChannelTracking, alertAreas: string[], alertTs: number, alertType: AlertType): Promise<string[]>;
|
|
19
19
|
/** Phase-specific extraction instructions */
|
|
20
|
-
export declare function getPhaseInstructions(alertType: AlertType): string;
|
|
21
|
-
export declare const EXTRACT_SYSTEM_PROMPT = "You analyze Telegram channel messages about a missile/rocket attack on Israel.\
|
|
20
|
+
export declare function getPhaseInstructions(alertType: AlertType): string | undefined;
|
|
21
|
+
export declare const EXTRACT_SYSTEM_PROMPT = "You analyze Telegram channel messages about a missile/rocket attack on Israel.\nExtract structured data from the message and return ONLY valid JSON (no markdown).\nAll field definitions and type info are in your ExtractionResultSchema.\n\nCRITICAL \u2014 TIME VALIDATION:\n- If post discusses events BEFORE alert time \u2192 timeRelevance=0\n- If post is generic military news not specific to THIS attack \u2192 timeRelevance=0.2\n- If post discusses current attack \u2192 timeRelevance=1.0\n- If uncertain \u2192 timeRelevance=0.5\n\nMANDATORY METADATA (ALWAYS INCLUDE):\n- timeRelevance, regionRelevance, confidence, sourceTrust, tone.\n- These fields MUST always be present in the JSON. Never omit them.\n- Use numbers (0.0 to 1.0) for relevance/confidence/trust and strings for tone.\n\nPHASE-SPECIFIC CONSTRAINTS:\n- If unrelated to the alert region, set regionRelevance=0 and all data fields to null.\n- If message is speculative/unconfirmed rumor, set sourceTrust < 0.4.\n- If message uses excessive caps, exclamation marks, panic language \u2192 tone=\"alarmist\".\n- Only extract concrete numbers explicitly stated in the text. Never guess.\n- NEVER invent specific interception numbers. If source says \"all intercepted\" without a count, use intercepted=null, interceptedQual=\"all\". If source says \"no impacts\" without specifying interceptions, set hitsConfirmed=0 and intercepted=null.\n- rocketDetail: If the source splits rocket count by region (e.g. \"2 to the center, 3 to the north\"), put the regional breakdown in rocketDetail and the TOTAL in rocketCount. If no regional split, set rocketDetail=null.\n- hit_location: If hitsConfirmed > 0, prefer SPECIFIC city/town names over macro-regions (e.g. \"\u0420\u0430\u043C\u043B\u0435\" > \"\u0426\u0435\u043D\u0442\u0440\", \"\u0420\u0438\u0448\u043E\u043D-\u043B\u0435-\u0426\u0438\u043E\u043D\" > \"\u0413\u0443\u0448-\u0414\u0430\u043D\"). Use macro-region ONLY if no specific city is mentioned. null if unknown or hitsConfirmed == 0.\n- hit_type: \"direct\" (direct hit on structure/infrastructure) | \"shrapnel\" (debris/fragments/shrapnel). null if unknown or hitsConfirmed == 0.\n- hit_detail: If hitsConfirmed > 0, describe WHERE/HOW the impact occurred. Examples: \"\u043D\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0439 \u043C\u0435\u0441\u0442\u043D\u043E\u0441\u0442\u0438\" (open area), \"\u0437\u0434\u0430\u043D\u0438\u0435\" (building), \"\u0432 \u043C\u043E\u0440\u0435\" (sea), \"\u0431\u0435\u0437 \u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043D\u0438\u0439\" (no damage). Must be written in UI language. Translate appropriately: \"\u05E9\u05D8\u05D7 \u05E4\u05EA\u05D5\u05D7\" \u2192 \"\u043D\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0439 \u043C\u0435\u0441\u0442\u043D\u043E\u0441\u0442\u0438\", \"\u05E0\u05E4\u05D9\u05DC\u05D4 \u05D1\u05E9\u05D8\u05D7 \u05E4\u05EA\u05D5\u05D7\" \u2192 \"\u043D\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0439 \u043C\u0435\u0441\u0442\u043D\u043E\u0441\u0442\u0438\". null if unknown or hitsConfirmed == 0.\n- LANGUAGE: rocketDetail, hit_location, hit_detail MUST be written in the UI language (see context header). Translate from Hebrew/Arabic/English as needed. Do NOT output verbatim Hebrew if UI language is Russian, etc.\n- *_qual fields: use ONLY when NO exact count is given. If exact number present, set *_qual=null.\n- \"none\" qual is only valid if explicitly stated (e.g., \"\u0432\u0441\u0435 \u043F\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043D\u044B\", \"\u043D\u0435 \u0443\u043F\u0430\u043B\u043E \u0432 \u043C\u043E\u0440\u0435\").\n- For IDF (@idf_telegram) posts about ongoing operations (not this specific attack) \u2192 timeRelevance=0.\n- CASUALTIES \u2014 HIGHEST THRESHOLD: Only set casualties > 0 if the source text EXPLICITLY uses words\n meaning \"killed\", \"dead\", \"died\", \"fatality\" (Hebrew: \u05E0\u05D4\u05E8\u05D2/\u05DE\u05EA/\u05E7\u05D8\u05DC; Russian: \u043F\u043E\u0433\u0438\u0431/\u0443\u0431\u0438\u0442/\u0441\u043C\u0435\u0440\u0442\u044C;\n English: killed/dead/died/fatality). NEVER infer deaths from \"serious injury\", \"critical condition\",\n or \"suspected\". If you are not 100% certain the word is in the source, set casualties=null.\n confidence for casualties MUST be >= 0.95 or set to null.\n- INJURY RETRACTIONS: If a source explicitly states \"no injured\", \"false report of injury\",\n \"\u043B\u043E\u0436\u043D\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E \u0440\u0430\u043D\u0435\u043D\u043E\u043C\", \"\u05D0\u05D9\u05DF \u05E4\u05E6\u05D5\u05E2\u05D9\u05DD\", set injuries=0 with high confidence (>= 0.8).\n This overrides earlier injury reports.\n- INJURIES CAUSE: injuries_cause distinguishes:\n - \"rocket\" = injured by rocket fragment, blast, or structural damage from impact\n - \"rushing_to_shelter\" = injured while running to shelter (fell, stampede, heart attack, panic)\n - null = unknown or no injuries. ALWAYS set this when injuries > 0.\n- GEO-RELEVANCE FOR HITS: hitsConfirmed, hit_location, hit_detail and hit_type must refer to\n the CONFIGURED ALERT ZONE only. If the source describes damage/debris in a DIFFERENT city\n or area (e.g., Rishon LeZion when the zone is Tel Aviv South), set hit_location to that city\n name with a note, set regionRelevance proportionally lower, and describe the actual location\n in hit_detail. Do NOT report hits as \"confirmed\" in the alert zone if the source says a\n different city. If the damage is in a nearby but different city (~10-30km), report it in\n hit_detail as \"<city> (~X\u043A\u043C)\".\n- LANGUAGE NEUTRALITY: Posts may be in Hebrew, Russian, Arabic, or English. The language of the post\n MUST NOT affect sourceTrust or confidence. Russian-language Israeli channels are equally reliable\n and often break news faster than Hebrew ones. Judge ONLY by factual content and tone.\n- TRUST INTERCEPTION & IMPACT REPORTS: When a channel explicitly states interception results\n (e.g., \"\u043F\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043D\u044B\", \"intercepted\", \"\u05D9\u05D9\u05E8\u05D5\u05D8\", \"\u0443\u043F\u0430\u043B\u0438 \u0432 \u043C\u043E\u0440\u0435\", \"fell in the sea\", \"\u05E0\u05E4\u05DC\u05D5 \u05D1\u05D9\u05DD\",\n \"open area impact\", \"\u05E9\u05D8\u05D7 \u05E4\u05EA\u05D5\u05D7\"), trust these claims with sourceTrust >= 0.7 and confidence >= 0.7.\n Israeli Telegram channels often report interception results before official confirmation,\n and these reports are typically accurate. Do NOT downgrade these just because they lack official source.\n- EXISTING ENRICHMENT CROSS-REFERENCE: If the context includes \"EXISTING ENRICHMENT\", previous phases\n already established facts with high confidence. Cross-reference against them:\n - If this post discusses a DIFFERENT countryOrigin than what\u2019s established, be skeptical.\n Security officials summarizing past operations or different events should get timeRelevance=0.\n - Only override existing enrichment if this post has DIRECT, specific information about the current attack.\n - General security news that appeared right after a siren but doesn't mention THIS specific attack = timeRelevance=0.\n- OFFICIAL PHASE ANNOUNCEMENTS \u2260 INCIDENT DATA: Messages from IDF / Home Front Command (Pikud HaOref)\n that announce alert phases \u2014 \"siren issued\", \"alert in effect\", \"can leave the shelter\", \"all clear\" \u2014\n are ADMINISTRATIVE NOTICES. They say nothing about rocket count, country of origin, interceptions,\n hits, casualties, or damage. Extract NO data fields from these messages. Set timeRelevance=0 and\n all data fields to null.";
|
|
22
22
|
export interface ExtractContext {
|
|
23
23
|
alertTs: number;
|
|
24
24
|
alertType: AlertType;
|
|
@@ -26,7 +26,7 @@ export interface ExtractContext {
|
|
|
26
26
|
alertId: string;
|
|
27
27
|
language: string;
|
|
28
28
|
/** Existing enrichment from earlier phases — for cross-reference */
|
|
29
|
-
existingEnrichment?:
|
|
29
|
+
existingEnrichment?: EnrichmentData;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Extract structured data from posts using expensive LLM.
|
|
@@ -43,7 +43,7 @@ export declare const _test: {
|
|
|
43
43
|
readonly getFilterLLM: typeof getFilterLLM;
|
|
44
44
|
readonly getExtractLLM: typeof getExtractLLM;
|
|
45
45
|
readonly getPhaseInstructions: typeof getPhaseInstructions;
|
|
46
|
-
readonly EXTRACT_SYSTEM_PROMPT: "You analyze Telegram channel messages about a missile/rocket attack on Israel.\
|
|
46
|
+
readonly EXTRACT_SYSTEM_PROMPT: "You analyze Telegram channel messages about a missile/rocket attack on Israel.\nExtract structured data from the message and return ONLY valid JSON (no markdown).\nAll field definitions and type info are in your ExtractionResultSchema.\n\nCRITICAL — TIME VALIDATION:\n- If post discusses events BEFORE alert time → timeRelevance=0\n- If post is generic military news not specific to THIS attack → timeRelevance=0.2\n- If post discusses current attack → timeRelevance=1.0\n- If uncertain → timeRelevance=0.5\n\nMANDATORY METADATA (ALWAYS INCLUDE):\n- timeRelevance, regionRelevance, confidence, sourceTrust, tone.\n- These fields MUST always be present in the JSON. Never omit them.\n- Use numbers (0.0 to 1.0) for relevance/confidence/trust and strings for tone.\n\nPHASE-SPECIFIC CONSTRAINTS:\n- If unrelated to the alert region, set regionRelevance=0 and all data fields to null.\n- If message is speculative/unconfirmed rumor, set sourceTrust < 0.4.\n- If message uses excessive caps, exclamation marks, panic language → tone=\"alarmist\".\n- Only extract concrete numbers explicitly stated in the text. Never guess.\n- NEVER invent specific interception numbers. If source says \"all intercepted\" without a count, use intercepted=null, interceptedQual=\"all\". If source says \"no impacts\" without specifying interceptions, set hitsConfirmed=0 and intercepted=null.\n- rocketDetail: If the source splits rocket count by region (e.g. \"2 to the center, 3 to the north\"), put the regional breakdown in rocketDetail and the TOTAL in rocketCount. If no regional split, set rocketDetail=null.\n- hit_location: If hitsConfirmed > 0, prefer SPECIFIC city/town names over macro-regions (e.g. \"Рамле\" > \"Центр\", \"Ришон-ле-Цион\" > \"Гуш-Дан\"). Use macro-region ONLY if no specific city is mentioned. null if unknown or hitsConfirmed == 0.\n- hit_type: \"direct\" (direct hit on structure/infrastructure) | \"shrapnel\" (debris/fragments/shrapnel). null if unknown or hitsConfirmed == 0.\n- hit_detail: If hitsConfirmed > 0, describe WHERE/HOW the impact occurred. Examples: \"на открытой местности\" (open area), \"здание\" (building), \"в море\" (sea), \"без разрушений\" (no damage). Must be written in UI language. Translate appropriately: \"שטח פתוח\" → \"на открытой местности\", \"נפילה בשטח פתוח\" → \"на открытой местности\". null if unknown or hitsConfirmed == 0.\n- LANGUAGE: rocketDetail, hit_location, hit_detail MUST be written in the UI language (see context header). Translate from Hebrew/Arabic/English as needed. Do NOT output verbatim Hebrew if UI language is Russian, etc.\n- *_qual fields: use ONLY when NO exact count is given. If exact number present, set *_qual=null.\n- \"none\" qual is only valid if explicitly stated (e.g., \"все перехвачены\", \"не упало в море\").\n- For IDF (@idf_telegram) posts about ongoing operations (not this specific attack) → timeRelevance=0.\n- CASUALTIES — HIGHEST THRESHOLD: Only set casualties > 0 if the source text EXPLICITLY uses words\n meaning \"killed\", \"dead\", \"died\", \"fatality\" (Hebrew: נהרג/מת/קטל; Russian: погиб/убит/смерть;\n English: killed/dead/died/fatality). NEVER infer deaths from \"serious injury\", \"critical condition\",\n or \"suspected\". If you are not 100% certain the word is in the source, set casualties=null.\n confidence for casualties MUST be >= 0.95 or set to null.\n- INJURY RETRACTIONS: If a source explicitly states \"no injured\", \"false report of injury\",\n \"ложное сообщение о раненом\", \"אין פצועים\", set injuries=0 with high confidence (>= 0.8).\n This overrides earlier injury reports.\n- INJURIES CAUSE: injuries_cause distinguishes:\n - \"rocket\" = injured by rocket fragment, blast, or structural damage from impact\n - \"rushing_to_shelter\" = injured while running to shelter (fell, stampede, heart attack, panic)\n - null = unknown or no injuries. ALWAYS set this when injuries > 0.\n- GEO-RELEVANCE FOR HITS: hitsConfirmed, hit_location, hit_detail and hit_type must refer to\n the CONFIGURED ALERT ZONE only. If the source describes damage/debris in a DIFFERENT city\n or area (e.g., Rishon LeZion when the zone is Tel Aviv South), set hit_location to that city\n name with a note, set regionRelevance proportionally lower, and describe the actual location\n in hit_detail. Do NOT report hits as \"confirmed\" in the alert zone if the source says a\n different city. If the damage is in a nearby but different city (~10-30km), report it in\n hit_detail as \"<city> (~Xкм)\".\n- LANGUAGE NEUTRALITY: Posts may be in Hebrew, Russian, Arabic, or English. The language of the post\n MUST NOT affect sourceTrust or confidence. Russian-language Israeli channels are equally reliable\n and often break news faster than Hebrew ones. Judge ONLY by factual content and tone.\n- TRUST INTERCEPTION & IMPACT REPORTS: When a channel explicitly states interception results\n (e.g., \"перехвачены\", \"intercepted\", \"יירוט\", \"упали в море\", \"fell in the sea\", \"נפלו בים\",\n \"open area impact\", \"שטח פתוח\"), trust these claims with sourceTrust >= 0.7 and confidence >= 0.7.\n Israeli Telegram channels often report interception results before official confirmation,\n and these reports are typically accurate. Do NOT downgrade these just because they lack official source.\n- EXISTING ENRICHMENT CROSS-REFERENCE: If the context includes \"EXISTING ENRICHMENT\", previous phases\n already established facts with high confidence. Cross-reference against them:\n - If this post discusses a DIFFERENT countryOrigin than what’s established, be skeptical.\n Security officials summarizing past operations or different events should get timeRelevance=0.\n - Only override existing enrichment if this post has DIRECT, specific information about the current attack.\n - General security news that appeared right after a siren but doesn't mention THIS specific attack = timeRelevance=0.\n- OFFICIAL PHASE ANNOUNCEMENTS ≠ INCIDENT DATA: Messages from IDF / Home Front Command (Pikud HaOref)\n that announce alert phases — \"siren issued\", \"alert in effect\", \"can leave the shelter\", \"all clear\" —\n are ADMINISTRATIVE NOTICES. They say nothing about rocket count, country of origin, interceptions,\n hits, casualties, or damage. Extract NO data fields from these messages. Set timeRelevance=0 and\n all data fields to null.";
|
|
47
47
|
readonly FILTER_SYSTEM_PROMPT: "You pre-filter Telegram channels for an Israeli missile alert system.\nGiven channels with their latest messages, identify which contain IMPORTANT military intel:\n- Country of origin (where rockets/missiles launched from)\n- Impact location (where they hit)\n- Warhead type / cassette munitions\n- Weapon type (ballistic, cruise, drones)\n- Damage / destruction reports\n- Interception reports (Iron Dome, David's Sling)\n- Casualty / injury reports\n\nIGNORE channels that only contain:\n- Panic, speculation, or unverified rumors\n- Rehashes of official alerts without new data\n- General commentary without actionable facts\n\nReturn ONLY valid JSON (no markdown):\n{\"relevant_channels\": [\"@channel1\", \"@channel2\"]}\nIf NO channels have important intel, return: {\"relevant_channels\": []}";
|
|
48
48
|
readonly postFilter: typeof postFilter;
|
|
49
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/agent/extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/agent/extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,cAAc,EAEd,cAAc,EACd,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,wEAAwE;AACxE,wBAAgB,YAAY,IAAI,UAAU,CAczC;AAED,gEAAgE;AAChE,wBAAgB,aAAa,IAAI,UAAU,CAc1C;AAuBD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0DnB;AAOD,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAmB7E;AAED,eAAO,MAAM,qBAAqB,6hPAkEP,CAAC;AAE5B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,cAAc,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,cAAc,EAAE,EACvB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoJhC;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,mBAAmB,EAAE,EAClC,OAAO,EAAE,MAAM,GACd,mBAAmB,EAAE,CA8DvB;AAID,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC"}
|
package/dist/agent/extract.js
CHANGED
|
@@ -5,11 +5,9 @@
|
|
|
5
5
|
* 2. Expensive model: per-post — "extract structured data"
|
|
6
6
|
* 3. Post-filter: deterministic validation on extraction results.
|
|
7
7
|
*/
|
|
8
|
+
import * as logger from "@easyoref/monitoring";
|
|
9
|
+
import { config, getCachedExtractions, saveCachedExtractions, textHash, toIsraelTime, } from "@easyoref/shared";
|
|
8
10
|
import { ChatOpenAI } from "@langchain/openai";
|
|
9
|
-
import { config } from "../config.js";
|
|
10
|
-
import * as logger from "../logger.js";
|
|
11
|
-
import { textHash, toIsraelTime } from "./helpers.js";
|
|
12
|
-
import { getCachedExtractions, saveCachedExtractions } from "./store.js";
|
|
13
11
|
// ── LLM instances ──────────────────────────────────────
|
|
14
12
|
/** Cheap model for channel pre-filtering (single call, short output) */
|
|
15
13
|
export function getFilterLLM() {
|
|
@@ -67,15 +65,15 @@ If NO channels have important intel, return: {"relevant_channels": []}`;
|
|
|
67
65
|
* Returns channel names containing important military intel.
|
|
68
66
|
*/
|
|
69
67
|
export async function filterChannelsCheap(tracking, alertAreas, alertTs, alertType) {
|
|
70
|
-
const channels = tracking.
|
|
68
|
+
const channels = tracking.channelsWithUpdates;
|
|
71
69
|
if (channels.length === 0)
|
|
72
70
|
return [];
|
|
73
71
|
const channelSummaries = channels
|
|
74
72
|
.map((ch) => {
|
|
75
|
-
const
|
|
73
|
+
const messages = ch.lastTrackedMessages
|
|
76
74
|
.map((m) => ` [${toIsraelTime(m.timestamp)}] ${m.text.slice(0, 200)}`)
|
|
77
75
|
.join("\n");
|
|
78
|
-
return `${ch.channel} (${ch.
|
|
76
|
+
return `${ch.channel} (${ch.lastTrackedMessages.length} new):\n${messages}`;
|
|
79
77
|
})
|
|
80
78
|
.join("\n\n");
|
|
81
79
|
const regionHint = alertAreas.length > 0 ? alertAreas.join(", ") : "Israel";
|
|
@@ -115,74 +113,49 @@ export function getPhaseInstructions(alertType) {
|
|
|
115
113
|
switch (alertType) {
|
|
116
114
|
case "early_warning":
|
|
117
115
|
return `PHASE: EARLY WARNING (radar detected launches, sirens not yet).
|
|
118
|
-
Focus on:
|
|
119
|
-
Do NOT extract: intercepted,
|
|
120
|
-
If a message discusses interception results, it is about a PREVIOUS attack — set
|
|
116
|
+
Focus on: countryOrigin (WHERE were rockets launched from?), eta_refined_minutes, rocketCount, isCassette.
|
|
117
|
+
Do NOT extract: intercepted, seaImpact, open_area_impact, hitsConfirmed, casualties, injuries — these are IMPOSSIBLE at this stage.
|
|
118
|
+
If a message discusses interception results, it is about a PREVIOUS attack — set timeRelevance=0.`;
|
|
121
119
|
case "siren":
|
|
122
120
|
return `PHASE: SIREN (rockets incoming, impact imminent).
|
|
123
|
-
Focus on:
|
|
124
|
-
Do NOT extract:
|
|
121
|
+
Focus on: countryOrigin (if not known yet), rocketCount, intercepted, seaImpact, open_area_impact, isCassette.
|
|
122
|
+
Do NOT extract: hitsConfirmed, casualties, injuries — too early for confirmed damage reports.
|
|
125
123
|
If a message discusses casualties or confirmed hits, verify the timing carefully - it may be about a previous attack.`;
|
|
126
124
|
case "resolved":
|
|
127
125
|
return `PHASE: RESOLVED (incident over, assessing damage).
|
|
128
|
-
Focus on: intercepted (final count),
|
|
126
|
+
Focus on: countryOrigin, intercepted (final count), hitsConfirmed, casualties, injuries, open_area_impact.
|
|
129
127
|
All fields are valid at this stage. Prioritize confirmed official reports.`;
|
|
130
128
|
}
|
|
131
129
|
}
|
|
132
130
|
export const EXTRACT_SYSTEM_PROMPT = `You analyze Telegram channel messages about a missile/rocket attack on Israel.
|
|
133
|
-
|
|
131
|
+
Extract structured data from the message and return ONLY valid JSON (no markdown).
|
|
132
|
+
All field definitions and type info are in your ExtractionResultSchema.
|
|
134
133
|
|
|
135
134
|
CRITICAL — TIME VALIDATION:
|
|
136
|
-
|
|
137
|
-
is
|
|
138
|
-
- If post discusses
|
|
139
|
-
- If
|
|
140
|
-
- If post discusses the current attack → time_relevance=1.0
|
|
141
|
-
- If uncertain → time_relevance=0.5 (the system will use alert_history to verify)
|
|
135
|
+
- If post discusses events BEFORE alert time → timeRelevance=0
|
|
136
|
+
- If post is generic military news not specific to THIS attack → timeRelevance=0.2
|
|
137
|
+
- If post discusses current attack → timeRelevance=1.0
|
|
138
|
+
- If uncertain → timeRelevance=0.5
|
|
142
139
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
"tone": "calm"|"neutral"|"alarmist",
|
|
148
|
-
"time_relevance": float, // 0–1: is this post about the CURRENT attack? (see rules above)
|
|
149
|
-
"country_origin": string|null, // "Iran","Yemen","Lebanon","Gaza","Iraq","Syria" or null
|
|
150
|
-
"rocket_count": int|null,
|
|
151
|
-
"is_cassette": bool|null,
|
|
152
|
-
"intercepted": int|null,
|
|
153
|
-
"intercepted_qual": ${QUAL_VALUES}|null,
|
|
154
|
-
"intercepted_qual_num": int|null,
|
|
155
|
-
"sea_impact": int|null,
|
|
156
|
-
"sea_impact_qual": ${QUAL_VALUES}|null,
|
|
157
|
-
"sea_impact_qual_num": int|null,
|
|
158
|
-
"open_area_impact": int|null,
|
|
159
|
-
"open_area_impact_qual": ${QUAL_VALUES}|null,
|
|
160
|
-
"open_area_impact_qual_num": int|null,
|
|
161
|
-
"hits_confirmed": int|null,
|
|
162
|
-
"hit_location": string|null,
|
|
163
|
-
"hit_type": "direct"|"shrapnel"|null,
|
|
164
|
-
"hit_detail": string|null,
|
|
165
|
-
"casualties": int|null,
|
|
166
|
-
"injuries": int|null,
|
|
167
|
-
"eta_refined_minutes": int|null,
|
|
168
|
-
"rocket_detail": string|null,
|
|
169
|
-
"confidence": float
|
|
170
|
-
}
|
|
140
|
+
MANDATORY METADATA (ALWAYS INCLUDE):
|
|
141
|
+
- timeRelevance, regionRelevance, confidence, sourceTrust, tone.
|
|
142
|
+
- These fields MUST always be present in the JSON. Never omit them.
|
|
143
|
+
- Use numbers (0.0 to 1.0) for relevance/confidence/trust and strings for tone.
|
|
171
144
|
|
|
172
|
-
|
|
173
|
-
- If unrelated to the alert region, set
|
|
174
|
-
- If message is speculative/unconfirmed rumor, set
|
|
145
|
+
PHASE-SPECIFIC CONSTRAINTS:
|
|
146
|
+
- If unrelated to the alert region, set regionRelevance=0 and all data fields to null.
|
|
147
|
+
- If message is speculative/unconfirmed rumor, set sourceTrust < 0.4.
|
|
175
148
|
- If message uses excessive caps, exclamation marks, panic language → tone="alarmist".
|
|
176
149
|
- Only extract concrete numbers explicitly stated in the text. Never guess.
|
|
177
|
-
- NEVER invent specific interception numbers. If source says "all intercepted" without a count, use intercepted=null,
|
|
178
|
-
-
|
|
179
|
-
- hit_location: If
|
|
180
|
-
- hit_type: "direct" (direct hit on structure/infrastructure) | "shrapnel" (debris/fragments/shrapnel). null if unknown or
|
|
181
|
-
- hit_detail: If
|
|
182
|
-
- LANGUAGE:
|
|
150
|
+
- NEVER invent specific interception numbers. If source says "all intercepted" without a count, use intercepted=null, interceptedQual="all". If source says "no impacts" without specifying interceptions, set hitsConfirmed=0 and intercepted=null.
|
|
151
|
+
- rocketDetail: If the source splits rocket count by region (e.g. "2 to the center, 3 to the north"), put the regional breakdown in rocketDetail and the TOTAL in rocketCount. If no regional split, set rocketDetail=null.
|
|
152
|
+
- hit_location: If hitsConfirmed > 0, prefer SPECIFIC city/town names over macro-regions (e.g. "Рамле" > "Центр", "Ришон-ле-Цион" > "Гуш-Дан"). Use macro-region ONLY if no specific city is mentioned. null if unknown or hitsConfirmed == 0.
|
|
153
|
+
- hit_type: "direct" (direct hit on structure/infrastructure) | "shrapnel" (debris/fragments/shrapnel). null if unknown or hitsConfirmed == 0.
|
|
154
|
+
- hit_detail: If hitsConfirmed > 0, describe WHERE/HOW the impact occurred. Examples: "на открытой местности" (open area), "здание" (building), "в море" (sea), "без разрушений" (no damage). Must be written in UI language. Translate appropriately: "שטח פתוח" → "на открытой местности", "נפילה בשטח פתוח" → "на открытой местности". null if unknown or hitsConfirmed == 0.
|
|
155
|
+
- LANGUAGE: rocketDetail, hit_location, hit_detail MUST be written in the UI language (see context header). Translate from Hebrew/Arabic/English as needed. Do NOT output verbatim Hebrew if UI language is Russian, etc.
|
|
183
156
|
- *_qual fields: use ONLY when NO exact count is given. If exact number present, set *_qual=null.
|
|
184
157
|
- "none" qual is only valid if explicitly stated (e.g., "все перехвачены", "не упало в море").
|
|
185
|
-
- For IDF (@idf_telegram) posts about ongoing operations (not this specific attack) →
|
|
158
|
+
- For IDF (@idf_telegram) posts about ongoing operations (not this specific attack) → timeRelevance=0.
|
|
186
159
|
- CASUALTIES — HIGHEST THRESHOLD: Only set casualties > 0 if the source text EXPLICITLY uses words
|
|
187
160
|
meaning "killed", "dead", "died", "fatality" (Hebrew: נהרג/מת/קטל; Russian: погиб/убит/смерть;
|
|
188
161
|
English: killed/dead/died/fatality). NEVER infer deaths from "serious injury", "critical condition",
|
|
@@ -191,27 +164,36 @@ Rules:
|
|
|
191
164
|
- INJURY RETRACTIONS: If a source explicitly states "no injured", "false report of injury",
|
|
192
165
|
"ложное сообщение о раненом", "אין פצועים", set injuries=0 with high confidence (>= 0.8).
|
|
193
166
|
This overrides earlier injury reports.
|
|
194
|
-
-
|
|
167
|
+
- INJURIES CAUSE: injuries_cause distinguishes:
|
|
168
|
+
- "rocket" = injured by rocket fragment, blast, or structural damage from impact
|
|
169
|
+
- "rushing_to_shelter" = injured while running to shelter (fell, stampede, heart attack, panic)
|
|
170
|
+
- null = unknown or no injuries. ALWAYS set this when injuries > 0.
|
|
171
|
+
- GEO-RELEVANCE FOR HITS: hitsConfirmed, hit_location, hit_detail and hit_type must refer to
|
|
195
172
|
the CONFIGURED ALERT ZONE only. If the source describes damage/debris in a DIFFERENT city
|
|
196
173
|
or area (e.g., Rishon LeZion when the zone is Tel Aviv South), set hit_location to that city
|
|
197
|
-
name with a note, set
|
|
174
|
+
name with a note, set regionRelevance proportionally lower, and describe the actual location
|
|
198
175
|
in hit_detail. Do NOT report hits as "confirmed" in the alert zone if the source says a
|
|
199
176
|
different city. If the damage is in a nearby but different city (~10-30km), report it in
|
|
200
177
|
hit_detail as "<city> (~Xкм)".
|
|
201
178
|
- LANGUAGE NEUTRALITY: Posts may be in Hebrew, Russian, Arabic, or English. The language of the post
|
|
202
|
-
MUST NOT affect
|
|
179
|
+
MUST NOT affect sourceTrust or confidence. Russian-language Israeli channels are equally reliable
|
|
203
180
|
and often break news faster than Hebrew ones. Judge ONLY by factual content and tone.
|
|
204
181
|
- TRUST INTERCEPTION & IMPACT REPORTS: When a channel explicitly states interception results
|
|
205
182
|
(e.g., "перехвачены", "intercepted", "יירוט", "упали в море", "fell in the sea", "נפלו בים",
|
|
206
|
-
"open area impact", "שטח פתוח"), trust these claims with
|
|
183
|
+
"open area impact", "שטח פתוח"), trust these claims with sourceTrust >= 0.7 and confidence >= 0.7.
|
|
207
184
|
Israeli Telegram channels often report interception results before official confirmation,
|
|
208
185
|
and these reports are typically accurate. Do NOT downgrade these just because they lack official source.
|
|
209
186
|
- EXISTING ENRICHMENT CROSS-REFERENCE: If the context includes "EXISTING ENRICHMENT", previous phases
|
|
210
187
|
already established facts with high confidence. Cross-reference against them:
|
|
211
|
-
- If this post discusses a DIFFERENT
|
|
212
|
-
Security officials summarizing past operations or different events should get
|
|
188
|
+
- If this post discusses a DIFFERENT countryOrigin than what’s established, be skeptical.
|
|
189
|
+
Security officials summarizing past operations or different events should get timeRelevance=0.
|
|
213
190
|
- Only override existing enrichment if this post has DIRECT, specific information about the current attack.
|
|
214
|
-
- General security news that appeared right after a siren but doesn
|
|
191
|
+
- General security news that appeared right after a siren but doesn't mention THIS specific attack = timeRelevance=0.
|
|
192
|
+
- OFFICIAL PHASE ANNOUNCEMENTS ≠ INCIDENT DATA: Messages from IDF / Home Front Command (Pikud HaOref)
|
|
193
|
+
that announce alert phases — "siren issued", "alert in effect", "can leave the shelter", "all clear" —
|
|
194
|
+
are ADMINISTRATIVE NOTICES. They say nothing about rocket count, country of origin, interceptions,
|
|
195
|
+
hits, casualties, or damage. Extract NO data fields from these messages. Set timeRelevance=0 and
|
|
196
|
+
all data fields to null.`;
|
|
215
197
|
/**
|
|
216
198
|
* Extract structured data from posts using expensive LLM.
|
|
217
199
|
* Uses post-level dedup cache to avoid re-extracting unchanged posts.
|
|
@@ -295,12 +277,13 @@ export async function extractPosts(posts, ctx) {
|
|
|
295
277
|
const text = raw
|
|
296
278
|
.replace(/^```(?:json)?\s*\n?/i, "")
|
|
297
279
|
.replace(/\n?```\s*$/i, "");
|
|
298
|
-
const
|
|
280
|
+
const rawParsed = JSON.parse(text.trim());
|
|
281
|
+
const parsed = Object.fromEntries(Object.entries(rawParsed).filter(([_, v]) => v !== null));
|
|
299
282
|
return {
|
|
300
283
|
...parsed,
|
|
301
284
|
channel: post.channel,
|
|
302
285
|
messageUrl: post.url,
|
|
303
|
-
|
|
286
|
+
timeRelevance: parsed.timeRelevance ?? 0.5,
|
|
304
287
|
valid: true,
|
|
305
288
|
};
|
|
306
289
|
}
|
|
@@ -311,30 +294,13 @@ export async function extractPosts(posts, ctx) {
|
|
|
311
294
|
});
|
|
312
295
|
return {
|
|
313
296
|
channel: post.channel,
|
|
314
|
-
|
|
315
|
-
|
|
297
|
+
regionRelevance: 0,
|
|
298
|
+
sourceTrust: 0,
|
|
316
299
|
tone: "neutral",
|
|
317
|
-
|
|
318
|
-
country_origin: null,
|
|
319
|
-
rocket_count: null,
|
|
320
|
-
is_cassette: null,
|
|
321
|
-
intercepted: null,
|
|
322
|
-
intercepted_qual: null,
|
|
323
|
-
intercepted_qual_num: null,
|
|
324
|
-
sea_impact: null,
|
|
325
|
-
sea_impact_qual: null,
|
|
326
|
-
sea_impact_qual_num: null,
|
|
327
|
-
open_area_impact: null,
|
|
328
|
-
open_area_impact_qual: null,
|
|
329
|
-
open_area_impact_qual_num: null,
|
|
330
|
-
hits_confirmed: null,
|
|
331
|
-
casualties: null,
|
|
332
|
-
injuries: null,
|
|
333
|
-
eta_refined_minutes: null,
|
|
334
|
-
rocket_detail: null,
|
|
300
|
+
timeRelevance: 0,
|
|
335
301
|
confidence: 0,
|
|
336
302
|
valid: false,
|
|
337
|
-
|
|
303
|
+
rejectReason: "extraction_error",
|
|
338
304
|
};
|
|
339
305
|
}
|
|
340
306
|
}));
|
|
@@ -363,37 +329,47 @@ export async function extractPosts(posts, ctx) {
|
|
|
363
329
|
export function postFilter(extractions, alertId) {
|
|
364
330
|
const validated = extractions.map((ext) => {
|
|
365
331
|
// V0: TIME RELEVANCE — most important check
|
|
366
|
-
if (ext.
|
|
367
|
-
return { ...ext, valid: false,
|
|
332
|
+
if (ext.timeRelevance < 0.5) {
|
|
333
|
+
return { ...ext, valid: false, rejectReason: "stale_post" };
|
|
368
334
|
}
|
|
369
|
-
// V1: region relevance
|
|
370
|
-
|
|
371
|
-
|
|
335
|
+
// V1: region relevance — relaxed for rocketCount-only posts (national totals are valid)
|
|
336
|
+
const regionThreshold = ext.rocketCount != undefined &&
|
|
337
|
+
ext.intercepted == undefined &&
|
|
338
|
+
ext.interceptedQual == undefined &&
|
|
339
|
+
ext.hitsConfirmed == undefined &&
|
|
340
|
+
ext.casualties == undefined &&
|
|
341
|
+
ext.injuries == undefined
|
|
342
|
+
? 0.3
|
|
343
|
+
: 0.5;
|
|
344
|
+
if (ext.regionRelevance < regionThreshold) {
|
|
345
|
+
return { ...ext, valid: false, rejectReason: "region_irrelevant" };
|
|
372
346
|
}
|
|
373
347
|
// V2: source trust
|
|
374
|
-
if (ext.
|
|
375
|
-
return { ...ext, valid: false,
|
|
348
|
+
if (ext.sourceTrust < 0.4) {
|
|
349
|
+
return { ...ext, valid: false, rejectReason: "untrusted_source" };
|
|
376
350
|
}
|
|
377
351
|
// V3: tone — reject alarmist
|
|
378
352
|
if (ext.tone === "alarmist") {
|
|
379
|
-
return { ...ext, valid: false,
|
|
353
|
+
return { ...ext, valid: false, rejectReason: "alarmist_tone" };
|
|
380
354
|
}
|
|
381
|
-
// V4: at least one data field must be non-
|
|
382
|
-
const hasData = ext.
|
|
383
|
-
ext.
|
|
384
|
-
ext.
|
|
385
|
-
ext.intercepted
|
|
386
|
-
ext.
|
|
387
|
-
ext.
|
|
388
|
-
ext.casualties
|
|
389
|
-
ext.injuries
|
|
390
|
-
ext.
|
|
355
|
+
// V4: at least one data field must be non-undefined
|
|
356
|
+
const hasData = ext.countryOrigin != undefined ||
|
|
357
|
+
ext.rocketCount != undefined ||
|
|
358
|
+
ext.isCassette != undefined ||
|
|
359
|
+
ext.intercepted != undefined ||
|
|
360
|
+
ext.interceptedQual != undefined ||
|
|
361
|
+
ext.hitsConfirmed != undefined ||
|
|
362
|
+
ext.casualties != undefined ||
|
|
363
|
+
ext.injuries != undefined ||
|
|
364
|
+
ext.etaRefinedMinutes != undefined;
|
|
391
365
|
if (!hasData) {
|
|
392
|
-
return { ...ext, valid: false,
|
|
366
|
+
return { ...ext, valid: false, rejectReason: "no_data" };
|
|
393
367
|
}
|
|
394
368
|
// V5: overall confidence floor
|
|
395
|
-
|
|
396
|
-
|
|
369
|
+
// Rocket count posts get a lower floor (0.2) — national totals are high-value even if uncertain
|
|
370
|
+
const confidenceFloor = ext.rocketCount != undefined ? 0.2 : 0.3;
|
|
371
|
+
if (ext.confidence < confidenceFloor) {
|
|
372
|
+
return { ...ext, valid: false, rejectReason: "low_confidence" };
|
|
397
373
|
}
|
|
398
374
|
return { ...ext, valid: true };
|
|
399
375
|
});
|
|
@@ -403,7 +379,7 @@ export function postFilter(extractions, alertId) {
|
|
|
403
379
|
alertId,
|
|
404
380
|
passed: passed.length,
|
|
405
381
|
rejected: rejected.length,
|
|
406
|
-
reasons: rejected.map((r) => `${r.channel}:${r.
|
|
382
|
+
reasons: rejected.map((r) => `${r.channel}:${r.rejectReason}`),
|
|
407
383
|
});
|
|
408
384
|
return validated;
|
|
409
385
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/agent/extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AASzE,0DAA0D;AAE1D,wEAAwE;AACxE,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,UAAU,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;QAC/B,aAAa,EAAE;YACb,OAAO,EAAE,8BAA8B;YACvC,cAAc,EAAE;gBACd,cAAc,EAAE,4CAA4C;gBAC5D,SAAS,EAAE,UAAU;aACtB;SACF;QACD,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC3B,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,UAAU,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;QAChC,aAAa,EAAE;YACb,OAAO,EAAE,8BAA8B;YACvC,cAAc,EAAE;gBACd,cAAc,EAAE,4CAA4C;gBAC5D,SAAS,EAAE,UAAU;aACtB;SACF;QACD,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC3B,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAE1D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;uEAiB0C,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAyB,EACzB,UAAoB,EACpB,OAAe,EACf,SAAoB;IAEpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,gBAAgB,GAAG,QAAQ;SAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,KAAK,GAAG,EAAE,CAAC,qBAAqB;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;aACtE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,qBAAqB,CAAC,MAAM,WAAW,KAAK,EAAE,CAAC;IAC7E,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE5E,MAAM,UAAU,GACd,UAAU,UAAU,OAAO,YAAY,CACrC,OAAO,CACR,YAAY,SAAS,MAAM,GAAG,cAAc,gBAAgB,EAAE,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC,CAAC,CAAC;QAEH,MAAM,GAAG,GACP,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YAClC,CAAC,CAAC,QAAQ,CAAC,OAAO;YAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,GAAG;aACb,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;aACnC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAoC,CAAC;QAE1E,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACrC,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM;YACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;SAC5C,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;YAClE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;SACnB,CAAC,CAAC;QACH,sCAAsC;QACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,0DAA0D;AAE1D,MAAM,WAAW,GACf,mEAAmE,CAAC;AAEtE,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACvD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO;;;mGAGsF,CAAC;QAEhG,KAAK,OAAO;YACV,OAAO;;;sHAGyG,CAAC;QAEnH,KAAK,UAAU;YACb,OAAO;;2EAE8D,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;wBAqBb,WAAW;;;uBAGZ,WAAW;;;6BAGL,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yHAuDiF,CAAC;AAY1H;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAuB,EACvB,GAAmB;IAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,sDAAsD;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,aAAa,GAA0B,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAwB,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;QACrC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,GAAG,EAAE,QAAQ,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,sDAAsD;IACtD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,MAAM,UAAU,GACd,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAAC;IAEhE,6DAA6D;IAC7D,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM;QAChC,cAAc,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,kBAAkB,EAAE,WAAW;QACrC,cAAc,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,kBAAkB,EAAE,WAAW;QACrC,cAAc,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,MAAM,aAAa,GACjB,cAAc,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,8CAA8C,cAAc,CAAC,IAAI,CAC/D,IAAI,CACL,IAAI;QACP,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAgC,EAAE;QACxD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;QACvE,MAAM,aAAa,GACjB,UAAU,GAAG,CAAC;YACZ,CAAC,CAAC,IAAI,UAAU,oBAAoB;YACpC,CAAC,CAAC,UAAU,GAAG,CAAC;gBAChB,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB;gBAC7C,CAAC,CAAC,sBAAsB,CAAC;QAE7B,MAAM,aAAa,GACjB,eAAe,WAAW,aAAa;YACvC,eAAe,UAAU,aAAa,aAAa,IAAI;YACvD,iBAAiB,KAAK,aAAa;YACnC,iBAAiB,UAAU,IAAI;YAC/B,gBAAgB,GAAG,CAAC,QAAQ,IAAI;YAChC,aAAa,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;gBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;gBACzC;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,GAAG,aAAa,YACvB,IAAI,CAAC,OACP,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;iBAC3C;aACF,CAAC,CAAC;YAEH,MAAM,GAAG,GACP,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;gBAClC,CAAC,CAAC,QAAQ,CAAC,OAAO;gBAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG;iBACb,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;iBACnC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAqB,CAAC;YAC3D,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG;gBACpB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,GAAG;gBAC5C,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACtC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;aACnB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,IAAI,EAAE,SAAkB;gBACxB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,IAAI;gBACtB,oBAAoB,EAAE,IAAI;gBAC1B,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,IAAI;gBACrB,mBAAmB,EAAE,IAAI;gBACzB,gBAAgB,EAAE,IAAI;gBACtB,qBAAqB,EAAE,IAAI;gBAC3B,yBAAyB,EAAE,IAAI;gBAC/B,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,mBAAmB,EAAE,IAAI;gBACzB,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,kBAAkB;aAClC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,oBAAoB;IACpB,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC;IAElD,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,WAAW,EAAE,UAAU,CAAC,MAAM;QAC9B,YAAY,EAAE,aAAa,CAAC,MAAM;KACnC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0DAA0D;AAE1D;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,WAAkC,EAClC,OAAe;IAEf,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAuB,EAAE;QAC7D,4CAA4C;QAC5C,IAAI,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;YAC7B,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;QAC/D,CAAC;QACD,uBAAuB;QACvB,IAAI,GAAG,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAC/B,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;QACtE,CAAC;QACD,mBAAmB;QACnB,IAAI,GAAG,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YAC3B,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;QACrE,CAAC;QACD,6BAA6B;QAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAClE,CAAC;QACD,+CAA+C;QAC/C,MAAM,OAAO,GACX,GAAG,CAAC,cAAc,KAAK,IAAI;YAC3B,GAAG,CAAC,YAAY,KAAK,IAAI;YACzB,GAAG,CAAC,WAAW,KAAK,IAAI;YACxB,GAAG,CAAC,WAAW,KAAK,IAAI;YACxB,GAAG,CAAC,gBAAgB,KAAK,IAAI;YAC7B,GAAG,CAAC,cAAc,KAAK,IAAI;YAC3B,GAAG,CAAC,UAAU,KAAK,IAAI;YACvB,GAAG,CAAC,QAAQ,KAAK,IAAI;YACrB,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAC5D,CAAC;QACD,+BAA+B;QAC/B,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;QACnE,CAAC;QAED,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;QAChC,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;KAChE,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0DAA0D;AAE1D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,YAAY;IACZ,aAAa;IACb,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,UAAU;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/agent/extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAI1B,eAAO,MAAM,mBAAmB,KAA4B,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG"}
|
package/dist/agent/types.js
CHANGED
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
/** Shared types for the agent subsystem */
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
rocketDetail: null,
|
|
24
|
-
casualties: null,
|
|
25
|
-
casualtiesCites: [],
|
|
26
|
-
injuries: null,
|
|
27
|
-
injuriesCites: [],
|
|
28
|
-
earlyWarningTime: null,
|
|
29
|
-
lastEditHash: null,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
2
|
+
// Re-export all types from schemas (zod validated)
|
|
3
|
+
export { ActiveSessionSchema, AgentStateSchema, AlertMetaSchema, AlertTypeConfigSchema, AlertTypeSchema, ChannelPostSchema, ChannelTrackingSchema, ChannelWithUpdatesSchema, CitedSourceSchema, ClarifyInputSchema, ClarifyOutputSchema, createEmptyEnrichmentData, EnrichmentDataSchema, ExtractContextSchema, ExtractionResultSchema, GifModeSchema, InlineCiteSchema, parseJSON, QualCountSchema, RelevanceCheckSchema, RunEnrichmentInputSchema, TelegramMessageSchema, TrackedMessageSchema, ValidatedExtractionSchema, validateSafe, VotedResultSchema, } from "@easyoref/shared";
|
|
4
|
+
// Keep backward compatibility
|
|
5
|
+
import { createEmptyEnrichmentData } from "@easyoref/shared";
|
|
6
|
+
export const emptyEnrichmentData = createEmptyEnrichmentData;
|
|
7
|
+
/**
|
|
8
|
+
* ✅ All TypeScript interfaces are now generateDfrom zod schemas in ./schemas.ts
|
|
9
|
+
* The old interface definitions below are kept as comments for reference
|
|
10
|
+
* and have been replaced by zod schema validation.
|
|
11
|
+
*
|
|
12
|
+
* Types to use:
|
|
13
|
+
* - AlertType, QualCount, TrackedMessage, ChannelWithUpdates, ChannelTracking
|
|
14
|
+
* - RelevanceCheck, ExtractionResult, ValidatedExtraction
|
|
15
|
+
* - CitedSource, VotedResult, InlineCite, EnrichmentData
|
|
16
|
+
* - TelegramMessage, AlertMeta, ChannelPost, ActiveSession
|
|
17
|
+
* - ExtractContext, ClarifyInput, ClarifyOutput
|
|
18
|
+
* - AgentState, RunEnrichmentInput, AlertTypeConfig, GifMode
|
|
19
|
+
*
|
|
20
|
+
* Schemas use zod and provide runtime validation with parse() method.
|
|
21
|
+
* See ./schemas.ts for all definitions and validation.
|
|
22
|
+
*/
|
|
32
23
|
//# sourceMappingURL=types.js.map
|
package/dist/agent/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,mDAAmD;AACnD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AA6B1B,8BAA8B;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG"}
|