@zonuexe/techbook-mcp 0.3.1 → 0.3.2

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/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.2] - 2026-06-03
11
+
12
+ ### Fixed
13
+
14
+ - SEshop(翔泳社)の `search_books` 結果に著者・ISBN・紹介文が含まれていなかった問題を修正(検索結果の各書籍について詳細ページから著者・ISBN・紹介文を補完する。ISBN が付くことで openBD による補完も有効になる)
15
+
10
16
  ## [0.3.1] - 2026-06-02
11
17
 
12
18
  ### Fixed
@@ -95,7 +101,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
95
101
 
96
102
  - テストを vitest から `node:test` + `node:assert` に移行(Node.js・Bun・Deno で共通実行可能に)
97
103
 
98
- [Unreleased]: https://github.com/zonuexe/techbook-mcp/compare/v0.3.1...HEAD
104
+ [Unreleased]: https://github.com/zonuexe/techbook-mcp/compare/v0.3.2...HEAD
105
+ [0.3.2]: https://github.com/zonuexe/techbook-mcp/compare/v0.3.1...v0.3.2
99
106
  [0.3.1]: https://github.com/zonuexe/techbook-mcp/compare/v0.3.0...v0.3.1
100
107
  [0.3.0]: https://github.com/zonuexe/techbook-mcp/compare/v0.2.4...v0.3.0
101
108
  [0.2.4]: https://github.com/zonuexe/techbook-mcp/compare/v0.2.3...v0.2.4
package/README.md CHANGED
@@ -73,6 +73,7 @@ Claude が `list_publishers` ツールを呼び出し、出版社名と ID の
73
73
  | BOOK TECH | `book-tech` | — | HTML scraping |
74
74
  | ボーンデジタル | `born-digital` | `86246` | HTML scraping (EUC-JP) |
75
75
  | コロナ社 | `coronasha` | `339` | HTML scraping |
76
+ | CQ出版社 | `cq-publishing` | — | HTML scraping (Tech Village) |
76
77
  | 技術評論社 | `gihyo` | `297` | JSON API |
77
78
  | インプレスブックス | `impress-books` | `8443` | HTML scraping |
78
79
  | 日科技連出版社 | `juse-p` | `8171` | HTML scraping |
@@ -1 +1 @@
1
- {"version":3,"file":"seshop.d.ts","sourceRoot":"","sources":["../../../src/adapters/publishers/seshop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAmBjF,eAAO,MAAM,aAAa,EAAE,gBAqG3B,CAAC"}
1
+ {"version":3,"file":"seshop.d.ts","sourceRoot":"","sources":["../../../src/adapters/publishers/seshop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAuEjF,eAAO,MAAM,aAAa,EAAE,gBA8E3B,CAAC"}
@@ -12,6 +12,46 @@ function parseDate(text) {
12
12
  return undefined;
13
13
  return `${m[1]}-${m[2]}-${m[3]}`;
14
14
  }
15
+ /** 詳細ページをスクレイピングして BookRecord を組み立てる(search と getDetail で共用) */
16
+ async function fetchSeshopDetail(url, deps) {
17
+ const html = await fetchText(url, deps);
18
+ const doc = deps.parser.parse(html);
19
+ const getMeta = (name) => doc.selectOne(`meta[name="${name}"]`)?.attr("content")?.trim() || undefined;
20
+ const title = doc.selectOne("h1")?.text().trim() ||
21
+ getMeta("cxenseparse:sho-product-name") ||
22
+ "";
23
+ // col-md-5 内の著者リンク(役割語は括弧内テキストノードで隣接しているがリンクテキストは名前のみ)
24
+ const authors = doc.select("a[href*='/product/author/']")
25
+ .map(el => el.text().trim())
26
+ .filter(Boolean);
27
+ const isbnRaw = getMeta("cxenseparse:sho-isbn");
28
+ const isbn = isbnRaw ? isbnRaw.replace(/\s+/g, "") : undefined;
29
+ // meta description は "<翔泳社の公式通販> |<紹介文>" 形式。定型の接頭辞を除去する
30
+ const descRaw = getMeta("description");
31
+ const description = descRaw
32
+ ? (descRaw.replace(/^<翔泳社の公式通販>\s*[||]\s*/, "").trim() || undefined)
33
+ : undefined;
34
+ const priceRaw = getMeta("cxenseparse:sho-price");
35
+ const price = priceRaw ? parseInt(priceRaw, 10) : undefined;
36
+ const dateRaw = getMeta("cxenseparse:sho-releasedate");
37
+ const publishedAt = dateRaw ? parseDate(dateRaw) : undefined;
38
+ // カバー画像: book-img または meta
39
+ const coverImgEl = doc.selectOne("img.book-img");
40
+ const coverSrc = coverImgEl?.attr("src") ?? getMeta("cxenseparse:recs:image");
41
+ const coverImageUrl = coverSrc ? resolveUrl(BASE_URL, coverSrc) : undefined;
42
+ return {
43
+ title,
44
+ authors,
45
+ publisher: "翔泳社",
46
+ url,
47
+ isbn,
48
+ price,
49
+ publishedAt,
50
+ coverImageUrl,
51
+ description,
52
+ ebookStores: [{ name: "SEshop", url, drm: "social" }],
53
+ };
54
+ }
15
55
  export const seshopAdapter = {
16
56
  id: "seshop",
17
57
  name: "SEshop (翔泳社)",
@@ -59,40 +99,26 @@ export const seshopAdapter = {
59
99
  if (results.length >= limit)
60
100
  break;
61
101
  }
62
- return results;
102
+ // 検索結果ページには著者・ISBN が無い(data-* に存在しない)ため、各ヒットの
103
+ // 詳細ページから著者と ISBN を補完する。ISBN が付けばアプリ層の openBD 補完が
104
+ // description 等もさらに埋める。詳細取得の失敗は握りつぶし基本情報のみ返す。
105
+ return Promise.all(results.map(async (book) => {
106
+ try {
107
+ const detail = await fetchSeshopDetail(book.url, deps);
108
+ return {
109
+ ...book,
110
+ authors: detail.authors.length > 0 ? detail.authors : book.authors,
111
+ isbn: detail.isbn ?? book.isbn,
112
+ description: detail.description ?? book.description,
113
+ };
114
+ }
115
+ catch {
116
+ return book;
117
+ }
118
+ }));
63
119
  },
64
120
  async getDetail(url, deps) {
65
- const html = await fetchText(url, deps);
66
- const doc = deps.parser.parse(html);
67
- const getMeta = (name) => doc.selectOne(`meta[name="${name}"]`)?.attr("content")?.trim() || undefined;
68
- const title = doc.selectOne("h1")?.text().trim() ||
69
- getMeta("cxenseparse:sho-product-name") ||
70
- "";
71
- // col-md-5 内の著者リンク(役割語は括弧内テキストノードで隣接しているがリンクテキストは名前のみ)
72
- const authors = doc.select("a[href*='/product/author/']")
73
- .map(el => el.text().trim())
74
- .filter(Boolean);
75
- const isbnRaw = getMeta("cxenseparse:sho-isbn");
76
- const isbn = isbnRaw ? isbnRaw.replace(/\s+/g, "") : undefined;
77
- const priceRaw = getMeta("cxenseparse:sho-price");
78
- const price = priceRaw ? parseInt(priceRaw, 10) : undefined;
79
- const dateRaw = getMeta("cxenseparse:sho-releasedate");
80
- const publishedAt = dateRaw ? parseDate(dateRaw) : undefined;
81
- // カバー画像: book-img または meta
82
- const coverImgEl = doc.selectOne("img.book-img");
83
- const coverSrc = coverImgEl?.attr("src") ?? getMeta("cxenseparse:recs:image");
84
- const coverImageUrl = coverSrc ? resolveUrl(BASE_URL, coverSrc) : undefined;
85
- return {
86
- title,
87
- authors,
88
- publisher: "翔泳社",
89
- url,
90
- isbn,
91
- price,
92
- publishedAt,
93
- coverImageUrl,
94
- ebookStores: [{ name: "SEshop", url, drm: "social" }],
95
- };
121
+ return fetchSeshopDetail(url, deps);
96
122
  },
97
123
  };
98
124
  //# sourceMappingURL=seshop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seshop.js","sourceRoot":"","sources":["../../../src/adapters/publishers/seshop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,MAAM,UAAU,GAAG,GAAG,QAAQ,SAAS,CAAC;AAExC,iBAAiB;AACjB,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC;;GAEG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,QAAQ;IAEjB,KAAK,CAAC,MAAM,CAAC,KAAkB,EAAE,IAAmB;QAClD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,GAAG,UAAU,YAAY,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,aAAa,CAAC;QAC5G,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,2CAA2C;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;gBAAE,SAAS;YAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;YAEtE,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,KAAK;gBAChB,GAAG,EAAE,OAAO;gBACZ,KAAK;gBACL,WAAW;gBACX,aAAa;gBACb,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;aAC/D,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QACrC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,IAAmB;QAC9C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE,CACnD,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAE9E,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;YAClC,OAAO,CAAC,8BAA8B,CAAC;YACvC,EAAE,CAAC;QAEL,uDAAuD;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,6BAA6B,CAAC;aACtD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;aAC3B,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,MAAM,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5D,MAAM,OAAO,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7D,2BAA2B;QAC3B,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC9E,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,OAAO;YACL,KAAK;YACL,OAAO;YACP,SAAS,EAAE,KAAK;YAChB,GAAG;YACH,IAAI;YACJ,KAAK;YACL,WAAW;YACX,aAAa;YACb,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"seshop.js","sourceRoot":"","sources":["../../../src/adapters/publishers/seshop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,MAAM,UAAU,GAAG,GAAG,QAAQ,SAAS,CAAC;AAExC,iBAAiB;AACjB,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC;;GAEG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,gEAAgE;AAChE,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAAmB;IAC/D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE,CACnD,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAE9E,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;QAClC,OAAO,CAAC,8BAA8B,CAAC;QACvC,EAAE,CAAC;IAEL,uDAAuD;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,6BAA6B,CAAC;SACtD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;SAC3B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,wDAAwD;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5D,MAAM,OAAO,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,2BAA2B;IAC3B,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,OAAO;QACL,KAAK;QACL,OAAO;QACP,SAAS,EAAE,KAAK;QAChB,GAAG;QACH,IAAI;QACJ,KAAK;QACL,WAAW;QACX,aAAa;QACb,WAAW;QACX,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,QAAQ;IAEjB,KAAK,CAAC,MAAM,CAAC,KAAkB,EAAE,IAAmB;QAClD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,GAAG,UAAU,YAAY,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,aAAa,CAAC;QAC5G,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,2CAA2C;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;gBAAE,SAAS;YAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;YAEtE,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,KAAK;gBAChB,GAAG,EAAE,OAAO;gBACZ,KAAK;gBACL,WAAW;gBACX,aAAa;gBACb,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;aAC/D,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QACrC,CAAC;QAED,8CAA8C;QAC9C,kDAAkD;QAClD,8CAA8C;QAC9C,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvD,OAAO;oBACL,GAAG,IAAI;oBACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;oBAClE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;oBAC9B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;iBACpD,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,IAAmB;QAC9C,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
package/dist/version.d.ts CHANGED
@@ -5,5 +5,5 @@
5
5
  * リリース時は package.json / package-lock.json / CHANGELOG.md と揃えて更新すること
6
6
  * ([[.codex/skills/techbook-mcp-release-prep]] の更新対象ファイルに含まれる)。
7
7
  */
8
- export declare const VERSION = "0.3.1";
8
+ export declare const VERSION = "0.3.2";
9
9
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -5,5 +5,5 @@
5
5
  * リリース時は package.json / package-lock.json / CHANGELOG.md と揃えて更新すること
6
6
  * ([[.codex/skills/techbook-mcp-release-prep]] の更新対象ファイルに含まれる)。
7
7
  */
8
- export const VERSION = "0.3.1";
8
+ export const VERSION = "0.3.2";
9
9
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zonuexe/techbook-mcp",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "MCP server for searching Japanese technical book bibliographic information",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "type": "module",