lit-forge-mcp 0.9.0 → 0.11.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/lib/__tests__/economic-release-pulse.test.d.ts +1 -0
- package/dist/lib/__tests__/economic-release-pulse.test.js +102 -0
- package/dist/lib/__tests__/economic-release-pulse.test.js.map +1 -0
- package/dist/lib/economic-events.d.ts +1 -1
- package/dist/lib/economic-events.js +3 -3
- package/dist/lib/economic-events.js.map +1 -1
- package/dist/lib/economic-release-pulse/adapters/bea.d.ts +2 -0
- package/dist/lib/economic-release-pulse/adapters/bea.js +55 -0
- package/dist/lib/economic-release-pulse/adapters/bea.js.map +1 -0
- package/dist/lib/economic-release-pulse/adapters/boj.d.ts +2 -0
- package/dist/lib/economic-release-pulse/adapters/boj.js +21 -0
- package/dist/lib/economic-release-pulse/adapters/boj.js.map +1 -0
- package/dist/lib/economic-release-pulse/adapters/cao.d.ts +5 -0
- package/dist/lib/economic-release-pulse/adapters/cao.js +72 -0
- package/dist/lib/economic-release-pulse/adapters/cao.js.map +1 -0
- package/dist/lib/economic-release-pulse/cache.d.ts +3 -0
- package/dist/lib/economic-release-pulse/cache.js +22 -0
- package/dist/lib/economic-release-pulse/cache.js.map +1 -0
- package/dist/lib/economic-release-pulse/pulse.d.ts +14 -0
- package/dist/lib/economic-release-pulse/pulse.js +74 -0
- package/dist/lib/economic-release-pulse/pulse.js.map +1 -0
- package/dist/lib/economic-release-pulse/types.d.ts +22 -0
- package/dist/lib/economic-release-pulse/types.js +11 -0
- package/dist/lib/economic-release-pulse/types.js.map +1 -0
- package/dist/lib/economic-release-pulse/util.d.ts +8 -0
- package/dist/lib/economic-release-pulse/util.js +21 -0
- package/dist/lib/economic-release-pulse/util.js.map +1 -0
- package/dist/tools/get-economic-release-pulse.d.ts +2 -0
- package/dist/tools/get-economic-release-pulse.js +63 -0
- package/dist/tools/get-economic-release-pulse.js.map +1 -0
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// economic-release-pulse の純粋関数テスト。
|
|
2
|
+
// ネットワーク fetch は CI で不安定なため、パーサと JST ヘルパのみ対象。
|
|
3
|
+
import { describe, it, expect } from "vitest";
|
|
4
|
+
import { parseCaoDate, parseCaoTime, parseCaoGdpTable, } from "../economic-release-pulse/adapters/cao.js";
|
|
5
|
+
import { jstParts, jstToday, jstDatePlus } from "../economic-release-pulse/util.js";
|
|
6
|
+
describe("parseCaoDate", () => {
|
|
7
|
+
it("和暦括弧・曜日付きの内閣府形式をパースする", () => {
|
|
8
|
+
expect(parseCaoDate("2026(令和8)年5月19日(火)")).toBe("2026-05-19");
|
|
9
|
+
expect(parseCaoDate("2027(令和9)年2月15日(月)")).toBe("2027-02-15");
|
|
10
|
+
});
|
|
11
|
+
it("和暦括弧なしでもパースする", () => {
|
|
12
|
+
expect(parseCaoDate("2026年5月1日")).toBe("2026-05-01");
|
|
13
|
+
});
|
|
14
|
+
it("precise でない日付は null", () => {
|
|
15
|
+
expect(parseCaoDate("未定")).toBeNull();
|
|
16
|
+
expect(parseCaoDate("2026(令和8)年12月中旬以降")).toBeNull();
|
|
17
|
+
expect(parseCaoDate("")).toBeNull();
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe("parseCaoTime", () => {
|
|
21
|
+
it("「8時50分」形式をパースする", () => {
|
|
22
|
+
expect(parseCaoTime("8時50分")).toBe("08:50");
|
|
23
|
+
expect(parseCaoTime("10時00分")).toBe("10:00");
|
|
24
|
+
});
|
|
25
|
+
it("「-」など時刻でないものは null", () => {
|
|
26
|
+
expect(parseCaoTime("-")).toBeNull();
|
|
27
|
+
expect(parseCaoTime("")).toBeNull();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe("parseCaoGdpTable", () => {
|
|
31
|
+
// 内閣府 公表予定ページの実構造を模した fixture。
|
|
32
|
+
const FIXTURE = `
|
|
33
|
+
<h2><span id="a">四半期別GDP速報</span></h2>
|
|
34
|
+
<table class="tableBase w_100">
|
|
35
|
+
<thead><tr><th scope="col">期間</th><th scope="col">公表予定日</th><th scope="col">公表時刻</th></tr></thead>
|
|
36
|
+
<tbody>
|
|
37
|
+
<tr>
|
|
38
|
+
<td class="txtCenter">2026年1-3月期(1次速報)</td>
|
|
39
|
+
<td>2026(令和8)年5月19日(火)</td>
|
|
40
|
+
<td class="txtCenter">8時50分</td>
|
|
41
|
+
</tr>
|
|
42
|
+
<tr>
|
|
43
|
+
<td class="txtCenter">2026年4-6月期(1次速報)</td>
|
|
44
|
+
<td>2026(令和8)年8月17日(月)</td>
|
|
45
|
+
<td class="txtCenter">8時50分</td>
|
|
46
|
+
</tr>
|
|
47
|
+
</tbody>
|
|
48
|
+
</table>
|
|
49
|
+
<h2><span id="b">国民経済計算年次推計</span></h2>
|
|
50
|
+
<table class="tableBase w_100">
|
|
51
|
+
<tbody>
|
|
52
|
+
<tr><td class="txtCenter">2025年度</td><td>2026(令和8)年12月中旬以降</td><td class="txtCenter">-</td></tr>
|
|
53
|
+
</tbody>
|
|
54
|
+
</table>`;
|
|
55
|
+
it("GDP 速報テーブルの行を ReleaseEvent に変換する", () => {
|
|
56
|
+
const events = parseCaoGdpTable(FIXTURE);
|
|
57
|
+
expect(events).toHaveLength(2);
|
|
58
|
+
expect(events[0]).toEqual({
|
|
59
|
+
date: "2026-05-19",
|
|
60
|
+
time: "08:50",
|
|
61
|
+
country: "JP",
|
|
62
|
+
name: "日 GDP速報 2026年1-3月期(1次速報)",
|
|
63
|
+
source: "内閣府",
|
|
64
|
+
sourceUrl: "https://www.esri.cao.go.jp/jp/sna/kouhyou/kouhyou_top.html",
|
|
65
|
+
});
|
|
66
|
+
expect(events[1].date).toBe("2026-08-17");
|
|
67
|
+
});
|
|
68
|
+
it("四半期別GDP速報の最初のテーブルのみ対象(年次推計テーブルは含めない)", () => {
|
|
69
|
+
const events = parseCaoGdpTable(FIXTURE);
|
|
70
|
+
// 年次推計の「12月中旬以降」行は別テーブルなので拾わない
|
|
71
|
+
expect(events.every((e) => e.name.includes("速報"))).toBe(true);
|
|
72
|
+
expect(events.some((e) => e.date.startsWith("2026-12"))).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
it("該当テーブルが無ければ空配列", () => {
|
|
75
|
+
expect(parseCaoGdpTable("<html><body>no table</body></html>")).toEqual([]);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
describe("jstParts / jstToday / jstDatePlus", () => {
|
|
79
|
+
it("UTC タイムスタンプを JST の日付・時刻に変換する", () => {
|
|
80
|
+
// 12:30 UTC = 21:30 JST 同日
|
|
81
|
+
expect(jstParts(Date.parse("2026-05-28T12:30:00+00:00"))).toEqual({
|
|
82
|
+
date: "2026-05-28",
|
|
83
|
+
time: "21:30",
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
it("日付境界を跨ぐ変換(UTC 夜 → JST 翌朝)", () => {
|
|
87
|
+
// 20:00 UTC 5/14 = 05:00 JST 5/15
|
|
88
|
+
expect(jstParts(Date.parse("2026-05-14T20:00:00+00:00"))).toEqual({
|
|
89
|
+
date: "2026-05-15",
|
|
90
|
+
time: "05:00",
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
it("jstToday は JST の当日を返す", () => {
|
|
94
|
+
// 2026-05-15 00:00 JST = 2026-05-14 15:00 UTC
|
|
95
|
+
expect(jstToday(new Date("2026-05-14T15:00:00Z"))).toBe("2026-05-15");
|
|
96
|
+
});
|
|
97
|
+
it("jstDatePlus は JST で N 日後を返す", () => {
|
|
98
|
+
expect(jstDatePlus(6, new Date("2026-05-14T15:00:00Z"))).toBe("2026-05-21");
|
|
99
|
+
expect(jstDatePlus(0, new Date("2026-05-14T15:00:00Z"))).toBe("2026-05-15");
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=economic-release-pulse.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"economic-release-pulse.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/economic-release-pulse.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EconomicEvent, EventCategory } from "./market-types.js";
|
|
2
|
-
export declare const LAST_UPDATED = "2026-05-
|
|
2
|
+
export declare const LAST_UPDATED = "2026-05-15";
|
|
3
3
|
export declare const ECONOMIC_EVENTS: readonly EconomicEvent[];
|
|
4
4
|
export declare function jstDateKey(now?: Date): string;
|
|
5
5
|
export declare function getEventsForDate(date: string, events?: readonly EconomicEvent[]): EconomicEvent[];
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// 重要度: 1=★(参考)/ 2=★★(重要)/ 3=★★★(必読)。
|
|
8
8
|
// 日付は JST、時刻が示す場合は HH:MM JST。終日イベント(FOMC 結果等)は time 省略。
|
|
9
9
|
// 複数日にまたがるイベント(訪日・サミット等)は endDate を付与。
|
|
10
|
-
export const LAST_UPDATED = "2026-05-
|
|
10
|
+
export const LAST_UPDATED = "2026-05-15";
|
|
11
11
|
export const ECONOMIC_EVENTS = [
|
|
12
12
|
// ============ 2026 年 5 月 ============
|
|
13
13
|
{ date: "2026-05-01", time: "10:30", country: "CN", name: "中国 製造業 PMI(4 月)", importance: 2 },
|
|
@@ -20,7 +20,7 @@ export const ECONOMIC_EVENTS = [
|
|
|
20
20
|
{ date: "2026-05-12", time: "21:30", country: "US", name: "米 CPI(4 月)", importance: 3, note: "総合・コア前年比" },
|
|
21
21
|
{ date: "2026-05-13", time: "21:30", country: "US", name: "米 PPI(4 月)", importance: 2 },
|
|
22
22
|
{ date: "2026-05-14", time: "21:30", country: "US", name: "米 小売売上高(4 月)", importance: 2 },
|
|
23
|
-
{ date: "2026-05-
|
|
23
|
+
{ date: "2026-05-19", time: "08:50", country: "JP", name: "日 GDP 一次速報(1-3 月期)", importance: 3 },
|
|
24
24
|
{ date: "2026-05-22", time: "08:30", country: "JP", name: "日 CPI(4 月)", importance: 2 },
|
|
25
25
|
{ date: "2026-05-28", time: "21:30", country: "US", name: "米 PCE 価格指数(4 月)", importance: 3, note: "FRB が重視するインフレ指標" },
|
|
26
26
|
// ============ 2026 年 6 月 ============
|
|
@@ -30,7 +30,7 @@ export const ECONOMIC_EVENTS = [
|
|
|
30
30
|
{ date: "2026-06-05", time: "21:30", country: "US", name: "米 雇用統計(5 月)", importance: 3 },
|
|
31
31
|
{ date: "2026-06-10", time: "21:30", country: "US", name: "米 CPI(5 月)", importance: 3 },
|
|
32
32
|
{ date: "2026-06-11", time: "21:30", country: "US", name: "米 PPI(5 月)", importance: 2 },
|
|
33
|
-
{ date: "2026-06-12", country: "JP", name: "日 SQ
|
|
33
|
+
{ date: "2026-06-12", country: "JP", name: "日 SQ", importance: 1 },
|
|
34
34
|
{ date: "2026-06-15", country: "JP", name: "日銀 金融政策決定会合(1 日目)", importance: 3 },
|
|
35
35
|
{ date: "2026-06-16", country: "JP", name: "日銀 金融政策決定会合(結果発表)", importance: 3, note: "総裁会見あり" },
|
|
36
36
|
{ date: "2026-06-16", country: "US", name: "FOMC(1 日目)", importance: 3 },
|
|
@@ -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,55 @@
|
|
|
1
|
+
// BEA(米経済分析局)アダプタ。
|
|
2
|
+
// 公式の機械可読リリース日程 JSON を取得する。スクレイピング不要・公式 API。
|
|
3
|
+
// https://apps.bea.gov/API/signup/release_dates.json
|
|
4
|
+
// 形式: { "<リリース名>": { "release_dates": ["2026-05-28T12:30:00+00:00", ...] }, ... }
|
|
5
|
+
// 個人投資家が見る主要 4 系列に絞って ReleaseEvent[] に正規化する。
|
|
6
|
+
import { withCache, DEFAULT_CACHE_TTL_MS } from "../cache.js";
|
|
7
|
+
import { jstParts, RELEASE_PULSE_UA, RELEASE_PULSE_FETCH_TIMEOUT_MS } from "../util.js";
|
|
8
|
+
const BEA_URL = "https://apps.bea.gov/API/signup/release_dates.json";
|
|
9
|
+
const BEA_SOURCE_URL = "https://www.bea.gov/news/schedule";
|
|
10
|
+
// BEA の release_dates.json のキー → 日本語表示名。
|
|
11
|
+
// 全 27 系列のうち、市況で参照される主要指標のみ採用。
|
|
12
|
+
const BEA_RELEASES = {
|
|
13
|
+
"Gross Domestic Product": "米 GDP",
|
|
14
|
+
"Personal Income and Outlays": "米 個人所得・支出(PCE)",
|
|
15
|
+
"U.S. International Trade in Goods and Services": "米 貿易収支",
|
|
16
|
+
"Corporate Profits": "米 企業収益",
|
|
17
|
+
};
|
|
18
|
+
export const beaAdapter = {
|
|
19
|
+
key: "bea",
|
|
20
|
+
label: "BEA(米経済分析局)",
|
|
21
|
+
fetchEvents: () => withCache("bea", DEFAULT_CACHE_TTL_MS, async () => {
|
|
22
|
+
const res = await fetch(BEA_URL, {
|
|
23
|
+
headers: { "User-Agent": RELEASE_PULSE_UA, Accept: "application/json" },
|
|
24
|
+
signal: AbortSignal.timeout(RELEASE_PULSE_FETCH_TIMEOUT_MS),
|
|
25
|
+
redirect: "follow",
|
|
26
|
+
});
|
|
27
|
+
if (!res.ok)
|
|
28
|
+
throw new Error(`HTTP ${res.status}`);
|
|
29
|
+
const data = (await res.json());
|
|
30
|
+
const out = [];
|
|
31
|
+
for (const [key, jpName] of Object.entries(BEA_RELEASES)) {
|
|
32
|
+
const dates = data[key]?.release_dates;
|
|
33
|
+
if (!Array.isArray(dates))
|
|
34
|
+
continue;
|
|
35
|
+
for (const raw of dates) {
|
|
36
|
+
if (typeof raw !== "string")
|
|
37
|
+
continue;
|
|
38
|
+
const ms = Date.parse(raw);
|
|
39
|
+
if (Number.isNaN(ms))
|
|
40
|
+
continue;
|
|
41
|
+
const { date, time } = jstParts(ms);
|
|
42
|
+
out.push({
|
|
43
|
+
date,
|
|
44
|
+
time,
|
|
45
|
+
country: "US",
|
|
46
|
+
name: jpName,
|
|
47
|
+
source: "BEA",
|
|
48
|
+
sourceUrl: BEA_SOURCE_URL,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}),
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=bea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bea.js","sourceRoot":"","sources":["../../../../src/lib/economic-release-pulse/adapters/bea.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,6CAA6C;AAC7C,uDAAuD;AACvD,kFAAkF;AAClF,6CAA6C;AAG7C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAExF,MAAM,OAAO,GAAG,oDAAoD,CAAC;AACrE,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAE3D,yCAAyC;AACzC,+BAA+B;AAC/B,MAAM,YAAY,GAAqC;IACrD,wBAAwB,EAAE,OAAO;IACjC,6BAA6B,EAAE,gBAAgB;IAC/C,gDAAgD,EAAE,QAAQ;IAC1D,mBAAmB,EAAE,QAAQ;CAC9B,CAAC;AAIF,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,GAAG,EAAE,CAChB,SAAS,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,8BAA8B,CAAC;YAC3D,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoC,CAAC;QAEnE,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,SAAS;gBACtC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpC,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI;oBACJ,IAAI;oBACJ,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// 日銀アダプタ。
|
|
2
|
+
// 日銀の金融政策決定会合・主な意見・短観・議事要旨は、既に economic-events.ts に
|
|
3
|
+
// 手動キュレーション+verify:cb で裏取り済みのデータがある。それを再利用し、
|
|
4
|
+
// pulse ツールの出力にも JP の中銀イベントが含まれるようにする
|
|
5
|
+
// (新規スクレイピングはせず、verify 済みデータの再エクスポートに留める)。
|
|
6
|
+
import { ECONOMIC_EVENTS } from "../../economic-events.js";
|
|
7
|
+
const BOJ_SOURCE_URL = "https://www.boj.or.jp/about/calendar/index.htm";
|
|
8
|
+
export const bojAdapter = {
|
|
9
|
+
key: "boj",
|
|
10
|
+
label: "日銀(金融政策決定会合・主な意見・短観・議事要旨)",
|
|
11
|
+
// ネットワーク不要・同期だが、ReleaseAdapter 契約に合わせ async で返す。
|
|
12
|
+
fetchEvents: async () => ECONOMIC_EVENTS.filter((e) => e.country === "JP" && e.name.startsWith("日銀")).map((e) => ({
|
|
13
|
+
date: e.date,
|
|
14
|
+
...(e.time ? { time: e.time } : {}),
|
|
15
|
+
country: "JP",
|
|
16
|
+
name: e.name,
|
|
17
|
+
source: "日銀(lit-forge 収録データ)",
|
|
18
|
+
sourceUrl: BOJ_SOURCE_URL,
|
|
19
|
+
})),
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=boj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boj.js","sourceRoot":"","sources":["../../../../src/lib/economic-release-pulse/adapters/boj.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,oDAAoD;AACpD,6CAA6C;AAC7C,sCAAsC;AACtC,2CAA2C;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,cAAc,GAAG,gDAAgD,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,2BAA2B;IAClC,iDAAiD;IACjD,WAAW,EAAE,KAAK,IAA6B,EAAE,CAC/C,eAAe,CAAC,MAAM,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CACrD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,IAAa;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAC;CACN,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ReleaseAdapter, ReleaseEvent } from "../types.js";
|
|
2
|
+
export declare function parseCaoDate(s: string): string | null;
|
|
3
|
+
export declare function parseCaoTime(s: string): string | null;
|
|
4
|
+
export declare function parseCaoGdpTable(html: string): ReleaseEvent[];
|
|
5
|
+
export declare const caoAdapter: ReleaseAdapter;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// 内閣府(経済社会総合研究所)アダプタ。
|
|
2
|
+
// 「公表予定」ページの先頭テーブル「四半期別GDP速報」を HTML パースする。
|
|
3
|
+
// https://www.esri.cao.go.jp/jp/sna/kouhyou/kouhyou_top.html
|
|
4
|
+
// テーブル構造(安定・小サイズ 12KB):
|
|
5
|
+
// <tr><td>2026年1-3月期(1次速報)</td><td>2026(令和8)年5月19日(火)</td><td>8時50分</td></tr>
|
|
6
|
+
// 依存追加を避けるため正規表現ベース(geopolitical-pulse の parseRss と同方針)。
|
|
7
|
+
import { withCache, DEFAULT_CACHE_TTL_MS } from "../cache.js";
|
|
8
|
+
import { RELEASE_PULSE_UA, RELEASE_PULSE_FETCH_TIMEOUT_MS } from "../util.js";
|
|
9
|
+
const CAO_URL = "https://www.esri.cao.go.jp/jp/sna/kouhyou/kouhyou_top.html";
|
|
10
|
+
// "2026(令和8)年5月19日(火)" → "2026-05-19"。和暦括弧・曜日は無視。
|
|
11
|
+
// "未定" / "2026年12月中旬以降" など precise でないものは null。
|
|
12
|
+
export function parseCaoDate(s) {
|
|
13
|
+
const m = s.match(/(\d{4})(?:([^)]*))?年(\d{1,2})月(\d{1,2})日/);
|
|
14
|
+
if (!m)
|
|
15
|
+
return null;
|
|
16
|
+
const [, y, mo, d] = m;
|
|
17
|
+
return `${y}-${mo.padStart(2, "0")}-${d.padStart(2, "0")}`;
|
|
18
|
+
}
|
|
19
|
+
// "8時50分" → "08:50"。"-" 等は null。
|
|
20
|
+
export function parseCaoTime(s) {
|
|
21
|
+
const m = s.match(/(\d{1,2})時(\d{1,2})分/);
|
|
22
|
+
if (!m)
|
|
23
|
+
return null;
|
|
24
|
+
return `${m[1].padStart(2, "0")}:${m[2].padStart(2, "0")}`;
|
|
25
|
+
}
|
|
26
|
+
// 内閣府 公表予定ページ HTML から「四半期別GDP速報」テーブルの行を抽出する。
|
|
27
|
+
// 見出し「四半期別GDP速報」直後の最初の <table>...</table> のみ対象。
|
|
28
|
+
export function parseCaoGdpTable(html) {
|
|
29
|
+
const tableMatch = html.match(/四半期別GDP速報[\s\S]*?<table[^>]*>([\s\S]*?)<\/table>/);
|
|
30
|
+
if (!tableMatch)
|
|
31
|
+
return [];
|
|
32
|
+
const tableInner = tableMatch[1];
|
|
33
|
+
const out = [];
|
|
34
|
+
const rowRe = /<tr>([\s\S]*?)<\/tr>/g;
|
|
35
|
+
let rm;
|
|
36
|
+
while ((rm = rowRe.exec(tableInner)) !== null) {
|
|
37
|
+
const cells = [...rm[1].matchAll(/<td[^>]*>([\s\S]*?)<\/td>/g)].map((c) => c[1].replace(/<[^>]+>/g, "").replace(/\s+/g, "").trim());
|
|
38
|
+
// thead 行は <th> のみで cells が空 → スキップ
|
|
39
|
+
if (cells.length < 2)
|
|
40
|
+
continue;
|
|
41
|
+
const [period, dateStr, timeStr] = cells;
|
|
42
|
+
const date = parseCaoDate(dateStr ?? "");
|
|
43
|
+
if (!date)
|
|
44
|
+
continue; // 「未定」「中旬以降」等はスキップ
|
|
45
|
+
const time = parseCaoTime(timeStr ?? "");
|
|
46
|
+
out.push({
|
|
47
|
+
date,
|
|
48
|
+
...(time ? { time } : {}),
|
|
49
|
+
country: "JP",
|
|
50
|
+
name: `日 GDP速報 ${period}`,
|
|
51
|
+
source: "内閣府",
|
|
52
|
+
sourceUrl: CAO_URL,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
export const caoAdapter = {
|
|
58
|
+
key: "cao",
|
|
59
|
+
label: "内閣府(四半期別 GDP 速報)",
|
|
60
|
+
fetchEvents: () => withCache("cao", DEFAULT_CACHE_TTL_MS, async () => {
|
|
61
|
+
const res = await fetch(CAO_URL, {
|
|
62
|
+
headers: { "User-Agent": RELEASE_PULSE_UA, Accept: "text/html" },
|
|
63
|
+
signal: AbortSignal.timeout(RELEASE_PULSE_FETCH_TIMEOUT_MS),
|
|
64
|
+
redirect: "follow",
|
|
65
|
+
});
|
|
66
|
+
if (!res.ok)
|
|
67
|
+
throw new Error(`HTTP ${res.status}`);
|
|
68
|
+
const html = await res.text();
|
|
69
|
+
return parseCaoGdpTable(html);
|
|
70
|
+
}),
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=cao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cao.js","sourceRoot":"","sources":["../../../../src/lib/economic-release-pulse/adapters/cao.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// アダプタ単位の in-memory TTL キャッシュ。
|
|
2
|
+
// 経済指標カレンダーは日内でほぼ変わらないため既定 6h。
|
|
3
|
+
// MCP プロセス存続中のみ有効(プロセス再起動でクリア)。
|
|
4
|
+
const store = new Map();
|
|
5
|
+
// 既定 TTL(6 時間)。
|
|
6
|
+
export const DEFAULT_CACHE_TTL_MS = 6 * 3600 * 1000;
|
|
7
|
+
// key で引き、未キャッシュ or 期限切れなら fn() を実行して格納する。
|
|
8
|
+
// fn() が throw した場合はキャッシュせず素通しで throw(失敗を握り込まない)。
|
|
9
|
+
export async function withCache(key, ttlMs, fn) {
|
|
10
|
+
const hit = store.get(key);
|
|
11
|
+
if (hit && hit.expiresAt > Date.now()) {
|
|
12
|
+
return hit.value;
|
|
13
|
+
}
|
|
14
|
+
const value = await fn();
|
|
15
|
+
store.set(key, { value, expiresAt: Date.now() + ttlMs });
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
// テスト用: キャッシュを全消去する。
|
|
19
|
+
export function clearCache() {
|
|
20
|
+
store.clear();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/cache.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,+BAA+B;AAC/B,gCAAgC;AAIhC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;AAEvC,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD,2CAA2C;AAC3C,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,KAAa,EACb,EAAoB;IAEpB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,KAAU,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC;IACzB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,UAAU;IACxB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AdapterResult, ReleaseCountry, ReleaseEvent } from "./types.js";
|
|
2
|
+
export type ReleaseRange = "today" | "week";
|
|
3
|
+
export type EconomicReleasePulse = {
|
|
4
|
+
fetchedAt: string;
|
|
5
|
+
today: string;
|
|
6
|
+
range: ReleaseRange;
|
|
7
|
+
sources: AdapterResult[];
|
|
8
|
+
events: ReleaseEvent[];
|
|
9
|
+
};
|
|
10
|
+
export declare function fetchEconomicReleasePulse(opts: {
|
|
11
|
+
range: ReleaseRange;
|
|
12
|
+
country?: ReleaseCountry;
|
|
13
|
+
now?: Date;
|
|
14
|
+
}): Promise<EconomicReleasePulse>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// 経済指標リリース予定アグリゲータ。
|
|
2
|
+
// 全アダプタを並列実行し、エラーを隔離(部分成功)、国/期間フィルタ・dedupe・ソートして返す。
|
|
3
|
+
// geopolitical-pulse.ts の fetchPulse と同じ構造。
|
|
4
|
+
import { jstToday, jstDatePlus } from "./util.js";
|
|
5
|
+
import { beaAdapter } from "./adapters/bea.js";
|
|
6
|
+
import { caoAdapter } from "./adapters/cao.js";
|
|
7
|
+
import { bojAdapter } from "./adapters/boj.js";
|
|
8
|
+
// 登録アダプタ。新ソース追加時はここに 1 行足す。
|
|
9
|
+
// 次サイクル候補: NY 連銀(Empire State)、FRB(鉱工業生産・FOMC)、BLS、総務省統計局。
|
|
10
|
+
const ADAPTERS = [beaAdapter, caoAdapter, bojAdapter];
|
|
11
|
+
// date(YYYY-MM-DD) が [from, to] の範囲内か(文字列比較で OK)。
|
|
12
|
+
function inRange(date, from, to) {
|
|
13
|
+
return date >= from && date <= to;
|
|
14
|
+
}
|
|
15
|
+
// 全アダプタ並列実行 → 国/期間フィルタ → dedupe → 日時ソート。
|
|
16
|
+
export async function fetchEconomicReleasePulse(opts) {
|
|
17
|
+
const now = opts.now ?? new Date();
|
|
18
|
+
const today = jstToday(now);
|
|
19
|
+
const to = opts.range === "week" ? jstDatePlus(6, now) : today;
|
|
20
|
+
const settled = await Promise.all(ADAPTERS.map(async (a) => {
|
|
21
|
+
const t0 = Date.now();
|
|
22
|
+
try {
|
|
23
|
+
const events = await a.fetchEvents();
|
|
24
|
+
return {
|
|
25
|
+
result: {
|
|
26
|
+
key: a.key,
|
|
27
|
+
label: a.label,
|
|
28
|
+
ok: true,
|
|
29
|
+
count: events.length,
|
|
30
|
+
elapsedMs: Date.now() - t0,
|
|
31
|
+
},
|
|
32
|
+
events,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
const msg = e instanceof Error ? e.message : "fetch failed";
|
|
37
|
+
return {
|
|
38
|
+
result: {
|
|
39
|
+
key: a.key,
|
|
40
|
+
label: a.label,
|
|
41
|
+
ok: false,
|
|
42
|
+
count: 0,
|
|
43
|
+
error: msg,
|
|
44
|
+
elapsedMs: Date.now() - t0,
|
|
45
|
+
},
|
|
46
|
+
events: [],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
let events = settled.flatMap((s) => s.events);
|
|
51
|
+
if (opts.country) {
|
|
52
|
+
events = events.filter((e) => e.country === opts.country);
|
|
53
|
+
}
|
|
54
|
+
events = events.filter((e) => inRange(e.date, today, to));
|
|
55
|
+
// dedupe(date|time|country|name)。BEA は同一日が重複することがあるため必須。
|
|
56
|
+
const seen = new Set();
|
|
57
|
+
const deduped = [];
|
|
58
|
+
for (const e of events) {
|
|
59
|
+
const k = `${e.date}|${e.time ?? ""}|${e.country}|${e.name}`;
|
|
60
|
+
if (seen.has(k))
|
|
61
|
+
continue;
|
|
62
|
+
seen.add(k);
|
|
63
|
+
deduped.push(e);
|
|
64
|
+
}
|
|
65
|
+
deduped.sort((a, b) => (a.date + (a.time ?? "99:99")).localeCompare(b.date + (b.time ?? "99:99")));
|
|
66
|
+
return {
|
|
67
|
+
fetchedAt: new Date().toISOString(),
|
|
68
|
+
today,
|
|
69
|
+
range: opts.range,
|
|
70
|
+
sources: settled.map((s) => s.result),
|
|
71
|
+
events: deduped,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=pulse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/pulse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type ReleaseCountry = "US" | "JP" | "EU" | "GB" | "CN";
|
|
2
|
+
export type ReleaseEvent = {
|
|
3
|
+
date: string;
|
|
4
|
+
time?: string;
|
|
5
|
+
country: ReleaseCountry;
|
|
6
|
+
name: string;
|
|
7
|
+
source: string;
|
|
8
|
+
sourceUrl: string;
|
|
9
|
+
};
|
|
10
|
+
export type AdapterResult = {
|
|
11
|
+
key: string;
|
|
12
|
+
label: string;
|
|
13
|
+
ok: boolean;
|
|
14
|
+
count: number;
|
|
15
|
+
error?: string;
|
|
16
|
+
elapsedMs: number;
|
|
17
|
+
};
|
|
18
|
+
export type ReleaseAdapter = {
|
|
19
|
+
key: string;
|
|
20
|
+
label: string;
|
|
21
|
+
fetchEvents: () => Promise<ReleaseEvent[]>;
|
|
22
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// 経済指標リリース予定のリアルタイム取得(v0.11.0 新設)の共通型。
|
|
2
|
+
//
|
|
3
|
+
// 背景: get_economic_events_today は手動キュレーション(★★★ 中心・半年 1 回更新)で、
|
|
4
|
+
// NY 連銀製造業や鉱工業生産など収録外の指標を「取りこぼす」網羅性の穴があった。
|
|
5
|
+
// 本モジュールは公式機関のリリースカレンダーをアダプタ経由で実取得し、
|
|
6
|
+
// 既存ツールを「補完」する(置き換えではない)。
|
|
7
|
+
//
|
|
8
|
+
// 設計思想は geopolitical-pulse.ts を踏襲: 各ソースは独立、失敗しても全体は止めず
|
|
9
|
+
// AdapterResult[] で部分成功を呼び出し側に伝える。
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,8DAA8D;AAC9D,2CAA2C;AAC3C,qCAAqC;AACrC,0BAA0B;AAC1B,EAAE;AACF,uDAAuD;AACvD,mCAAmC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function jstParts(epochMs: number): {
|
|
2
|
+
date: string;
|
|
3
|
+
time: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function jstToday(now?: Date): string;
|
|
6
|
+
export declare function jstDatePlus(daysAhead: number, now?: Date): string;
|
|
7
|
+
export declare const RELEASE_PULSE_UA = "Mozilla/5.0 (compatible; lit-forge-mcp/0.11; +https://github.com/noblabs/lit-forge-mcp)";
|
|
8
|
+
export declare const RELEASE_PULSE_FETCH_TIMEOUT_MS = 12000;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// JST 関連ヘルパー。経済指標の日付は全て JST に正規化して扱う。
|
|
2
|
+
// UNIX epoch(ms) を JST の { date: "YYYY-MM-DD", time: "HH:MM" } に分解する。
|
|
3
|
+
// UTC に +9h して toISOString の UTC 表現を JST 壁時計として使う手法。
|
|
4
|
+
export function jstParts(epochMs) {
|
|
5
|
+
const jst = new Date(epochMs + 9 * 3600 * 1000);
|
|
6
|
+
const iso = jst.toISOString();
|
|
7
|
+
return { date: iso.slice(0, 10), time: iso.slice(11, 16) };
|
|
8
|
+
}
|
|
9
|
+
// JST の本日(YYYY-MM-DD)。
|
|
10
|
+
export function jstToday(now = new Date()) {
|
|
11
|
+
return jstParts(now.getTime()).date;
|
|
12
|
+
}
|
|
13
|
+
// JST で now から daysAhead 日後の YYYY-MM-DD。
|
|
14
|
+
export function jstDatePlus(daysAhead, now = new Date()) {
|
|
15
|
+
return jstParts(now.getTime() + daysAhead * 24 * 3600 * 1000).date;
|
|
16
|
+
}
|
|
17
|
+
// 共通 User-Agent。一部の公式サイトは無 UA / bot UA を 403 で弾くため
|
|
18
|
+
// ブラウザ系 UA を送る(geopolitical-pulse と同方針)。
|
|
19
|
+
export const RELEASE_PULSE_UA = "Mozilla/5.0 (compatible; lit-forge-mcp/0.11; +https://github.com/noblabs/lit-forge-mcp)";
|
|
20
|
+
export const RELEASE_PULSE_FETCH_TIMEOUT_MS = 12_000;
|
|
21
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/util.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,sEAAsE;AACtE,qDAAqD;AACrD,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,QAAQ,CAAC,MAAY,IAAI,IAAI,EAAE;IAC7C,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAY,IAAI,IAAI,EAAE;IACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,mDAAmD;AACnD,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAC3B,yFAAyF,CAAC;AAE5F,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// 経済指標リリース予定 リアルタイム取得ツール(v0.11.0 新設)。
|
|
2
|
+
//
|
|
3
|
+
// 役割分担:
|
|
4
|
+
// - 本ツール: 公式機関のリリースカレンダーを実取得し、収録漏れの無い「網羅性」を担保
|
|
5
|
+
// - get_economic_events_today: 手動キュレーション(★★★ 中心・半年 1 回更新・verify 済み)
|
|
6
|
+
// 両者は補完関係。市況サマリーでは両方を併用するのが望ましい。
|
|
7
|
+
//
|
|
8
|
+
// 現行カバー範囲(v0.11.0):
|
|
9
|
+
// - BEA(米): GDP / 個人所得・支出(PCE)/ 貿易収支 / 企業収益 — 公式 JSON
|
|
10
|
+
// - 内閣府(日): 四半期別 GDP 速報 — 公式 HTML
|
|
11
|
+
// - 日銀(日): 金融政策決定会合 / 主な意見 / 短観 / 議事要旨 — lit-forge 収録データ再利用
|
|
12
|
+
// 次サイクル予定: NY 連銀(Empire State)/ FRB(鉱工業生産・FOMC)/ BLS / 総務省統計局。
|
|
13
|
+
import { z } from "zod";
|
|
14
|
+
import { fetchEconomicReleasePulse, } from "../lib/economic-release-pulse/pulse.js";
|
|
15
|
+
import { jsonReply } from "./types.js";
|
|
16
|
+
const inputSchema = {
|
|
17
|
+
range: z
|
|
18
|
+
.enum(["today", "week"])
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("today=本日のみ / week=今日含む 7 日間。既定 today"),
|
|
21
|
+
country: z
|
|
22
|
+
.enum(["US", "JP", "EU", "GB", "CN"])
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("国コード絞り込み: US=米国 / JP=日本 / EU / GB / CN。未指定で全件。" +
|
|
25
|
+
"現行カバーは US(BEA)と JP(内閣府・日銀)のみ"),
|
|
26
|
+
};
|
|
27
|
+
export const getEconomicReleasePulseTool = {
|
|
28
|
+
name: "get_economic_release_pulse",
|
|
29
|
+
title: "経済指標リリース予定(公式機関カレンダー リアルタイム取得)",
|
|
30
|
+
description: "**公式機関のリリースカレンダーを実取得**して、当日〜週内の経済指標発表予定を返すツール。" +
|
|
31
|
+
"BEA(米経済分析局)・内閣府・日銀の公式日程を並列取得し、国・期間でフィルタして返します。" +
|
|
32
|
+
"【get_economic_events_today との違い】" +
|
|
33
|
+
"`get_economic_events_today` は運営者が一次ソースで裏取りした手動キュレーション(★★★ 中心、半年 1 回更新)で、" +
|
|
34
|
+
"収録対象を絞っているため NY 連銀製造業や鉱工業生産などを取りこぼす『網羅性の穴』があります。" +
|
|
35
|
+
"本ツールは公式カレンダーを実取得することでその穴を埋める**補完ツール**です。市況サマリーでは両方を併用してください。" +
|
|
36
|
+
"【現行カバー範囲(v0.11.0)】" +
|
|
37
|
+
"BEA(米 GDP / 個人所得・支出〔PCE〕/ 貿易収支 / 企業収益)、内閣府(四半期別 GDP 速報)、" +
|
|
38
|
+
"日銀(金融政策決定会合 / 主な意見 / 短観 / 議事要旨)。" +
|
|
39
|
+
"NY 連銀(Empire State)・FRB(鉱工業生産・FOMC)・BLS(雇用統計・CPI・PPI)・総務省統計局(日 CPI)は次サイクルで追加予定で、現時点では本ツールに含まれません。" +
|
|
40
|
+
"【利用上の注意】" +
|
|
41
|
+
"アダプタ単位の取得失敗は sources 配列に error として記録され、他アダプタの結果は返されます(部分成功)。" +
|
|
42
|
+
"結果は 6 時間キャッシュされます。各イベントには一次ソース URL(sourceUrl)が付きます。",
|
|
43
|
+
inputSchema,
|
|
44
|
+
handler: async ({ range, country }) => {
|
|
45
|
+
const effectiveRange = (range ?? "today");
|
|
46
|
+
const result = await fetchEconomicReleasePulse({
|
|
47
|
+
range: effectiveRange,
|
|
48
|
+
country: country,
|
|
49
|
+
});
|
|
50
|
+
return jsonReply({
|
|
51
|
+
today: result.today,
|
|
52
|
+
range: result.range,
|
|
53
|
+
fetchedAt: result.fetchedAt,
|
|
54
|
+
count: result.events.length,
|
|
55
|
+
events: result.events,
|
|
56
|
+
sources: result.sources,
|
|
57
|
+
note: "公式機関のリリースカレンダーを実取得した結果です。手動キュレーションの " +
|
|
58
|
+
"`get_economic_events_today` を補完します(網羅性担保が目的)。" +
|
|
59
|
+
"アダプタ単位の失敗は sources[].error を参照してください。",
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=get-economic-release-pulse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-economic-release-pulse.js","sourceRoot":"","sources":["../../src/tools/get-economic-release-pulse.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,QAAQ;AACR,gDAAgD;AAChD,sEAAsE;AACtE,mCAAmC;AACnC,EAAE;AACF,oBAAoB;AACpB,wDAAwD;AACxD,oCAAoC;AACpC,8DAA8D;AAC9D,+DAA+D;AAE/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD,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,CAAC,sCAAsC,CAAC;IACnD,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACpC,QAAQ,EAAE;SACV,QAAQ,CACP,gDAAgD;QAC9C,8BAA8B,CACjC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAiB;IACvD,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,gCAAgC;IACvC,WAAW,EACT,gDAAgD;QAChD,gDAAgD;QAChD,kCAAkC;QAClC,0EAA0E;QAC1E,kDAAkD;QAClD,8DAA8D;QAC9D,oBAAoB;QACpB,0DAA0D;QAC1D,kCAAkC;QAClC,mGAAmG;QACnG,UAAU;QACV,8DAA8D;QAC9D,qDAAqD;IACvD,WAAW;IACX,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,OAAO,CAAiB,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;YAC7C,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,OAAqC;SAC/C,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,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EACF,sCAAsC;gBACtC,+CAA+C;gBAC/C,uCAAuC;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -26,6 +26,7 @@ import { getDividendHistoryTool } from "./get-dividend-history.js";
|
|
|
26
26
|
import { getAnalystConsensusTool } from "./get-analyst-consensus.js";
|
|
27
27
|
import { getGeopoliticalCalendarTool } from "./get-geopolitical-calendar.js";
|
|
28
28
|
import { getGeopoliticalPulseTool } from "./get-geopolitical-pulse.js";
|
|
29
|
+
import { getEconomicReleasePulseTool } from "./get-economic-release-pulse.js";
|
|
29
30
|
export const tools = [
|
|
30
31
|
simulateNisaTool,
|
|
31
32
|
planRetirementTool,
|
|
@@ -46,5 +47,7 @@ export const tools = [
|
|
|
46
47
|
// v0.9.0 新規 / リネーム: 地政学カレンダー(旧 get_geopolitical_events)+ リアルタイム速報
|
|
47
48
|
getGeopoliticalCalendarTool,
|
|
48
49
|
getGeopoliticalPulseTool,
|
|
50
|
+
// v0.11.0 新規: 経済指標リリース予定の公式機関カレンダー リアルタイム取得(手動キュレーションの網羅性補完)
|
|
51
|
+
getEconomicReleasePulseTool,
|
|
49
52
|
];
|
|
50
53
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -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;AAE1C,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;
|
|
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;AAE1C,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;AAE9E,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;CAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lit-forge-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"mcpName": "io.github.noblabs/lit-forge-mcp",
|
|
5
5
|
"description": "MCP server for personal asset planning + daily market check: NISA / iDeCo simulation, retirement planning, market snapshot (USD/JPY, Nikkei, S&P 500, etc.), dividend history, analyst consensus, economic events.",
|
|
6
6
|
"type": "module",
|
|
@@ -47,9 +47,11 @@
|
|
|
47
47
|
"test:watch": "vitest",
|
|
48
48
|
"verify:cb": "node scripts/verify-central-bank-events.mjs",
|
|
49
49
|
"verify:us-macro": "node scripts/verify-us-macro-events.mjs",
|
|
50
|
+
"verify:jp-macro": "node scripts/verify-jp-macro-events.mjs",
|
|
50
51
|
"verify:geopolitical": "node scripts/verify-geopolitical-events.mjs",
|
|
51
|
-
"verify:all": "npm run verify:cb && npm run verify:us-macro && npm run verify:geopolitical",
|
|
52
|
-
"prepare": "npm run build"
|
|
52
|
+
"verify:all": "npm run verify:cb && npm run verify:us-macro && npm run verify:jp-macro && npm run verify:geopolitical",
|
|
53
|
+
"prepare": "npm run build",
|
|
54
|
+
"prepublishOnly": "npm run build && npm run verify:all"
|
|
53
55
|
},
|
|
54
56
|
"dependencies": {
|
|
55
57
|
"@modelcontextprotocol/sdk": "^1.29.0",
|