detailed-changes.json•7.92 kB
{
  "schema": "memory_document_v2",
  "metadata": {
    "id": "detailed-api-removal-changes",
    "title": "旧API削除の詳細変更点リスト",
    "documentType": "technical_spec",
    "path": "detailed-changes.json",
    "tags": [],
    "lastModified": "2025-04-12T14:55:08.922Z",
    "createdAt": "2025-04-12T11:00:00Z",
    "version": 1
  },
  "content": {
    "overview": "このドキュメントは、旧API削除作業における具体的なコード変更点のリストを提供します。各ファイルでの変更内容を詳細に記録し、実装作業の正確性と完全性を確保するためのガイドとして使用します。",
    "sections": [
      {
        "title": "1. packages/mcp/src/tools/definitions.ts の変更",
        "content": "以下の関数を削除します:\n\n```typescript\n// ファイル: packages/mcp/src/tools/definitions.ts\n\n// 1. 削除対象の関数:\nfunction createWriteBranchMemoryBankTool(): ToolDefinition { ... }\n\nfunction createReadBranchMemoryBankTool(): ToolDefinition { ... }\n\nfunction createWriteGlobalMemoryBankTool(): ToolDefinition { ... }\n\nfunction createReadGlobalMemoryBankTool(): ToolDefinition { ... }\n\n// 2. getToolDefinitions()関数内の参照を削除:\nexport function getToolDefinitions(): ToolDefinition[] {\n  return [\n    createWriteBranchMemoryBankTool(), // 削除\n    createReadBranchMemoryBankTool(),  // 削除\n    createWriteGlobalMemoryBankTool(), // 削除\n    createReadGlobalMemoryBankTool(),  // 削除\n    createReadContextTool(),\n    createSearchDocumentsByTagsTool(),\n    createWriteDocumentTool(),\n    createReadDocumentTool()\n  ];\n}\n```\n\n修正後のgetToolDefinitions()関数:\n```typescript\nexport function getToolDefinitions(): ToolDefinition[] {\n  return [\n    createReadContextTool(),\n    createSearchDocumentsByTagsTool(),\n    createWriteDocumentTool(),\n    createReadDocumentTool()\n  ];\n}\n```"
      },
      {
        "title": "2. packages/mcp/src/server.ts の変更",
        "content": "server.tsファイル内のCallToolRequestSchemaハンドラからケース分岐を削除します:\n\n```typescript\n// ファイル: packages/mcp/src/server.ts\n\n// 以下のケース分岐を削除:\ncase 'write_branch_memory_bank': {\n  // 実装全体を削除\n  ...\n}\n\ncase 'read_branch_memory_bank': {\n  // 実装全体を削除\n  ...\n}\n\ncase 'write_global_memory_bank': {\n  // 実装全体を削除\n  ...\n}\n\ncase 'read_global_memory_bank': {\n  // 実装全体を削除\n  ...\n}\n```\n\nMCPサーバーコードの残りの部分は変更せず、既存の統合APIケース(write_document, read_document)と他のAPIケースはそのまま残します。"
      },
      {
        "title": "3. packages/mcp/src/interface/tools/document-tools.ts の変更",
        "content": "このファイルでは、不要になった補助関数や型定義がある場合は削除しますが、統合APIのread_documentとwrite_documentに必要なコードは変更しません。\n\n以下のような古いAPIのみに関連する関数がある場合は削除します:\n\n```typescript\n// もし存在すれば、以下のような関数を削除\nexport function readBranchMemoryBank(...): ... { ... }\nexport function writeBranchMemoryBank(...): ... { ... }\nexport function readGlobalMemoryBank(...): ... { ... }\nexport function writeGlobalMemoryBank(...): ... { ... }\n```\n\n注意:これらの関数が他のコード(例:統合API実装)によって使用されている場合は、削除しないようにします。依存関係をよく確認してください。"
      },
      {
        "title": "4. packages/mcp/src/__tests__/ 内のテスト更新",
        "content": "テストファイルで旧APIに言及しているテストケースを見つけて削除または修正します。\n\n```typescript\n// 例: packages/mcp/src/__tests__/tools/write-branch-memory-bank.test.ts\n// このようなテストファイルがあれば、全体を削除または統合APIを使用するように更新\n\n// 例: 統合APIテストへの変換\ndescribe('write_branch_memory_bank', () => { ... })\n// ↓ 変更\ndescribe('write_document with branch scope', () => { ... })\n\n// テスト内の実際のAPIコール変更\nconst result = await tool({\n  branch: 'feature/example',\n  path: 'test.json',\n  content: { test: true },\n  docs: './docs'\n});\n// ↓ 変更\nconst result = await tool({\n  scope: 'branch',\n  branch: 'feature/example',\n  path: 'test.json', \n  content: { test: true },\n  docs: './docs'\n});\n```\n\n同様に、以下のようなテストファイルがあれば更新:\n- `read-branch-memory-bank.test.ts`\n- `write-global-memory-bank.test.ts` \n- `read-global-memory-bank.test.ts`"
      },
      {
        "title": "5. ドキュメントの更新",
        "content": "### README.md\n\n以下のような旧APIに関する記述を削除または更新:\n\n```markdown\n## 利用可能なMCPツール\n\n- `write_branch_memory_bank` - ブランチメモリバンクにドキュメントを書き込む  # 削除\n- `read_branch_memory_bank` - ブランチメモリバンクからドキュメントを読み取る  # 削除\n- `write_global_memory_bank` - グローバルメモリバンクにドキュメントを書き込む  # 削除\n- `read_global_memory_bank` - グローバルメモリバンクからドキュメントを読み取る  # 削除\n- `write_document` - ブランチまたはグローバルメモリバンクにドキュメントを書き込む\n- `read_document` - ブランチまたはグローバルメモリバンクからドキュメントを読み取る\n- `read_context` - ルール、ブランチメモリバンク、グローバルメモリバンクの情報を一度に取得\n- `search_documents_by_tags` - タグでドキュメントを検索\n```\n\n古いAPIの使用例や説明を削除し、新しい統合APIの使用例に置き換えます。\n\n### packages/mcp/src/core/mcp-tool-manual.json\n\n公式ガイド文書である`mcp-tool-manual.json`から古いAPIの項目を削除します:\n\n```json\n{\n  \"tool_sections\": [\n    {\n      \"tool_name\": \"write_branch_memory_bank\",  // 削除\n      ...\n    },\n    {\n      \"tool_name\": \"read_branch_memory_bank\",   // 削除\n      ...\n    },\n    {\n      \"tool_name\": \"write_global_memory_bank\",  // 削除\n      ...\n    },\n    {\n      \"tool_name\": \"read_global_memory_bank\",   // 削除\n      ...\n    },\n    // 残りのセクションはそのまま\n  ]\n}\n```"
      },
      {
        "title": "6. バージョン番号と変更履歴の更新",
        "content": "### packages/mcp/package.json\n\nバージョン番号をv3.0.0に更新(または適切なバージョン):\n\n```json\n{\n  \"name\": \"@memory-bank/mcp\",\n  \"version\": \"3.0.0\",  // 2.x.xから更新\n  ...\n}\n```\n\n### packages/mcp/src/main/config/constants.ts\n\nVERSION定数を更新:\n\n```typescript\nexport const Constants = {\n  APP_NAME: '@memory-bank/mcp',\n  VERSION: '3.0.0',  // 2.x.xから更新\n  ...\n};\n```\n\n### CHANGELOG.md\n\n変更履歴に新しいリリースのエントリを追加:\n\n```markdown\n## [3.0.0] - 2025-04-xx\n\n### Breaking Changes\n\n- 旧APIの削除: `write_branch_memory_bank`, `read_branch_memory_bank`, `write_global_memory_bank`, `read_global_memory_bank`は削除されました\n- 代わりに統合APIの `write_document` と `read_document` を使用してください\n\n### 移行ガイド\n\n- `write_branch_memory_bank` → `write_document` with `scope: \"branch\"`\n- `read_branch_memory_bank` → `read_document` with `scope: \"branch\"`\n- `write_global_memory_bank` → `write_document` with `scope: \"global\"`\n- `read_global_memory_bank` → `read_document` with `scope: \"global\"`\n```"
      }
    ]
  }
}