lit-forge-mcp 0.17.0 → 0.18.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/README.md CHANGED
@@ -4,11 +4,11 @@
4
4
  [![license](https://img.shields.io/npm/l/lit-forge-mcp.svg)](./LICENSE)
5
5
  [![node](https://img.shields.io/node/v/lit-forge-mcp.svg)](https://nodejs.org)
6
6
 
7
- **個人資産形成シミュレーション・主要市況スナップショット・経済指標発表予定・地政学イベント** を、AI から直接呼び出せる Model Context Protocol(MCP)の stdio サーバーです(**18 ツール**)。
7
+ **個人資産形成シミュレーション・主要市況スナップショット・経済指標発表予定・中銀高官発言・地政学イベント** を、AI から直接呼び出せる Model Context Protocol(MCP)の stdio サーバーです(**19 ツール**)。
8
8
 
9
9
  Claude Desktop / Claude Code / Cursor など、MCP に対応した任意の AI クライアントで動作します。
10
10
 
11
- > **最新版ハイライト(v0.17.0)**: `get_economic_events_today` **中銀高官の発言・講演**カテゴリ(`category: "centralbank"`)を新設。FRB 理事・地区連銀総裁・日銀審議委員・ECB 専務理事などの登壇を `speaker` / `speakerRole` / `votingMember`(当該会合での投票権の有無)付きで返す。指標・金融政策会合とは別系統で、注目度の高い発言を手動で随時追記。
11
+ > **最新版ハイライト(v0.18.0)**: 新ツール `get_central_bank_speakers` を追加。ForexFactory の無料カレンダーから**これからの**中銀高官の発言・講演(FRB 理事・地区連銀総裁・日銀・ECB・BOE 等)をライブ取得し、米 Fed は当年 FOMC 名簿で **役職(ダラス連銀総裁等)と投票権の有無** を補完。投票メンバーの発言は重要度を引き上げ(議長=★★★ / 投票メンバー=★★以上)。※ v0.17.0 で `get_economic_events_today` に一時導入した静的 `centralbank` カテゴリは本ツールに一本化(撤去)。
12
12
  >
13
13
  > **v0.16.0**: `get_economic_events_today`(手動キュレーション経済カレンダー)に **米 消費者信頼感指数**(Conference Board・毎月最終火曜)と **ミシガン大消費者態度指数**(速報=第 2 金曜 / 確報=第 4 金曜)を追加。為替で注目度の高い米消費マインド系をカバー。
14
14
  >
@@ -61,13 +61,14 @@ Claude / GPT / Cursor との対話のなかで、たとえば次のような問
61
61
  | `get_dividend_history` | 個別株・ETF の過去 N 年の配当履歴と暦年合計を取得(`years`: 1/3/5/10、既定 5)。NISA 成長投資枠で配当銘柄を検討する一次情報として使用 |
62
62
  | `get_analyst_consensus` | 個別株のアナリスト推奨レーティング(強気買い〜強気売り)・目標株価(平均/高値/安値)・月別推奨内訳を取得。米国株は coverage が厚く、TSE 銘柄や ETF は欠損しやすい |
63
63
 
64
- ### 経済イベント & マクロ最新値 — 3 ツール
64
+ ### 経済イベント・中銀高官発言 & マクロ最新値 — 4 ツール
65
65
 
66
- 「**次にいつ発表されるか**」(カレンダー系 2 つ)と「**今の数字はいくつか**」(最新値 1 つ)を分担。
66
+ 「**次にいつ発表されるか**」(カレンダー系 2 つ)と「**誰がいつ話すか**」(発言 1 つ)と「**今の数字はいくつか**」(最新値 1 つ)を分担。
67
67
 
68
68
  | ツール名 | 説明 |
69
69
  |---|---|
70
- | `get_economic_events_today` | 当日 or 今週の経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・米 消費者信頼感指数(CB / ミシガン大)・中国 PMI 等)に加え、**中銀高官の発言・講演**(FRB 理事・地区連銀総裁・日銀審議委員・ECB 専務理事等。`speaker` / `speakerRole` / `votingMember` 付き)を重要度付きで返す。`category` で `macro` / `policy` / `centralbank` に絞り込み可能。期間イベント(ジャクソンホール会議等)は `endDate` で複数日対応。半年分を手動キュレーション |
70
+ | `get_economic_events_today` | 当日 or 今週の経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・米 消費者信頼感指数(CB / ミシガン大)・中国 PMI 等)を重要度付きで返す。`category` で `macro` / `geopolitical` / `policy` に絞り込み可能。期間イベント(ジャクソンホール会議等)は `endDate` で複数日対応。半年分を手動キュレーション。中銀高官の発言は `get_central_bank_speakers` を使用 |
71
+ | `get_central_bank_speakers` | **これからの中銀高官の発言・講演をライブ取得**: ForexFactory 無料カレンダーから発言系イベント(FRB 理事・地区連銀総裁・日銀・ECB・BOE 等)を抽出。米 Fed は当年 FOMC 名簿で **role(ダラス連銀総裁等)/ votingMember(投票権の有無)** を補完し、投票メンバーは重要度を引き上げ(議長=★★★ / 投票メンバー=★★以上)。`range`(today/week)・`countries`(US/JP/EU/GB/CN/OTHER)で絞り込み。6 時間キャッシュ |
71
72
  | `get_economic_release_pulse` | **公式機関の発表予定を実取得**: BEA / NY 連銀 / FRB / **BLS(PFEI 経由)** / **DOL/ETA(新規失業保険申請件数)** / **S&P Global(製造業・サービス業 PMI 速報)** / 内閣府 / 日銀 のカレンダーを並列取得し、本日・今週・今月の経済指標リリース予定を統合して返す。BLS 三大指標は v0.14.0 で PFEI Schedule 統合、DOL/ETA・S&P Global は v0.15.0 で追加(前者は木曜計算 + 祝日補正、後者は公式カレンダー手転記) |
72
73
  | `get_us_macro_latest` | **米マクロ 7 系列の最新発表値**: 雇用統計・失業率・CPI・コア CPI・PPI・コア PPI・平均時給 を BLS Public Data API v2 から 1 リクエストで取得。値 + 前月比 + 前年同月比を返す。API key 不要・無認証 1 日 25 リクエスト・6 時間キャッシュ |
73
74
 
@@ -82,7 +83,7 @@ Claude / GPT / Cursor との対話のなかで、たとえば次のような問
82
83
 
83
84
  ## HTTP 通信について
84
85
 
85
- 市況・分析・個別株系ツールは **Yahoo Finance API(query1.finance.yahoo.com / query2.finance.yahoo.com)** へ、`get_us_macro_latest` は **BLS Public Data API v2(api.bls.gov)** へ、`get_economic_release_pulse` は **各公式機関のカレンダーページ**へ、`get_geopolitical_pulse` は **BBC / Al Jazeera / Google News の RSS** へ HTTPS リクエストを送信します。実行 PC のネットワークから外部に出る通信が発生する点にご留意ください。
86
+ 市況・分析・個別株系ツールは **Yahoo Finance API(query1.finance.yahoo.com / query2.finance.yahoo.com)** へ、`get_us_macro_latest` は **BLS Public Data API v2(api.bls.gov)** へ、`get_economic_release_pulse` は **各公式機関のカレンダーページ**へ、`get_geopolitical_pulse` は **BBC / Al Jazeera / Google News の RSS** へ、`get_central_bank_speakers` は **ForexFactory 無料カレンダー(nfs.faireconomy.media)** へ HTTPS リクエストを送信します。実行 PC のネットワークから外部に出る通信が発生する点にご留意ください。
86
87
 
87
88
  データは数十分〜1 時間遅れの参考値で、**投資助言ではなく情報集約**として提供しています。
88
89
 
@@ -174,6 +175,10 @@ Claude にこんな依頼ができます:
174
175
  - 「**次の雇用統計はいつ?**」「**今月の FRB と内閣府の発表予定をまとめて**」
175
176
  - 「**直近の CPI と PPI を前月比・前年同月比で**」「**コア CPI とコア PPI を比較して**」
176
177
 
178
+ **中銀高官の発言**
179
+ - 「**今日の Fed 要人発言は?投票権ありの人だけ教えて**」「**今週の中銀スピーカー一覧**」(`get_central_bank_speakers`)
180
+ - 「**今週ラガルド ECB 総裁や日銀の発言予定はある?**」(`countries=["EU","JP"]` で絞り込み)
181
+
177
182
  **地政学イベント**
178
183
  - 「今週の地政学イベントは?」「今月の G7 サミットの予定は?」
179
184
  - 「次の米中首脳会談はいつ?」「日本に関係する首脳会談だけ抽出して」(`country=["JP"]` で絞り込み)
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,124 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { describe, expect, it } from "vitest";
5
+ import { ffDateToIso, ffImpactToImportance, extractSurname, isSpeechEvent, parseFfEvents, selectSpeakers, toSpeaker, } from "../central-bank-speakers.js";
6
+ const __dirname = dirname(fileURLToPath(import.meta.url));
7
+ const SAMPLE = readFileSync(join(__dirname, "fixtures", "ff-calendar-sample.xml"), "utf-8");
8
+ describe("FF パース・正規化ヘルパー", () => {
9
+ it("isSpeechEvent は発言系のみ true", () => {
10
+ expect(isSpeechEvent("FOMC Member Logan Speaks")).toBe(true);
11
+ expect(isSpeechEvent("BOJ Gov Ueda Speech")).toBe(true);
12
+ expect(isSpeechEvent("Fed Chair Warsh Testimony")).toBe(true);
13
+ expect(isSpeechEvent("CPI m/m")).toBe(false);
14
+ expect(isSpeechEvent("Bank Holiday")).toBe(false);
15
+ });
16
+ it("extractSurname は発言動詞を落として末尾の語を返す", () => {
17
+ expect(extractSurname("FOMC Member Logan Speaks")).toBe("Logan");
18
+ expect(extractSurname("BOJ Gov Ueda Speaks")).toBe("Ueda");
19
+ expect(extractSurname("ECB President Lagarde Speaks")).toBe("Lagarde");
20
+ expect(extractSurname("Fed Chair Warsh Speaks")).toBe("Warsh");
21
+ });
22
+ it("ffDateToIso は MM-DD-YYYY → YYYY-MM-DD", () => {
23
+ expect(ffDateToIso("05-27-2026")).toBe("2026-05-27");
24
+ expect(ffDateToIso("12-01-2026")).toBe("2026-12-01");
25
+ expect(ffDateToIso("bad")).toBeNull();
26
+ });
27
+ it("ffImpactToImportance は High/Medium/その他 を 3/2/1 に", () => {
28
+ expect(ffImpactToImportance("High")).toBe(3);
29
+ expect(ffImpactToImportance("Medium")).toBe(2);
30
+ expect(ffImpactToImportance("Low")).toBe(1);
31
+ expect(ffImpactToImportance("Holiday")).toBe(1);
32
+ expect(ffImpactToImportance("")).toBe(1);
33
+ });
34
+ it("parseFfEvents はフィクスチャの 10 イベントを抽出", () => {
35
+ const events = parseFfEvents(SAMPLE);
36
+ expect(events).toHaveLength(10);
37
+ const speeches = events.filter((e) => isSpeechEvent(e.title));
38
+ expect(speeches).toHaveLength(8); // Logan/Cook/Goolsbee/Ueda/Warsh/Lagarde/Zeta/Kashkari
39
+ });
40
+ });
41
+ describe("toSpeaker の enrich", () => {
42
+ it("米投票メンバー(ローテーション地区連銀)は role/投票権付き・★★に引き上げ", () => {
43
+ const s = toSpeaker({ title: "FOMC Member Logan Speaks", country: "USD", date: "05-27-2026", time: "9:00am", impact: "Low" });
44
+ expect(s).not.toBeNull();
45
+ expect(s.country).toBe("US");
46
+ expect(s.org).toBe("FRB");
47
+ expect(s.speaker).toBe("Logan");
48
+ expect(s.role).toBe("ダラス連銀総裁");
49
+ expect(s.votingMember).toBe(true);
50
+ expect(s.votingStatus).toBe("投票権あり");
51
+ expect(s.importance).toBe(2); // FF Low だが投票メンバーで ★★ に
52
+ });
53
+ it("米理事(Cook)は FRB理事・投票権あり・★★", () => {
54
+ const s = toSpeaker({ title: "FOMC Member Cook Speaks", country: "USD", date: "05-27-2026", time: "10:00am", impact: "Low" });
55
+ expect(s.role).toBe("FRB理事");
56
+ expect(s.votingMember).toBe(true);
57
+ expect(s.importance).toBe(2);
58
+ });
59
+ it("米非投票(Goolsbee)は投票権なし・FF Low のまま ★", () => {
60
+ const s = toSpeaker({ title: "FOMC Member Goolsbee Speaks", country: "USD", date: "05-27-2026", time: "12:00pm", impact: "Low" });
61
+ expect(s.role).toBe("シカゴ連銀総裁");
62
+ expect(s.votingMember).toBe(false);
63
+ expect(s.votingStatus).toBe("投票権なし");
64
+ expect(s.importance).toBe(1);
65
+ });
66
+ it("議長(Warsh)は ★★★", () => {
67
+ const s = toSpeaker({ title: "Fed Chair Warsh Speaks", country: "USD", date: "05-28-2026", time: "2:00pm", impact: "Low" });
68
+ expect(s.role).toBe("FRB議長");
69
+ expect(s.importance).toBe(3);
70
+ });
71
+ it("名簿外の米発言者は role/投票権なしで素通し(importance は FF impact 由来)", () => {
72
+ const s = toSpeaker({ title: "FOMC Member Zeta Speaks", country: "USD", date: "05-28-2026", time: "3:00pm", impact: "Medium" });
73
+ expect(s.speaker).toBe("Zeta");
74
+ expect(s.role).toBeUndefined();
75
+ expect(s.votingMember).toBeUndefined();
76
+ expect(s.importance).toBe(2); // FF Medium
77
+ });
78
+ it("非米(BOJ Ueda)は org=日銀・投票権 enrich なし", () => {
79
+ const s = toSpeaker({ title: "BOJ Gov Ueda Speaks", country: "JPY", date: "05-27-2026", time: "6:00am", impact: "Medium" });
80
+ expect(s.country).toBe("JP");
81
+ expect(s.org).toBe("日銀");
82
+ expect(s.role).toBeUndefined();
83
+ expect(s.votingMember).toBeUndefined();
84
+ expect(s.importance).toBe(2);
85
+ });
86
+ it("発言系でない・日付不正は null", () => {
87
+ expect(toSpeaker({ title: "CPI m/m", country: "USD", date: "05-27-2026", time: "8:30am", impact: "High" })).toBeNull();
88
+ expect(toSpeaker({ title: "FOMC Member Logan Speaks", country: "USD", date: "bad", time: "9:00am", impact: "Low" })).toBeNull();
89
+ });
90
+ });
91
+ describe("selectSpeakers の期間・国フィルタ", () => {
92
+ const events = parseFfEvents(SAMPLE);
93
+ it("range=today は当日の発言のみ(指標・休場は除外)", () => {
94
+ const out = selectSpeakers(events, { range: "today", today: "2026-05-27" });
95
+ const names = out.map((s) => s.speaker).sort();
96
+ expect(names).toEqual(["Cook", "Goolsbee", "Logan", "Ueda"]);
97
+ // 指標(CPI)・休場(Holiday)は混ざらない
98
+ expect(out.every((s) => !s.rawTitle.includes("CPI"))).toBe(true);
99
+ });
100
+ it("range=week は当日〜+6 日(06-10 の Kashkari は範囲外)", () => {
101
+ const out = selectSpeakers(events, { range: "week", today: "2026-05-27" });
102
+ const names = out.map((s) => s.speaker).sort();
103
+ expect(names).toEqual(["Cook", "Goolsbee", "Lagarde", "Logan", "Ueda", "Warsh", "Zeta"]);
104
+ expect(names).not.toContain("Kashkari");
105
+ });
106
+ it("countries=US で非米(Ueda/Lagarde)を除外", () => {
107
+ const out = selectSpeakers(events, { range: "week", today: "2026-05-27", countries: ["US"] });
108
+ expect(out.every((s) => s.country === "US")).toBe(true);
109
+ expect(out.map((s) => s.speaker)).not.toContain("Ueda");
110
+ expect(out.map((s) => s.speaker)).not.toContain("Lagarde");
111
+ });
112
+ it("日付昇順 → 重要度降順でソートされる", () => {
113
+ const out = selectSpeakers(events, { range: "week", today: "2026-05-27" });
114
+ for (let i = 1; i < out.length; i++) {
115
+ const prev = out[i - 1];
116
+ const cur = out[i];
117
+ expect(prev.date <= cur.date).toBe(true);
118
+ if (prev.date === cur.date) {
119
+ expect(prev.importance >= cur.importance).toBe(true);
120
+ }
121
+ }
122
+ });
123
+ });
124
+ //# sourceMappingURL=central-bank-speakers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"central-bank-speakers.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/central-bank-speakers.test.ts"],"names":[],"mappings":"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"}
@@ -209,11 +209,7 @@ describe("中銀イベントは公式日程 JSON と一致する", () => {
209
209
  }
210
210
  it("TS 中銀エントリは全て data/central-bank-schedules/*.json に存在する", () => {
211
211
  const officialKeys = loadOfficialKeys();
212
- const tsCentralBank = ECONOMIC_EVENTS.filter((e) =>
213
- // 中銀高官の「発言」(category: "centralbank") は会合スケジュールではないため突合対象外。
214
- // 日銀審議委員・ECB 高官の発言は name に "日銀"/"ECB" を含みうるが JSON には載らない。
215
- e.category !== "centralbank" &&
216
- CENTRAL_BANK_KEYWORDS.some((kw) => e.name.includes(kw)));
212
+ const tsCentralBank = ECONOMIC_EVENTS.filter((e) => CENTRAL_BANK_KEYWORDS.some((kw) => e.name.includes(kw)));
217
213
  expect(tsCentralBank.length).toBeGreaterThan(0);
218
214
  const missing = tsCentralBank.filter((e) => {
219
215
  const key = `${e.date}|${e.time ?? ""}|${e.name}`;
@@ -280,13 +276,12 @@ describe("filterByCategory", () => {
280
276
  { date: "2026-05-11", country: "US", name: "明示 macro", importance: 2, category: "macro" },
281
277
  { date: "2026-05-11", country: "US", name: "geopolitical", importance: 2, category: "geopolitical" },
282
278
  { date: "2026-05-11", country: "JP", name: "policy", importance: 2, category: "policy" },
283
- { date: "2026-05-11", country: "US", name: "centralbank", importance: 2, category: "centralbank" },
284
279
  ];
285
280
  it("categories 未指定なら全件返す", () => {
286
- expect(filterByCategory(mixed, undefined)).toHaveLength(5);
281
+ expect(filterByCategory(mixed, undefined)).toHaveLength(4);
287
282
  });
288
283
  it("空配列なら全件返す", () => {
289
- expect(filterByCategory(mixed, [])).toHaveLength(5);
284
+ expect(filterByCategory(mixed, [])).toHaveLength(4);
290
285
  });
291
286
  it("macro のみで category 未指定エントリも含める(後方互換)", () => {
292
287
  const result = filterByCategory(mixed, ["macro"]);
@@ -297,39 +292,9 @@ describe("filterByCategory", () => {
297
292
  expect(result).toHaveLength(1);
298
293
  expect(result[0].name).toBe("geopolitical");
299
294
  });
300
- it("centralbank のみで他を除外", () => {
301
- const result = filterByCategory(mixed, ["centralbank"]);
302
- expect(result).toHaveLength(1);
303
- expect(result[0].name).toBe("centralbank");
304
- });
305
295
  it("複数カテゴリ指定の OR フィルタ", () => {
306
296
  const result = filterByCategory(mixed, ["geopolitical", "policy"]);
307
297
  expect(result.map((e) => e.name).sort()).toEqual(["geopolitical", "policy"]);
308
298
  });
309
299
  });
310
- describe("中銀高官発言 (category: centralbank)", () => {
311
- const speeches = ECONOMIC_EVENTS.filter((e) => e.category === "centralbank");
312
- it("centralbank エントリが 1 件以上存在する", () => {
313
- expect(speeches.length).toBeGreaterThan(0);
314
- });
315
- it("全ての centralbank エントリは speaker / speakerRole / votingMember を持つ", () => {
316
- const offenders = speeches.filter((e) => !e.speaker ||
317
- !e.speakerRole ||
318
- typeof e.votingMember !== "boolean");
319
- if (offenders.length > 0) {
320
- const detail = offenders.map((e) => `${e.date} ${e.name}`);
321
- throw new Error(`speaker / speakerRole / votingMember が欠けた centralbank エントリが ${offenders.length} 件あります:\n${detail.join("\n")}`);
322
- }
323
- expect(offenders).toEqual([]);
324
- });
325
- it("getEventsForDate で発言イベントが取得でき votingMember が保持される", () => {
326
- // 2026-05-27 のローガン・ダラス連銀総裁発言(投票権あり)をシードとして検証。
327
- const events = getEventsForDate("2026-05-27");
328
- const logan = events.find((e) => e.speaker === "ローガン");
329
- expect(logan).toBeDefined();
330
- expect(logan?.category).toBe("centralbank");
331
- expect(logan?.votingMember).toBe(true);
332
- expect(logan?.speakerRole).toBe("ダラス連銀総裁");
333
- });
334
- });
335
300
  //# sourceMappingURL=economic-events.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"economic-events.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/economic-events.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"economic-events.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/economic-events.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,45 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { FOMC_ROSTER, lookupFomcMember, } from "../fomc-roster.js";
3
+ describe("FOMC 名簿 (fomc-roster) のデータ整合", () => {
4
+ const members = Object.values(FOMC_ROSTER);
5
+ it("理事は 7 名で全員が投票メンバー", () => {
6
+ const governors = members.filter((m) => m.kind === "governor");
7
+ expect(governors).toHaveLength(7);
8
+ expect(governors.every((m) => m.votingMember)).toBe(true);
9
+ });
10
+ it("FOMC 投票メンバーは合計 12 名(理事 7 + NY + ローテーション 4)", () => {
11
+ const voters = members.filter((m) => m.votingMember);
12
+ expect(voters).toHaveLength(12);
13
+ });
14
+ it("投票する地区連銀総裁は 5 名(NY 常任 + ローテーション 4)", () => {
15
+ const regionalVoters = members.filter((m) => m.kind === "regional" && m.votingMember);
16
+ expect(regionalVoters).toHaveLength(5);
17
+ // NY は常任で投票
18
+ expect(FOMC_ROSTER.williams.votingMember).toBe(true);
19
+ });
20
+ it("議長はちょうど 1 名(Warsh)", () => {
21
+ const chairs = members.filter((m) => m.isChair);
22
+ expect(chairs).toHaveLength(1);
23
+ expect(FOMC_ROSTER.warsh.isChair).toBe(true);
24
+ expect(FOMC_ROSTER.warsh.roleJa).toBe("FRB議長");
25
+ });
26
+ it("キーは小文字の名字で、lookup は大文字小文字を無視する", () => {
27
+ for (const [key, m] of Object.entries(FOMC_ROSTER)) {
28
+ expect(key).toBe(m.surname.toLowerCase());
29
+ }
30
+ expect(lookupFomcMember("LOGAN")?.roleJa).toBe("ダラス連銀総裁");
31
+ expect(lookupFomcMember(" cook ")?.roleJa).toBe("FRB理事");
32
+ expect(lookupFomcMember("NoSuchPerson")).toBeUndefined();
33
+ });
34
+ it("2026 ローテーション入りの 4 地区連銀総裁が投票メンバー", () => {
35
+ for (const name of ["paulson", "hammack", "logan", "kashkari"]) {
36
+ expect(FOMC_ROSTER[name].votingMember, `${name} は 2026 投票メンバーのはず`).toBe(true);
37
+ }
38
+ });
39
+ it("2026 ローテーション抜けの地区連銀総裁は非投票", () => {
40
+ for (const name of ["collins", "goolsbee", "musalem", "schmid"]) {
41
+ expect(FOMC_ROSTER[name].votingMember, `${name} は 2026 非投票のはず`).toBe(false);
42
+ }
43
+ });
44
+ });
45
+ //# sourceMappingURL=fomc-roster.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fomc-roster.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/fomc-roster.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3C,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;QACtF,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,YAAY;QACZ,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { Country } from "./market-types.js";
2
+ export type SpeakerRange = "today" | "week";
3
+ export type FfEvent = {
4
+ title: string;
5
+ country: string;
6
+ date: string;
7
+ time: string;
8
+ impact: string;
9
+ url?: string;
10
+ };
11
+ export type CentralBankSpeaker = {
12
+ date: string;
13
+ time: string;
14
+ country: Country;
15
+ org: string;
16
+ speaker: string;
17
+ role?: string;
18
+ votingMember?: boolean;
19
+ votingStatus?: string;
20
+ importance: 1 | 2 | 3;
21
+ ffImpact: string;
22
+ rawTitle: string;
23
+ url?: string;
24
+ };
25
+ export type FeedResult = {
26
+ key: string;
27
+ ok: boolean;
28
+ count: number;
29
+ error?: string;
30
+ elapsedMs: number;
31
+ };
32
+ export declare function isSpeechEvent(title: string): boolean;
33
+ export declare function extractSurname(title: string): string;
34
+ export declare function ffImpactToImportance(impact: string): 1 | 2 | 3;
35
+ export declare function ffDateToIso(d: string): string | null;
36
+ export declare function parseFfEvents(xml: string): FfEvent[];
37
+ export declare function toSpeaker(ev: FfEvent): CentralBankSpeaker | null;
38
+ export declare function selectSpeakers(events: readonly FfEvent[], opts: {
39
+ range: SpeakerRange;
40
+ today: string;
41
+ countries?: readonly Country[];
42
+ }): CentralBankSpeaker[];
43
+ export declare function fetchCentralBankSpeakers(opts: {
44
+ range: SpeakerRange;
45
+ countries?: readonly Country[];
46
+ }): Promise<{
47
+ range: SpeakerRange;
48
+ today: string;
49
+ fetchedAt: string;
50
+ fetchOk: boolean;
51
+ sources: FeedResult[];
52
+ speakers: CentralBankSpeaker[];
53
+ }>;
@@ -0,0 +1,265 @@
1
+ // 中銀高官の発言・講演スケジュール(v0.18.0 新設、ライブ取得)。
2
+ // ForexFactory の無料 週次カレンダー XML を取得し、発言系イベント("… Speaks/Speech/Testimony")だけを
3
+ // 抽出して返す。「これから」のフォワード予定が取れるのが要点(公式中銀 RSS は delivered 済みの過去ログのみ)。
4
+ //
5
+ // 役割分担(geopolitical_pulse と同思想):
6
+ // - 本 lib: フィードを取得し、客観メタ(発言者・国・日付・時刻・重要度)に正規化する
7
+ // - 米 Fed は fomc-roster.ts で「役職・投票権」を補完(FF は名字 + "FOMC Member" しか持たない)
8
+ // - 市場解釈は呼び出し側 LLM の責務
9
+ //
10
+ // ソース実現性スパイク結果:
11
+ // - FRB / BOJ 公式 RSS は 200 で取れるが delivered 済み(フォワード予定なし)→ 不採用
12
+ // - nfs.faireconomy.media の FF カレンダー XML は無料・無認証・フォワードで発言系を網羅 → 採用
13
+ // - 第三者フィード依存。利用者 PC から faireconomy.media へ毎回アクセスする(pulse 系 RSS と同じ構図)
14
+ import { jstDateKey } from "./economic-events.js";
15
+ import { lookupFomcMember } from "./fomc-roster.js";
16
+ import { withCache } from "./economic-release-pulse/cache.js";
17
+ const UA = "Mozilla/5.0 (compatible; lit-forge-mcp/0.18; +https://github.com/noblabs/lit-forge-mcp)";
18
+ const FETCH_TIMEOUT_MS = 10_000;
19
+ // 発言予定は日内でほぼ変わらないため 6h キャッシュ。
20
+ const CACHE_TTL_MS = 6 * 3600 * 1000;
21
+ // FF 週次フィード。faireconomy ミラーは thisweek(現 FF 週=月〜日)のみ提供(nextweek/thismonth は 404)。
22
+ // そのため range=week が現 FF 週の末尾を越える日(来週分)は、その週が thisweek になるまで取得できない。
23
+ const FF_FEEDS = [
24
+ { key: "ff-thisweek", url: "https://nfs.faireconomy.media/ff_calendar_thisweek.xml" },
25
+ ];
26
+ // ── FF 通貨コード → 国 + 中銀ラベル ──
27
+ const CURRENCY_MAP = {
28
+ USD: { country: "US", org: "FRB" },
29
+ JPY: { country: "JP", org: "日銀" },
30
+ EUR: { country: "EU", org: "ECB" },
31
+ GBP: { country: "GB", org: "BOE" },
32
+ CNY: { country: "CN", org: "中国人民銀行" },
33
+ CAD: { country: "OTHER", org: "カナダ銀行" },
34
+ AUD: { country: "OTHER", org: "豪準備銀行(RBA)" },
35
+ NZD: { country: "OTHER", org: "NZ準備銀行(RBNZ)" },
36
+ CHF: { country: "OTHER", org: "スイス国立銀行(SNB)" },
37
+ };
38
+ // 発言系イベントかどうか(指標・休場・会合結果などは除外)。
39
+ export function isSpeechEvent(title) {
40
+ return /\b(speaks|speech|testifies|testimony|remarks)\b/i.test(title);
41
+ }
42
+ // FF タイトルから発言者の名字を取り出す。
43
+ // 例: "FOMC Member Logan Speaks" → "Logan" / "BOJ Gov Ueda Speaks" → "Ueda" /
44
+ // "ECB President Lagarde Speaks" → "Lagarde"。発言動詞を落とした末尾の語を名字とみなす。
45
+ export function extractSurname(title) {
46
+ const stripped = title
47
+ .replace(/\b(speaks|speech|testifies|testimony|remarks)\b.*$/i, "")
48
+ .trim();
49
+ const words = stripped.split(/\s+/).filter(Boolean);
50
+ return words.length > 0 ? words[words.length - 1] : stripped;
51
+ }
52
+ // FF impact → 基礎 importance。
53
+ export function ffImpactToImportance(impact) {
54
+ switch (impact.trim().toLowerCase()) {
55
+ case "high":
56
+ return 3;
57
+ case "medium":
58
+ return 2;
59
+ default:
60
+ return 1; // low / holiday / 空
61
+ }
62
+ }
63
+ // FF date(MM-DD-YYYY)→ YYYY-MM-DD。変換できなければ null。
64
+ export function ffDateToIso(d) {
65
+ const m = d.trim().match(/^(\d{2})-(\d{2})-(\d{4})$/);
66
+ if (!m)
67
+ return null;
68
+ return `${m[3]}-${m[1]}-${m[2]}`;
69
+ }
70
+ // 生 XML から <event> を抽出(正規表現ベース。geopolitical-pulse と同方針で依存を増やさない)。
71
+ export function parseFfEvents(xml) {
72
+ const out = [];
73
+ const re = /<event\b[^>]*>([\s\S]*?)<\/event>/g;
74
+ let m;
75
+ while ((m = re.exec(xml)) !== null) {
76
+ const body = m[1];
77
+ const title = field(body, "title");
78
+ const country = field(body, "country");
79
+ const date = field(body, "date");
80
+ if (!title || !date)
81
+ continue;
82
+ out.push({
83
+ title,
84
+ country,
85
+ date,
86
+ time: field(body, "time"),
87
+ impact: field(body, "impact"),
88
+ url: field(body, "url") || undefined,
89
+ });
90
+ }
91
+ return out;
92
+ }
93
+ function field(body, tag) {
94
+ const m = body.match(new RegExp(`<${tag}\\b[^>]*>([\\s\\S]*?)<\\/${tag}>`));
95
+ return m ? cleanText(m[1]) : "";
96
+ }
97
+ function cleanText(s) {
98
+ return s
99
+ .replace(/^\s*<!\[CDATA\[/, "")
100
+ .replace(/\]\]>\s*$/, "")
101
+ .replace(/<[^>]+>/g, "")
102
+ .replace(/&amp;/g, "&")
103
+ .replace(/&lt;/g, "<")
104
+ .replace(/&gt;/g, ">")
105
+ .replace(/&quot;/g, '"')
106
+ .replace(/&#39;/g, "'")
107
+ .trim();
108
+ }
109
+ // 生イベント 1 件 → 発言イベントに正規化(enrich 込み)。発言系でなければ null。
110
+ export function toSpeaker(ev) {
111
+ if (!isSpeechEvent(ev.title))
112
+ return null;
113
+ const iso = ffDateToIso(ev.date);
114
+ if (!iso)
115
+ return null;
116
+ const cur = CURRENCY_MAP[ev.country.toUpperCase()] ?? {
117
+ country: "OTHER",
118
+ org: ev.country,
119
+ };
120
+ const surname = extractSurname(ev.title);
121
+ const base = ffImpactToImportance(ev.impact);
122
+ const speaker = {
123
+ date: iso,
124
+ time: ev.time || "未定",
125
+ country: cur.country,
126
+ org: cur.org,
127
+ speaker: surname,
128
+ importance: base,
129
+ ffImpact: ev.impact || "Low",
130
+ rawTitle: ev.title,
131
+ url: ev.url,
132
+ };
133
+ // 米 Fed は FOMC ロースターで役職・投票権を補完し、重要度を引き上げる。
134
+ if (cur.country === "US") {
135
+ const m = lookupFomcMember(surname);
136
+ if (m) {
137
+ speaker.role = m.roleJa;
138
+ speaker.votingMember = m.votingMember;
139
+ speaker.votingStatus = m.votingMember ? "投票権あり" : "投票権なし";
140
+ // 議長は最重要、投票メンバーは最低 ★★(市場インパクトが大きい)。
141
+ if (m.isChair)
142
+ speaker.importance = 3;
143
+ else if (m.votingMember)
144
+ speaker.importance = Math.max(base, 2);
145
+ }
146
+ }
147
+ return speaker;
148
+ }
149
+ // JST today から range 分の日付集合(today=当日 / week=当日〜+6 日)を作る。
150
+ function rangeDateSet(range, today) {
151
+ if (range === "today")
152
+ return new Set([today]);
153
+ const start = new Date(`${today}T00:00:00+09:00`);
154
+ const set = new Set();
155
+ for (let i = 0; i < 7; i++) {
156
+ const d = new Date(start);
157
+ d.setDate(d.getDate() + i);
158
+ set.add(jstDateKey(d));
159
+ }
160
+ return set;
161
+ }
162
+ // 生イベント配列 → 発言イベントを抽出・enrich・期間/国フィルタ・ソート(純関数。テスト用)。
163
+ export function selectSpeakers(events, opts) {
164
+ const dateSet = rangeDateSet(opts.range, opts.today);
165
+ const countrySet = opts.countries && opts.countries.length > 0 ? new Set(opts.countries) : null;
166
+ const speakers = [];
167
+ const seen = new Set();
168
+ for (const ev of events) {
169
+ const s = toSpeaker(ev);
170
+ if (!s)
171
+ continue;
172
+ if (!dateSet.has(s.date))
173
+ continue;
174
+ if (countrySet && !countrySet.has(s.country))
175
+ continue;
176
+ // 同一発言の重複を除去(フィード内の重複・将来複数フィード化への保険)。
177
+ const key = `${s.date}|${s.country}|${s.rawTitle}`;
178
+ if (seen.has(key))
179
+ continue;
180
+ seen.add(key);
181
+ speakers.push(s);
182
+ }
183
+ // 日付昇順 → 重要度降順 → 国コード。
184
+ speakers.sort((a, b) => a.date.localeCompare(b.date) ||
185
+ b.importance - a.importance ||
186
+ a.country.localeCompare(b.country));
187
+ return speakers;
188
+ }
189
+ // 1 フィードを取得してパース。失敗時は ok:false で部分成功を伝える。
190
+ async function fetchFeed(feed) {
191
+ const t0 = Date.now();
192
+ try {
193
+ const res = await fetch(feed.url, {
194
+ headers: { "User-Agent": UA, Accept: "application/xml, text/xml, */*" },
195
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
196
+ redirect: "follow",
197
+ });
198
+ if (!res.ok) {
199
+ return {
200
+ result: { key: feed.key, ok: false, count: 0, error: `HTTP ${res.status}`, elapsedMs: Date.now() - t0 },
201
+ events: [],
202
+ };
203
+ }
204
+ const xml = await res.text();
205
+ const events = parseFfEvents(xml);
206
+ return {
207
+ result: { key: feed.key, ok: true, count: events.length, elapsedMs: Date.now() - t0 },
208
+ events,
209
+ };
210
+ }
211
+ catch (e) {
212
+ const msg = e instanceof Error ? e.message : "fetch failed";
213
+ return {
214
+ result: { key: feed.key, ok: false, count: 0, error: msg, elapsedMs: Date.now() - t0 },
215
+ events: [],
216
+ };
217
+ }
218
+ }
219
+ // 全フィード失敗を withCache に焼かせないための番兵エラー(部分結果を運ぶ)。
220
+ class AllFeedsFailedError extends Error {
221
+ partial;
222
+ constructor(partial) {
223
+ super("all central-bank-speaker feeds failed");
224
+ this.partial = partial;
225
+ }
226
+ }
227
+ // メイン: フィードを並列取得(6h キャッシュ)→ 発言抽出・enrich・フィルタ・ソート。
228
+ // fetchOk=false(全フィード失敗)のときは「予定なし」ではなく「取得失敗」を示す。失敗結果はキャッシュしない。
229
+ export async function fetchCentralBankSpeakers(opts) {
230
+ const today = jstDateKey();
231
+ let fetched;
232
+ try {
233
+ fetched = await withCache("central-bank-speakers:feeds", CACHE_TTL_MS, async () => {
234
+ const settled = await Promise.all(FF_FEEDS.map((f) => fetchFeed(f)));
235
+ const result = {
236
+ events: settled.flatMap((s) => s.events),
237
+ sources: settled.map((s) => s.result),
238
+ };
239
+ // 全フィード失敗(例: 429)はキャッシュさせない(throw すると withCache は格納しない)。
240
+ // 次回呼び出しでリトライできるようにし、一過性の失敗が 6h 居座るのを防ぐ。
241
+ if (!result.sources.some((s) => s.ok))
242
+ throw new AllFeedsFailedError(result);
243
+ return result;
244
+ });
245
+ }
246
+ catch (e) {
247
+ if (e instanceof AllFeedsFailedError)
248
+ fetched = e.partial;
249
+ else
250
+ throw e;
251
+ }
252
+ const fetchOk = fetched.sources.some((s) => s.ok);
253
+ const speakers = fetchOk
254
+ ? selectSpeakers(fetched.events, { range: opts.range, today, countries: opts.countries })
255
+ : [];
256
+ return {
257
+ range: opts.range,
258
+ today,
259
+ fetchedAt: new Date().toISOString(),
260
+ fetchOk,
261
+ sources: fetched.sources,
262
+ speakers,
263
+ };
264
+ }
265
+ //# sourceMappingURL=central-bank-speakers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"central-bank-speakers.js","sourceRoot":"","sources":["../../src/lib/central-bank-speakers.ts"],"names":[],"mappings":"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"}
@@ -128,14 +128,8 @@ export const ECONOMIC_EVENTS = [
128
128
  { date: "2026-10-09", time: "23:00", country: "US", name: "米 ミシガン大消費者態度指数・速報(10 月)", importance: 2 },
129
129
  { date: "2026-10-23", time: "23:00", country: "US", name: "米 ミシガン大消費者態度指数・確報(10 月)", importance: 1 },
130
130
  { date: "2026-10-27", time: "23:00", country: "US", name: "米 CB消費者信頼感指数(10 月)", importance: 2 },
131
- // ============ 中銀高官 発言・講演(category: "centralbank")============
132
- // FRB 理事 / 地区連銀総裁 / 日銀審議委員 / ECB 専務理事などの発言。指標・金融政策会合とは別系統。
133
- // 予定が流動的(直前追加・変更が多い)ため、注目度の高い登壇だけを外部経済カレンダー等から手動で随時追記する。
134
- // importance の目安: votingMember=true → ★★(政策の方向性を示唆しやすい)/ false → ★(参考)。
135
- // votingMember は当該会合での投票権の有無。発言系は時刻が前後しやすいので time は判明分のみ記載。
136
- // 土日例外: 経済イベントの土日チェックは category !== "macro" を除外するため、発言が休日でも登録可。
137
- { date: "2026-05-27", country: "US", name: "ローガン ダラス連銀総裁 発言", importance: 2, category: "centralbank", speaker: "ローガン", speakerRole: "ダラス連銀総裁", votingMember: true },
138
- { date: "2026-05-27", country: "US", name: "クック FRB 理事 発言", importance: 2, category: "centralbank", speaker: "クック", speakerRole: "FRB 理事", votingMember: true },
131
+ // 注: 中銀高官の発言・講演(FRB 理事 / 地区連銀総裁 / 日銀 / ECB 等)は v0.18.0 で
132
+ // 専用ツール get_central_bank_speakers(ForexFactory ライブ取得)に一本化したため、ここには登録しない。
139
133
  ];
140
134
  // JST の年月日を yyyy-mm-dd 形式で返す(leaderboard/keys.ts と同一ロジック)。
141
135
  export function jstDateKey(now = new Date()) {
@@ -1 +1 @@
1
- {"version":3,"file":"economic-events.js","sourceRoot":"","sources":["../../src/lib/economic-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"economic-events.js","sourceRoot":"","sources":["../../src/lib/economic-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const FOMC_ROSTER_YEAR = 2026;
2
+ export declare const FOMC_ROSTER_LAST_VERIFIED = "2026-05-27";
3
+ export declare const FOMC_ROSTER_SOURCE = "https://www.federalreserve.gov/monetarypolicy/fomc.htm";
4
+ export type FomcKind = "governor" | "regional";
5
+ export type FomcMember = {
6
+ surname: string;
7
+ roleJa: string;
8
+ kind: FomcKind;
9
+ votingMember: boolean;
10
+ isChair?: boolean;
11
+ };
12
+ export declare const FOMC_ROSTER: Readonly<Record<string, FomcMember>>;
13
+ export declare function lookupFomcMember(surname: string): FomcMember | undefined;
@@ -0,0 +1,48 @@
1
+ // 現年(2026)FOMC メンバー対応表。
2
+ // get_central_bank_speakers が ForexFactory フィードの「FOMC Member <名字> Speaks」を
3
+ // 役職(日本語)と投票権の有無で enrich するための辞書。FF は名字 + "FOMC Member" しか持たないため、
4
+ // 「投票権あり / ダラス連銀総裁」といった粒度はこの表で補完する。
5
+ //
6
+ // ⚠️ 投票メンバーは毎年 1 月にローテーションするので、年初に必ず更新すること。
7
+ // 地区連銀総裁の交代(新任・暫定)も随時反映する。訓練データのハードコードは禁止
8
+ // (現職漏れ事故の前例あり)。一次ソースで現職を確認してから更新する。
9
+ //
10
+ // 一次ソース: https://www.federalreserve.gov/monetarypolicy/fomc.htm (FOMC 構成・当年の投票ローテーション)
11
+ // 2026 ローテーション根拠: 入り=Paulson(Phil)/Hammack(Cle)/Logan(Dal)/Kashkari(Min)、
12
+ // 抜け=Collins(Bos)/Goolsbee(Chi)/Musalem(StL)/Schmid(KC)。
13
+ //
14
+ // FOMC 投票権の規則: 理事 7 名は常に投票 + NY 連銀総裁は常任 + 残り 11 地区連銀総裁から 4 名が 1 年交代。
15
+ export const FOMC_ROSTER_YEAR = 2026;
16
+ export const FOMC_ROSTER_LAST_VERIFIED = "2026-05-27";
17
+ export const FOMC_ROSTER_SOURCE = "https://www.federalreserve.gov/monetarypolicy/fomc.htm";
18
+ // キーは小文字の名字。FF が "FOMC Member Logan Speaks" のように名字だけを出すため。
19
+ export const FOMC_ROSTER = {
20
+ // ── 理事(Board of Governors)7 名: 常に投票 ──
21
+ warsh: { surname: "Warsh", roleJa: "FRB議長", kind: "governor", votingMember: true, isChair: true },
22
+ barr: { surname: "Barr", roleJa: "FRB理事", kind: "governor", votingMember: true },
23
+ bowman: { surname: "Bowman", roleJa: "FRB理事", kind: "governor", votingMember: true },
24
+ cook: { surname: "Cook", roleJa: "FRB理事", kind: "governor", votingMember: true },
25
+ jefferson: { surname: "Jefferson", roleJa: "FRB理事", kind: "governor", votingMember: true },
26
+ powell: { surname: "Powell", roleJa: "FRB理事", kind: "governor", votingMember: true },
27
+ waller: { surname: "Waller", roleJa: "FRB理事", kind: "governor", votingMember: true },
28
+ // ── 地区連銀総裁: NY は常任、ほか 4 名が 2026 投票 ──
29
+ williams: { surname: "Williams", roleJa: "NY連銀総裁", kind: "regional", votingMember: true },
30
+ paulson: { surname: "Paulson", roleJa: "フィラデルフィア連銀総裁", kind: "regional", votingMember: true },
31
+ hammack: { surname: "Hammack", roleJa: "クリーブランド連銀総裁", kind: "regional", votingMember: true },
32
+ logan: { surname: "Logan", roleJa: "ダラス連銀総裁", kind: "regional", votingMember: true },
33
+ kashkari: { surname: "Kashkari", roleJa: "ミネアポリス連銀総裁", kind: "regional", votingMember: true },
34
+ // ── 地区連銀総裁: 2026 非投票(ローテーション外) ──
35
+ collins: { surname: "Collins", roleJa: "ボストン連銀総裁", kind: "regional", votingMember: false },
36
+ goolsbee: { surname: "Goolsbee", roleJa: "シカゴ連銀総裁", kind: "regional", votingMember: false },
37
+ musalem: { surname: "Musalem", roleJa: "セントルイス連銀総裁", kind: "regional", votingMember: false },
38
+ schmid: { surname: "Schmid", roleJa: "カンザスシティ連銀総裁", kind: "regional", votingMember: false },
39
+ barkin: { surname: "Barkin", roleJa: "リッチモンド連銀総裁", kind: "regional", votingMember: false },
40
+ daly: { surname: "Daly", roleJa: "サンフランシスコ連銀総裁", kind: "regional", votingMember: false },
41
+ // ⚠️ アトランタは暫定総裁(Venable)。交代があり得るため要確認。
42
+ venable: { surname: "Venable", roleJa: "アトランタ連銀総裁(暫定)", kind: "regional", votingMember: false },
43
+ };
44
+ // 名字から FOMC メンバー情報を引く(大文字小文字を無視)。未登録なら undefined。
45
+ export function lookupFomcMember(surname) {
46
+ return FOMC_ROSTER[surname.trim().toLowerCase()];
47
+ }
48
+ //# sourceMappingURL=fomc-roster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fomc-roster.js","sourceRoot":"","sources":["../../src/lib/fomc-roster.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,2EAA2E;AAC3E,kEAAkE;AAClE,oCAAoC;AACpC,EAAE;AACF,4CAA4C;AAC5C,6CAA6C;AAC7C,wCAAwC;AACxC,EAAE;AACF,uFAAuF;AACvF,0EAA0E;AAC1E,2DAA2D;AAC3D,EAAE;AACF,qEAAqE;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wDAAwD,CAAC;AAgB3D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAyC;IAC/D,wCAAwC;IACxC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACjG,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAChF,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IACpF,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAChF,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAC1F,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IACpF,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAEpF,uCAAuC;IACvC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IACzF,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAC7F,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAC5F,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IACpF,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE;IAE7F,mCAAmC;IACnC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;IAC1F,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;IAC3F,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;IAC5F,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;IAC3F,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;IAC1F,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;IACxF,uCAAuC;IACvC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;CAChG,CAAC;AAEF,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC"}
@@ -76,7 +76,7 @@ export type Snapshot = {
76
76
  };
77
77
  export type EventImportance = 1 | 2 | 3;
78
78
  export type Country = "JP" | "US" | "CN" | "EU" | "GB" | "OTHER";
79
- export type EventCategory = "macro" | "geopolitical" | "policy" | "centralbank";
79
+ export type EventCategory = "macro" | "geopolitical" | "policy";
80
80
  export type EconomicEvent = {
81
81
  date: string;
82
82
  endDate?: string;
@@ -85,9 +85,6 @@ export type EconomicEvent = {
85
85
  name: string;
86
86
  importance: EventImportance;
87
87
  category?: EventCategory;
88
- speaker?: string;
89
- speakerRole?: string;
90
- votingMember?: boolean;
91
88
  note?: string;
92
89
  forecast?: string;
93
90
  actual?: string;
@@ -0,0 +1,2 @@
1
+ import { type LitForgeTool } from "./types.js";
2
+ export declare const getCentralBankSpeakersTool: LitForgeTool;
@@ -0,0 +1,59 @@
1
+ // 中銀高官の発言・講演スケジュール(v0.18.0 新設、ライブ取得)。
2
+ // ForexFactory 無料カレンダー XML から「これから」の発言予定を取得し、
3
+ // 米 Fed は fomc-roster.ts で役職・投票権を補完して返す。
4
+ //
5
+ // 役割分担:
6
+ // - 本ツール: フォワードな発言予定(発言者・国・日付・時刻・重要度・投票権)を客観メタで返す
7
+ // - get_economic_events_today: 指標・金融政策会合(半年手動キュレ)。発言は扱わない
8
+ // - 市場解釈は呼び出し側 LLM の責務
9
+ import { z } from "zod";
10
+ import { fetchCentralBankSpeakers, } from "../lib/central-bank-speakers.js";
11
+ import { FOMC_ROSTER_YEAR, FOMC_ROSTER_LAST_VERIFIED, } from "../lib/fomc-roster.js";
12
+ import { jsonReply } from "./types.js";
13
+ const inputSchema = {
14
+ range: z
15
+ .enum(["today", "week"])
16
+ .optional()
17
+ .describe("期間: today=本日のみ / week=今日含む 7 日間。既定 today。" +
18
+ "『明日』『今週』『週末』など今日を超える時間軸を含むときは week を指定すること。"),
19
+ countries: z
20
+ .array(z.enum(["US", "JP", "EU", "GB", "CN", "OTHER"]))
21
+ .optional()
22
+ .describe("国で絞り込み: US=米 Fed / JP=日銀 / EU=ECB / GB=BOE / CN=中国 / OTHER=その他中銀(カナダ・豪・NZ・スイス等)。未指定で全件"),
23
+ };
24
+ export const getCentralBankSpeakersTool = {
25
+ name: "get_central_bank_speakers",
26
+ title: "中銀高官の発言・講演スケジュール(ライブ取得)",
27
+ description: "**これからの**中銀高官の発言・講演予定を返すツール。ForexFactory の無料カレンダーを取得し、発言系イベント(FRB 理事・地区連銀総裁・日銀・ECB・BOE 等)だけを日付昇順で返します。" +
28
+ "米 Fed(FOMC)の発言者は当年の名簿で **role(ダラス連銀総裁等)と votingMember(投票権の有無)** を補完します。投票権ありの発言ほど政策の方向性を示唆しやすく市場インパクトが大きいため、重要度(importance)を引き上げています(議長=★★★ / 投票メンバー=★★以上)。" +
29
+ "用途: 市況サマリーで『今日の要人発言』『今週の Fed スピーカー』を尋ねられたとき。指標・金融政策会合の予定は別ツール `get_economic_events_today` を使用してください(本ツールは“発言”専用)。" +
30
+ "【利用上の注意】" +
31
+ "第三者の無料フィード(faireconomy.media の ForexFactory 週次カレンダー)に依存します。フィード単位の失敗は sources 配列に error として記載し、取得できた分は返します(部分成功)。" +
32
+ "カバー範囲は現 FF 週(月〜日)です。range=\"week\" が週末を跨いで翌週に及ぶ日は、その週が配信対象になるまで取得できない場合があります。" +
33
+ "FF の発言予定は時刻・有無が直前に変わることがあります。返却メタは客観値のみで、市場解釈は付与しません(呼び出し側 LLM の責務)。" +
34
+ `Fed 名簿は ${FOMC_ROSTER_YEAR} 年版(最終確認 ${FOMC_ROSTER_LAST_VERIFIED})。投票権は毎年 1 月にローテーションします。`,
35
+ inputSchema,
36
+ handler: async ({ range, countries }) => {
37
+ const effectiveRange = (range ?? "today");
38
+ const result = await fetchCentralBankSpeakers({
39
+ range: effectiveRange,
40
+ countries: countries,
41
+ });
42
+ return jsonReply({
43
+ today: result.today,
44
+ range: result.range,
45
+ fetchedAt: result.fetchedAt,
46
+ fetchOk: result.fetchOk,
47
+ fomcRosterYear: FOMC_ROSTER_YEAR,
48
+ fomcRosterLastVerified: FOMC_ROSTER_LAST_VERIFIED,
49
+ count: result.speakers.length,
50
+ speakers: result.speakers,
51
+ sources: result.sources,
52
+ note: result.fetchOk
53
+ ? "ForexFactory 無料カレンダー由来のフォワードな発言予定です。米 Fed の役職・投票権は当年 FOMC 名簿で補完(毎年 1 月ローテーション・要更新)。" +
54
+ " 指標・金融政策会合は get_economic_events_today を併用してください。市場インプリケーションは付与していません(解釈は呼び出し側 LLM の責務)。"
55
+ : "⚠️ フィード取得に失敗しました(sources の error 参照。例: HTTP 429 レート制限)。これは『発言予定なし』ではなく『取得できなかった』状態です。count:0 を予定ゼロと解釈しないでください。時間をおいて再試行してください。",
56
+ });
57
+ },
58
+ };
59
+ //# sourceMappingURL=get-central-bank-speakers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-central-bank-speakers.js","sourceRoot":"","sources":["../../src/tools/get-central-bank-speakers.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,8CAA8C;AAC9C,yCAAyC;AACzC,EAAE;AACF,QAAQ;AACR,oDAAoD;AACpD,4DAA4D;AAC5D,yBAAyB;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,wBAAwB,GAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,2CAA2C;QACzC,6CAA6C,CAChD;IACH,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SACtD,QAAQ,EAAE;SACV,QAAQ,CACP,wFAAwF,CACzF;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiB;IACtD,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,wGAAwG;QACxG,6JAA6J;QAC7J,mHAAmH;QACnH,UAAU;QACV,mHAAmH;QACnH,+EAA+E;QAC/E,sEAAsE;QACtE,WAAW,gBAAgB,YAAY,yBAAyB,0BAA0B;IAC5F,WAAW;IACX,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,OAAO,CAAiB,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;YAC5C,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,SAAkC;SAC9C,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,gBAAgB;YAChC,sBAAsB,EAAE,yBAAyB;YACjD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,OAAO;gBAClB,CAAC,CAAC,qFAAqF;oBACrF,yFAAyF;gBAC3F,CAAC,CAAC,gIAAgI;SACrI,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -15,14 +15,14 @@ const inputSchema = {
15
15
  .optional()
16
16
  .describe("最低重要度フィルタ: 1=★以上 / 2=★★以上 / 3=★★★のみ。既定 1"),
17
17
  category: z
18
- .array(z.enum(["macro", "geopolitical", "policy", "centralbank"]))
18
+ .array(z.enum(["macro", "geopolitical", "policy"]))
19
19
  .optional()
20
- .describe("カテゴリ絞り込み: macro=マクロ経済指標 / geopolitical=要人訪問・首脳会談 / policy=選挙・予算・サミット / centralbank=中銀高官の発言・講演(FRB 理事・地区連銀総裁・日銀審議委員・ECB 専務理事等)。未指定で全カテゴリ"),
20
+ .describe("カテゴリ絞り込み: macro=マクロ経済指標 / geopolitical=要人訪問・首脳会談 / policy=選挙・予算・サミット。未指定で全カテゴリ"),
21
21
  };
22
22
  export const getEconomicEventsTodayTool = {
23
23
  name: "get_economic_events_today",
24
24
  title: "本日・今週の経済イベント",
25
- description: "本日(または今週)の主要経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・中国 PMI などのマクロ指標、および FRB 理事・地区連銀総裁・日銀審議委員・ECB 専務理事などの中銀高官発言)を返します。発言イベントは category=\"centralbank\" で、speaker / speakerRole / votingMember(当該会合での投票権の有無)付き。期間イベント(ジャクソンホール会議等)は期間中の各日に today クエリでヒットします。データは lit-forge 運営者が手動キュレーションした半年分のスケジュール。" +
25
+ description: "本日(または今週)の主要経済イベント(FOMC・日銀金融政策決定会合・米雇用統計・CPI・GDP・中国 PMI などのマクロ指標)を返します。期間イベント(ジャクソンホール会議等)は期間中の各日に today クエリでヒットします。データは lit-forge 運営者が手動キュレーションした半年分のスケジュール。中銀高官の発言・講演は別ツール `get_central_bank_speakers`(ライブ取得)を使用してください。" +
26
26
  "【利用上の注意】既定 range=today は当日分のみを返すため、ユーザーの質問が『明日』『今週』『週末』『次の指標』など今日を超える時間軸を含むときは range=\"week\" を明示すること。直前に today で取得済みでも、未来の時間軸が話題に出た時点で week で取り直す。" +
27
27
  "【v0.9.0 以降】首脳会談・要人訪問・国際サミット・主要国選挙・地政学リスクの 4 サブカテゴリは `get_geopolitical_calendar`(確定スケジュール)に、進行中の地政学情勢は `get_geopolitical_pulse`(リアルタイム速報)に分離されました。地政学情報が必要なときはそれらを使用してください。本ツールの category=\"geopolitical\" 引数は後方互換のため残されていますが、結果は空に近くなります。",
28
28
  inputSchema,
@@ -45,15 +45,6 @@ export const getEconomicEventsTodayTool = {
45
45
  name: e.name,
46
46
  importance: IMPORTANCE_STARS[e.importance],
47
47
  category: e.category ?? "macro",
48
- // 中銀高官発言(centralbank)固有メタ。それ以外のイベントでは undefined を返さず欄ごと省く。
49
- ...(e.speaker !== undefined ? { speaker: e.speaker } : {}),
50
- ...(e.speakerRole !== undefined ? { speakerRole: e.speakerRole } : {}),
51
- ...(e.votingMember !== undefined
52
- ? {
53
- votingMember: e.votingMember,
54
- votingStatus: e.votingMember ? "投票権あり" : "投票権なし",
55
- }
56
- : {}),
57
48
  note: e.note,
58
49
  })),
59
50
  note: "経済イベントは半年に 1 回手動更新。急な発表変更や中銀緊急会合は反映されない場合があります。" +
@@ -1 +1 @@
1
- {"version":3,"file":"get-economic-events.js","sourceRoot":"","sources":["../../src/tools/get-economic-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-economic-events.js","sourceRoot":"","sources":["../../src/tools/get-economic-events.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,qDAAqD;AACrD,wCAAwC;AAExC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,2CAA2C;QACzC,+DAA+D,CAClE;IACH,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;SAClD,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiB;IACtD,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,2NAA2N;QAC3N,qJAAqJ;QACrJ,2OAA2O;IAC7O,WAAW;IACX,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,qBAAqB,GAAG,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;QAC1E,OAAO,SAAS,CAAC;YACf,KAAK;YACL,KAAK,EAAE,KAAK,IAAI,OAAO;YACvB,WAAW,EAAE,YAAY;YACzB,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1C,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;YACH,IAAI,EACF,iDAAiD;gBACjD,CAAC,qBAAqB;oBACpB,CAAC,CAAC,wHAAwH;oBAC1H,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -17,6 +17,8 @@
17
17
  // v0.14.1 で README / package.json keywords を 4 本柱(資産形成 + 市況 + 経済指標 + 地政学)に全面刷新、18 ツール表記に統一。
18
18
  // v0.14.2 で description / keywords の追加整合。
19
19
  // v0.14.3 で src/index.ts の version ハードコード撤廃 → package.json から動的読み込みに変更(以降の bump で自動同期)。server.json 側は手動同期。
20
+ // v0.18.0 で get_central_bank_speakers を新設(中銀高官の発言・講演を ForexFactory ライブ取得、米 Fed は当年 FOMC 名簿で役職/投票権を補完)。18 → 19 ツール。
21
+ // ※ v0.17.0 で get_economic_events_today に一時導入した静的 centralbank カテゴリは本ツールに一本化し撤去。
20
22
  import { simulateNisaTool } from "./simulate-nisa.js";
21
23
  import { planRetirementTool } from "./plan-retirement.js";
22
24
  import { calculateRequiredMonthlyTool } from "./calculate-required-monthly.js";
@@ -35,6 +37,7 @@ import { getGeopoliticalCalendarTool } from "./get-geopolitical-calendar.js";
35
37
  import { getGeopoliticalPulseTool } from "./get-geopolitical-pulse.js";
36
38
  import { getEconomicReleasePulseTool } from "./get-economic-release-pulse.js";
37
39
  import { getUsMacroLatestTool } from "./get-us-macro-latest.js";
40
+ import { getCentralBankSpeakersTool } from "./get-central-bank-speakers.js";
38
41
  export const tools = [
39
42
  simulateNisaTool,
40
43
  planRetirementTool,
@@ -59,5 +62,7 @@ export const tools = [
59
62
  getEconomicReleasePulseTool,
60
63
  // v0.13.0 新規・v0.14.0 で 4→7 系列拡張: 米マクロ最新値(BLS Public Data API v2、雇用統計・失業率・CPI・コア CPI・PPI・コア PPI・平均時給)
61
64
  getUsMacroLatestTool,
65
+ // v0.18.0 新規: 中銀高官の発言・講演スケジュール(ForexFactory ライブ取得 + 当年 FOMC 名簿で役職/投票権を補完)
66
+ getCentralBankSpeakersTool,
62
67
  ];
63
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,sDAAsD;AACtD,6CAA6C;AAC7C,8DAA8D;AAC9D,0DAA0D;AAC1D,yDAAyD;AACzD,kBAAkB;AAClB,kEAAkE;AAClE,mFAAmF;AACnF,+HAA+H;AAC/H,0CAA0C;AAC1C,+EAA+E;AAC/E,sEAAsE;AACtE,iJAAiJ;AACjJ,4JAA4J;AAC5J,4FAA4F;AAC5F,0CAA0C;AAC1C,2GAA2G;AAE3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,eAAe;IACf,sBAAsB;IACtB,uBAAuB;IACvB,kEAAkE;IAClE,2BAA2B;IAC3B,wBAAwB;IACxB,6DAA6D;IAC7D,2BAA2B;IAC3B,qGAAqG;IACrG,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,sDAAsD;AACtD,6CAA6C;AAC7C,8DAA8D;AAC9D,0DAA0D;AAC1D,yDAAyD;AACzD,kBAAkB;AAClB,kEAAkE;AAClE,mFAAmF;AACnF,+HAA+H;AAC/H,0CAA0C;AAC1C,+EAA+E;AAC/E,sEAAsE;AACtE,iJAAiJ;AACjJ,4JAA4J;AAC5J,4FAA4F;AAC5F,0CAA0C;AAC1C,2GAA2G;AAC3G,mHAAmH;AACnH,kFAAkF;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,eAAe;IACf,sBAAsB;IACtB,uBAAuB;IACvB,kEAAkE;IAClE,2BAA2B;IAC3B,wBAAwB;IACxB,6DAA6D;IAC7D,2BAA2B;IAC3B,qGAAqG;IACrG,oBAAoB;IACpB,0EAA0E;IAC1E,0BAA0B;CAC3B,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "lit-forge-mcp",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "mcpName": "io.github.noblabs/lit-forge-mcp",
5
- "description": "MCP server (18 tools): NISA/iDeCo/retirement simulation, 28-indicator market snapshot, economic release calendars (BEA/NY Fed/FRB/BLS/DOL-ETA/S&P Global/Cabinet Office/BOJ), latest BLS macro values (7 series), and geopolitical calendar + pulse.",
5
+ "description": "MCP server (19 tools): NISA/iDeCo/retirement simulation, 28-indicator market snapshot, economic release calendars (BEA/NY Fed/FRB/BLS/DOL-ETA/S&P Global/Cabinet Office/BOJ), central bank speakers (Fed/BOJ/ECB, live), latest BLS macro values (7 series), and geopolitical calendar + pulse.",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/noblabs/lit-forge-mcp",