building-standards-act-mcp 1.8.1 → 1.9.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
@@ -59,9 +59,11 @@ Vercel にデプロイすると、Claude.ai からすぐに使えます。環境
59
59
  インストール不要で実行できます。
60
60
 
61
61
  ```bash
62
- npx -y building-standards-act-mcp
62
+ npx -y building-standards-act-mcp@latest
63
63
  ```
64
64
 
65
+ `@latest` を付けると、npx のキャッシュに古い版が残っていても最新版で起動します。
66
+
65
67
  ### Claude Desktop
66
68
 
67
69
  `claude_desktop_config.json` に以下を追加してください。
@@ -71,7 +73,7 @@ npx -y building-standards-act-mcp
71
73
  "mcpServers": {
72
74
  "building-standards-act": {
73
75
  "command": "npx",
74
- "args": ["-y", "building-standards-act-mcp"]
76
+ "args": ["-y", "building-standards-act-mcp@latest"]
75
77
  }
76
78
  }
77
79
  }
@@ -80,43 +82,37 @@ npx -y building-standards-act-mcp
80
82
  ### Claude Code
81
83
 
82
84
  ```bash
83
- claude mcp add building-standards-act -- npx -y building-standards-act-mcp
85
+ claude mcp add building-standards-act -- npx -y building-standards-act-mcp@latest
84
86
  ```
85
87
 
86
88
  #### Windows + VS Code 拡張機能の場合
87
89
 
88
- VS Code 拡張機能では `npx` 経由の起動が `Connection closed` エラーになる場合があります。
89
- プロジェクトルートに `.mcp.json` を作成してください。
90
-
91
- **Step 1: グローバルインストール**
92
-
93
- ```bash
94
- npm install -g building-standards-act-mcp
95
- ```
96
-
97
- **Step 2: パスの確認**
90
+ VS Code 拡張機能では `npx` 経由の起動が `Connection closed` エラーになる場合があります。その場合は、公開中の Vercel 版に HTTP で接続するのが確実です。
98
91
 
99
92
  ```bash
100
- where node # → node.exe のフルパス(例: C:\Program Files\nodejs\node.exe)
101
- npm root -g # → グローバル node_modules のパス
93
+ claude mcp add --transport http building-standards-act https://building-standards-act-mcp.vercel.app/api/mcp
102
94
  ```
103
95
 
104
- **Step 3: `.mcp.json` を作成**
105
-
106
- 取得したパスで置き換えてください(パス区切りは `/` を使用):
96
+ プロジェクト単位で設定するなら、プロジェクトルートの `.mcp.json` に次を書きます。
107
97
 
108
98
  ```json
109
99
  {
110
100
  "mcpServers": {
111
101
  "building-standards-act": {
112
- "command": "<where node の出力>",
113
- "args": ["<npm root -g の出力>/building-standards-act-mcp/dist/index.js"]
102
+ "type": "http",
103
+ "url": "https://building-standards-act-mcp.vercel.app/api/mcp"
114
104
  }
115
105
  }
116
106
  }
117
107
  ```
118
108
 
119
- > **注意**: `.mcp.json` にはマシン固有のパスが含まれるため、`.gitignore` に追加してください。
109
+ ローカルの stdio で動かしたい場合は、`npx` を `cmd /c` で包みます。
110
+
111
+ ```bash
112
+ claude mcp add building-standards-act -- cmd /c npx -y building-standards-act-mcp@latest
113
+ ```
114
+
115
+ > **注意**: グローバルインストールした `dist/index.js` のパスを `.mcp.json` に直接書く方法は使わないでください。パッケージの更新・削除やフォルダの移動で、エラーを出さずに接続できなくなります。
120
116
 
121
117
  ### ローカル(ソースから)
122
118
 
@@ -566,7 +562,7 @@ e-Gov API は告示を収録していないため、`get_kokuji` は国土交通
566
562
  "mcpServers": {
567
563
  "building-standards-act": {
568
564
  "command": "npx",
569
- "args": ["-y", "building-standards-act-mcp"],
565
+ "args": ["-y", "building-standards-act-mcp@latest"],
570
566
  "env": {
571
567
  "BUILDING_LAW_CACHE": "file"
572
568
  }
@@ -590,7 +586,7 @@ e-Gov API は告示を収録していないため、`get_kokuji` は国土交通
590
586
  | API 並行呼び出し | 最大 5 並行(200ms 間隔) |
591
587
  | Vercel デプロイ | 対応(MCP-over-HTTP + REST API) |
592
588
  | Vercel 関数タイムアウト | 60 秒(maxDuration) |
593
- | Node.js | >= 20.0.0 |
589
+ | Node.js | >= 22.12.0 |
594
590
 
595
591
  ## セキュリティ
596
592
 
@@ -0,0 +1,2 @@
1
+ /** Append distinct provision aliases while preserving the user's original text. */
2
+ export declare function expandKokujiAliases(text: string): string;
@@ -0,0 +1,21 @@
1
+ /** Terms absent from the legacy MLIT titles; keep aliases tied to provisions. */
2
+ const KOKUJI_TERM_ALIASES = {
3
+ // Reiwa 6 MLIT Notice 447 moved wall-quantity rules to Showa 56 Notice 1100, titled with Order Article 46(4).
4
+ 壁量: "令46条4項",
5
+ // Required wall quantity is governed by the same Order Article 46(4) rule in Showa 56 Notice 1100.
6
+ 必要壁量: "令46条4項",
7
+ // Wall-quantity calculations use Order Article 46(4), named in the legacy title of Showa 56 Notice 1100.
8
+ 壁量計算: "令46条4項",
9
+ // Wall-quantity standards moved under Showa 56 Notice 1100 through Reiwa 6 MLIT Notice 447.
10
+ 壁量基準: "令46条4項",
11
+ // Existing wall quantity is assessed against the Order Article 46(4) wall-quantity rule.
12
+ 存在壁量: "令46条4項",
13
+ };
14
+ /** Append distinct provision aliases while preserving the user's original text. */
15
+ export function expandKokujiAliases(text) {
16
+ const targets = new Set(Object.entries(KOKUJI_TERM_ALIASES)
17
+ .filter(([term]) => text.includes(term))
18
+ .map(([, target]) => target));
19
+ return [text, ...targets].join(" ");
20
+ }
21
+ //# sourceMappingURL=kokuji-term-aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kokuji-term-aliases.js","sourceRoot":"","sources":["../../src/data/kokuji-term-aliases.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,mBAAmB,GAAqC;IAC5D,8GAA8G;IAC9G,EAAE,EAAE,QAAQ;IACZ,mGAAmG;IACnG,IAAI,EAAE,QAAQ;IACd,yGAAyG;IACzG,IAAI,EAAE,QAAQ;IACd,4FAA4F;IAC5F,IAAI,EAAE,QAAQ;IACd,yFAAyF;IACzF,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAC/B,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** A reference and its source span; numeral strings retain kanji spelling. */
2
+ export interface ArticleRef {
3
+ law?: string;
4
+ article: string;
5
+ branches: string[];
6
+ paragraph?: string;
7
+ item?: string;
8
+ start: number;
9
+ end: number;
10
+ }
11
+ /** Parse bare references and explicit law names without assuming a law context. */
12
+ export declare function parseArticleRefs(text: string): ArticleRef[];
13
+ /** Render the kanji reference form used in notice titles, without the law name. */
14
+ export declare function formatArticleRef(ref: ArticleRef): string;
@@ -0,0 +1,52 @@
1
+ const NUMERAL = "[0-90-9〇零一二三四五六七八九十百千万億兆]+";
2
+ const LAW = "[\\u4E00-\\u9FFF]+(?:法(?:施行令|施行規則)?|施行令|規則)|施行令|規則|法|令";
3
+ /** Parse bare references and explicit law names without assuming a law context. */
4
+ export function parseArticleRefs(text) {
5
+ const pattern = new RegExp(`(?:(${LAW})\\s*)?第?(${NUMERAL})条((?:の第?${NUMERAL})*)(?:第?(${NUMERAL})項)?(?:第?(${NUMERAL})号)?`, "g");
6
+ return [...text.matchAll(pattern)].map((match) => {
7
+ const prefix = match[1];
8
+ const law = prefix === "法"
9
+ ? "建築基準法"
10
+ : prefix === "令" || prefix === "施行令"
11
+ ? "建築基準法施行令"
12
+ : prefix;
13
+ return {
14
+ law,
15
+ article: match[2],
16
+ branches: match[3] ? match[3].split("の").slice(1) : [],
17
+ paragraph: match[4],
18
+ item: match[5],
19
+ start: match.index,
20
+ end: match.index + match[0].length,
21
+ };
22
+ });
23
+ }
24
+ function integerToKanji(value) {
25
+ const digits = "〇一二三四五六七八九";
26
+ for (const [unit, label] of [
27
+ [1_0000_0000_0000, "兆"], [1_0000_0000, "億"], [1_0000, "万"],
28
+ [1000, "千"], [100, "百"], [10, "十"],
29
+ ]) {
30
+ if (value < unit)
31
+ continue;
32
+ const count = Math.floor(value / unit);
33
+ const prefix = count === 1 && unit <= 1000 ? "" : integerToKanji(count);
34
+ const remainder = value % unit;
35
+ return prefix + label + (remainder ? integerToKanji(remainder) : "");
36
+ }
37
+ return digits[value];
38
+ }
39
+ function formatNumeral(value) {
40
+ const normalized = value.replace(/^第/, "").replace(/[0-9]/g, (digit) => String(digit.charCodeAt(0) - "0".charCodeAt(0)));
41
+ return /^\d+$/.test(normalized)
42
+ ? integerToKanji(Number(normalized))
43
+ : normalized;
44
+ }
45
+ /** Render the kanji reference form used in notice titles, without the law name. */
46
+ export function formatArticleRef(ref) {
47
+ return `第${formatNumeral(ref.article)}条`
48
+ + ref.branches.map((branch) => `の${formatNumeral(branch)}`).join("")
49
+ + (ref.paragraph ? `第${formatNumeral(ref.paragraph)}項` : "")
50
+ + (ref.item ? `第${formatNumeral(ref.item)}号` : "");
51
+ }
52
+ //# sourceMappingURL=article-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article-ref.js","sourceRoot":"","sources":["../../src/lib/article-ref.ts"],"names":[],"mappings":"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"}
@@ -7,53 +7,19 @@ export declare const parsedArticleSchema: z.ZodObject<{
7
7
  text: z.ZodString;
8
8
  references: z.ZodOptional<z.ZodArray<z.ZodObject<{
9
9
  raw_text: z.ZodString;
10
- ref_type: z.ZodEnum<["same_law", "cross_law", "relative", "delegation", "unknown"]>;
10
+ ref_type: z.ZodEnum<{
11
+ same_law: "same_law";
12
+ cross_law: "cross_law";
13
+ relative: "relative";
14
+ delegation: "delegation";
15
+ unknown: "unknown";
16
+ }>;
11
17
  target_law: z.ZodOptional<z.ZodString>;
12
18
  target_article: z.ZodOptional<z.ZodString>;
13
19
  target_paragraph: z.ZodOptional<z.ZodString>;
14
20
  target_item: z.ZodOptional<z.ZodString>;
15
- }, "strip", z.ZodTypeAny, {
16
- raw_text: string;
17
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
18
- target_law?: string | undefined;
19
- target_article?: string | undefined;
20
- target_paragraph?: string | undefined;
21
- target_item?: string | undefined;
22
- }, {
23
- raw_text: string;
24
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
25
- target_law?: string | undefined;
26
- target_article?: string | undefined;
27
- target_paragraph?: string | undefined;
28
- target_item?: string | undefined;
29
- }>, "many">>;
30
- }, "strip", z.ZodTypeAny, {
31
- text: string;
32
- article_num: string;
33
- article_caption: string;
34
- article_title: string;
35
- references?: {
36
- raw_text: string;
37
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
38
- target_law?: string | undefined;
39
- target_article?: string | undefined;
40
- target_paragraph?: string | undefined;
41
- target_item?: string | undefined;
42
- }[] | undefined;
43
- }, {
44
- text: string;
45
- article_num: string;
46
- article_caption: string;
47
- article_title: string;
48
- references?: {
49
- raw_text: string;
50
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
51
- target_law?: string | undefined;
52
- target_article?: string | undefined;
53
- target_paragraph?: string | undefined;
54
- target_item?: string | undefined;
55
- }[] | undefined;
56
- }>;
21
+ }, z.core.$strip>>>;
22
+ }, z.core.$strip>;
57
23
  export declare const structuredArticleSchema: z.ZodObject<{
58
24
  article_num: z.ZodString;
59
25
  article_caption: z.ZodString;
@@ -65,101 +31,21 @@ export declare const structuredArticleSchema: z.ZodObject<{
65
31
  item_num: z.ZodString;
66
32
  item_title: z.ZodString;
67
33
  item_sentence: z.ZodString;
68
- subitems: z.ZodArray<z.ZodType<StructuredSubitem, z.ZodTypeDef, StructuredSubitem>, "many">;
69
- }, "strip", z.ZodTypeAny, {
70
- subitems: StructuredSubitem[];
71
- item_num: string;
72
- item_title: string;
73
- item_sentence: string;
74
- }, {
75
- subitems: StructuredSubitem[];
76
- item_num: string;
77
- item_title: string;
78
- item_sentence: string;
79
- }>, "many">;
80
- }, "strip", z.ZodTypeAny, {
81
- paragraph_num: string;
82
- paragraph_sentence: string;
83
- items: {
84
- subitems: StructuredSubitem[];
85
- item_num: string;
86
- item_title: string;
87
- item_sentence: string;
88
- }[];
89
- }, {
90
- paragraph_num: string;
91
- paragraph_sentence: string;
92
- items: {
93
- subitems: StructuredSubitem[];
94
- item_num: string;
95
- item_title: string;
96
- item_sentence: string;
97
- }[];
98
- }>, "many">;
34
+ subitems: z.ZodArray<z.ZodType<StructuredSubitem, unknown, z.core.$ZodTypeInternals<StructuredSubitem, unknown>>>;
35
+ }, z.core.$strip>>;
36
+ }, z.core.$strip>>;
99
37
  references: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
38
  raw_text: z.ZodString;
101
- ref_type: z.ZodEnum<["same_law", "cross_law", "relative", "delegation", "unknown"]>;
39
+ ref_type: z.ZodEnum<{
40
+ same_law: "same_law";
41
+ cross_law: "cross_law";
42
+ relative: "relative";
43
+ delegation: "delegation";
44
+ unknown: "unknown";
45
+ }>;
102
46
  target_law: z.ZodOptional<z.ZodString>;
103
47
  target_article: z.ZodOptional<z.ZodString>;
104
48
  target_paragraph: z.ZodOptional<z.ZodString>;
105
49
  target_item: z.ZodOptional<z.ZodString>;
106
- }, "strip", z.ZodTypeAny, {
107
- raw_text: string;
108
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
109
- target_law?: string | undefined;
110
- target_article?: string | undefined;
111
- target_paragraph?: string | undefined;
112
- target_item?: string | undefined;
113
- }, {
114
- raw_text: string;
115
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
116
- target_law?: string | undefined;
117
- target_article?: string | undefined;
118
- target_paragraph?: string | undefined;
119
- target_item?: string | undefined;
120
- }>, "many">>;
121
- }, "strip", z.ZodTypeAny, {
122
- article_num: string;
123
- article_caption: string;
124
- article_title: string;
125
- paragraphs: {
126
- paragraph_num: string;
127
- paragraph_sentence: string;
128
- items: {
129
- subitems: StructuredSubitem[];
130
- item_num: string;
131
- item_title: string;
132
- item_sentence: string;
133
- }[];
134
- }[];
135
- references?: {
136
- raw_text: string;
137
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
138
- target_law?: string | undefined;
139
- target_article?: string | undefined;
140
- target_paragraph?: string | undefined;
141
- target_item?: string | undefined;
142
- }[] | undefined;
143
- }, {
144
- article_num: string;
145
- article_caption: string;
146
- article_title: string;
147
- paragraphs: {
148
- paragraph_num: string;
149
- paragraph_sentence: string;
150
- items: {
151
- subitems: StructuredSubitem[];
152
- item_num: string;
153
- item_title: string;
154
- item_sentence: string;
155
- }[];
156
- }[];
157
- references?: {
158
- raw_text: string;
159
- ref_type: "same_law" | "cross_law" | "relative" | "delegation" | "unknown";
160
- target_law?: string | undefined;
161
- target_article?: string | undefined;
162
- target_paragraph?: string | undefined;
163
- target_item?: string | undefined;
164
- }[] | undefined;
165
- }>;
50
+ }, z.core.$strip>>>;
51
+ }, z.core.$strip>;
@@ -161,6 +161,7 @@ export async function searchKeyword(params) {
161
161
  if (cached)
162
162
  return cached;
163
163
  const result = await fetchJson(`${BASE_URL}/keyword?${cacheKey}`);
164
+ result.next_offset = result.next_offset ?? null;
164
165
  keywordCache.set(cacheKey, result);
165
166
  return result;
166
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"egov-client.js","sourceRoot":"","sources":["../../src/lib/egov-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"egov-client.js","sourceRoot":"","sources":["../../src/lib/egov-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQ5D,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AAClD,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AACtD,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAC3D,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AACrD,MAAM,eAAe,GACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,MAAM,CAAC,CAAC,aAAa;AAE3E,MAAM,WAAW,GAAG,WAAW,CAC7B,QAAQ,EACR,gBAAgB,CACjB,CAAC;AACF,MAAM,YAAY,GAAG,WAAW,CAC9B,UAAU,EACV,kBAAkB,CACnB,CAAC;AACF,MAAM,cAAc,GAAG,WAAW,CAChC,WAAW,EACX,mBAAmB,CACpB,CAAC;AACF,MAAM,YAAY,GAAG,WAAW,CAC9B,SAAS,EACT,gBAAgB,CACjB,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AAE5C,2CAA2C;AAC3C,IAAI,YAAY,GAAoD,EAAE,CAAC;AAEvE,mDAAmD;AACnD,MAAM,UAAU,gBAAgB,CAC9B,IAAqD;IAErD,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,oBAAoB;IAClC,cAAc,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,YAAY,CAAI,GAAW;IACxC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,QAA4B,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC5C,IACE,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAChC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAC/C,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,sBAAsB,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,EAC/D,QAAQ,CAAC,MAAM,EACf,GAAG,EACH,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1D,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrF,SAAS,EACT,GAAG,CACJ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CAAI,GAAW;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAC/C,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAI,GAAG,CAAC,EAAE,YAAY,CAAC,CACpD,CAAC;QACF,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7B,QAAQ;YACR,MAAM;YACN,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SACvB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB;IAEhB,MAAM,QAAQ,GAAG,UAAU,QAAQ,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,GAAG,QAAQ,mBAAmB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAwB,GAAG,CAAC,CAAC;IAE3D,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa;IAC5C,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,GAAG,QAAQ,aAAa,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAsB,GAAG,CAAC,CAAC;IAEzD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,GAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,GAAG,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAG,GAAG,QAAQ,aAAa,kBAAkB,CAAC,KAAK,CAAC,QAAQ,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACpH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAsB,GAAG,CAAC,CAAC;QACzD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAClC,UAAkB;IAElB,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAMnC;IACC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC;QAC1D,eAAe,EAAE,MAAM;KACxB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,GAAG,QAAQ,YAAY,QAAQ,EAAE,CAClC,CAAC;IACF,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;IAChD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa;IAEb,MAAM,QAAQ,GAAG,aAAa,KAAK,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEnC,MAAM,GAAG,GAAG,GAAG,QAAQ,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,SAAS,CAA2B,GAAG,CAAC,CAAC;IAE9D,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** Extract the last amendment listed in the PDF header, preserving its numerals. */
2
+ export declare function extractLatestAmendment(pdfText: string): string | null;
@@ -0,0 +1,26 @@
1
+ /** Extract the last amendment listed in the PDF header, preserving its numerals. */
2
+ export function extractLatestAmendment(pdfText) {
3
+ const beginning = pdfText.slice(0, 1500);
4
+ const amendmentStart = beginning.indexOf("改正");
5
+ if (amendmentStart === -1)
6
+ return null;
7
+ const remaining = beginning.slice(amendmentStart + "改正".length);
8
+ const bodyStart = remaining.search(/建築基準法施行令(|建築基準法(|の規定に基づき|(?<=号)[^\S\r\n]*[\r\n]/u);
9
+ const header = (bodyStart === -1 ? remaining : remaining.slice(0, bodyStart))
10
+ .replace(/\s/g, "");
11
+ const entries = header.matchAll(/(昭和|平成|令和|同)?([〇一二三四五六七八九十百千0-9]+)年([〇一二三四五六七八九十百千0-9]+)月([〇一二三四五六七八九十百千0-9]+)日(建設省告示|国土交通省告示|同)?第([〇一二三四五六七八九十百千0-9]+)号/g);
12
+ let era = null;
13
+ let ministry = null;
14
+ let latest = null;
15
+ for (const [, entryEra, year, month, day, entryMinistry, number] of entries) {
16
+ if (entryEra && entryEra !== "同")
17
+ era = entryEra;
18
+ if (entryMinistry && entryMinistry !== "同")
19
+ ministry = entryMinistry;
20
+ if (era && ministry) {
21
+ latest = `${era}${year}年${month}月${day}日${ministry}第${number}号`;
22
+ }
23
+ }
24
+ return latest;
25
+ }
26
+ //# sourceMappingURL=kokuji-amendment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kokuji-amendment.js","sourceRoot":"","sources":["../../src/lib/kokuji-amendment.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,cAAc,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SAC1E,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,2HAA2H,CAAC,CAAC;IAE7J,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5E,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG;YAAE,GAAG,GAAG,QAAQ,CAAC;QACjD,IAAI,aAAa,IAAI,aAAa,KAAK,GAAG;YAAE,QAAQ,GAAG,aAAa,CAAC;QACrE,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,QAAQ,IAAI,MAAM,GAAG,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -6,16 +6,16 @@ export interface MlitNoticeEntry {
6
6
  organization: string;
7
7
  pdf_url: string;
8
8
  }
9
- /**
10
- * Search for a kokuji (ministerial notification) in the MLIT notice database
11
- * and return its PDF URL. Uses three-stage matching:
12
- * 1. Exact match
13
- * 2. Partial match (includes)
14
- * 3. Keyword match (all extracted keywords must appear in the entry title)
15
- *
16
- * @param title - The kokuji title to search for
17
- * @returns The PDF URL if found, null otherwise
18
- */
9
+ export type KokujiMatchStage = "exact" | "partial" | "article" | "keyword";
10
+ export interface KokujiMatch {
11
+ entry: MlitNoticeEntry;
12
+ stage: KokujiMatchStage;
13
+ matched: string[];
14
+ score: number;
15
+ }
16
+ /** Return candidates from the first successful stage, preserving exact/partial ordering. */
17
+ export declare function findKokujiCandidates(title: string, limit?: number): Promise<KokujiMatch[]>;
18
+ /** Keep the existing URL API backed by the same candidate selection. */
19
19
  export declare function findKokujiPdfUrl(title: string): Promise<string | null>;
20
20
  /**
21
21
  * Search MLIT notice entries by keyword.
@@ -1,4 +1,6 @@
1
1
  import JSZip from "jszip";
2
+ import { expandKokujiAliases } from "../data/kokuji-term-aliases.js";
3
+ import { formatArticleRef, parseArticleRefs } from "./article-ref.js";
2
4
  import { createCache } from "./cache.js";
3
5
  import { SERVER_VERSION } from "./version.js";
4
6
  const MLIT_NOTICE_URL = "https://www.mlit.go.jp/notice/";
@@ -283,68 +285,140 @@ async function getAllEntries() {
283
285
  excelDataCache.set(EXCEL_DATA_CACHE_KEY, entries);
284
286
  return entries;
285
287
  }
286
- /**
287
- * Extract meaningful keywords from a kokuji title for fuzzy matching.
288
- * Extracts runs of kanji (3+ chars), then splits long runs into
289
- * overlapping 3-character chunks to handle word boundary differences
290
- * (e.g. "許容応力度計算等" → ["許容応", "応力度", "力度計", "度計算"]).
291
- */
292
- function extractKeywords(title) {
293
- const kanjiRuns = title.match(/[\u4E00-\u9FFF]{3,}/g) ?? [];
294
- const chunks = [];
295
- for (const run of kanjiRuns) {
296
- if (run.length <= 4) {
297
- chunks.push(run);
298
- }
299
- else {
300
- // Sliding window of 3 characters
301
- for (let i = 0; i <= run.length - 3; i++) {
302
- chunks.push(run.substring(i, i + 3));
288
+ function kanjiRuns(text) {
289
+ return text.match(/[\u4E00-\u9FFF]{2,}/g) ?? [];
290
+ }
291
+ function withoutRefs(text, refs) {
292
+ let result = "";
293
+ let end = 0;
294
+ for (const ref of refs) {
295
+ result += text.slice(end, ref.start) + " ";
296
+ end = ref.end;
297
+ }
298
+ return result + text.slice(end);
299
+ }
300
+ function articleBase(ref) {
301
+ return formatArticleRef({ ...ref, paragraph: undefined, item: undefined });
302
+ }
303
+ /** Match the most specific available provision, rejecting conflicting law/paragraph/item references. */
304
+ function matchArticleRef(ref, titleRef) {
305
+ if (articleBase(ref) !== articleBase(titleRef))
306
+ return null;
307
+ if (ref.law && titleRef.law && ref.law !== titleRef.law)
308
+ return null;
309
+ if (ref.paragraph && titleRef.paragraph
310
+ && formatArticleRef({ ...ref, item: undefined })
311
+ !== formatArticleRef({ ...titleRef, item: undefined }))
312
+ return null;
313
+ if (ref.item && titleRef.item
314
+ && formatArticleRef({ ...ref, paragraph: undefined })
315
+ !== formatArticleRef({ ...titleRef, paragraph: undefined }))
316
+ return null;
317
+ return formatArticleRef({
318
+ ...ref,
319
+ paragraph: titleRef.paragraph ? ref.paragraph : undefined,
320
+ item: titleRef.item ? ref.item : undefined,
321
+ });
322
+ }
323
+ function articleMatches(entries, query) {
324
+ const expanded = expandKokujiAliases(query);
325
+ const refs = parseArticleRefs(expanded);
326
+ if (refs.length === 0)
327
+ return [];
328
+ const keywords = [...new Set(kanjiRuns(withoutRefs(expanded, refs)))];
329
+ const matches = [];
330
+ for (const entry of entries) {
331
+ const titleRefs = parseArticleRefs(entry.title);
332
+ const matchedRefs = new Map();
333
+ for (const ref of refs) {
334
+ if (ref.law && !entry.title.includes(ref.law))
335
+ continue;
336
+ let best;
337
+ for (const titleRef of titleRefs) {
338
+ const matched = matchArticleRef(ref, titleRef);
339
+ if (!matched)
340
+ continue;
341
+ const specificity = 1 + (matched.includes("項") ? 1 : 0) + (matched.includes("号") ? 1 : 0);
342
+ const score = specificity + (ref.law && entry.title.includes(ref.law) ? 3 : 0);
343
+ if (!best || score > best.score)
344
+ best = { matched, score };
303
345
  }
346
+ if (best)
347
+ matchedRefs.set(best.matched, Math.max(matchedRefs.get(best.matched) ?? 0, best.score));
304
348
  }
349
+ if (matchedRefs.size === 0)
350
+ continue;
351
+ const matchedKeywords = keywords.filter((keyword) => entry.title.includes(keyword));
352
+ matches.push({
353
+ entry,
354
+ stage: "article",
355
+ matched: [...matchedRefs.keys(), ...matchedKeywords],
356
+ score: [...matchedRefs.values()].reduce((sum, score) => sum + score, 0) + matchedKeywords.length,
357
+ });
305
358
  }
306
- return [...new Set(chunks)];
359
+ return matches.sort((a, b) => b.score - a.score || b.entry.date.localeCompare(a.entry.date));
307
360
  }
308
- /**
309
- * Search for a kokuji (ministerial notification) in the MLIT notice database
310
- * and return its PDF URL. Uses three-stage matching:
311
- * 1. Exact match
312
- * 2. Partial match (includes)
313
- * 3. Keyword match (all extracted keywords must appear in the entry title)
314
- *
315
- * @param title - The kokuji title to search for
316
- * @returns The PDF URL if found, null otherwise
317
- */
318
- export async function findKokujiPdfUrl(title) {
319
- const entries = await getAllEntries();
320
- // Stage 1: exact match
321
- const exact = entries.find((e) => e.title === title);
322
- if (exact) {
323
- return exact.pdf_url;
324
- }
325
- // Stage 2: partial match (title includes search term or vice versa)
326
- const partial = entries.find((e) => e.title.includes(title) || title.includes(e.title));
327
- if (partial) {
328
- return partial.pdf_url;
329
- }
330
- // Stage 3: keyword match — find entry with highest keyword overlap
331
- const keywords = extractKeywords(title);
332
- if (keywords.length >= 2) {
333
- const threshold = Math.ceil(keywords.length * 0.5); // at least 50% match
334
- let bestMatch = null;
335
- let bestScore = 0;
336
- for (const entry of entries) {
337
- const score = keywords.filter((kw) => entry.title.includes(kw)).length;
338
- if (score >= threshold && score > bestScore) {
339
- bestScore = score;
340
- bestMatch = entry;
361
+ /** Require coverage of every kanji run; overlapping chunks count each character only once. */
362
+ function keywordMatches(entries, query) {
363
+ const expanded = expandKokujiAliases(query);
364
+ const refs = parseArticleRefs(expanded);
365
+ const stripped = withoutRefs(expanded, refs);
366
+ const runs = kanjiRuns(stripped).filter((run) => !/^[第条項号法令]+$/.test(run));
367
+ const totalChars = stripped.match(/[\u4E00-\u9FFF]/g)?.length ?? 0;
368
+ if (runs.length === 0)
369
+ return [];
370
+ const matches = [];
371
+ for (const entry of entries) {
372
+ const matched = new Set();
373
+ let matchedChars = 0;
374
+ let allRunsCovered = true;
375
+ for (const run of runs) {
376
+ const covered = new Set();
377
+ const chunkSize = run.length <= 4 ? run.length : 3;
378
+ for (let i = 0; i <= run.length - chunkSize; i++) {
379
+ const chunk = run.slice(i, i + chunkSize);
380
+ if (!entry.title.includes(chunk))
381
+ continue;
382
+ matched.add(chunk);
383
+ for (let j = i; j < i + chunkSize; j++)
384
+ covered.add(j);
385
+ }
386
+ if (covered.size === 0) {
387
+ allRunsCovered = false;
388
+ break;
341
389
  }
390
+ matchedChars += covered.size;
342
391
  }
343
- if (bestMatch) {
344
- return bestMatch.pdf_url;
392
+ const score = matchedChars / totalChars;
393
+ if (allRunsCovered && score >= 0.6) {
394
+ matches.push({ entry, stage: "keyword", matched: [...matched], score });
345
395
  }
346
396
  }
347
- return null;
397
+ return matches.sort((a, b) => b.score - a.score
398
+ || a.entry.title.length - b.entry.title.length
399
+ || b.entry.date.localeCompare(a.entry.date));
400
+ }
401
+ /** Return candidates from the first successful stage, preserving exact/partial ordering. */
402
+ export async function findKokujiCandidates(title, limit = 5) {
403
+ if (!title.trim() || limit <= 0)
404
+ return [];
405
+ const entries = await getAllEntries();
406
+ const exact = entries.filter((entry) => entry.title === title);
407
+ if (exact.length > 0) {
408
+ return exact.slice(0, limit).map((entry) => ({ entry, stage: "exact", matched: [title], score: 1 }));
409
+ }
410
+ const partial = entries.filter((entry) => entry.title.includes(title) || title.includes(entry.title));
411
+ if (partial.length > 0) {
412
+ return partial.slice(0, limit).map((entry) => ({
413
+ entry, stage: "partial", matched: [title.includes(entry.title) ? entry.title : title], score: 1,
414
+ }));
415
+ }
416
+ const articles = articleMatches(entries, title);
417
+ return (articles.length > 0 ? articles : keywordMatches(entries, title)).slice(0, limit);
418
+ }
419
+ /** Keep the existing URL API backed by the same candidate selection. */
420
+ export async function findKokujiPdfUrl(title) {
421
+ return (await findKokujiCandidates(title, 1))[0]?.entry.pdf_url ?? null;
348
422
  }
349
423
  /**
350
424
  * Search MLIT notice entries by keyword.
@@ -1 +1 @@
1
- {"version":3,"file":"mlit-client.js","sourceRoot":"","sources":["../../src/lib/mlit-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mlit-client.js","sourceRoot":"","sources":["../../src/lib/mlit-client.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,19 @@ export declare const ALLOWED_PDF_HOSTS: string[];
8
8
  * Rejects non-HTTP(S) schemes and non-whitelisted hosts.
9
9
  */
10
10
  export declare function isAllowedPdfUrl(url: string): boolean;
11
+ export interface PdfTextResult {
12
+ text: string;
13
+ lastModified: string | null;
14
+ }
11
15
  /**
12
16
  * Download a PDF from a URL and extract its text content.
13
17
  * Uses pdfjs-dist directly with worker configured for serverless compatibility.
14
18
  * Results are cached for 24 hours to avoid redundant downloads.
15
19
  *
16
20
  * @param pdfUrl - The URL of the PDF to download and parse
17
- * @returns The extracted text content
21
+ * @returns The extracted text content and the Last-Modified UTC date, if available
18
22
  * @throws Error if the PDF cannot be fetched or parsed
19
23
  */
24
+ export declare function extractPdfText(pdfUrl: string): Promise<PdfTextResult>;
25
+ /** Preserve the text-only API for callers that do not need PDF metadata. */
20
26
  export declare function extractTextFromPdf(pdfUrl: string): Promise<string>;
@@ -52,10 +52,10 @@ const pdfTextCache = createCache("pdf-text", PDF_TEXT_CACHE_TTL);
52
52
  * Fetch a PDF binary from a URL with timeout handling.
53
53
  *
54
54
  * @param url - The URL to fetch
55
- * @returns The PDF data as a Uint8Array
55
+ * @returns The PDF data and its Last-Modified UTC date, if available
56
56
  * @throws Error if the fetch fails or times out
57
57
  */
58
- async function fetchPdfBuffer(url) {
58
+ async function fetchPdf(url) {
59
59
  const controller = new AbortController();
60
60
  const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
61
61
  try {
@@ -67,7 +67,12 @@ async function fetchPdfBuffer(url) {
67
67
  throw new Error(`PDF取得に失敗しました (HTTP ${response.status}): ${url}`);
68
68
  }
69
69
  const buffer = await response.arrayBuffer();
70
- return new Uint8Array(buffer);
70
+ const header = response.headers.get("Last-Modified");
71
+ const timestamp = header === null ? NaN : Date.parse(header);
72
+ const lastModified = Number.isNaN(timestamp)
73
+ ? null
74
+ : new Date(timestamp).toISOString().slice(0, 10);
75
+ return { data: new Uint8Array(buffer), lastModified };
71
76
  }
72
77
  catch (error) {
73
78
  if (error instanceof Error && error.name === "AbortError") {
@@ -96,19 +101,20 @@ function normalizeText(raw) {
96
101
  * Results are cached for 24 hours to avoid redundant downloads.
97
102
  *
98
103
  * @param pdfUrl - The URL of the PDF to download and parse
99
- * @returns The extracted text content
104
+ * @returns The extracted text content and the Last-Modified UTC date, if available
100
105
  * @throws Error if the PDF cannot be fetched or parsed
101
106
  */
102
- export async function extractTextFromPdf(pdfUrl) {
107
+ export async function extractPdfText(pdfUrl) {
103
108
  if (!isAllowedPdfUrl(pdfUrl)) {
104
109
  throw new Error("許可されていないURLです: PDFは指定された政府サイトからのみ取得できます");
105
110
  }
106
- const cacheKey = `pdf:${pdfUrl}`;
111
+ // Do not reuse legacy file-cache entries containing only a text string.
112
+ const cacheKey = `pdf-result:${pdfUrl}`;
107
113
  const cached = pdfTextCache.get(cacheKey);
108
114
  if (cached) {
109
115
  return cached;
110
116
  }
111
- const data = await fetchPdfBuffer(pdfUrl);
117
+ const { data, lastModified } = await fetchPdf(pdfUrl);
112
118
  // Lazy import: pdfjs-dist may need native-like APIs (DOMMatrix, etc.).
113
119
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
120
  const pdfjsLib = await import("pdfjs-dist/legacy/build/pdf.mjs");
@@ -133,7 +139,12 @@ export async function extractTextFromPdf(pdfUrl) {
133
139
  if (!text) {
134
140
  throw new Error(`PDFからテキストを抽出できませんでした: ${pdfUrl}`);
135
141
  }
136
- pdfTextCache.set(cacheKey, text);
137
- return text;
142
+ const result = { text, lastModified };
143
+ pdfTextCache.set(cacheKey, result);
144
+ return result;
145
+ }
146
+ /** Preserve the text-only API for callers that do not need PDF metadata. */
147
+ export async function extractTextFromPdf(pdfUrl) {
148
+ return (await extractPdfText(pdfUrl)).text;
138
149
  }
139
150
  //# sourceMappingURL=pdf-extractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-extractor.js","sourceRoot":"","sources":["../../src/lib/pdf-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-extractor.js","sourceRoot":"","sources":["../../src/lib/pdf-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  /** Must match package.json `version`; a unit test enforces this. */
2
- export declare const SERVER_VERSION = "1.8.1";
2
+ export declare const SERVER_VERSION = "1.9.0";
@@ -1,3 +1,3 @@
1
1
  /** Must match package.json `version`; a unit test enforces this. */
2
- export const SERVER_VERSION = "1.8.1";
2
+ export const SERVER_VERSION = "1.9.0";
3
3
  //# sourceMappingURL=version.js.map
@@ -1,8 +1,9 @@
1
1
  import { z } from "zod";
2
2
  import { findBestMatch } from "../lib/best-match.js";
3
3
  import { KokujiRegistry } from "../lib/kokuji-registry.js";
4
- import { findKokujiPdfUrl, searchMlitNotices } from "../lib/mlit-client.js";
5
- import { extractTextFromPdf } from "../lib/pdf-extractor.js";
4
+ import { findKokujiCandidates, searchMlitNotices } from "../lib/mlit-client.js";
5
+ import { extractPdfText } from "../lib/pdf-extractor.js";
6
+ import { extractLatestAmendment } from "../lib/kokuji-amendment.js";
6
7
  import { searchLaws, getLawData } from "../lib/egov-client.js";
7
8
  import { parseFullLaw } from "../lib/egov-parser.js";
8
9
  import { DEFAULT_MAX_CHARS, paginateText, TOOL_ANNOTATIONS, wrapToolHandler, } from "../lib/tool-helpers.js";
@@ -26,26 +27,45 @@ const schema = {
26
27
  .default(0)
27
28
  .describe("取得開始位置(0から始まる文字位置)。続きの取得時は案内された offset を指定。"),
28
29
  };
30
+ /** Describe the PDF's evidence of currency without treating HTTP metadata as proof. */
31
+ function pdfCurrencyLines(pdf) {
32
+ const latestAmendment = extractLatestAmendment(pdf.text);
33
+ const lines = [];
34
+ if (latestAmendment) {
35
+ lines.push(`※ 国交省 DB の PDF に記載された最終改正: ${latestAmendment}`);
36
+ }
37
+ if (pdf.lastModified) {
38
+ lines.push(`※ 国交省 DB の PDF 更新日: ${pdf.lastModified}`);
39
+ }
40
+ if (lines.length === 0) {
41
+ return ["※ 国交省 DB の PDF の収録時点は確認できませんでした。最新の改正は e-Gov 法令検索または官報で確認してください。"];
42
+ }
43
+ return [
44
+ ...lines,
45
+ "これより後の改正は反映されていない可能性があります。最新の改正は e-Gov 法令検索または官報で確認してください。",
46
+ ];
47
+ }
29
48
  /**
30
49
  * Attempt to fetch kokuji text via the MLIT pipeline:
31
50
  * 1. Find the PDF URL from the MLIT Excel notice database
32
51
  * 2. Download the PDF and extract text
33
52
  *
34
- * Returns the text on success, or null with diagnostic info on failure.
53
+ * Returns the resolved notice and text, or null with diagnostic info on failure.
35
54
  */
36
55
  async function fetchViaMlit(title, diagnostic) {
37
- const pdfUrl = await findKokujiPdfUrl(title);
56
+ const [match] = await findKokujiCandidates(title, 1);
38
57
  if (diagnostic) {
39
- diagnostic.pdfUrl = pdfUrl;
58
+ diagnostic.pdfUrl = match?.entry.pdf_url ?? null;
40
59
  }
41
- if (!pdfUrl) {
60
+ if (!match) {
42
61
  if (diagnostic) {
43
62
  diagnostic.error = "MLIT Excel から PDF URL が見つかりませんでした";
44
63
  }
45
64
  return null;
46
65
  }
47
66
  try {
48
- return await extractTextFromPdf(pdfUrl);
67
+ const pdf = await extractPdfText(match.entry.pdf_url);
68
+ return pdf.text ? { match, ...pdf } : null;
49
69
  }
50
70
  catch (err) {
51
71
  if (diagnostic) {
@@ -100,7 +120,9 @@ export function registerGetKokujiTool(server) {
100
120
  `法令番号: ${preset.law_num}`,
101
121
  `委任元: ${preset.delegated_by}`,
102
122
  "",
103
- mlitText,
123
+ mlitText.text,
124
+ "",
125
+ ...pdfCurrencyLines(mlitText),
104
126
  "",
105
127
  "出典: 国土交通省 告示・通達データベース",
106
128
  "",
@@ -113,13 +135,15 @@ export function registerGetKokujiTool(server) {
113
135
  // Step 2b: MLIT failed — try preset pdf_url if available
114
136
  if (preset.pdf_url) {
115
137
  try {
116
- const pdfText = await extractTextFromPdf(preset.pdf_url);
138
+ const pdfText = await extractPdfText(preset.pdf_url);
117
139
  const text = [
118
140
  `【告示】${preset.title}`,
119
141
  `法令番号: ${preset.law_num}`,
120
142
  `委任元: ${preset.delegated_by}`,
121
143
  "",
122
- pdfText,
144
+ pdfText.text,
145
+ "",
146
+ ...pdfCurrencyLines(pdfText),
123
147
  "",
124
148
  `出典: 国土交通省(PDF直接取得)`,
125
149
  `URL: ${preset.pdf_url}`,
@@ -177,10 +201,17 @@ export function registerGetKokujiTool(server) {
177
201
  // Step 3: No preset — try MLIT search directly
178
202
  const mlitText = await fetchViaMlit(kokuji_name);
179
203
  if (mlitText) {
204
+ const { match } = mlitText;
180
205
  const text = [
181
- `【検索結果】${kokuji_name}`,
206
+ `【検索結果】${match.entry.title}`,
207
+ `法令番号: ${match.entry.document_number}`,
208
+ ...(match.stage === "article" || match.stage === "keyword"
209
+ ? [`一致: ${match.matched.join("、")}`]
210
+ : []),
182
211
  "",
183
- mlitText,
212
+ mlitText.text,
213
+ "",
214
+ ...pdfCurrencyLines(mlitText),
184
215
  "",
185
216
  "出典: 国土交通省 告示・通達データベース",
186
217
  "",
@@ -205,24 +236,35 @@ export function registerGetKokujiTool(server) {
205
236
  return textResult(text);
206
237
  }
207
238
  // Nothing found anywhere — suggest similar entries from MLIT database
208
- const mainKeyword = kokuji_name
209
- .replace(/[のをにはでがとへもからまで等及び又は並びに]/g, "")
210
- .replace(/[、。()()「」]/g, " ")
211
- .split(/\s+/)
212
- .filter((w) => w.length >= 3)
213
- .slice(0, 1)[0];
214
- const suggestions = mainKeyword
215
- ? await searchMlitNotices(mainKeyword)
216
- : [];
217
- const suggestionLines = suggestions.length > 0
218
- ? [
239
+ const candidates = await findKokujiCandidates(kokuji_name, 5);
240
+ let suggestionLines = [];
241
+ if (candidates.length > 0) {
242
+ suggestionLines = [
219
243
  "",
220
- `「${mainKeyword}」を含む告示:`,
221
- ...suggestions.slice(0, 5).map((s) => ` - ${s.title}`),
244
+ "関連する告示:",
245
+ ...candidates.map(({ entry, matched }) => ` - ${entry.title}(${entry.document_number}・一致: ${matched.join("、")})`),
222
246
  "",
223
247
  "正式名称で再度お試しください。",
224
- ]
225
- : [];
248
+ ];
249
+ }
250
+ else {
251
+ const mainKeyword = kokuji_name
252
+ .replace(/[のをにはでがとへもからまで等及び又は並びに]/g, "")
253
+ .replace(/[、。()()「」]/g, " ")
254
+ .split(/\s+/)
255
+ .filter((w) => w.length >= 3)
256
+ .slice(0, 1)[0];
257
+ const suggestions = mainKeyword ? await searchMlitNotices(mainKeyword) : [];
258
+ if (suggestions.length > 0) {
259
+ suggestionLines = [
260
+ "",
261
+ `「${mainKeyword}」を含む告示:`,
262
+ ...suggestions.slice(0, 5).map((s) => ` - ${s.title}`),
263
+ "",
264
+ "正式名称で再度お試しください。",
265
+ ];
266
+ }
267
+ }
226
268
  const text = [
227
269
  `該当する告示を確認できませんでした: ${kokuji_name}`,
228
270
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"get-kokuji.js","sourceRoot":"","sources":["../../src/tools/get-kokuji.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-kokuji.js","sourceRoot":"","sources":["../../src/tools/get-kokuji.ts"],"names":[],"mappings":"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"}
@@ -60,14 +60,14 @@ export function registerSearchArticlesTool(server) {
60
60
  law_title: resolved?.title,
61
61
  total_count: result.total_count,
62
62
  sentence_count: result.sentence_count,
63
- next_offset: result.next_offset,
63
+ next_offset: result.next_offset ?? null,
64
64
  hits,
65
65
  };
66
66
  const lines = [
67
67
  `## 条文本文検索結果「${keyword}」`,
68
68
  `該当件数: ${result.total_count}件(今回取得: ${result.sentence_count}文)`,
69
69
  ];
70
- if (result.next_offset !== null) {
70
+ if (typeof result.next_offset === "number") {
71
71
  lines.push(`次の offset: ${result.next_offset}`);
72
72
  }
73
73
  if (hits.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"search-articles.js","sourceRoot":"","sources":["../../src/tools/search-articles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-articles.js","sourceRoot":"","sources":["../../src/tools/search-articles.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "building-standards-act-mcp",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
4
4
  "description": "MCP server for Japanese building regulations — fetches law text from e-Gov API v2 to prevent AI hallucination in building permit reviews",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,17 +39,17 @@
39
39
  "@modelcontextprotocol/sdk": "^1.32.1",
40
40
  "jszip": "^3.10.1",
41
41
  "pdfjs-dist": "^5.4.296",
42
- "zod": "^3.23.8"
42
+ "zod": "^4.6.7"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.0.0",
46
46
  "@vercel/node": "^5.1.8",
47
- "@vitest/coverage-v8": "^3.2.4",
47
+ "@vitest/coverage-v8": "^5.0.5",
48
48
  "tsx": "^4.0.0",
49
49
  "typescript": "^5.7.0",
50
- "vitest": "^3.0.0"
50
+ "vitest": "^5.0.5"
51
51
  },
52
52
  "engines": {
53
- "node": ">=20.0.0"
53
+ "node": ">=22.12.0"
54
54
  }
55
55
  }