Skip to main content
Glama

Memory Bank MCP Server

by t3ta
notes.json3.15 kB
{ "schema": "memory_document_v2", "metadata": { "id": "a9944844-add6-487c-adc8-c109861fb4f6", "title": "型解決に関する問題と修正", "documentType": "generic", "path": "notes.md", "tags": [], "lastModified": "2025-03-20T14:04:36.578Z", "createdAt": "2025-03-20T14:04:36.578Z", "version": 1 }, "content": { "rawContent": "# 型解決に関する問題と修正\n\n## 発生していた問題\n\nTypeScript 5.8.2にアップデートしたことで、型の解決に関する問題が発生していました。主に以下の問題が見つかりました:\n\n1. 同じ名前の型が複数の場所からインポートされていた\n - 例:`WriteGlobalDocumentUseCase.ts`で、ドメイン層とスキーマ層から同時に`MemoryDocument`をインポート\n\n2. JSXとの互換性問題\n - TypeScriptの新しいバージョンでは型解決の方法が変わり、.jsファイル拡張子を明示的に付ける必要がある\n\n3. 型と実装の混同\n - 一部のファイルで、`import type`を使うべき場所で通常の`import`が使われていた\n - 逆に、`import type`を使っていた場所で実際のクラスを使おうとしていた\n\n## 修正内容\n\n1. `WriteGlobalDocumentUseCase.ts`\n - スキーマからのインポート `import type { MemoryDocument } from \"../../../schemas/index.js\";` を削除\n - ドメイン層の `MemoryDocument` クラスだけを使用するように修正\n\n2. `WriteJsonDocumentUseCase.ts`\n - 重複するインポートを解消:\n ```typescript\n // 削除\n import type { JsonDocument } from \"../../../schemas/json-document.js\";\n \n // 型ではなくクラスとしてインポート\n import { JsonDocument, DocumentType } from \"../../../domain/entities/JsonDocument.js\";\n ```\n\n## 今後の修正が必要な項目\n\n1. 他のファイルでも同様の型の重複や不整合がある可能性がある\n2. 特に以下のファイルには注意が必要:\n - `ReadJsonDocumentUseCase.ts`\n - `SearchJsonDocumentsUseCase.ts`\n\n## 考察\n\nこの問題は以前行ったスキーマとドメインオブジェクトの分離作業の続きと関連しています。ドメイン層の実装クラスとスキーマ層の型定義の名前が衝突したことが原因です。\n\nTypeScript 5.8.2では型解決がより厳格になり、以前は問題なかった曖昧なインポートが検出されるようになりました。この機会に型定義とクラス実装の関係を整理することが重要です。\n", "sections": { "": "この問題は以前行ったスキーマとドメインオブジェクトの分離作業の続きと関連しています。ドメイン層の実装クラスとスキーマ層の型定義の名前が衝突したことが原因です。\n\nTypeScript 5.8.2では型解決がより厳格になり、以前は問題なかった曖昧なインポートが検出されるようになりました。この機会に型定義とクラス実装の関係を整理することが重要です。" } } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/t3ta/memory-bank-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server