lit-forge-mcp 0.11.0 → 0.12.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.js +103 -1
- package/dist/lib/__tests__/economic-release-pulse.test.js.map +1 -1
- package/dist/lib/economic-release-pulse/adapters/frb.d.ts +3 -0
- package/dist/lib/economic-release-pulse/adapters/frb.js +64 -0
- package/dist/lib/economic-release-pulse/adapters/frb.js.map +1 -0
- package/dist/lib/economic-release-pulse/adapters/nyfed.d.ts +3 -0
- package/dist/lib/economic-release-pulse/adapters/nyfed.js +68 -0
- package/dist/lib/economic-release-pulse/adapters/nyfed.js.map +1 -0
- package/dist/lib/economic-release-pulse/pulse.js +10 -2
- package/dist/lib/economic-release-pulse/pulse.js.map +1 -1
- package/dist/lib/economic-release-pulse/util.d.ts +5 -0
- package/dist/lib/economic-release-pulse/util.js +39 -0
- package/dist/lib/economic-release-pulse/util.js.map +1 -1
- package/dist/tools/get-economic-release-pulse.js +12 -10
- package/dist/tools/get-economic-release-pulse.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// ネットワーク fetch は CI で不安定なため、パーサと JST ヘルパのみ対象。
|
|
3
3
|
import { describe, it, expect } from "vitest";
|
|
4
4
|
import { parseCaoDate, parseCaoTime, parseCaoGdpTable, } from "../economic-release-pulse/adapters/cao.js";
|
|
5
|
-
import {
|
|
5
|
+
import { parseEmpireStateTable } from "../economic-release-pulse/adapters/nyfed.js";
|
|
6
|
+
import { parseG17Releases } from "../economic-release-pulse/adapters/frb.js";
|
|
7
|
+
import { jstParts, jstToday, jstDatePlus, isUsEasternDst, etToJst, } from "../economic-release-pulse/util.js";
|
|
6
8
|
describe("parseCaoDate", () => {
|
|
7
9
|
it("和暦括弧・曜日付きの内閣府形式をパースする", () => {
|
|
8
10
|
expect(parseCaoDate("2026(令和8)年5月19日(火)")).toBe("2026-05-19");
|
|
@@ -99,4 +101,104 @@ describe("jstParts / jstToday / jstDatePlus", () => {
|
|
|
99
101
|
expect(jstDatePlus(0, new Date("2026-05-14T15:00:00Z"))).toBe("2026-05-15");
|
|
100
102
|
});
|
|
101
103
|
});
|
|
104
|
+
describe("isUsEasternDst / etToJst", () => {
|
|
105
|
+
it("夏(DST 期間)と冬(標準時)を判定する", () => {
|
|
106
|
+
expect(isUsEasternDst("2026-05-15")).toBe(true);
|
|
107
|
+
expect(isUsEasternDst("2026-07-04")).toBe(true);
|
|
108
|
+
expect(isUsEasternDst("2026-01-15")).toBe(false);
|
|
109
|
+
expect(isUsEasternDst("2026-12-25")).toBe(false);
|
|
110
|
+
});
|
|
111
|
+
it("ET 午前を JST 夜(同日)に変換する — DST 期間は +13h", () => {
|
|
112
|
+
expect(etToJst("2026-05-15", "08:30")).toEqual({
|
|
113
|
+
date: "2026-05-15",
|
|
114
|
+
time: "21:30",
|
|
115
|
+
});
|
|
116
|
+
expect(etToJst("2026-05-15", "09:15")).toEqual({
|
|
117
|
+
date: "2026-05-15",
|
|
118
|
+
time: "22:15",
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
it("ET 午前を JST 夜(同日)に変換する — 標準時は +14h", () => {
|
|
122
|
+
expect(etToJst("2026-01-15", "08:30")).toEqual({
|
|
123
|
+
date: "2026-01-15",
|
|
124
|
+
time: "22:30",
|
|
125
|
+
});
|
|
126
|
+
expect(etToJst("2026-01-15", "09:15")).toEqual({
|
|
127
|
+
date: "2026-01-15",
|
|
128
|
+
time: "23:15",
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe("parseEmpireStateTable", () => {
|
|
133
|
+
// NY 連銀 overview ページの greyborder テーブル実構造を模した fixture。
|
|
134
|
+
const FIXTURE = `
|
|
135
|
+
<table width="100%" class="greyborder" border="0">
|
|
136
|
+
<tbody>
|
|
137
|
+
<tr class="tdtblhdr">
|
|
138
|
+
<td class="tdhdrcol" style="width: 105px;"><div>JAN</div></td>
|
|
139
|
+
<td class="tdhdrcolR" style="width: 105px;"><div>FEB </div></td>
|
|
140
|
+
</tr>
|
|
141
|
+
<tr valign="top">
|
|
142
|
+
<td class="dirCol" style="width: 105px; height: 50px;"><div>15<a href="/medialibrary/media/survey/empire/empire2026/esms_2026_01.pdf?sc_lang=en"> report</a></div></td>
|
|
143
|
+
<td class="dirCol" style="width: 105px; height: 50px;"><div>17<a href="/medialibrary/media/survey/empire/empire2026/esms_2026_02.pdf"> report</a></div></td>
|
|
144
|
+
</tr>
|
|
145
|
+
<tr class="tdtblhdr">
|
|
146
|
+
<td class="tdhdrcol" style="width: 105px;"><div>MAY</div></td>
|
|
147
|
+
</tr>
|
|
148
|
+
<tr valign="top">
|
|
149
|
+
<td class="dirCol" style="width: 105px; height: 50px;"><div>15<a href="/medialibrary/media/survey/empire/empire2026/esms_2026_05.pdf"> report</a></div></td>
|
|
150
|
+
</tr>
|
|
151
|
+
</tbody>
|
|
152
|
+
</table>`;
|
|
153
|
+
it("月名ヘッダと日付セルを zip して ReleaseEvent に変換する", () => {
|
|
154
|
+
const events = parseEmpireStateTable(FIXTURE);
|
|
155
|
+
expect(events).toHaveLength(3);
|
|
156
|
+
// JAN 15(標準時)→ 22:30 JST 同日
|
|
157
|
+
expect(events[0]).toEqual({
|
|
158
|
+
date: "2026-01-15",
|
|
159
|
+
time: "22:30",
|
|
160
|
+
country: "US",
|
|
161
|
+
name: "米 NY 連銀製造業景気指数",
|
|
162
|
+
source: "NY 連銀",
|
|
163
|
+
sourceUrl: "https://www.newyorkfed.org/survey/empire/empiresurvey_overview.html",
|
|
164
|
+
});
|
|
165
|
+
expect(events[1].date).toBe("2026-02-17");
|
|
166
|
+
// MAY 15(DST 期間)→ 21:30 JST 同日
|
|
167
|
+
expect(events[2]).toMatchObject({ date: "2026-05-15", time: "21:30" });
|
|
168
|
+
});
|
|
169
|
+
it("greyborder テーブルが無ければ空配列", () => {
|
|
170
|
+
expect(parseEmpireStateTable("<html>no table</html>")).toEqual([]);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
describe("parseG17Releases", () => {
|
|
174
|
+
// FRB G.17 default ページの 2026 リリース節を模した fixture。
|
|
175
|
+
// 「May 15」と「,」の間に <a>(most recent monthly)</a> が挟まるケースを含む。
|
|
176
|
+
const FIXTURE = `
|
|
177
|
+
<h5>The monthly G.17 release will be released at 9:15 a.m. on these dates:</h5>
|
|
178
|
+
<p><strong>2026:</strong>
|
|
179
|
+
January 16,
|
|
180
|
+
February 18,
|
|
181
|
+
May 15 <a href="Current/default.htm">(most recent monthly)</a>,
|
|
182
|
+
and December 16.
|
|
183
|
+
</p>`;
|
|
184
|
+
it("年ブロックから月名+日を全抽出して ReleaseEvent に変換する", () => {
|
|
185
|
+
const events = parseG17Releases(FIXTURE);
|
|
186
|
+
expect(events).toHaveLength(4);
|
|
187
|
+
// January 16(標準時)→ 23:15 JST 同日
|
|
188
|
+
expect(events[0]).toEqual({
|
|
189
|
+
date: "2026-01-16",
|
|
190
|
+
time: "23:15",
|
|
191
|
+
country: "US",
|
|
192
|
+
name: "米 鉱工業生産",
|
|
193
|
+
source: "FRB",
|
|
194
|
+
sourceUrl: "https://www.federalreserve.gov/releases/g17/default.htm",
|
|
195
|
+
});
|
|
196
|
+
// <a> が挟まる May 15(DST 期間)も拾える → 22:15 JST 同日
|
|
197
|
+
expect(events[2]).toMatchObject({ date: "2026-05-15", time: "22:15" });
|
|
198
|
+
expect(events[3].date).toBe("2026-12-16");
|
|
199
|
+
});
|
|
200
|
+
it("該当する年ブロックが無ければ空配列", () => {
|
|
201
|
+
expect(parseG17Releases("<p>no schedule here</p>")).toEqual([]);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
102
204
|
//# sourceMappingURL=economic-release-pulse.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"economic-release-pulse.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/economic-release-pulse.test.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,8CAA8C;AAE9C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,
|
|
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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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// FRB アダプタ。
|
|
2
|
+
// 鉱工業生産(G.17: Industrial Production and Capacity Utilization)の今後のリリース日程を
|
|
3
|
+
// 公式の G.17 default ページから取得する。
|
|
4
|
+
// https://www.federalreserve.gov/releases/g17/default.htm
|
|
5
|
+
// 構造: <strong>2026:</strong> の後に
|
|
6
|
+
// "January 16, February 18, ... and December 16." のカンマ区切りテキスト。
|
|
7
|
+
// 途中に <a>(most recent monthly)</a> が挟まるが、月名+日の直接マッチで吸収する。
|
|
8
|
+
// 年は <strong> ラベルから(複数年ブロックがあれば全て拾う)。
|
|
9
|
+
// 依存追加を避けるため正規表現ベース。
|
|
10
|
+
// 注: FOMC 日程は economic-events.ts に収録済み・verify:cb で裏取り済みのため本アダプタ対象外。
|
|
11
|
+
import { withCache, DEFAULT_CACHE_TTL_MS } from "../cache.js";
|
|
12
|
+
import { etToJst, RELEASE_PULSE_UA, RELEASE_PULSE_FETCH_TIMEOUT_MS, } from "../util.js";
|
|
13
|
+
const FRB_G17_URL = "https://www.federalreserve.gov/releases/g17/default.htm";
|
|
14
|
+
// G.17 月次リリースは 9:15 AM ET 公表(ページ明記)。
|
|
15
|
+
const RELEASE_TIME_ET = "09:15";
|
|
16
|
+
const MONTH_NAME = {
|
|
17
|
+
January: "01", February: "02", March: "03", April: "04",
|
|
18
|
+
May: "05", June: "06", July: "07", August: "08",
|
|
19
|
+
September: "09", October: "10", November: "11", December: "12",
|
|
20
|
+
};
|
|
21
|
+
// G.17 ページ HTML から <strong>YYYY:</strong>...</p> の各年ブロックを走査し、
|
|
22
|
+
// 月名+日の組を全抽出して ReleaseEvent[] にする。
|
|
23
|
+
export function parseG17Releases(html) {
|
|
24
|
+
const out = [];
|
|
25
|
+
const blockRe = /<strong>(\d{4}):<\/strong>([\s\S]*?)<\/p>/g;
|
|
26
|
+
let bm;
|
|
27
|
+
while ((bm = blockRe.exec(html)) !== null) {
|
|
28
|
+
const year = bm[1];
|
|
29
|
+
const body = bm[2];
|
|
30
|
+
const pairRe = /(January|February|March|April|May|June|July|August|September|October|November|December)(?: |\s)+(\d{1,2})/g;
|
|
31
|
+
let pm;
|
|
32
|
+
while ((pm = pairRe.exec(body)) !== null) {
|
|
33
|
+
const mo = MONTH_NAME[pm[1]];
|
|
34
|
+
if (!mo)
|
|
35
|
+
continue;
|
|
36
|
+
const ymd = `${year}-${mo}-${pm[2].padStart(2, "0")}`;
|
|
37
|
+
const { date, time } = etToJst(ymd, RELEASE_TIME_ET);
|
|
38
|
+
out.push({
|
|
39
|
+
date,
|
|
40
|
+
time,
|
|
41
|
+
country: "US",
|
|
42
|
+
name: "米 鉱工業生産",
|
|
43
|
+
source: "FRB",
|
|
44
|
+
sourceUrl: FRB_G17_URL,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
export const frbAdapter = {
|
|
51
|
+
key: "frb",
|
|
52
|
+
label: "FRB(鉱工業生産 G.17)",
|
|
53
|
+
fetchEvents: () => withCache("frb", DEFAULT_CACHE_TTL_MS, async () => {
|
|
54
|
+
const res = await fetch(FRB_G17_URL, {
|
|
55
|
+
headers: { "User-Agent": RELEASE_PULSE_UA, Accept: "text/html" },
|
|
56
|
+
signal: AbortSignal.timeout(RELEASE_PULSE_FETCH_TIMEOUT_MS),
|
|
57
|
+
redirect: "follow",
|
|
58
|
+
});
|
|
59
|
+
if (!res.ok)
|
|
60
|
+
throw new Error(`HTTP ${res.status}`);
|
|
61
|
+
return parseG17Releases(await res.text());
|
|
62
|
+
}),
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=frb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frb.js","sourceRoot":"","sources":["../../../../src/lib/economic-release-pulse/adapters/frb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// NY 連銀アダプタ。
|
|
2
|
+
// Empire State Manufacturing Survey(NY 連銀製造業景気指数)の今後のリリース日程を
|
|
3
|
+
// 公式の overview ページから取得する。
|
|
4
|
+
// https://www.newyorkfed.org/survey/empire/empiresurvey_overview.html
|
|
5
|
+
// 構造: <table class="greyborder"> に「月名ヘッダ行 + 日付行」のグリッド(3 段 × 4 か月)。
|
|
6
|
+
// 月ヘッダ: <td class="tdhdrcol(R)"...><div>JAN</div> が文書順に 12 個
|
|
7
|
+
// 日付セル: <td class="dirCol"...><div>15<a href="...empire2026/..."> が文書順に 12 個
|
|
8
|
+
// 年: 日付セル内の PDF href(.../empire2026/...)から抽出
|
|
9
|
+
// 依存追加を避けるため正規表現ベース(cao.ts / parseRss と同方針)。
|
|
10
|
+
import { withCache, DEFAULT_CACHE_TTL_MS } from "../cache.js";
|
|
11
|
+
import { etToJst, jstToday, RELEASE_PULSE_UA, RELEASE_PULSE_FETCH_TIMEOUT_MS, } from "../util.js";
|
|
12
|
+
const NYFED_URL = "https://www.newyorkfed.org/survey/empire/empiresurvey_overview.html";
|
|
13
|
+
// Empire State Manufacturing Survey は 8:30 AM ET 公表(ページ明記)。
|
|
14
|
+
const RELEASE_TIME_ET = "08:30";
|
|
15
|
+
const MONTH_ABBR = {
|
|
16
|
+
JAN: "01", FEB: "02", MAR: "03", APR: "04", MAY: "05", JUN: "06",
|
|
17
|
+
JUL: "07", AUG: "08", SEP: "09", OCT: "10", NOV: "11", DEC: "12",
|
|
18
|
+
};
|
|
19
|
+
// Empire State の overview ページ HTML から greyborder テーブルを抽出し、
|
|
20
|
+
// 月名ヘッダ配列と日付セル配列を文書順で zip して ReleaseEvent[] にする。
|
|
21
|
+
export function parseEmpireStateTable(html) {
|
|
22
|
+
const tableMatch = html.match(/<table[^>]*class="greyborder"[\s\S]*?<\/table>/i);
|
|
23
|
+
if (!tableMatch)
|
|
24
|
+
return [];
|
|
25
|
+
const inner = tableMatch[0];
|
|
26
|
+
const months = [
|
|
27
|
+
...inner.matchAll(/class="tdhdrcol[^"]*"[^>]*>\s*<div>\s*([A-Za-z]{3})/g),
|
|
28
|
+
].map((m) => m[1].toUpperCase());
|
|
29
|
+
const days = [
|
|
30
|
+
...inner.matchAll(/class="dirCol"[^>]*>\s*<div>\s*(\d{1,2})/g),
|
|
31
|
+
].map((m) => m[1]);
|
|
32
|
+
// 年は PDF href(.../empire2026/...)から。取れなければ現在 JST 年。
|
|
33
|
+
const yearMatch = inner.match(/empire(\d{4})/);
|
|
34
|
+
const year = yearMatch ? yearMatch[1] : jstToday().slice(0, 4);
|
|
35
|
+
const out = [];
|
|
36
|
+
const n = Math.min(months.length, days.length);
|
|
37
|
+
for (let i = 0; i < n; i++) {
|
|
38
|
+
const mo = MONTH_ABBR[months[i]];
|
|
39
|
+
if (!mo)
|
|
40
|
+
continue;
|
|
41
|
+
const ymd = `${year}-${mo}-${days[i].padStart(2, "0")}`;
|
|
42
|
+
const { date, time } = etToJst(ymd, RELEASE_TIME_ET);
|
|
43
|
+
out.push({
|
|
44
|
+
date,
|
|
45
|
+
time,
|
|
46
|
+
country: "US",
|
|
47
|
+
name: "米 NY 連銀製造業景気指数",
|
|
48
|
+
source: "NY 連銀",
|
|
49
|
+
sourceUrl: NYFED_URL,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
export const nyfedAdapter = {
|
|
55
|
+
key: "nyfed",
|
|
56
|
+
label: "NY 連銀(Empire State 製造業景気指数)",
|
|
57
|
+
fetchEvents: () => withCache("nyfed", DEFAULT_CACHE_TTL_MS, async () => {
|
|
58
|
+
const res = await fetch(NYFED_URL, {
|
|
59
|
+
headers: { "User-Agent": RELEASE_PULSE_UA, Accept: "text/html" },
|
|
60
|
+
signal: AbortSignal.timeout(RELEASE_PULSE_FETCH_TIMEOUT_MS),
|
|
61
|
+
redirect: "follow",
|
|
62
|
+
});
|
|
63
|
+
if (!res.ok)
|
|
64
|
+
throw new Error(`HTTP ${res.status}`);
|
|
65
|
+
return parseEmpireStateTable(await res.text());
|
|
66
|
+
}),
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=nyfed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nyfed.js","sourceRoot":"","sources":["../../../../src/lib/economic-release-pulse/adapters/nyfed.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,17 @@ import { jstToday, jstDatePlus } from "./util.js";
|
|
|
5
5
|
import { beaAdapter } from "./adapters/bea.js";
|
|
6
6
|
import { caoAdapter } from "./adapters/cao.js";
|
|
7
7
|
import { bojAdapter } from "./adapters/boj.js";
|
|
8
|
+
import { nyfedAdapter } from "./adapters/nyfed.js";
|
|
9
|
+
import { frbAdapter } from "./adapters/frb.js";
|
|
8
10
|
// 登録アダプタ。新ソース追加時はここに 1 行足す。
|
|
9
|
-
// 次サイクル候補:
|
|
10
|
-
const ADAPTERS = [
|
|
11
|
+
// 次サイクル候補: BLS(雇用統計・CPI・PPI)、総務省統計局(日 CPI)、FOMC。
|
|
12
|
+
const ADAPTERS = [
|
|
13
|
+
beaAdapter,
|
|
14
|
+
caoAdapter,
|
|
15
|
+
bojAdapter,
|
|
16
|
+
nyfedAdapter,
|
|
17
|
+
frbAdapter,
|
|
18
|
+
];
|
|
11
19
|
// date(YYYY-MM-DD) が [from, to] の範囲内か(文字列比較で OK)。
|
|
12
20
|
function inRange(date, from, to) {
|
|
13
21
|
return date >= from && date <= to;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/pulse.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oDAAoD;AACpD,4CAA4C;AAQ5C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,4BAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/pulse.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,3 +6,8 @@ export declare function jstToday(now?: Date): string;
|
|
|
6
6
|
export declare function jstDatePlus(daysAhead: number, now?: Date): string;
|
|
7
7
|
export declare const RELEASE_PULSE_UA = "Mozilla/5.0 (compatible; lit-forge-mcp/0.11; +https://github.com/noblabs/lit-forge-mcp)";
|
|
8
8
|
export declare const RELEASE_PULSE_FETCH_TIMEOUT_MS = 12000;
|
|
9
|
+
export declare function isUsEasternDst(ymd: string): boolean;
|
|
10
|
+
export declare function etToJst(ymd: string, etHHMM: string): {
|
|
11
|
+
date: string;
|
|
12
|
+
time: string;
|
|
13
|
+
};
|
|
@@ -18,4 +18,43 @@ export function jstDatePlus(daysAhead, now = new Date()) {
|
|
|
18
18
|
// ブラウザ系 UA を送る(geopolitical-pulse と同方針)。
|
|
19
19
|
export const RELEASE_PULSE_UA = "Mozilla/5.0 (compatible; lit-forge-mcp/0.11; +https://github.com/noblabs/lit-forge-mcp)";
|
|
20
20
|
export const RELEASE_PULSE_FETCH_TIMEOUT_MS = 12_000;
|
|
21
|
+
// ある月の第 n 日曜日の日(1-31)を返す。
|
|
22
|
+
function nthSundayOfMonth(year, month0, n) {
|
|
23
|
+
const firstDow = new Date(Date.UTC(year, month0, 1)).getUTCDay(); // 0=日
|
|
24
|
+
const firstSunday = 1 + ((7 - firstDow) % 7);
|
|
25
|
+
return firstSunday + (n - 1) * 7;
|
|
26
|
+
}
|
|
27
|
+
// 与えられた YYYY-MM-DD が米東部夏時間(EDT, UTC-4)期間内かを判定する。
|
|
28
|
+
// 米 DST: 3 月第 2 日曜 02:00 〜 11 月第 1 日曜 02:00。
|
|
29
|
+
// 経済指標のリリースは午前なので 02:00 の切替時刻は無視し、日付レベルで判定する
|
|
30
|
+
// (切替日当日: 3 月開始日は EDT 扱い・11 月終了日は EST 扱い、午前リリースとして正しい)。
|
|
31
|
+
export function isUsEasternDst(ymd) {
|
|
32
|
+
const [y, mo, d] = ymd.split("-").map(Number);
|
|
33
|
+
if (!y || !mo || !d)
|
|
34
|
+
return false;
|
|
35
|
+
const dstStart = nthSundayOfMonth(y, 2, 2); // 3 月(month0=2)第 2 日曜
|
|
36
|
+
const dstEnd = nthSundayOfMonth(y, 10, 1); // 11 月(month0=10)第 1 日曜
|
|
37
|
+
const cur = mo * 100 + d;
|
|
38
|
+
return cur >= 3 * 100 + dstStart && cur < 11 * 100 + dstEnd;
|
|
39
|
+
}
|
|
40
|
+
// 米東部時間(ET)の YYYY-MM-DD + HH:MM を JST の { date, time } に変換する。
|
|
41
|
+
// EDT は UTC-4 → JST(+9) は ET+13h、EST は UTC-5 → ET+14h。
|
|
42
|
+
// 午前 ET は夜 JST で同日内に収まるが、繰り上がりも一般的に処理する。
|
|
43
|
+
export function etToJst(ymd, etHHMM) {
|
|
44
|
+
const [eh, em] = etHHMM.split(":").map(Number);
|
|
45
|
+
const offsetH = isUsEasternDst(ymd) ? 13 : 14;
|
|
46
|
+
let jh = eh + offsetH;
|
|
47
|
+
let dayShift = 0;
|
|
48
|
+
while (jh >= 24) {
|
|
49
|
+
jh -= 24;
|
|
50
|
+
dayShift += 1;
|
|
51
|
+
}
|
|
52
|
+
let date = ymd;
|
|
53
|
+
if (dayShift > 0) {
|
|
54
|
+
const [y, mo, d] = ymd.split("-").map(Number);
|
|
55
|
+
date = new Date(Date.UTC(y, mo - 1, d + dayShift)).toISOString().slice(0, 10);
|
|
56
|
+
}
|
|
57
|
+
const time = `${String(jh).padStart(2, "0")}:${String(em).padStart(2, "0")}`;
|
|
58
|
+
return { date, time };
|
|
59
|
+
}
|
|
21
60
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/lib/economic-release-pulse/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
// 経済指標リリース予定 リアルタイム取得ツール(v0.11.0
|
|
1
|
+
// 経済指標リリース予定 リアルタイム取得ツール(v0.11.0 新設、v0.12.0 で NY 連銀・FRB 追加)。
|
|
2
2
|
//
|
|
3
3
|
// 役割分担:
|
|
4
4
|
// - 本ツール: 公式機関のリリースカレンダーを実取得し、収録漏れの無い「網羅性」を担保
|
|
5
5
|
// - get_economic_events_today: 手動キュレーション(★★★ 中心・半年 1 回更新・verify 済み)
|
|
6
6
|
// 両者は補完関係。市況サマリーでは両方を併用するのが望ましい。
|
|
7
7
|
//
|
|
8
|
-
// 現行カバー範囲(v0.
|
|
8
|
+
// 現行カバー範囲(v0.12.0):
|
|
9
9
|
// - BEA(米): GDP / 個人所得・支出(PCE)/ 貿易収支 / 企業収益 — 公式 JSON
|
|
10
|
+
// - NY 連銀(米): 製造業景気指数(Empire State)— 公式 HTML
|
|
11
|
+
// - FRB(米): 鉱工業生産(G.17)— 公式 HTML
|
|
10
12
|
// - 内閣府(日): 四半期別 GDP 速報 — 公式 HTML
|
|
11
13
|
// - 日銀(日): 金融政策決定会合 / 主な意見 / 短観 / 議事要旨 — lit-forge 収録データ再利用
|
|
12
|
-
// 次サイクル予定:
|
|
14
|
+
// 次サイクル予定: BLS(雇用統計・CPI・PPI)/ 総務省統計局(日 CPI)/ FOMC。
|
|
13
15
|
import { z } from "zod";
|
|
14
16
|
import { fetchEconomicReleasePulse, } from "../lib/economic-release-pulse/pulse.js";
|
|
15
17
|
import { jsonReply } from "./types.js";
|
|
@@ -22,21 +24,21 @@ const inputSchema = {
|
|
|
22
24
|
.enum(["US", "JP", "EU", "GB", "CN"])
|
|
23
25
|
.optional()
|
|
24
26
|
.describe("国コード絞り込み: US=米国 / JP=日本 / EU / GB / CN。未指定で全件。" +
|
|
25
|
-
"現行カバーは US(BEA)と JP(内閣府・日銀)のみ"),
|
|
27
|
+
"現行カバーは US(BEA・NY 連銀・FRB)と JP(内閣府・日銀)のみ"),
|
|
26
28
|
};
|
|
27
29
|
export const getEconomicReleasePulseTool = {
|
|
28
30
|
name: "get_economic_release_pulse",
|
|
29
31
|
title: "経済指標リリース予定(公式機関カレンダー リアルタイム取得)",
|
|
30
32
|
description: "**公式機関のリリースカレンダーを実取得**して、当日〜週内の経済指標発表予定を返すツール。" +
|
|
31
|
-
"BEA
|
|
33
|
+
"BEA(米経済分析局)・NY 連銀・FRB・内閣府・日銀の公式日程を並列取得し、国・期間でフィルタして返します。" +
|
|
32
34
|
"【get_economic_events_today との違い】" +
|
|
33
35
|
"`get_economic_events_today` は運営者が一次ソースで裏取りした手動キュレーション(★★★ 中心、半年 1 回更新)で、" +
|
|
34
|
-
"
|
|
36
|
+
"収録対象を絞っているため取りこぼす『網羅性の穴』があります。" +
|
|
35
37
|
"本ツールは公式カレンダーを実取得することでその穴を埋める**補完ツール**です。市況サマリーでは両方を併用してください。" +
|
|
36
|
-
"【現行カバー範囲(v0.
|
|
37
|
-
"BEA(米 GDP / 個人所得・支出〔PCE〕/ 貿易収支 /
|
|
38
|
-
"
|
|
39
|
-
"
|
|
38
|
+
"【現行カバー範囲(v0.12.0)】" +
|
|
39
|
+
"BEA(米 GDP / 個人所得・支出〔PCE〕/ 貿易収支 / 企業収益)、NY 連銀(米 製造業景気指数 Empire State)、" +
|
|
40
|
+
"FRB(米 鉱工業生産 G.17)、内閣府(四半期別 GDP 速報)、日銀(金融政策決定会合 / 主な意見 / 短観 / 議事要旨)。" +
|
|
41
|
+
"BLS(雇用統計・CPI・PPI)・総務省統計局(日 CPI)・FOMC は次サイクルで追加予定で、現時点では本ツールに含まれません。" +
|
|
40
42
|
"【利用上の注意】" +
|
|
41
43
|
"アダプタ単位の取得失敗は sources 配列に error として記録され、他アダプタの結果は返されます(部分成功)。" +
|
|
42
44
|
"結果は 6 時間キャッシュされます。各イベントには一次ソース URL(sourceUrl)が付きます。",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-economic-release-pulse.js","sourceRoot":"","sources":["../../src/tools/get-economic-release-pulse.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"get-economic-release-pulse.js","sourceRoot":"","sources":["../../src/tools/get-economic-release-pulse.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,QAAQ;AACR,gDAAgD;AAChD,sEAAsE;AACtE,mCAAmC;AACnC,EAAE;AACF,oBAAoB;AACpB,wDAAwD;AACxD,+CAA+C;AAC/C,mCAAmC;AACnC,oCAAoC;AACpC,8DAA8D;AAC9D,mDAAmD;AAEnD,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,wCAAwC,CAC3C;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAiB;IACvD,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,gCAAgC;IACvC,WAAW,EACT,gDAAgD;QAChD,0DAA0D;QAC1D,kCAAkC;QAClC,0EAA0E;QAC1E,gCAAgC;QAChC,8DAA8D;QAC9D,oBAAoB;QACpB,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lit-forge-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.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",
|